Imported Upstream version 8.2.2
[platform/upstream/harfbuzz.git] / docs / html / harfbuzz-hb-font.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-font: HarfBuzz Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="HarfBuzz Manual">
8 <link rel="up" href="core-api.html" title="Core API">
9 <link rel="prev" href="harfbuzz-hb-face.html" title="hb-face">
10 <link rel="next" href="harfbuzz-hb-map.html" title="hb-map">
11 <meta name="generator" content="GTK-Doc V1.32 (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-font.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="core-api.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="harfbuzz-hb-face.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="harfbuzz-hb-map.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-font"></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-font.top_of_page"></a>hb-font</span></h2>
30 <p>hb-font — Font objects</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-font.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 <span class="returnvalue">void</span>
45 </td>
46 <td class="function_name">
47 <a class="link" href="harfbuzz-hb-font.html#hb-font-add-glyph-origin-for-direction" title="hb_font_add_glyph_origin_for_direction ()">hb_font_add_glyph_origin_for_direction</a> <span class="c_punctuation">()</span>
48 </td>
49 </tr>
50 <tr>
51 <td class="function_type">
52 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
53 </td>
54 <td class="function_name">
55 <a class="link" href="harfbuzz-hb-font.html#hb-font-create" title="hb_font_create ()">hb_font_create</a> <span class="c_punctuation">()</span>
56 </td>
57 </tr>
58 <tr>
59 <td class="function_type">
60 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
61 </td>
62 <td class="function_name">
63 <a class="link" href="harfbuzz-hb-font.html#hb-font-create-sub-font" title="hb_font_create_sub_font ()">hb_font_create_sub_font</a> <span class="c_punctuation">()</span>
64 </td>
65 </tr>
66 <tr>
67 <td class="function_type">
68 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
69 </td>
70 <td class="function_name">
71 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-empty" title="hb_font_get_empty ()">hb_font_get_empty</a> <span class="c_punctuation">()</span>
72 </td>
73 </tr>
74 <tr>
75 <td class="function_type">
76 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
77 </td>
78 <td class="function_name">
79 <a class="link" href="harfbuzz-hb-font.html#hb-font-reference" title="hb_font_reference ()">hb_font_reference</a> <span class="c_punctuation">()</span>
80 </td>
81 </tr>
82 <tr>
83 <td class="function_type">
84 <span class="returnvalue">void</span>
85 </td>
86 <td class="function_name">
87 <a class="link" href="harfbuzz-hb-font.html#hb-font-destroy" title="hb_font_destroy ()">hb_font_destroy</a> <span class="c_punctuation">()</span>
88 </td>
89 </tr>
90 <tr>
91 <td class="function_type">
92 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
93 </td>
94 <td class="function_name">
95 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-user-data" title="hb_font_set_user_data ()">hb_font_set_user_data</a> <span class="c_punctuation">()</span>
96 </td>
97 </tr>
98 <tr>
99 <td class="function_type">
100 <span class="returnvalue">void</span> *
101 </td>
102 <td class="function_name">
103 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-user-data" title="hb_font_get_user_data ()">hb_font_get_user_data</a> <span class="c_punctuation">()</span>
104 </td>
105 </tr>
106 <tr>
107 <td class="function_type">
108 <span class="returnvalue">void</span>
109 </td>
110 <td class="function_name">
111 <a class="link" href="harfbuzz-hb-font.html#hb-font-make-immutable" title="hb_font_make_immutable ()">hb_font_make_immutable</a> <span class="c_punctuation">()</span>
112 </td>
113 </tr>
114 <tr>
115 <td class="function_type">
116 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
117 </td>
118 <td class="function_name">
119 <a class="link" href="harfbuzz-hb-font.html#hb-font-is-immutable" title="hb_font_is_immutable ()">hb_font_is_immutable</a> <span class="c_punctuation">()</span>
120 </td>
121 </tr>
122 <tr>
123 <td class="function_type">
124 <span class="returnvalue">void</span>
125 </td>
126 <td class="function_name">
127 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-face" title="hb_font_set_face ()">hb_font_set_face</a> <span class="c_punctuation">()</span>
128 </td>
129 </tr>
130 <tr>
131 <td class="function_type">
132 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
133 </td>
134 <td class="function_name">
135 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-face" title="hb_font_get_face ()">hb_font_get_face</a> <span class="c_punctuation">()</span>
136 </td>
137 </tr>
138 <tr>
139 <td class="function_type">
140 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
141 </td>
142 <td class="function_name">
143 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph" title="hb_font_get_glyph ()">hb_font_get_glyph</a> <span class="c_punctuation">()</span>
144 </td>
145 </tr>
146 <tr>
147 <td class="function_type">
148 <span class="returnvalue">void</span>
149 </td>
150 <td class="function_name">
151 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-advance-for-direction" title="hb_font_get_glyph_advance_for_direction ()">hb_font_get_glyph_advance_for_direction</a> <span class="c_punctuation">()</span>
152 </td>
153 </tr>
154 <tr>
155 <td class="function_type">
156 <span class="returnvalue">void</span>
157 </td>
158 <td class="function_name">
159 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-advances-for-direction" title="hb_font_get_glyph_advances_for_direction ()">hb_font_get_glyph_advances_for_direction</a> <span class="c_punctuation">()</span>
160 </td>
161 </tr>
162 <tr>
163 <td class="function_type">
164 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
165 </td>
166 <td class="function_name">
167 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point" title="hb_font_get_glyph_contour_point ()">hb_font_get_glyph_contour_point</a> <span class="c_punctuation">()</span>
168 </td>
169 </tr>
170 <tr>
171 <td class="function_type">
172 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
173 </td>
174 <td class="function_name">
175 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-for-origin" title="hb_font_get_glyph_contour_point_for_origin ()">hb_font_get_glyph_contour_point_for_origin</a> <span class="c_punctuation">()</span>
176 </td>
177 </tr>
178 <tr>
179 <td class="function_type">
180 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
181 </td>
182 <td class="function_name">
183 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents" title="hb_font_get_glyph_extents ()">hb_font_get_glyph_extents</a> <span class="c_punctuation">()</span>
184 </td>
185 </tr>
186 <tr>
187 <td class="function_type">
188 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
189 </td>
190 <td class="function_name">
191 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-for-origin" title="hb_font_get_glyph_extents_for_origin ()">hb_font_get_glyph_extents_for_origin</a> <span class="c_punctuation">()</span>
192 </td>
193 </tr>
194 <tr>
195 <td class="function_type">
196 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
197 </td>
198 <td class="function_name">
199 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name" title="hb_font_get_glyph_from_name ()">hb_font_get_glyph_from_name</a> <span class="c_punctuation">()</span>
200 </td>
201 </tr>
202 <tr>
203 <td class="function_type">
204 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
205 </td>
206 <td class="function_name">
207 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance" title="hb_font_get_glyph_h_advance ()">hb_font_get_glyph_h_advance</a> <span class="c_punctuation">()</span>
208 </td>
209 </tr>
210 <tr>
211 <td class="function_type">
212 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
213 </td>
214 <td class="function_name">
215 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance" title="hb_font_get_glyph_v_advance ()">hb_font_get_glyph_v_advance</a> <span class="c_punctuation">()</span>
216 </td>
217 </tr>
218 <tr>
219 <td class="function_type">
220 <span class="returnvalue">void</span>
221 </td>
222 <td class="function_name">
223 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances" title="hb_font_get_glyph_h_advances ()">hb_font_get_glyph_h_advances</a> <span class="c_punctuation">()</span>
224 </td>
225 </tr>
226 <tr>
227 <td class="function_type">
228 <span class="returnvalue">void</span>
229 </td>
230 <td class="function_name">
231 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances" title="hb_font_get_glyph_v_advances ()">hb_font_get_glyph_v_advances</a> <span class="c_punctuation">()</span>
232 </td>
233 </tr>
234 <tr>
235 <td class="function_type">
236 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
237 </td>
238 <td class="function_name">
239 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</a> <span class="c_punctuation">()</span>
240 </td>
241 </tr>
242 <tr>
243 <td class="function_type">
244 <span class="returnvalue">void</span>
245 </td>
246 <td class="function_name">
247 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a> <span class="c_punctuation">()</span>
248 </td>
249 </tr>
250 <tr>
251 <td class="function_type">
252 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
253 </td>
254 <td class="function_name">
255 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin" title="hb_font_get_glyph_h_origin ()">hb_font_get_glyph_h_origin</a> <span class="c_punctuation">()</span>
256 </td>
257 </tr>
258 <tr>
259 <td class="function_type">
260 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
261 </td>
262 <td class="function_name">
263 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin" title="hb_font_get_glyph_v_origin ()">hb_font_get_glyph_v_origin</a> <span class="c_punctuation">()</span>
264 </td>
265 </tr>
266 <tr>
267 <td class="function_type">
268 <span class="returnvalue">void</span>
269 </td>
270 <td class="function_name">
271 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-origin-for-direction" title="hb_font_get_glyph_origin_for_direction ()">hb_font_get_glyph_origin_for_direction</a> <span class="c_punctuation">()</span>
272 </td>
273 </tr>
274 <tr>
275 <td class="function_type">
276 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
277 </td>
278 <td class="function_name">
279 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name" title="hb_font_get_glyph_name ()">hb_font_get_glyph_name</a> <span class="c_punctuation">()</span>
280 </td>
281 </tr>
282 <tr>
283 <td class="function_type">
284 <span class="returnvalue">void</span>
285 </td>
286 <td class="function_name">
287 <a class="link" href="harfbuzz-hb-font.html#hb-font-draw-glyph" title="hb_font_draw_glyph ()">hb_font_draw_glyph</a> <span class="c_punctuation">()</span>
288 </td>
289 </tr>
290 <tr>
291 <td class="function_type">
292 <span class="returnvalue">void</span>
293 </td>
294 <td class="function_name">
295 <a class="link" href="harfbuzz-hb-font.html#hb-font-paint-glyph" title="hb_font_paint_glyph ()">hb_font_paint_glyph</a> <span class="c_punctuation">()</span>
296 </td>
297 </tr>
298 <tr>
299 <td class="function_type">
300 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
301 </td>
302 <td class="function_name">
303 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph" title="hb_font_get_nominal_glyph ()">hb_font_get_nominal_glyph</a> <span class="c_punctuation">()</span>
304 </td>
305 </tr>
306 <tr>
307 <td class="function_type">unsigned <span class="returnvalue">int</span>
308 </td>
309 <td class="function_name">
310 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs" title="hb_font_get_nominal_glyphs ()">hb_font_get_nominal_glyphs</a> <span class="c_punctuation">()</span>
311 </td>
312 </tr>
313 <tr>
314 <td class="function_type">
315 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
316 </td>
317 <td class="function_name">
318 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph" title="hb_font_get_variation_glyph ()">hb_font_get_variation_glyph</a> <span class="c_punctuation">()</span>
319 </td>
320 </tr>
321 <tr>
322 <td class="function_type">
323 <span class="returnvalue">void</span>
324 </td>
325 <td class="function_name">
326 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-parent" title="hb_font_set_parent ()">hb_font_set_parent</a> <span class="c_punctuation">()</span>
327 </td>
328 </tr>
329 <tr>
330 <td class="function_type">
331 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
332 </td>
333 <td class="function_name">
334 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-parent" title="hb_font_get_parent ()">hb_font_get_parent</a> <span class="c_punctuation">()</span>
335 </td>
336 </tr>
337 <tr>
338 <td class="function_type">
339 <span class="returnvalue">void</span>
340 </td>
341 <td class="function_name">
342 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-ppem" title="hb_font_set_ppem ()">hb_font_set_ppem</a> <span class="c_punctuation">()</span>
343 </td>
344 </tr>
345 <tr>
346 <td class="function_type">
347 <span class="returnvalue">void</span>
348 </td>
349 <td class="function_name">
350 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-ppem" title="hb_font_get_ppem ()">hb_font_get_ppem</a> <span class="c_punctuation">()</span>
351 </td>
352 </tr>
353 <tr>
354 <td class="function_type">
355 <span class="returnvalue">void</span>
356 </td>
357 <td class="function_name">
358 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-ptem" title="hb_font_set_ptem ()">hb_font_set_ptem</a> <span class="c_punctuation">()</span>
359 </td>
360 </tr>
361 <tr>
362 <td class="function_type">
363 <span class="returnvalue">float</span>
364 </td>
365 <td class="function_name">
366 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-ptem" title="hb_font_get_ptem ()">hb_font_get_ptem</a> <span class="c_punctuation">()</span>
367 </td>
368 </tr>
369 <tr>
370 <td class="function_type">
371 <span class="returnvalue">void</span>
372 </td>
373 <td class="function_name">
374 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-scale" title="hb_font_set_scale ()">hb_font_set_scale</a> <span class="c_punctuation">()</span>
375 </td>
376 </tr>
377 <tr>
378 <td class="function_type">
379 <span class="returnvalue">void</span>
380 </td>
381 <td class="function_name">
382 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-scale" title="hb_font_get_scale ()">hb_font_get_scale</a> <span class="c_punctuation">()</span>
383 </td>
384 </tr>
385 <tr>
386 <td class="function_type">
387 <span class="returnvalue">void</span>
388 </td>
389 <td class="function_name">
390 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-synthetic-bold" title="hb_font_get_synthetic_bold ()">hb_font_get_synthetic_bold</a> <span class="c_punctuation">()</span>
391 </td>
392 </tr>
393 <tr>
394 <td class="function_type">
395 <span class="returnvalue">void</span>
396 </td>
397 <td class="function_name">
398 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-synthetic-bold" title="hb_font_set_synthetic_bold ()">hb_font_set_synthetic_bold</a> <span class="c_punctuation">()</span>
399 </td>
400 </tr>
401 <tr>
402 <td class="function_type">
403 <span class="returnvalue">void</span>
404 </td>
405 <td class="function_name">
406 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-synthetic-slant" title="hb_font_set_synthetic_slant ()">hb_font_set_synthetic_slant</a> <span class="c_punctuation">()</span>
407 </td>
408 </tr>
409 <tr>
410 <td class="function_type">
411 <span class="returnvalue">float</span>
412 </td>
413 <td class="function_name">
414 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-synthetic-slant" title="hb_font_get_synthetic_slant ()">hb_font_get_synthetic_slant</a> <span class="c_punctuation">()</span>
415 </td>
416 </tr>
417 <tr>
418 <td class="function_type">
419 <span class="returnvalue">void</span>
420 </td>
421 <td class="function_name">
422 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-variations" title="hb_font_set_variations ()">hb_font_set_variations</a> <span class="c_punctuation">()</span>
423 </td>
424 </tr>
425 <tr>
426 <td class="function_type">
427 <span class="returnvalue">void</span>
428 </td>
429 <td class="function_name">
430 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-variation" title="hb_font_set_variation ()">hb_font_set_variation</a> <span class="c_punctuation">()</span>
431 </td>
432 </tr>
433 <tr>
434 <td class="function_type">
435 <span class="returnvalue">void</span>
436 </td>
437 <td class="function_name">
438 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-named-instance" title="hb_font_set_var_named_instance ()">hb_font_set_var_named_instance</a> <span class="c_punctuation">()</span>
439 </td>
440 </tr>
441 <tr>
442 <td class="function_type">unsigned <span class="returnvalue">int</span>
443 </td>
444 <td class="function_name">
445 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-var-named-instance" title="hb_font_get_var_named_instance ()">hb_font_get_var_named_instance</a> <span class="c_punctuation">()</span>
446 </td>
447 </tr>
448 <tr>
449 <td class="function_type">
450 <span class="returnvalue">void</span>
451 </td>
452 <td class="function_name">
453 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-coords-design" title="hb_font_set_var_coords_design ()">hb_font_set_var_coords_design</a> <span class="c_punctuation">()</span>
454 </td>
455 </tr>
456 <tr>
457 <td class="function_type">const <span class="returnvalue">float</span> *
458 </td>
459 <td class="function_name">
460 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-var-coords-design" title="hb_font_get_var_coords_design ()">hb_font_get_var_coords_design</a> <span class="c_punctuation">()</span>
461 </td>
462 </tr>
463 <tr>
464 <td class="function_type">
465 <span class="returnvalue">void</span>
466 </td>
467 <td class="function_name">
468 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-coords-normalized" title="hb_font_set_var_coords_normalized ()">hb_font_set_var_coords_normalized</a> <span class="c_punctuation">()</span>
469 </td>
470 </tr>
471 <tr>
472 <td class="function_type">const <span class="returnvalue">int</span> *
473 </td>
474 <td class="function_name">
475 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-var-coords-normalized" title="hb_font_get_var_coords_normalized ()">hb_font_get_var_coords_normalized</a> <span class="c_punctuation">()</span>
476 </td>
477 </tr>
478 <tr>
479 <td class="function_type">
480 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
481 </td>
482 <td class="function_name">
483 <a class="link" href="harfbuzz-hb-font.html#hb-font-glyph-from-string" title="hb_font_glyph_from_string ()">hb_font_glyph_from_string</a> <span class="c_punctuation">()</span>
484 </td>
485 </tr>
486 <tr>
487 <td class="function_type">
488 <span class="returnvalue">void</span>
489 </td>
490 <td class="function_name">
491 <a class="link" href="harfbuzz-hb-font.html#hb-font-glyph-to-string" title="hb_font_glyph_to_string ()">hb_font_glyph_to_string</a> <span class="c_punctuation">()</span>
492 </td>
493 </tr>
494 <tr>
495 <td class="function_type">unsigned <span class="returnvalue">int</span>
496 </td>
497 <td class="function_name">
498 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-serial" title="hb_font_get_serial ()">hb_font_get_serial</a> <span class="c_punctuation">()</span>
499 </td>
500 </tr>
501 <tr>
502 <td class="function_type">
503 <span class="returnvalue">void</span>
504 </td>
505 <td class="function_name">
506 <a class="link" href="harfbuzz-hb-font.html#hb-font-changed" title="hb_font_changed ()">hb_font_changed</a> <span class="c_punctuation">()</span>
507 </td>
508 </tr>
509 <tr>
510 <td class="function_type">
511 <span class="returnvalue">void</span>
512 </td>
513 <td class="function_name">
514 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-funcs" title="hb_font_set_funcs ()">hb_font_set_funcs</a> <span class="c_punctuation">()</span>
515 </td>
516 </tr>
517 <tr>
518 <td class="function_type">
519 <span class="returnvalue">void</span>
520 </td>
521 <td class="function_name">
522 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-funcs-data" title="hb_font_set_funcs_data ()">hb_font_set_funcs_data</a> <span class="c_punctuation">()</span>
523 </td>
524 </tr>
525 <tr>
526 <td class="function_type">
527 <span class="returnvalue">void</span>
528 </td>
529 <td class="function_name">
530 <a class="link" href="harfbuzz-hb-font.html#hb-font-subtract-glyph-origin-for-direction" title="hb_font_subtract_glyph_origin_for_direction ()">hb_font_subtract_glyph_origin_for_direction</a> <span class="c_punctuation">()</span>
531 </td>
532 </tr>
533 <tr>
534 <td class="function_type">
535 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
536 </td>
537 <td class="function_name">
538 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-create" title="hb_font_funcs_create ()">hb_font_funcs_create</a> <span class="c_punctuation">()</span>
539 </td>
540 </tr>
541 <tr>
542 <td class="function_type">
543 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
544 </td>
545 <td class="function_name">
546 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-get-empty" title="hb_font_funcs_get_empty ()">hb_font_funcs_get_empty</a> <span class="c_punctuation">()</span>
547 </td>
548 </tr>
549 <tr>
550 <td class="function_type">
551 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
552 </td>
553 <td class="function_name">
554 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-reference" title="hb_font_funcs_reference ()">hb_font_funcs_reference</a> <span class="c_punctuation">()</span>
555 </td>
556 </tr>
557 <tr>
558 <td class="function_type">
559 <span class="returnvalue">void</span>
560 </td>
561 <td class="function_name">
562 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-destroy" title="hb_font_funcs_destroy ()">hb_font_funcs_destroy</a> <span class="c_punctuation">()</span>
563 </td>
564 </tr>
565 <tr>
566 <td class="function_type">
567 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
568 </td>
569 <td class="function_name">
570 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-user-data" title="hb_font_funcs_set_user_data ()">hb_font_funcs_set_user_data</a> <span class="c_punctuation">()</span>
571 </td>
572 </tr>
573 <tr>
574 <td class="function_type">
575 <span class="returnvalue">void</span> *
576 </td>
577 <td class="function_name">
578 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-get-user-data" title="hb_font_funcs_get_user_data ()">hb_font_funcs_get_user_data</a> <span class="c_punctuation">()</span>
579 </td>
580 </tr>
581 <tr>
582 <td class="function_type">
583 <span class="returnvalue">void</span>
584 </td>
585 <td class="function_name">
586 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-make-immutable" title="hb_font_funcs_make_immutable ()">hb_font_funcs_make_immutable</a> <span class="c_punctuation">()</span>
587 </td>
588 </tr>
589 <tr>
590 <td class="function_type">
591 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
592 </td>
593 <td class="function_name">
594 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-is-immutable" title="hb_font_funcs_is_immutable ()">hb_font_funcs_is_immutable</a> <span class="c_punctuation">()</span>
595 </td>
596 </tr>
597 <tr>
598 <td class="function_type">
599 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
600 </td>
601 <td class="function_name">
602 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-func-t" title="hb_font_get_glyph_contour_point_func_t ()">*hb_font_get_glyph_contour_point_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
603 </td>
604 </tr>
605 <tr>
606 <td class="function_type">
607 <span class="returnvalue">void</span>
608 </td>
609 <td class="function_name">
610 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-contour-point-func" title="hb_font_funcs_set_glyph_contour_point_func ()">hb_font_funcs_set_glyph_contour_point_func</a> <span class="c_punctuation">()</span>
611 </td>
612 </tr>
613 <tr>
614 <td class="function_type">
615 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
616 </td>
617 <td class="function_name">
618 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-func-t" title="hb_font_get_glyph_extents_func_t ()">*hb_font_get_glyph_extents_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
619 </td>
620 </tr>
621 <tr>
622 <td class="function_type">
623 <span class="returnvalue">void</span>
624 </td>
625 <td class="function_name">
626 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-extents-func" title="hb_font_funcs_set_glyph_extents_func ()">hb_font_funcs_set_glyph_extents_func</a> <span class="c_punctuation">()</span>
627 </td>
628 </tr>
629 <tr>
630 <td class="function_type">
631 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
632 </td>
633 <td class="function_name">
634 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name-func-t" title="hb_font_get_glyph_from_name_func_t ()">*hb_font_get_glyph_from_name_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
635 </td>
636 </tr>
637 <tr>
638 <td class="function_type">
639 <span class="returnvalue">void</span>
640 </td>
641 <td class="function_name">
642 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-from-name-func" title="hb_font_funcs_set_glyph_from_name_func ()">hb_font_funcs_set_glyph_from_name_func</a> <span class="c_punctuation">()</span>
643 </td>
644 </tr>
645 <tr>
646 <td class="function_type">
647 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
648 </td>
649 <td class="function_name">
650 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-advance-func-t" title="hb_font_get_glyph_advance_func_t ()">*hb_font_get_glyph_advance_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
651 </td>
652 </tr>
653 <tr>
654 <td class="function_type">
655 <span class="returnvalue">void</span>
656 </td>
657 <td class="function_name">
658 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-advance-func" title="hb_font_funcs_set_glyph_h_advance_func ()">hb_font_funcs_set_glyph_h_advance_func</a> <span class="c_punctuation">()</span>
659 </td>
660 </tr>
661 <tr>
662 <td class="function_type">
663 <span class="returnvalue">void</span>
664 </td>
665 <td class="function_name">
666 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-advance-func" title="hb_font_funcs_set_glyph_v_advance_func ()">hb_font_funcs_set_glyph_v_advance_func</a> <span class="c_punctuation">()</span>
667 </td>
668 </tr>
669 <tr>
670 <td class="function_type">
671 <span class="returnvalue">void</span>
672 </td>
673 <td class="function_name">
674 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-advances-func-t" title="hb_font_get_glyph_advances_func_t ()">*hb_font_get_glyph_advances_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
675 </td>
676 </tr>
677 <tr>
678 <td class="function_type">
679 <span class="returnvalue">void</span>
680 </td>
681 <td class="function_name">
682 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-advances-func" title="hb_font_funcs_set_glyph_h_advances_func ()">hb_font_funcs_set_glyph_h_advances_func</a> <span class="c_punctuation">()</span>
683 </td>
684 </tr>
685 <tr>
686 <td class="function_type">
687 <span class="returnvalue">void</span>
688 </td>
689 <td class="function_name">
690 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-advances-func" title="hb_font_funcs_set_glyph_v_advances_func ()">hb_font_funcs_set_glyph_v_advances_func</a> <span class="c_punctuation">()</span>
691 </td>
692 </tr>
693 <tr>
694 <td class="function_type">
695 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
696 </td>
697 <td class="function_name">
698 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-func-t" title="hb_font_get_glyph_kerning_func_t ()">*hb_font_get_glyph_kerning_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
699 </td>
700 </tr>
701 <tr>
702 <td class="function_type">
703 <span class="returnvalue">void</span>
704 </td>
705 <td class="function_name">
706 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</a> <span class="c_punctuation">()</span>
707 </td>
708 </tr>
709 <tr>
710 <td class="function_type">
711 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
712 </td>
713 <td class="function_name">
714 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-origin-func-t" title="hb_font_get_glyph_origin_func_t ()">*hb_font_get_glyph_origin_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
715 </td>
716 </tr>
717 <tr>
718 <td class="function_type">
719 <span class="returnvalue">void</span>
720 </td>
721 <td class="function_name">
722 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-origin-func" title="hb_font_funcs_set_glyph_h_origin_func ()">hb_font_funcs_set_glyph_h_origin_func</a> <span class="c_punctuation">()</span>
723 </td>
724 </tr>
725 <tr>
726 <td class="function_type">
727 <span class="returnvalue">void</span>
728 </td>
729 <td class="function_name">
730 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-origin-func" title="hb_font_funcs_set_glyph_v_origin_func ()">hb_font_funcs_set_glyph_v_origin_func</a> <span class="c_punctuation">()</span>
731 </td>
732 </tr>
733 <tr>
734 <td class="function_type">
735 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
736 </td>
737 <td class="function_name">
738 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name-func-t" title="hb_font_get_glyph_name_func_t ()">*hb_font_get_glyph_name_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
739 </td>
740 </tr>
741 <tr>
742 <td class="function_type">
743 <span class="returnvalue">void</span>
744 </td>
745 <td class="function_name">
746 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-name-func" title="hb_font_funcs_set_glyph_name_func ()">hb_font_funcs_set_glyph_name_func</a> <span class="c_punctuation">()</span>
747 </td>
748 </tr>
749 <tr>
750 <td class="function_type">
751 <span class="returnvalue">void</span>
752 </td>
753 <td class="function_name">
754 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-draw-glyph-func-t" title="hb_font_draw_glyph_func_t ()">*hb_font_draw_glyph_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
755 </td>
756 </tr>
757 <tr>
758 <td class="function_type">
759 <span class="returnvalue">void</span>
760 </td>
761 <td class="function_name">
762 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-draw-glyph-func" title="hb_font_funcs_set_draw_glyph_func ()">hb_font_funcs_set_draw_glyph_func</a> <span class="c_punctuation">()</span>
763 </td>
764 </tr>
765 <tr>
766 <td class="function_type">
767 <span class="returnvalue">void</span>
768 </td>
769 <td class="function_name">
770 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-paint-glyph-func-t" title="hb_font_paint_glyph_func_t ()">*hb_font_paint_glyph_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
771 </td>
772 </tr>
773 <tr>
774 <td class="function_type">
775 <span class="returnvalue">void</span>
776 </td>
777 <td class="function_name">
778 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-paint-glyph-func" title="hb_font_funcs_set_paint_glyph_func ()">hb_font_funcs_set_paint_glyph_func</a> <span class="c_punctuation">()</span>
779 </td>
780 </tr>
781 <tr>
782 <td class="function_type">
783 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
784 </td>
785 <td class="function_name">
786 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t" title="hb_font_get_nominal_glyph_func_t ()">*hb_font_get_nominal_glyph_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
787 </td>
788 </tr>
789 <tr>
790 <td class="function_type">
791 <span class="returnvalue">void</span>
792 </td>
793 <td class="function_name">
794 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-nominal-glyph-func" title="hb_font_funcs_set_nominal_glyph_func ()">hb_font_funcs_set_nominal_glyph_func</a> <span class="c_punctuation">()</span>
795 </td>
796 </tr>
797 <tr>
798 <td class="function_type">unsigned <span class="returnvalue">int</span>
799 </td>
800 <td class="function_name">
801 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs-func-t" title="hb_font_get_nominal_glyphs_func_t ()">*hb_font_get_nominal_glyphs_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
802 </td>
803 </tr>
804 <tr>
805 <td class="function_type">
806 <span class="returnvalue">void</span>
807 </td>
808 <td class="function_name">
809 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-nominal-glyphs-func" title="hb_font_funcs_set_nominal_glyphs_func ()">hb_font_funcs_set_nominal_glyphs_func</a> <span class="c_punctuation">()</span>
810 </td>
811 </tr>
812 <tr>
813 <td class="function_type">
814 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
815 </td>
816 <td class="function_name">
817 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph-func-t" title="hb_font_get_variation_glyph_func_t ()">*hb_font_get_variation_glyph_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
818 </td>
819 </tr>
820 <tr>
821 <td class="function_type">
822 <span class="returnvalue">void</span>
823 </td>
824 <td class="function_name">
825 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-variation-glyph-func" title="hb_font_funcs_set_variation_glyph_func ()">hb_font_funcs_set_variation_glyph_func</a> <span class="c_punctuation">()</span>
826 </td>
827 </tr>
828 <tr>
829 <td class="function_type">
830 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
831 </td>
832 <td class="function_name">
833 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-reference-table-func-t" title="hb_reference_table_func_t ()">*hb_reference_table_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
834 </td>
835 </tr>
836 <tr>
837 <td class="function_type">
838 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
839 </td>
840 <td class="function_name">
841 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-extents-func-t" title="hb_font_get_font_extents_func_t ()">*hb_font_get_font_extents_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
842 </td>
843 </tr>
844 <tr>
845 <td class="function_type">
846 <span class="returnvalue">void</span>
847 </td>
848 <td class="function_name">
849 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-font-h-extents-func" title="hb_font_funcs_set_font_h_extents_func ()">hb_font_funcs_set_font_h_extents_func</a> <span class="c_punctuation">()</span>
850 </td>
851 </tr>
852 <tr>
853 <td class="function_type">
854 <span class="returnvalue">void</span>
855 </td>
856 <td class="function_name">
857 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-font-v-extents-func" title="hb_font_funcs_set_font_v_extents_func ()">hb_font_funcs_set_font_v_extents_func</a> <span class="c_punctuation">()</span>
858 </td>
859 </tr>
860 <tr>
861 <td class="function_type">
862 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
863 </td>
864 <td class="function_name">
865 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-h-extents" title="hb_font_get_h_extents ()">hb_font_get_h_extents</a> <span class="c_punctuation">()</span>
866 </td>
867 </tr>
868 <tr>
869 <td class="function_type">
870 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
871 </td>
872 <td class="function_name">
873 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-v-extents" title="hb_font_get_v_extents ()">hb_font_get_v_extents</a> <span class="c_punctuation">()</span>
874 </td>
875 </tr>
876 <tr>
877 <td class="function_type">
878 <span class="returnvalue">void</span>
879 </td>
880 <td class="function_name">
881 <a class="link" href="harfbuzz-hb-font.html#hb-font-get-extents-for-direction" title="hb_font_get_extents_for_direction ()">hb_font_get_extents_for_direction</a> <span class="c_punctuation">()</span>
882 </td>
883 </tr>
884 </tbody>
885 </table></div>
886 </div>
887 <div class="refsect1">
888 <a name="harfbuzz-hb-font.other"></a><h2>Types and Values</h2>
889 <div class="informaltable"><table class="informaltable" width="100%" border="0">
890 <colgroup>
891 <col width="150px" class="other_proto_type">
892 <col class="other_proto_name">
893 </colgroup>
894 <tbody>
895 <tr>
896 <td class="define_keyword">#define</td>
897 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#HB-FONT-NO-VAR-NAMED-INSTANCE:CAPS" title="HB_FONT_NO_VAR_NAMED_INSTANCE">HB_FONT_NO_VAR_NAMED_INSTANCE</a></td>
898 </tr>
899 <tr>
900 <td class="typedef_keyword">typedef</td>
901 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance-func-t" title="hb_font_get_glyph_h_advance_func_t">hb_font_get_glyph_h_advance_func_t</a></td>
902 </tr>
903 <tr>
904 <td class="typedef_keyword">typedef</td>
905 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t" title="hb_font_get_glyph_v_advance_func_t">hb_font_get_glyph_v_advance_func_t</a></td>
906 </tr>
907 <tr>
908 <td class="typedef_keyword">typedef</td>
909 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances-func-t" title="hb_font_get_glyph_h_advances_func_t">hb_font_get_glyph_h_advances_func_t</a></td>
910 </tr>
911 <tr>
912 <td class="typedef_keyword">typedef</td>
913 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t" title="hb_font_get_glyph_v_advances_func_t">hb_font_get_glyph_v_advances_func_t</a></td>
914 </tr>
915 <tr>
916 <td class="typedef_keyword">typedef</td>
917 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t">hb_font_get_glyph_h_kerning_func_t</a></td>
918 </tr>
919 <tr>
920 <td class="typedef_keyword">typedef</td>
921 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t" title="hb_font_get_glyph_h_origin_func_t">hb_font_get_glyph_h_origin_func_t</a></td>
922 </tr>
923 <tr>
924 <td class="typedef_keyword">typedef</td>
925 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t" title="hb_font_get_glyph_v_origin_func_t">hb_font_get_glyph_v_origin_func_t</a></td>
926 </tr>
927 <tr>
928 <td class="typedef_keyword">typedef</td>
929 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t">hb_font_funcs_t</a></td>
930 </tr>
931 <tr>
932 <td class="typedef_keyword">typedef</td>
933 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t">hb_font_t</a></td>
934 </tr>
935 <tr>
936 <td class="typedef_keyword">typedef</td>
937 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-h-extents-func-t" title="hb_font_get_font_h_extents_func_t">hb_font_get_font_h_extents_func_t</a></td>
938 </tr>
939 <tr>
940 <td class="typedef_keyword">typedef</td>
941 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-v-extents-func-t" title="hb_font_get_font_v_extents_func_t">hb_font_get_font_v_extents_func_t</a></td>
942 </tr>
943 <tr>
944 <td class="datatype_keyword"> </td>
945 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-extents-t" title="hb_font_extents_t">hb_font_extents_t</a></td>
946 </tr>
947 <tr>
948 <td class="datatype_keyword"> </td>
949 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t">hb_glyph_extents_t</a></td>
950 </tr>
951 </tbody>
952 </table></div>
953 </div>
954 <div class="refsect1">
955 <a name="harfbuzz-hb-font.includes"></a><h2>Includes</h2>
956 <pre class="synopsis">#include &lt;hb.h&gt;
957 </pre>
958 </div>
959 <div class="refsect1">
960 <a name="harfbuzz-hb-font.description"></a><h2>Description</h2>
961 <p>Functions for working with font objects.</p>
962 <p>A font object represents a font face at a specific size and with
963 certain other parameters (pixels-per-em, points-per-em, variation
964 settings) specified. Font objects are created from font face
965 objects, and are used as input to <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a>, among other things.</p>
966 <p>Client programs can optionally pass in their own functions that
967 implement the basic, lower-level queries of font objects. This set
968 of font functions is defined by the virtual methods in
969 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a>.</p>
970 <p>HarfBuzz provides a built-in set of lightweight default
971 functions for each method in <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a>.</p>
972 <p>The default font functions are implemented in terms of the
973 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> methods of the parent font object.  This allows
974 client programs to override only the methods they need to, and
975 otherwise inherit the parent font's implementation, if any.</p>
976 </div>
977 <div class="refsect1">
978 <a name="harfbuzz-hb-font.functions_details"></a><h2>Functions</h2>
979 <div class="refsect2">
980 <a name="hb-font-add-glyph-origin-for-direction"></a><h3>hb_font_add_glyph_origin_for_direction ()</h3>
981 <pre class="programlisting"><span class="returnvalue">void</span>
982 hb_font_add_glyph_origin_for_direction
983                                (<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>,
984                                 <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>,
985                                 <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>,
986                                 <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> *x</code></em>,
987                                 <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> *y</code></em>);</pre>
988 <p>Adds the origin coordinates to an (X,Y) point coordinate, in
989 the specified glyph ID in the specified font.</p>
990 <p>Calls the appropriate direction-specific variant (horizontal
991 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
992 .</p>
993 <div class="refsect3">
994 <a name="hb-font-add-glyph-origin-for-direction.parameters"></a><h4>Parameters</h4>
995 <div class="informaltable"><table class="informaltable" width="100%" border="0">
996 <colgroup>
997 <col width="150px" class="parameters_name">
998 <col class="parameters_description">
999 <col width="200px" class="parameters_annotations">
1000 </colgroup>
1001 <tbody>
1002 <tr>
1003 <td class="parameter_name"><p>font</p></td>
1004 <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>
1005 <td class="parameter_annotations"> </td>
1006 </tr>
1007 <tr>
1008 <td class="parameter_name"><p>glyph</p></td>
1009 <td class="parameter_description"><p>The glyph ID to query</p></td>
1010 <td class="parameter_annotations"> </td>
1011 </tr>
1012 <tr>
1013 <td class="parameter_name"><p>direction</p></td>
1014 <td class="parameter_description"><p>The direction of the text segment</p></td>
1015 <td class="parameter_annotations"> </td>
1016 </tr>
1017 <tr>
1018 <td class="parameter_name"><p>x</p></td>
1019 <td class="parameter_description"><p>Input = The original X coordinate
1020 Output = The X coordinate plus the X-coordinate of the origin. </p></td>
1021 <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>
1022 </tr>
1023 <tr>
1024 <td class="parameter_name"><p>y</p></td>
1025 <td class="parameter_description"><p>Input = The original Y coordinate
1026 Output = The Y coordinate plus the Y-coordinate of the origin. </p></td>
1027 <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>
1028 </tr>
1029 </tbody>
1030 </table></div>
1031 </div>
1032 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1033 </div>
1034 <hr>
1035 <div class="refsect2">
1036 <a name="hb-font-create"></a><h3>hb_font_create ()</h3>
1037 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
1038 hb_font_create (<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>
1039 <p>Constructs a new font object from the specified face.</p>
1040 <div class="note">Note: If <em class="parameter"><code>face</code></em>'s index value (as passed to <a class="link" href="harfbuzz-hb-face.html#hb-face-create" title="hb_face_create ()"><code class="function">hb_face_create()</code></a>
1041 has non-zero top 16-bits, those bits minus one are passed to
1042 <a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-named-instance" title="hb_font_set_var_named_instance ()"><code class="function">hb_font_set_var_named_instance()</code></a>, effectively loading a named-instance
1043 of a variable font, instead of the default-instance.  This allows
1044 specifying which named-instance to load by default when creating the
1045 face.</div>
1046 <div class="refsect3">
1047 <a name="hb-font-create.parameters"></a><h4>Parameters</h4>
1048 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1049 <colgroup>
1050 <col width="150px" class="parameters_name">
1051 <col class="parameters_description">
1052 <col width="200px" class="parameters_annotations">
1053 </colgroup>
1054 <tbody><tr>
1055 <td class="parameter_name"><p>face</p></td>
1056 <td class="parameter_description"><p>a face.</p></td>
1057 <td class="parameter_annotations"> </td>
1058 </tr></tbody>
1059 </table></div>
1060 </div>
1061 <div class="refsect3">
1062 <a name="hb-font-create.returns"></a><h4>Returns</h4>
1063 <p>The new font object. </p>
1064 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1065 </div>
1066 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1067 </div>
1068 <hr>
1069 <div class="refsect2">
1070 <a name="hb-font-create-sub-font"></a><h3>hb_font_create_sub_font ()</h3>
1071 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
1072 hb_font_create_sub_font (<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> *parent</code></em>);</pre>
1073 <p>Constructs a sub-font font object from the specified <em class="parameter"><code>parent</code></em>
1074  font,
1075 replicating the parent's properties.</p>
1076 <div class="refsect3">
1077 <a name="hb-font-create-sub-font.parameters"></a><h4>Parameters</h4>
1078 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1079 <colgroup>
1080 <col width="150px" class="parameters_name">
1081 <col class="parameters_description">
1082 <col width="200px" class="parameters_annotations">
1083 </colgroup>
1084 <tbody><tr>
1085 <td class="parameter_name"><p>parent</p></td>
1086 <td class="parameter_description"><p>The parent font object</p></td>
1087 <td class="parameter_annotations"> </td>
1088 </tr></tbody>
1089 </table></div>
1090 </div>
1091 <div class="refsect3">
1092 <a name="hb-font-create-sub-font.returns"></a><h4>Returns</h4>
1093 <p>The new sub-font font object. </p>
1094 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1095 </div>
1096 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1097 </div>
1098 <hr>
1099 <div class="refsect2">
1100 <a name="hb-font-get-empty"></a><h3>hb_font_get_empty ()</h3>
1101 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
1102 hb_font_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1103 <p>Fetches the empty font object.</p>
1104 <div class="refsect3">
1105 <a name="hb-font-get-empty.returns"></a><h4>Returns</h4>
1106 <p>The empty font object. </p>
1107 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1108 </div>
1109 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1110 </div>
1111 <hr>
1112 <div class="refsect2">
1113 <a name="hb-font-reference"></a><h3>hb_font_reference ()</h3>
1114 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
1115 hb_font_reference (<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>);</pre>
1116 <p>Increases the reference count on the given font object.</p>
1117 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1118 <div class="refsect3">
1119 <a name="hb-font-reference.parameters"></a><h4>Parameters</h4>
1120 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1121 <colgroup>
1122 <col width="150px" class="parameters_name">
1123 <col class="parameters_description">
1124 <col width="200px" class="parameters_annotations">
1125 </colgroup>
1126 <tbody><tr>
1127 <td class="parameter_name"><p>font</p></td>
1128 <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>
1129 <td class="parameter_annotations"> </td>
1130 </tr></tbody>
1131 </table></div>
1132 </div>
1133 <div class="refsect3">
1134 <a name="hb-font-reference.returns"></a><h4>Returns</h4>
1135 <p>The <em class="parameter"><code>font</code></em>
1136 object. </p>
1137 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1138 </div>
1139 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1140 </div>
1141 <hr>
1142 <div class="refsect2">
1143 <a name="hb-font-destroy"></a><h3>hb_font_destroy ()</h3>
1144 <pre class="programlisting"><span class="returnvalue">void</span>
1145 hb_font_destroy (<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>);</pre>
1146 <p>Decreases the reference count on the given font object. When the
1147 reference count reaches zero, the font is destroyed,
1148 freeing all memory.</p>
1149 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1150 <div class="refsect3">
1151 <a name="hb-font-destroy.parameters"></a><h4>Parameters</h4>
1152 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1153 <colgroup>
1154 <col width="150px" class="parameters_name">
1155 <col class="parameters_description">
1156 <col width="200px" class="parameters_annotations">
1157 </colgroup>
1158 <tbody><tr>
1159 <td class="parameter_name"><p>font</p></td>
1160 <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>
1161 <td class="parameter_annotations"> </td>
1162 </tr></tbody>
1163 </table></div>
1164 </div>
1165 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1166 </div>
1167 <hr>
1168 <div class="refsect2">
1169 <a name="hb-font-set-user-data"></a><h3>hb_font_set_user_data ()</h3>
1170 <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>
1171 hb_font_set_user_data (<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>,
1172                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
1173                        <em class="parameter"><code><span class="type">void</span> *data</code></em>,
1174                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
1175                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
1176 <p>Attaches a user-data key/data pair to the specified font object.</p>
1177 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1178 <div class="refsect3">
1179 <a name="hb-font-set-user-data.parameters"></a><h4>Parameters</h4>
1180 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1181 <colgroup>
1182 <col width="150px" class="parameters_name">
1183 <col class="parameters_description">
1184 <col width="200px" class="parameters_annotations">
1185 </colgroup>
1186 <tbody>
1187 <tr>
1188 <td class="parameter_name"><p>font</p></td>
1189 <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>
1190 <td class="parameter_annotations"> </td>
1191 </tr>
1192 <tr>
1193 <td class="parameter_name"><p>key</p></td>
1194 <td class="parameter_description"><p>The user-data key</p></td>
1195 <td class="parameter_annotations"> </td>
1196 </tr>
1197 <tr>
1198 <td class="parameter_name"><p>data</p></td>
1199 <td class="parameter_description"><p>A pointer to the user data</p></td>
1200 <td class="parameter_annotations"> </td>
1201 </tr>
1202 <tr>
1203 <td class="parameter_name"><p>destroy</p></td>
1204 <td class="parameter_description"><p>A callback to call when <em class="parameter"><code>data</code></em>
1205 is not needed anymore. </p></td>
1206 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
1207 </tr>
1208 <tr>
1209 <td class="parameter_name"><p>replace</p></td>
1210 <td class="parameter_description"><p>Whether to replace an existing data with the same key</p></td>
1211 <td class="parameter_annotations"> </td>
1212 </tr>
1213 </tbody>
1214 </table></div>
1215 </div>
1216 <div class="refsect3">
1217 <a name="hb-font-set-user-data.returns"></a><h4>Returns</h4>
1218 <p> <code class="literal">true</code> if success, <code class="literal">false</code> otherwise</p>
1219 </div>
1220 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1221 </div>
1222 <hr>
1223 <div class="refsect2">
1224 <a name="hb-font-get-user-data"></a><h3>hb_font_get_user_data ()</h3>
1225 <pre class="programlisting"><span class="returnvalue">void</span> *
1226 hb_font_get_user_data (<em class="parameter"><code>const <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>,
1227                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
1228 <p>Fetches the user-data object associated with the specified key,
1229 attached to the specified font object.</p>
1230 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1231 <div class="refsect3">
1232 <a name="hb-font-get-user-data.parameters"></a><h4>Parameters</h4>
1233 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1234 <colgroup>
1235 <col width="150px" class="parameters_name">
1236 <col class="parameters_description">
1237 <col width="200px" class="parameters_annotations">
1238 </colgroup>
1239 <tbody>
1240 <tr>
1241 <td class="parameter_name"><p>font</p></td>
1242 <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>
1243 <td class="parameter_annotations"> </td>
1244 </tr>
1245 <tr>
1246 <td class="parameter_name"><p>key</p></td>
1247 <td class="parameter_description"><p>The user-data key to query</p></td>
1248 <td class="parameter_annotations"> </td>
1249 </tr>
1250 </tbody>
1251 </table></div>
1252 </div>
1253 <div class="refsect3">
1254 <a name="hb-font-get-user-data.returns"></a><h4>Returns</h4>
1255 <p>Pointer to the user data. </p>
1256 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
1257 </div>
1258 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1259 </div>
1260 <hr>
1261 <div class="refsect2">
1262 <a name="hb-font-make-immutable"></a><h3>hb_font_make_immutable ()</h3>
1263 <pre class="programlisting"><span class="returnvalue">void</span>
1264 hb_font_make_immutable (<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>);</pre>
1265 <p>Makes <em class="parameter"><code>font</code></em>
1266  immutable.</p>
1267 <div class="refsect3">
1268 <a name="hb-font-make-immutable.parameters"></a><h4>Parameters</h4>
1269 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1270 <colgroup>
1271 <col width="150px" class="parameters_name">
1272 <col class="parameters_description">
1273 <col width="200px" class="parameters_annotations">
1274 </colgroup>
1275 <tbody><tr>
1276 <td class="parameter_name"><p>font</p></td>
1277 <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>
1278 <td class="parameter_annotations"> </td>
1279 </tr></tbody>
1280 </table></div>
1281 </div>
1282 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1283 </div>
1284 <hr>
1285 <div class="refsect2">
1286 <a name="hb-font-is-immutable"></a><h3>hb_font_is_immutable ()</h3>
1287 <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>
1288 hb_font_is_immutable (<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>);</pre>
1289 <p>Tests whether a font object is immutable.</p>
1290 <div class="refsect3">
1291 <a name="hb-font-is-immutable.parameters"></a><h4>Parameters</h4>
1292 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1293 <colgroup>
1294 <col width="150px" class="parameters_name">
1295 <col class="parameters_description">
1296 <col width="200px" class="parameters_annotations">
1297 </colgroup>
1298 <tbody><tr>
1299 <td class="parameter_name"><p>font</p></td>
1300 <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>
1301 <td class="parameter_annotations"> </td>
1302 </tr></tbody>
1303 </table></div>
1304 </div>
1305 <div class="refsect3">
1306 <a name="hb-font-is-immutable.returns"></a><h4>Returns</h4>
1307 <p> <code class="literal">true</code> if <em class="parameter"><code>font</code></em>
1308 is immutable, <code class="literal">false</code> otherwise</p>
1309 </div>
1310 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1311 </div>
1312 <hr>
1313 <div class="refsect2">
1314 <a name="hb-font-set-face"></a><h3>hb_font_set_face ()</h3>
1315 <pre class="programlisting"><span class="returnvalue">void</span>
1316 hb_font_set_face (<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>,
1317                   <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>
1318 <p>Sets <em class="parameter"><code>face</code></em>
1319  as the font-face value of <em class="parameter"><code>font</code></em>
1320 .</p>
1321 <div class="refsect3">
1322 <a name="hb-font-set-face.parameters"></a><h4>Parameters</h4>
1323 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1324 <colgroup>
1325 <col width="150px" class="parameters_name">
1326 <col class="parameters_description">
1327 <col width="200px" class="parameters_annotations">
1328 </colgroup>
1329 <tbody>
1330 <tr>
1331 <td class="parameter_name"><p>font</p></td>
1332 <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>
1333 <td class="parameter_annotations"> </td>
1334 </tr>
1335 <tr>
1336 <td class="parameter_name"><p>face</p></td>
1337 <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to assign</p></td>
1338 <td class="parameter_annotations"> </td>
1339 </tr>
1340 </tbody>
1341 </table></div>
1342 </div>
1343 <p class="since">Since: <a class="link" href="api-index-1-4-3.html#api-index-1.4.3">1.4.3</a></p>
1344 </div>
1345 <hr>
1346 <div class="refsect2">
1347 <a name="hb-font-get-face"></a><h3>hb_font_get_face ()</h3>
1348 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
1349 hb_font_get_face (<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>);</pre>
1350 <p>Fetches the face associated with the specified font object.</p>
1351 <div class="refsect3">
1352 <a name="hb-font-get-face.parameters"></a><h4>Parameters</h4>
1353 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1354 <colgroup>
1355 <col width="150px" class="parameters_name">
1356 <col class="parameters_description">
1357 <col width="200px" class="parameters_annotations">
1358 </colgroup>
1359 <tbody><tr>
1360 <td class="parameter_name"><p>font</p></td>
1361 <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>
1362 <td class="parameter_annotations"> </td>
1363 </tr></tbody>
1364 </table></div>
1365 </div>
1366 <div class="refsect3">
1367 <a name="hb-font-get-face.returns"></a><h4>Returns</h4>
1368 <p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> value. </p>
1369 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
1370 </div>
1371 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1372 </div>
1373 <hr>
1374 <div class="refsect2">
1375 <a name="hb-font-get-glyph"></a><h3>hb_font_get_glyph ()</h3>
1376 <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>
1377 hb_font_get_glyph (<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>,
1378                    <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> unicode</code></em>,
1379                    <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> variation_selector</code></em>,
1380                    <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>
1381 <p>Fetches the glyph ID for a Unicode code point in the specified
1382 font, with an optional variation selector.</p>
1383 <p>If <em class="parameter"><code>variation_selector</code></em>
1384  is 0, calls <a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph" title="hb_font_get_nominal_glyph ()"><code class="function">hb_font_get_nominal_glyph()</code></a>;
1385 otherwise calls <a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph" title="hb_font_get_variation_glyph ()"><code class="function">hb_font_get_variation_glyph()</code></a>.</p>
1386 <div class="refsect3">
1387 <a name="hb-font-get-glyph.parameters"></a><h4>Parameters</h4>
1388 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1389 <colgroup>
1390 <col width="150px" class="parameters_name">
1391 <col class="parameters_description">
1392 <col width="200px" class="parameters_annotations">
1393 </colgroup>
1394 <tbody>
1395 <tr>
1396 <td class="parameter_name"><p>font</p></td>
1397 <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>
1398 <td class="parameter_annotations"> </td>
1399 </tr>
1400 <tr>
1401 <td class="parameter_name"><p>unicode</p></td>
1402 <td class="parameter_description"><p>The Unicode code point to query</p></td>
1403 <td class="parameter_annotations"> </td>
1404 </tr>
1405 <tr>
1406 <td class="parameter_name"><p>variation_selector</p></td>
1407 <td class="parameter_description"><p>A variation-selector code point</p></td>
1408 <td class="parameter_annotations"> </td>
1409 </tr>
1410 <tr>
1411 <td class="parameter_name"><p>glyph</p></td>
1412 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
1413 <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>
1414 </tr>
1415 </tbody>
1416 </table></div>
1417 </div>
1418 <div class="refsect3">
1419 <a name="hb-font-get-glyph.returns"></a><h4>Returns</h4>
1420 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1421 </div>
1422 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1423 </div>
1424 <hr>
1425 <div class="refsect2">
1426 <a name="hb-font-get-glyph-advance-for-direction"></a><h3>hb_font_get_glyph_advance_for_direction ()</h3>
1427 <pre class="programlisting"><span class="returnvalue">void</span>
1428 hb_font_get_glyph_advance_for_direction
1429                                (<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>,
1430                                 <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>,
1431                                 <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>,
1432                                 <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> *x</code></em>,
1433                                 <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> *y</code></em>);</pre>
1434 <p>Fetches the advance for a glyph ID from the specified font,
1435 in a text segment of the specified direction.</p>
1436 <p>Calls the appropriate direction-specific variant (horizontal
1437 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
1438 .</p>
1439 <div class="refsect3">
1440 <a name="hb-font-get-glyph-advance-for-direction.parameters"></a><h4>Parameters</h4>
1441 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1442 <colgroup>
1443 <col width="150px" class="parameters_name">
1444 <col class="parameters_description">
1445 <col width="200px" class="parameters_annotations">
1446 </colgroup>
1447 <tbody>
1448 <tr>
1449 <td class="parameter_name"><p>font</p></td>
1450 <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>
1451 <td class="parameter_annotations"> </td>
1452 </tr>
1453 <tr>
1454 <td class="parameter_name"><p>glyph</p></td>
1455 <td class="parameter_description"><p>The glyph ID to query</p></td>
1456 <td class="parameter_annotations"> </td>
1457 </tr>
1458 <tr>
1459 <td class="parameter_name"><p>direction</p></td>
1460 <td class="parameter_description"><p>The direction of the text segment</p></td>
1461 <td class="parameter_annotations"> </td>
1462 </tr>
1463 <tr>
1464 <td class="parameter_name"><p>x</p></td>
1465 <td class="parameter_description"><p>The horizontal advance retrieved. </p></td>
1466 <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>
1467 </tr>
1468 <tr>
1469 <td class="parameter_name"><p>y</p></td>
1470 <td class="parameter_description"><p>The vertical advance retrieved. </p></td>
1471 <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>
1472 </tr>
1473 </tbody>
1474 </table></div>
1475 </div>
1476 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1477 </div>
1478 <hr>
1479 <div class="refsect2">
1480 <a name="hb-font-get-glyph-advances-for-direction"></a><h3>hb_font_get_glyph_advances_for_direction ()</h3>
1481 <pre class="programlisting"><span class="returnvalue">void</span>
1482 hb_font_get_glyph_advances_for_direction
1483                                (<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>,
1484                                 <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>,
1485                                 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
1486                                 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
1487                                 <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
1488                                 <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> *first_advance</code></em>,
1489                                 <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>);</pre>
1490 <p>Fetches the advances for a sequence of glyph IDs in the specified
1491 font, in a text segment of the specified direction.</p>
1492 <p>Calls the appropriate direction-specific variant (horizontal
1493 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
1494 .</p>
1495 <div class="refsect3">
1496 <a name="hb-font-get-glyph-advances-for-direction.parameters"></a><h4>Parameters</h4>
1497 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1498 <colgroup>
1499 <col width="150px" class="parameters_name">
1500 <col class="parameters_description">
1501 <col width="200px" class="parameters_annotations">
1502 </colgroup>
1503 <tbody>
1504 <tr>
1505 <td class="parameter_name"><p>font</p></td>
1506 <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>
1507 <td class="parameter_annotations"> </td>
1508 </tr>
1509 <tr>
1510 <td class="parameter_name"><p>direction</p></td>
1511 <td class="parameter_description"><p>The direction of the text segment</p></td>
1512 <td class="parameter_annotations"> </td>
1513 </tr>
1514 <tr>
1515 <td class="parameter_name"><p>count</p></td>
1516 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
1517 <td class="parameter_annotations"> </td>
1518 </tr>
1519 <tr>
1520 <td class="parameter_name"><p>first_glyph</p></td>
1521 <td class="parameter_description"><p>The first glyph ID to query</p></td>
1522 <td class="parameter_annotations"> </td>
1523 </tr>
1524 <tr>
1525 <td class="parameter_name"><p>glyph_stride</p></td>
1526 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
1527 <td class="parameter_annotations"> </td>
1528 </tr>
1529 <tr>
1530 <td class="parameter_name"><p>first_advance</p></td>
1531 <td class="parameter_description"><p>The first advance retrieved. </p></td>
1532 <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>
1533 </tr>
1534 <tr>
1535 <td class="parameter_name"><p>advance_stride</p></td>
1536 <td class="parameter_description"><p>The stride between successive advances. </p></td>
1537 <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>
1538 </tr>
1539 </tbody>
1540 </table></div>
1541 </div>
1542 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
1543 </div>
1544 <hr>
1545 <div class="refsect2">
1546 <a name="hb-font-get-glyph-contour-point"></a><h3>hb_font_get_glyph_contour_point ()</h3>
1547 <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>
1548 hb_font_get_glyph_contour_point (<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>,
1549                                  <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>,
1550                                  <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
1551                                  <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> *x</code></em>,
1552                                  <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> *y</code></em>);</pre>
1553 <p>Fetches the (x,y) coordinates of a specified contour-point index
1554 in the specified glyph, within the specified font.</p>
1555 <div class="refsect3">
1556 <a name="hb-font-get-glyph-contour-point.parameters"></a><h4>Parameters</h4>
1557 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1558 <colgroup>
1559 <col width="150px" class="parameters_name">
1560 <col class="parameters_description">
1561 <col width="200px" class="parameters_annotations">
1562 </colgroup>
1563 <tbody>
1564 <tr>
1565 <td class="parameter_name"><p>font</p></td>
1566 <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>
1567 <td class="parameter_annotations"> </td>
1568 </tr>
1569 <tr>
1570 <td class="parameter_name"><p>glyph</p></td>
1571 <td class="parameter_description"><p>The glyph ID to query</p></td>
1572 <td class="parameter_annotations"> </td>
1573 </tr>
1574 <tr>
1575 <td class="parameter_name"><p>point_index</p></td>
1576 <td class="parameter_description"><p>The contour-point index to query</p></td>
1577 <td class="parameter_annotations"> </td>
1578 </tr>
1579 <tr>
1580 <td class="parameter_name"><p>x</p></td>
1581 <td class="parameter_description"><p>The X value retrieved for the contour point. </p></td>
1582 <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>
1583 </tr>
1584 <tr>
1585 <td class="parameter_name"><p>y</p></td>
1586 <td class="parameter_description"><p>The Y value retrieved for the contour point. </p></td>
1587 <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>
1588 </tr>
1589 </tbody>
1590 </table></div>
1591 </div>
1592 <div class="refsect3">
1593 <a name="hb-font-get-glyph-contour-point.returns"></a><h4>Returns</h4>
1594 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1595 </div>
1596 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1597 </div>
1598 <hr>
1599 <div class="refsect2">
1600 <a name="hb-font-get-glyph-contour-point-for-origin"></a><h3>hb_font_get_glyph_contour_point_for_origin ()</h3>
1601 <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>
1602 hb_font_get_glyph_contour_point_for_origin
1603                                (<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>,
1604                                 <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>,
1605                                 <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
1606                                 <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>,
1607                                 <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> *x</code></em>,
1608                                 <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> *y</code></em>);</pre>
1609 <p>Fetches the (X,Y) coordinates of a specified contour-point index
1610 in the specified glyph ID in the specified font, with respect
1611 to the origin in a text segment in the specified direction.</p>
1612 <p>Calls the appropriate direction-specific variant (horizontal
1613 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
1614 .</p>
1615 <div class="refsect3">
1616 <a name="hb-font-get-glyph-contour-point-for-origin.parameters"></a><h4>Parameters</h4>
1617 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1618 <colgroup>
1619 <col width="150px" class="parameters_name">
1620 <col class="parameters_description">
1621 <col width="200px" class="parameters_annotations">
1622 </colgroup>
1623 <tbody>
1624 <tr>
1625 <td class="parameter_name"><p>font</p></td>
1626 <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>
1627 <td class="parameter_annotations"> </td>
1628 </tr>
1629 <tr>
1630 <td class="parameter_name"><p>glyph</p></td>
1631 <td class="parameter_description"><p>The glyph ID to query</p></td>
1632 <td class="parameter_annotations"> </td>
1633 </tr>
1634 <tr>
1635 <td class="parameter_name"><p>point_index</p></td>
1636 <td class="parameter_description"><p>The contour-point index to query</p></td>
1637 <td class="parameter_annotations"> </td>
1638 </tr>
1639 <tr>
1640 <td class="parameter_name"><p>direction</p></td>
1641 <td class="parameter_description"><p>The direction of the text segment</p></td>
1642 <td class="parameter_annotations"> </td>
1643 </tr>
1644 <tr>
1645 <td class="parameter_name"><p>x</p></td>
1646 <td class="parameter_description"><p>The X value retrieved for the contour point. </p></td>
1647 <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>
1648 </tr>
1649 <tr>
1650 <td class="parameter_name"><p>y</p></td>
1651 <td class="parameter_description"><p>The Y value retrieved for the contour point. </p></td>
1652 <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>
1653 </tr>
1654 </tbody>
1655 </table></div>
1656 </div>
1657 <div class="refsect3">
1658 <a name="hb-font-get-glyph-contour-point-for-origin.returns"></a><h4>Returns</h4>
1659 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1660 </div>
1661 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1662 </div>
1663 <hr>
1664 <div class="refsect2">
1665 <a name="hb-font-get-glyph-extents"></a><h3>hb_font_get_glyph_extents ()</h3>
1666 <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>
1667 hb_font_get_glyph_extents (<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>,
1668                            <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>,
1669                            <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> *extents</code></em>);</pre>
1670 <p>Fetches the <a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> data for a glyph ID
1671 in the specified font.</p>
1672 <div class="refsect3">
1673 <a name="hb-font-get-glyph-extents.parameters"></a><h4>Parameters</h4>
1674 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1675 <colgroup>
1676 <col width="150px" class="parameters_name">
1677 <col class="parameters_description">
1678 <col width="200px" class="parameters_annotations">
1679 </colgroup>
1680 <tbody>
1681 <tr>
1682 <td class="parameter_name"><p>font</p></td>
1683 <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>
1684 <td class="parameter_annotations"> </td>
1685 </tr>
1686 <tr>
1687 <td class="parameter_name"><p>glyph</p></td>
1688 <td class="parameter_description"><p>The glyph ID to query</p></td>
1689 <td class="parameter_annotations"> </td>
1690 </tr>
1691 <tr>
1692 <td class="parameter_name"><p>extents</p></td>
1693 <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> retrieved. </p></td>
1694 <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>
1695 </tr>
1696 </tbody>
1697 </table></div>
1698 </div>
1699 <div class="refsect3">
1700 <a name="hb-font-get-glyph-extents.returns"></a><h4>Returns</h4>
1701 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1702 </div>
1703 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1704 </div>
1705 <hr>
1706 <div class="refsect2">
1707 <a name="hb-font-get-glyph-extents-for-origin"></a><h3>hb_font_get_glyph_extents_for_origin ()</h3>
1708 <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>
1709 hb_font_get_glyph_extents_for_origin (<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>,
1710                                       <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>,
1711                                       <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>,
1712                                       <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> *extents</code></em>);</pre>
1713 <p>Fetches the <a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> data for a glyph ID
1714 in the specified font, with respect to the origin in
1715 a text segment in the specified direction.</p>
1716 <p>Calls the appropriate direction-specific variant (horizontal
1717 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
1718 .</p>
1719 <div class="refsect3">
1720 <a name="hb-font-get-glyph-extents-for-origin.parameters"></a><h4>Parameters</h4>
1721 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1722 <colgroup>
1723 <col width="150px" class="parameters_name">
1724 <col class="parameters_description">
1725 <col width="200px" class="parameters_annotations">
1726 </colgroup>
1727 <tbody>
1728 <tr>
1729 <td class="parameter_name"><p>font</p></td>
1730 <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>
1731 <td class="parameter_annotations"> </td>
1732 </tr>
1733 <tr>
1734 <td class="parameter_name"><p>glyph</p></td>
1735 <td class="parameter_description"><p>The glyph ID to query</p></td>
1736 <td class="parameter_annotations"> </td>
1737 </tr>
1738 <tr>
1739 <td class="parameter_name"><p>direction</p></td>
1740 <td class="parameter_description"><p>The direction of the text segment</p></td>
1741 <td class="parameter_annotations"> </td>
1742 </tr>
1743 <tr>
1744 <td class="parameter_name"><p>extents</p></td>
1745 <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> retrieved. </p></td>
1746 <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>
1747 </tr>
1748 </tbody>
1749 </table></div>
1750 </div>
1751 <div class="refsect3">
1752 <a name="hb-font-get-glyph-extents-for-origin.returns"></a><h4>Returns</h4>
1753 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1754 </div>
1755 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1756 </div>
1757 <hr>
1758 <div class="refsect2">
1759 <a name="hb-font-get-glyph-from-name"></a><h3>hb_font_get_glyph_from_name ()</h3>
1760 <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>
1761 hb_font_get_glyph_from_name (<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>,
1762                              <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
1763                              <em class="parameter"><code><span class="type">int</span> len</code></em>,
1764                              <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>
1765 <p>Fetches the glyph ID that corresponds to a name string in the specified <em class="parameter"><code>font</code></em>
1766 .</p>
1767 <div class="note">Note: <em class="parameter"><code>len</code></em> == -1 means the name string is null-terminated.</div>
1768 <div class="refsect3">
1769 <a name="hb-font-get-glyph-from-name.parameters"></a><h4>Parameters</h4>
1770 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1771 <colgroup>
1772 <col width="150px" class="parameters_name">
1773 <col class="parameters_description">
1774 <col width="200px" class="parameters_annotations">
1775 </colgroup>
1776 <tbody>
1777 <tr>
1778 <td class="parameter_name"><p>font</p></td>
1779 <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>
1780 <td class="parameter_annotations"> </td>
1781 </tr>
1782 <tr>
1783 <td class="parameter_name"><p>name</p></td>
1784 <td class="parameter_description"><p>The name string to query. </p></td>
1785 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
1786 </tr>
1787 <tr>
1788 <td class="parameter_name"><p>len</p></td>
1789 <td class="parameter_description"><p>The length of the name queried</p></td>
1790 <td class="parameter_annotations"> </td>
1791 </tr>
1792 <tr>
1793 <td class="parameter_name"><p>glyph</p></td>
1794 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
1795 <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>
1796 </tr>
1797 </tbody>
1798 </table></div>
1799 </div>
1800 <div class="refsect3">
1801 <a name="hb-font-get-glyph-from-name.returns"></a><h4>Returns</h4>
1802 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1803 </div>
1804 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1805 </div>
1806 <hr>
1807 <div class="refsect2">
1808 <a name="hb-font-get-glyph-h-advance"></a><h3>hb_font_get_glyph_h_advance ()</h3>
1809 <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>
1810 hb_font_get_glyph_h_advance (<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>,
1811                              <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>
1812 <p>Fetches the advance for a glyph ID in the specified font,
1813 for horizontal text segments.</p>
1814 <div class="refsect3">
1815 <a name="hb-font-get-glyph-h-advance.parameters"></a><h4>Parameters</h4>
1816 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1817 <colgroup>
1818 <col width="150px" class="parameters_name">
1819 <col class="parameters_description">
1820 <col width="200px" class="parameters_annotations">
1821 </colgroup>
1822 <tbody>
1823 <tr>
1824 <td class="parameter_name"><p>font</p></td>
1825 <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>
1826 <td class="parameter_annotations"> </td>
1827 </tr>
1828 <tr>
1829 <td class="parameter_name"><p>glyph</p></td>
1830 <td class="parameter_description"><p>The glyph ID to query</p></td>
1831 <td class="parameter_annotations"> </td>
1832 </tr>
1833 </tbody>
1834 </table></div>
1835 </div>
1836 <div class="refsect3">
1837 <a name="hb-font-get-glyph-h-advance.returns"></a><h4>Returns</h4>
1838 <p> The advance of <em class="parameter"><code>glyph</code></em>
1839 within <em class="parameter"><code>font</code></em>
1840 </p>
1841 </div>
1842 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1843 </div>
1844 <hr>
1845 <div class="refsect2">
1846 <a name="hb-font-get-glyph-v-advance"></a><h3>hb_font_get_glyph_v_advance ()</h3>
1847 <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>
1848 hb_font_get_glyph_v_advance (<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>,
1849                              <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>
1850 <p>Fetches the advance for a glyph ID in the specified font,
1851 for vertical text segments.</p>
1852 <div class="refsect3">
1853 <a name="hb-font-get-glyph-v-advance.parameters"></a><h4>Parameters</h4>
1854 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1855 <colgroup>
1856 <col width="150px" class="parameters_name">
1857 <col class="parameters_description">
1858 <col width="200px" class="parameters_annotations">
1859 </colgroup>
1860 <tbody>
1861 <tr>
1862 <td class="parameter_name"><p>font</p></td>
1863 <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>
1864 <td class="parameter_annotations"> </td>
1865 </tr>
1866 <tr>
1867 <td class="parameter_name"><p>glyph</p></td>
1868 <td class="parameter_description"><p>The glyph ID to query</p></td>
1869 <td class="parameter_annotations"> </td>
1870 </tr>
1871 </tbody>
1872 </table></div>
1873 </div>
1874 <div class="refsect3">
1875 <a name="hb-font-get-glyph-v-advance.returns"></a><h4>Returns</h4>
1876 <p> The advance of <em class="parameter"><code>glyph</code></em>
1877 within <em class="parameter"><code>font</code></em>
1878 </p>
1879 </div>
1880 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1881 </div>
1882 <hr>
1883 <div class="refsect2">
1884 <a name="hb-font-get-glyph-h-advances"></a><h3>hb_font_get_glyph_h_advances ()</h3>
1885 <pre class="programlisting"><span class="returnvalue">void</span>
1886 hb_font_get_glyph_h_advances (<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>,
1887                               <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
1888                               <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
1889                               <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
1890                               <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> *first_advance</code></em>,
1891                               <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>);</pre>
1892 <p>Fetches the advances for a sequence of glyph IDs in the specified
1893 font, for horizontal text segments.</p>
1894 <div class="refsect3">
1895 <a name="hb-font-get-glyph-h-advances.parameters"></a><h4>Parameters</h4>
1896 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1897 <colgroup>
1898 <col width="150px" class="parameters_name">
1899 <col class="parameters_description">
1900 <col width="200px" class="parameters_annotations">
1901 </colgroup>
1902 <tbody>
1903 <tr>
1904 <td class="parameter_name"><p>font</p></td>
1905 <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>
1906 <td class="parameter_annotations"> </td>
1907 </tr>
1908 <tr>
1909 <td class="parameter_name"><p>count</p></td>
1910 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
1911 <td class="parameter_annotations"> </td>
1912 </tr>
1913 <tr>
1914 <td class="parameter_name"><p>first_glyph</p></td>
1915 <td class="parameter_description"><p>The first glyph ID to query</p></td>
1916 <td class="parameter_annotations"> </td>
1917 </tr>
1918 <tr>
1919 <td class="parameter_name"><p>glyph_stride</p></td>
1920 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
1921 <td class="parameter_annotations"> </td>
1922 </tr>
1923 <tr>
1924 <td class="parameter_name"><p>first_advance</p></td>
1925 <td class="parameter_description"><p>The first advance retrieved. </p></td>
1926 <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>
1927 </tr>
1928 <tr>
1929 <td class="parameter_name"><p>advance_stride</p></td>
1930 <td class="parameter_description"><p>The stride between successive advances</p></td>
1931 <td class="parameter_annotations"> </td>
1932 </tr>
1933 </tbody>
1934 </table></div>
1935 </div>
1936 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
1937 </div>
1938 <hr>
1939 <div class="refsect2">
1940 <a name="hb-font-get-glyph-v-advances"></a><h3>hb_font_get_glyph_v_advances ()</h3>
1941 <pre class="programlisting"><span class="returnvalue">void</span>
1942 hb_font_get_glyph_v_advances (<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>,
1943                               <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
1944                               <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
1945                               <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
1946                               <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> *first_advance</code></em>,
1947                               <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>);</pre>
1948 <p>Fetches the advances for a sequence of glyph IDs in the specified
1949 font, for vertical text segments.</p>
1950 <div class="refsect3">
1951 <a name="hb-font-get-glyph-v-advances.parameters"></a><h4>Parameters</h4>
1952 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1953 <colgroup>
1954 <col width="150px" class="parameters_name">
1955 <col class="parameters_description">
1956 <col width="200px" class="parameters_annotations">
1957 </colgroup>
1958 <tbody>
1959 <tr>
1960 <td class="parameter_name"><p>font</p></td>
1961 <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>
1962 <td class="parameter_annotations"> </td>
1963 </tr>
1964 <tr>
1965 <td class="parameter_name"><p>count</p></td>
1966 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
1967 <td class="parameter_annotations"> </td>
1968 </tr>
1969 <tr>
1970 <td class="parameter_name"><p>first_glyph</p></td>
1971 <td class="parameter_description"><p>The first glyph ID to query</p></td>
1972 <td class="parameter_annotations"> </td>
1973 </tr>
1974 <tr>
1975 <td class="parameter_name"><p>glyph_stride</p></td>
1976 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
1977 <td class="parameter_annotations"> </td>
1978 </tr>
1979 <tr>
1980 <td class="parameter_name"><p>first_advance</p></td>
1981 <td class="parameter_description"><p>The first advance retrieved. </p></td>
1982 <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>
1983 </tr>
1984 <tr>
1985 <td class="parameter_name"><p>advance_stride</p></td>
1986 <td class="parameter_description"><p>The stride between successive advances. </p></td>
1987 <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>
1988 </tr>
1989 </tbody>
1990 </table></div>
1991 </div>
1992 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
1993 </div>
1994 <hr>
1995 <div class="refsect2">
1996 <a name="hb-font-get-glyph-h-kerning"></a><h3>hb_font_get_glyph_h_kerning ()</h3>
1997 <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>
1998 hb_font_get_glyph_h_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>,
1999                              <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> left_glyph</code></em>,
2000                              <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> right_glyph</code></em>);</pre>
2001 <p>Fetches the kerning-adjustment value for a glyph-pair in
2002 the specified font, for horizontal text segments.</p>
2003 <div class="note">It handles legacy kerning only (as returned by the corresponding
2004 <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> function).</div>
2005 <div class="refsect3">
2006 <a name="hb-font-get-glyph-h-kerning.parameters"></a><h4>Parameters</h4>
2007 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2008 <colgroup>
2009 <col width="150px" class="parameters_name">
2010 <col class="parameters_description">
2011 <col width="200px" class="parameters_annotations">
2012 </colgroup>
2013 <tbody>
2014 <tr>
2015 <td class="parameter_name"><p>font</p></td>
2016 <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>
2017 <td class="parameter_annotations"> </td>
2018 </tr>
2019 <tr>
2020 <td class="parameter_name"><p>left_glyph</p></td>
2021 <td class="parameter_description"><p>The glyph ID of the left glyph in the glyph pair</p></td>
2022 <td class="parameter_annotations"> </td>
2023 </tr>
2024 <tr>
2025 <td class="parameter_name"><p>right_glyph</p></td>
2026 <td class="parameter_description"><p>The glyph ID of the right glyph in the glyph pair</p></td>
2027 <td class="parameter_annotations"> </td>
2028 </tr>
2029 </tbody>
2030 </table></div>
2031 </div>
2032 <div class="refsect3">
2033 <a name="hb-font-get-glyph-h-kerning.returns"></a><h4>Returns</h4>
2034 <p> The kerning adjustment value</p>
2035 </div>
2036 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2037 </div>
2038 <hr>
2039 <div class="refsect2">
2040 <a name="hb-font-get-glyph-kerning-for-direction"></a><h3>hb_font_get_glyph_kerning_for_direction ()</h3>
2041 <pre class="programlisting"><span class="returnvalue">void</span>
2042 hb_font_get_glyph_kerning_for_direction
2043                                (<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>,
2044                                 <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> first_glyph</code></em>,
2045                                 <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> second_glyph</code></em>,
2046                                 <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>,
2047                                 <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> *x</code></em>,
2048                                 <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> *y</code></em>);</pre>
2049 <p>Fetches the kerning-adjustment value for a glyph-pair in the specified font.</p>
2050 <p>Calls the appropriate direction-specific variant (horizontal
2051 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
2052 .</p>
2053 <div class="refsect3">
2054 <a name="hb-font-get-glyph-kerning-for-direction.parameters"></a><h4>Parameters</h4>
2055 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2056 <colgroup>
2057 <col width="150px" class="parameters_name">
2058 <col class="parameters_description">
2059 <col width="200px" class="parameters_annotations">
2060 </colgroup>
2061 <tbody>
2062 <tr>
2063 <td class="parameter_name"><p>font</p></td>
2064 <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>
2065 <td class="parameter_annotations"> </td>
2066 </tr>
2067 <tr>
2068 <td class="parameter_name"><p>first_glyph</p></td>
2069 <td class="parameter_description"><p>The glyph ID of the first glyph in the glyph pair to query</p></td>
2070 <td class="parameter_annotations"> </td>
2071 </tr>
2072 <tr>
2073 <td class="parameter_name"><p>second_glyph</p></td>
2074 <td class="parameter_description"><p>The glyph ID of the second glyph in the glyph pair to query</p></td>
2075 <td class="parameter_annotations"> </td>
2076 </tr>
2077 <tr>
2078 <td class="parameter_name"><p>direction</p></td>
2079 <td class="parameter_description"><p>The direction of the text segment</p></td>
2080 <td class="parameter_annotations"> </td>
2081 </tr>
2082 <tr>
2083 <td class="parameter_name"><p>x</p></td>
2084 <td class="parameter_description"><p>The horizontal kerning-adjustment value retrieved. </p></td>
2085 <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>
2086 </tr>
2087 <tr>
2088 <td class="parameter_name"><p>y</p></td>
2089 <td class="parameter_description"><p>The vertical kerning-adjustment value retrieved. </p></td>
2090 <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>
2091 </tr>
2092 </tbody>
2093 </table></div>
2094 </div>
2095 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2096 </div>
2097 <hr>
2098 <div class="refsect2">
2099 <a name="hb-font-get-glyph-h-origin"></a><h3>hb_font_get_glyph_h_origin ()</h3>
2100 <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>
2101 hb_font_get_glyph_h_origin (<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>,
2102                             <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>,
2103                             <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> *x</code></em>,
2104                             <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> *y</code></em>);</pre>
2105 <p>Fetches the (X,Y) coordinates of the origin for a glyph ID
2106 in the specified font, for horizontal text segments.</p>
2107 <div class="refsect3">
2108 <a name="hb-font-get-glyph-h-origin.parameters"></a><h4>Parameters</h4>
2109 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2110 <colgroup>
2111 <col width="150px" class="parameters_name">
2112 <col class="parameters_description">
2113 <col width="200px" class="parameters_annotations">
2114 </colgroup>
2115 <tbody>
2116 <tr>
2117 <td class="parameter_name"><p>font</p></td>
2118 <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>
2119 <td class="parameter_annotations"> </td>
2120 </tr>
2121 <tr>
2122 <td class="parameter_name"><p>glyph</p></td>
2123 <td class="parameter_description"><p>The glyph ID to query</p></td>
2124 <td class="parameter_annotations"> </td>
2125 </tr>
2126 <tr>
2127 <td class="parameter_name"><p>x</p></td>
2128 <td class="parameter_description"><p>The X coordinate of the origin. </p></td>
2129 <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>
2130 </tr>
2131 <tr>
2132 <td class="parameter_name"><p>y</p></td>
2133 <td class="parameter_description"><p>The Y coordinate of the origin. </p></td>
2134 <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>
2135 </tr>
2136 </tbody>
2137 </table></div>
2138 </div>
2139 <div class="refsect3">
2140 <a name="hb-font-get-glyph-h-origin.returns"></a><h4>Returns</h4>
2141 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2142 </div>
2143 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2144 </div>
2145 <hr>
2146 <div class="refsect2">
2147 <a name="hb-font-get-glyph-v-origin"></a><h3>hb_font_get_glyph_v_origin ()</h3>
2148 <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>
2149 hb_font_get_glyph_v_origin (<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>,
2150                             <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>,
2151                             <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> *x</code></em>,
2152                             <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> *y</code></em>);</pre>
2153 <p>Fetches the (X,Y) coordinates of the origin for a glyph ID
2154 in the specified font, for vertical text segments.</p>
2155 <div class="refsect3">
2156 <a name="hb-font-get-glyph-v-origin.parameters"></a><h4>Parameters</h4>
2157 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2158 <colgroup>
2159 <col width="150px" class="parameters_name">
2160 <col class="parameters_description">
2161 <col width="200px" class="parameters_annotations">
2162 </colgroup>
2163 <tbody>
2164 <tr>
2165 <td class="parameter_name"><p>font</p></td>
2166 <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>
2167 <td class="parameter_annotations"> </td>
2168 </tr>
2169 <tr>
2170 <td class="parameter_name"><p>glyph</p></td>
2171 <td class="parameter_description"><p>The glyph ID to query</p></td>
2172 <td class="parameter_annotations"> </td>
2173 </tr>
2174 <tr>
2175 <td class="parameter_name"><p>x</p></td>
2176 <td class="parameter_description"><p>The X coordinate of the origin. </p></td>
2177 <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>
2178 </tr>
2179 <tr>
2180 <td class="parameter_name"><p>y</p></td>
2181 <td class="parameter_description"><p>The Y coordinate of the origin. </p></td>
2182 <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>
2183 </tr>
2184 </tbody>
2185 </table></div>
2186 </div>
2187 <div class="refsect3">
2188 <a name="hb-font-get-glyph-v-origin.returns"></a><h4>Returns</h4>
2189 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2190 </div>
2191 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2192 </div>
2193 <hr>
2194 <div class="refsect2">
2195 <a name="hb-font-get-glyph-origin-for-direction"></a><h3>hb_font_get_glyph_origin_for_direction ()</h3>
2196 <pre class="programlisting"><span class="returnvalue">void</span>
2197 hb_font_get_glyph_origin_for_direction
2198                                (<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>,
2199                                 <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>,
2200                                 <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>,
2201                                 <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> *x</code></em>,
2202                                 <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> *y</code></em>);</pre>
2203 <p>Fetches the (X,Y) coordinates of the origin for a glyph in
2204 the specified font.</p>
2205 <p>Calls the appropriate direction-specific variant (horizontal
2206 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
2207 .</p>
2208 <div class="refsect3">
2209 <a name="hb-font-get-glyph-origin-for-direction.parameters"></a><h4>Parameters</h4>
2210 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2211 <colgroup>
2212 <col width="150px" class="parameters_name">
2213 <col class="parameters_description">
2214 <col width="200px" class="parameters_annotations">
2215 </colgroup>
2216 <tbody>
2217 <tr>
2218 <td class="parameter_name"><p>font</p></td>
2219 <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>
2220 <td class="parameter_annotations"> </td>
2221 </tr>
2222 <tr>
2223 <td class="parameter_name"><p>glyph</p></td>
2224 <td class="parameter_description"><p>The glyph ID to query</p></td>
2225 <td class="parameter_annotations"> </td>
2226 </tr>
2227 <tr>
2228 <td class="parameter_name"><p>direction</p></td>
2229 <td class="parameter_description"><p>The direction of the text segment</p></td>
2230 <td class="parameter_annotations"> </td>
2231 </tr>
2232 <tr>
2233 <td class="parameter_name"><p>x</p></td>
2234 <td class="parameter_description"><p>The X coordinate retrieved for the origin. </p></td>
2235 <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>
2236 </tr>
2237 <tr>
2238 <td class="parameter_name"><p>y</p></td>
2239 <td class="parameter_description"><p>The Y coordinate retrieved for the origin. </p></td>
2240 <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>
2241 </tr>
2242 </tbody>
2243 </table></div>
2244 </div>
2245 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2246 </div>
2247 <hr>
2248 <div class="refsect2">
2249 <a name="hb-font-get-glyph-name"></a><h3>hb_font_get_glyph_name ()</h3>
2250 <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>
2251 hb_font_get_glyph_name (<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>,
2252                         <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>,
2253                         <em class="parameter"><code><span class="type">char</span> *name</code></em>,
2254                         <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
2255 <p>Fetches the glyph-name string for a glyph ID in the specified <em class="parameter"><code>font</code></em>
2256 .</p>
2257 <p>According to the OpenType specification, glyph names are limited to 63
2258 characters and can only contain (a subset of) ASCII.</p>
2259 <div class="refsect3">
2260 <a name="hb-font-get-glyph-name.parameters"></a><h4>Parameters</h4>
2261 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2262 <colgroup>
2263 <col width="150px" class="parameters_name">
2264 <col class="parameters_description">
2265 <col width="200px" class="parameters_annotations">
2266 </colgroup>
2267 <tbody>
2268 <tr>
2269 <td class="parameter_name"><p>font</p></td>
2270 <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>
2271 <td class="parameter_annotations"> </td>
2272 </tr>
2273 <tr>
2274 <td class="parameter_name"><p>glyph</p></td>
2275 <td class="parameter_description"><p>The glyph ID to query</p></td>
2276 <td class="parameter_annotations"> </td>
2277 </tr>
2278 <tr>
2279 <td class="parameter_name"><p>name</p></td>
2280 <td class="parameter_description"><p>Name string retrieved for the glyph ID. </p></td>
2281 <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=size]</span></td>
2282 </tr>
2283 <tr>
2284 <td class="parameter_name"><p>size</p></td>
2285 <td class="parameter_description"><p>Length of the glyph-name string retrieved</p></td>
2286 <td class="parameter_annotations"> </td>
2287 </tr>
2288 </tbody>
2289 </table></div>
2290 </div>
2291 <div class="refsect3">
2292 <a name="hb-font-get-glyph-name.returns"></a><h4>Returns</h4>
2293 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2294 </div>
2295 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2296 </div>
2297 <hr>
2298 <div class="refsect2">
2299 <a name="hb-font-draw-glyph"></a><h3>hb_font_draw_glyph ()</h3>
2300 <pre class="programlisting"><span class="returnvalue">void</span>
2301 hb_font_draw_glyph (<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>,
2302                     <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>,
2303                     <em class="parameter"><code><a class="link" href="harfbuzz-hb-draw.html#hb-draw-funcs-t" title="hb_draw_funcs_t"><span class="type">hb_draw_funcs_t</span></a> *dfuncs</code></em>,
2304                     <em class="parameter"><code><span class="type">void</span> *draw_data</code></em>);</pre>
2305 <p>Draws the outline that corresponds to a glyph in the specified <em class="parameter"><code>font</code></em>
2306 .</p>
2307 <p>The outline is returned by way of calls to the callbacks of the <em class="parameter"><code>dfuncs</code></em>
2308
2309 objects, with <em class="parameter"><code>draw_data</code></em>
2310  passed to them.</p>
2311 <div class="refsect3">
2312 <a name="hb-font-draw-glyph.parameters"></a><h4>Parameters</h4>
2313 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2314 <colgroup>
2315 <col width="150px" class="parameters_name">
2316 <col class="parameters_description">
2317 <col width="200px" class="parameters_annotations">
2318 </colgroup>
2319 <tbody>
2320 <tr>
2321 <td class="parameter_name"><p>font</p></td>
2322 <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>
2323 <td class="parameter_annotations"> </td>
2324 </tr>
2325 <tr>
2326 <td class="parameter_name"><p>glyph</p></td>
2327 <td class="parameter_description"><p>The glyph ID</p></td>
2328 <td class="parameter_annotations"> </td>
2329 </tr>
2330 <tr>
2331 <td class="parameter_name"><p>dfuncs</p></td>
2332 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-draw.html#hb-draw-funcs-t" title="hb_draw_funcs_t"><span class="type">hb_draw_funcs_t</span></a> to draw to</p></td>
2333 <td class="parameter_annotations"> </td>
2334 </tr>
2335 <tr>
2336 <td class="parameter_name"><p>draw_data</p></td>
2337 <td class="parameter_description"><p>User data to pass to draw callbacks</p></td>
2338 <td class="parameter_annotations"> </td>
2339 </tr>
2340 </tbody>
2341 </table></div>
2342 </div>
2343 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
2344 </div>
2345 <hr>
2346 <div class="refsect2">
2347 <a name="hb-font-paint-glyph"></a><h3>hb_font_paint_glyph ()</h3>
2348 <pre class="programlisting"><span class="returnvalue">void</span>
2349 hb_font_paint_glyph (<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>,
2350                      <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>,
2351                      <em class="parameter"><code><a class="link" href="harfbuzz-hb-paint.html#hb-paint-funcs-t" title="hb_paint_funcs_t"><span class="type">hb_paint_funcs_t</span></a> *pfuncs</code></em>,
2352                      <em class="parameter"><code><span class="type">void</span> *paint_data</code></em>,
2353                      <em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>,
2354                      <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> foreground</code></em>);</pre>
2355 <p>Paints the glyph.</p>
2356 <p>The painting instructions are returned by way of calls to
2357 the callbacks of the <em class="parameter"><code>funcs</code></em>
2358  object, with <em class="parameter"><code>paint_data</code></em>
2359  passed
2360 to them.</p>
2361 <p>If the font has color palettes (see <a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-has-palettes" title="hb_ot_color_has_palettes ()"><code class="function">hb_ot_color_has_palettes()</code></a>),
2362 then <em class="parameter"><code>palette_index</code></em>
2363  selects the palette to use. If the font only
2364 has one palette, this will be 0.</p>
2365 <div class="refsect3">
2366 <a name="hb-font-paint-glyph.parameters"></a><h4>Parameters</h4>
2367 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2368 <colgroup>
2369 <col width="150px" class="parameters_name">
2370 <col class="parameters_description">
2371 <col width="200px" class="parameters_annotations">
2372 </colgroup>
2373 <tbody>
2374 <tr>
2375 <td class="parameter_name"><p>font</p></td>
2376 <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>
2377 <td class="parameter_annotations"> </td>
2378 </tr>
2379 <tr>
2380 <td class="parameter_name"><p>glyph</p></td>
2381 <td class="parameter_description"><p>The glyph ID</p></td>
2382 <td class="parameter_annotations"> </td>
2383 </tr>
2384 <tr>
2385 <td class="parameter_name"><p>pfuncs</p></td>
2386 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-paint.html#hb-paint-funcs-t" title="hb_paint_funcs_t"><span class="type">hb_paint_funcs_t</span></a> to paint with</p></td>
2387 <td class="parameter_annotations"> </td>
2388 </tr>
2389 <tr>
2390 <td class="parameter_name"><p>paint_data</p></td>
2391 <td class="parameter_description"><p>User data to pass to paint callbacks</p></td>
2392 <td class="parameter_annotations"> </td>
2393 </tr>
2394 <tr>
2395 <td class="parameter_name"><p>palette_index</p></td>
2396 <td class="parameter_description"><p>The index of the font's color palette to use</p></td>
2397 <td class="parameter_annotations"> </td>
2398 </tr>
2399 <tr>
2400 <td class="parameter_name"><p>foreground</p></td>
2401 <td class="parameter_description"><p>The foreground color, unpremultipled</p></td>
2402 <td class="parameter_annotations"> </td>
2403 </tr>
2404 </tbody>
2405 </table></div>
2406 </div>
2407 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
2408 </div>
2409 <hr>
2410 <div class="refsect2">
2411 <a name="hb-font-get-nominal-glyph"></a><h3>hb_font_get_nominal_glyph ()</h3>
2412 <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>
2413 hb_font_get_nominal_glyph (<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>,
2414                            <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> unicode</code></em>,
2415                            <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>
2416 <p>Fetches the nominal glyph ID for a Unicode code point in the
2417 specified font.</p>
2418 <p>This version of the function should not be used to fetch glyph IDs
2419 for code points modified by variation selectors. For variation-selector
2420 support, user <a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph" title="hb_font_get_variation_glyph ()"><code class="function">hb_font_get_variation_glyph()</code></a> or use <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph" title="hb_font_get_glyph ()"><code class="function">hb_font_get_glyph()</code></a>.</p>
2421 <div class="refsect3">
2422 <a name="hb-font-get-nominal-glyph.parameters"></a><h4>Parameters</h4>
2423 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2424 <colgroup>
2425 <col width="150px" class="parameters_name">
2426 <col class="parameters_description">
2427 <col width="200px" class="parameters_annotations">
2428 </colgroup>
2429 <tbody>
2430 <tr>
2431 <td class="parameter_name"><p>font</p></td>
2432 <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>
2433 <td class="parameter_annotations"> </td>
2434 </tr>
2435 <tr>
2436 <td class="parameter_name"><p>unicode</p></td>
2437 <td class="parameter_description"><p>The Unicode code point to query</p></td>
2438 <td class="parameter_annotations"> </td>
2439 </tr>
2440 <tr>
2441 <td class="parameter_name"><p>glyph</p></td>
2442 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
2443 <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>
2444 </tr>
2445 </tbody>
2446 </table></div>
2447 </div>
2448 <div class="refsect3">
2449 <a name="hb-font-get-nominal-glyph.returns"></a><h4>Returns</h4>
2450 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2451 </div>
2452 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
2453 </div>
2454 <hr>
2455 <div class="refsect2">
2456 <a name="hb-font-get-nominal-glyphs"></a><h3>hb_font_get_nominal_glyphs ()</h3>
2457 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
2458 hb_font_get_nominal_glyphs (<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>,
2459                             <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
2460                             <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_unicode</code></em>,
2461                             <em class="parameter"><code>unsigned <span class="type">int</span> unicode_stride</code></em>,
2462                             <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> *first_glyph</code></em>,
2463                             <em class="parameter"><code>unsigned <span class="type">int</span> glyph_stride</code></em>);</pre>
2464 <p>Fetches the nominal glyph IDs for a sequence of Unicode code points. Glyph
2465 IDs must be returned in a <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> output parameter. Stops at the
2466 first unsupported glyph ID.</p>
2467 <div class="refsect3">
2468 <a name="hb-font-get-nominal-glyphs.parameters"></a><h4>Parameters</h4>
2469 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2470 <colgroup>
2471 <col width="150px" class="parameters_name">
2472 <col class="parameters_description">
2473 <col width="200px" class="parameters_annotations">
2474 </colgroup>
2475 <tbody>
2476 <tr>
2477 <td class="parameter_name"><p>font</p></td>
2478 <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>
2479 <td class="parameter_annotations"> </td>
2480 </tr>
2481 <tr>
2482 <td class="parameter_name"><p>count</p></td>
2483 <td class="parameter_description"><p>number of code points to query</p></td>
2484 <td class="parameter_annotations"> </td>
2485 </tr>
2486 <tr>
2487 <td class="parameter_name"><p>first_unicode</p></td>
2488 <td class="parameter_description"><p>The first Unicode code point to query</p></td>
2489 <td class="parameter_annotations"> </td>
2490 </tr>
2491 <tr>
2492 <td class="parameter_name"><p>unicode_stride</p></td>
2493 <td class="parameter_description"><p>The stride between successive code points</p></td>
2494 <td class="parameter_annotations"> </td>
2495 </tr>
2496 <tr>
2497 <td class="parameter_name"><p>first_glyph</p></td>
2498 <td class="parameter_description"><p>The first glyph ID retrieved. </p></td>
2499 <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>
2500 </tr>
2501 <tr>
2502 <td class="parameter_name"><p>glyph_stride</p></td>
2503 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
2504 <td class="parameter_annotations"> </td>
2505 </tr>
2506 </tbody>
2507 </table></div>
2508 </div>
2509 <div class="refsect3">
2510 <a name="hb-font-get-nominal-glyphs.returns"></a><h4>Returns</h4>
2511 <p> the number of code points processed</p>
2512 </div>
2513 <p class="since">Since: <a class="link" href="api-index-2-6-3.html#api-index-2.6.3">2.6.3</a></p>
2514 </div>
2515 <hr>
2516 <div class="refsect2">
2517 <a name="hb-font-get-variation-glyph"></a><h3>hb_font_get_variation_glyph ()</h3>
2518 <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>
2519 hb_font_get_variation_glyph (<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>,
2520                              <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> unicode</code></em>,
2521                              <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> variation_selector</code></em>,
2522                              <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>
2523 <p>Fetches the glyph ID for a Unicode code point when followed by
2524 by the specified variation-selector code point, in the specified
2525 font.</p>
2526 <div class="refsect3">
2527 <a name="hb-font-get-variation-glyph.parameters"></a><h4>Parameters</h4>
2528 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2529 <colgroup>
2530 <col width="150px" class="parameters_name">
2531 <col class="parameters_description">
2532 <col width="200px" class="parameters_annotations">
2533 </colgroup>
2534 <tbody>
2535 <tr>
2536 <td class="parameter_name"><p>font</p></td>
2537 <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>
2538 <td class="parameter_annotations"> </td>
2539 </tr>
2540 <tr>
2541 <td class="parameter_name"><p>unicode</p></td>
2542 <td class="parameter_description"><p>The Unicode code point to query</p></td>
2543 <td class="parameter_annotations"> </td>
2544 </tr>
2545 <tr>
2546 <td class="parameter_name"><p>variation_selector</p></td>
2547 <td class="parameter_description"><p>The  variation-selector code point to query</p></td>
2548 <td class="parameter_annotations"> </td>
2549 </tr>
2550 <tr>
2551 <td class="parameter_name"><p>glyph</p></td>
2552 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
2553 <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>
2554 </tr>
2555 </tbody>
2556 </table></div>
2557 </div>
2558 <div class="refsect3">
2559 <a name="hb-font-get-variation-glyph.returns"></a><h4>Returns</h4>
2560 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2561 </div>
2562 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
2563 </div>
2564 <hr>
2565 <div class="refsect2">
2566 <a name="hb-font-set-parent"></a><h3>hb_font_set_parent ()</h3>
2567 <pre class="programlisting"><span class="returnvalue">void</span>
2568 hb_font_set_parent (<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>,
2569                     <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> *parent</code></em>);</pre>
2570 <p>Sets the parent font of <em class="parameter"><code>font</code></em>
2571 .</p>
2572 <div class="refsect3">
2573 <a name="hb-font-set-parent.parameters"></a><h4>Parameters</h4>
2574 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2575 <colgroup>
2576 <col width="150px" class="parameters_name">
2577 <col class="parameters_description">
2578 <col width="200px" class="parameters_annotations">
2579 </colgroup>
2580 <tbody>
2581 <tr>
2582 <td class="parameter_name"><p>font</p></td>
2583 <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>
2584 <td class="parameter_annotations"> </td>
2585 </tr>
2586 <tr>
2587 <td class="parameter_name"><p>parent</p></td>
2588 <td class="parameter_description"><p>The parent font object to assign</p></td>
2589 <td class="parameter_annotations"> </td>
2590 </tr>
2591 </tbody>
2592 </table></div>
2593 </div>
2594 <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
2595 </div>
2596 <hr>
2597 <div class="refsect2">
2598 <a name="hb-font-get-parent"></a><h3>hb_font_get_parent ()</h3>
2599 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
2600 hb_font_get_parent (<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>);</pre>
2601 <p>Fetches the parent font of <em class="parameter"><code>font</code></em>
2602 .</p>
2603 <div class="refsect3">
2604 <a name="hb-font-get-parent.parameters"></a><h4>Parameters</h4>
2605 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2606 <colgroup>
2607 <col width="150px" class="parameters_name">
2608 <col class="parameters_description">
2609 <col width="200px" class="parameters_annotations">
2610 </colgroup>
2611 <tbody><tr>
2612 <td class="parameter_name"><p>font</p></td>
2613 <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>
2614 <td class="parameter_annotations"> </td>
2615 </tr></tbody>
2616 </table></div>
2617 </div>
2618 <div class="refsect3">
2619 <a name="hb-font-get-parent.returns"></a><h4>Returns</h4>
2620 <p>The parent font object. </p>
2621 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
2622 </div>
2623 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2624 </div>
2625 <hr>
2626 <div class="refsect2">
2627 <a name="hb-font-set-ppem"></a><h3>hb_font_set_ppem ()</h3>
2628 <pre class="programlisting"><span class="returnvalue">void</span>
2629 hb_font_set_ppem (<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>,
2630                   <em class="parameter"><code>unsigned <span class="type">int</span> x_ppem</code></em>,
2631                   <em class="parameter"><code>unsigned <span class="type">int</span> y_ppem</code></em>);</pre>
2632 <p>Sets the horizontal and vertical pixels-per-em (PPEM) of a font.</p>
2633 <p>These values are used for pixel-size-specific adjustment to
2634 shaping and draw results, though for the most part they are
2635 unused and can be left unset.</p>
2636 <div class="refsect3">
2637 <a name="hb-font-set-ppem.parameters"></a><h4>Parameters</h4>
2638 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2639 <colgroup>
2640 <col width="150px" class="parameters_name">
2641 <col class="parameters_description">
2642 <col width="200px" class="parameters_annotations">
2643 </colgroup>
2644 <tbody>
2645 <tr>
2646 <td class="parameter_name"><p>font</p></td>
2647 <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>
2648 <td class="parameter_annotations"> </td>
2649 </tr>
2650 <tr>
2651 <td class="parameter_name"><p>x_ppem</p></td>
2652 <td class="parameter_description"><p>Horizontal ppem value to assign</p></td>
2653 <td class="parameter_annotations"> </td>
2654 </tr>
2655 <tr>
2656 <td class="parameter_name"><p>y_ppem</p></td>
2657 <td class="parameter_description"><p>Vertical ppem value to assign</p></td>
2658 <td class="parameter_annotations"> </td>
2659 </tr>
2660 </tbody>
2661 </table></div>
2662 </div>
2663 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2664 </div>
2665 <hr>
2666 <div class="refsect2">
2667 <a name="hb-font-get-ppem"></a><h3>hb_font_get_ppem ()</h3>
2668 <pre class="programlisting"><span class="returnvalue">void</span>
2669 hb_font_get_ppem (<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>,
2670                   <em class="parameter"><code>unsigned <span class="type">int</span> *x_ppem</code></em>,
2671                   <em class="parameter"><code>unsigned <span class="type">int</span> *y_ppem</code></em>);</pre>
2672 <p>Fetches the horizontal and vertical points-per-em (ppem) of a font.</p>
2673 <div class="refsect3">
2674 <a name="hb-font-get-ppem.parameters"></a><h4>Parameters</h4>
2675 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2676 <colgroup>
2677 <col width="150px" class="parameters_name">
2678 <col class="parameters_description">
2679 <col width="200px" class="parameters_annotations">
2680 </colgroup>
2681 <tbody>
2682 <tr>
2683 <td class="parameter_name"><p>font</p></td>
2684 <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>
2685 <td class="parameter_annotations"> </td>
2686 </tr>
2687 <tr>
2688 <td class="parameter_name"><p>x_ppem</p></td>
2689 <td class="parameter_description"><p>Horizontal ppem value. </p></td>
2690 <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>
2691 </tr>
2692 <tr>
2693 <td class="parameter_name"><p>y_ppem</p></td>
2694 <td class="parameter_description"><p>Vertical ppem value. </p></td>
2695 <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>
2696 </tr>
2697 </tbody>
2698 </table></div>
2699 </div>
2700 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2701 </div>
2702 <hr>
2703 <div class="refsect2">
2704 <a name="hb-font-set-ptem"></a><h3>hb_font_set_ptem ()</h3>
2705 <pre class="programlisting"><span class="returnvalue">void</span>
2706 hb_font_set_ptem (<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>,
2707                   <em class="parameter"><code><span class="type">float</span> ptem</code></em>);</pre>
2708 <p>Sets the "point size" of a font. Set to zero to unset.
2709 Used in CoreText to implement optical sizing.</p>
2710 <div class="note">Note: There are 72 points in an inch.</div>
2711 <div class="refsect3">
2712 <a name="hb-font-set-ptem.parameters"></a><h4>Parameters</h4>
2713 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2714 <colgroup>
2715 <col width="150px" class="parameters_name">
2716 <col class="parameters_description">
2717 <col width="200px" class="parameters_annotations">
2718 </colgroup>
2719 <tbody>
2720 <tr>
2721 <td class="parameter_name"><p>font</p></td>
2722 <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>
2723 <td class="parameter_annotations"> </td>
2724 </tr>
2725 <tr>
2726 <td class="parameter_name"><p>ptem</p></td>
2727 <td class="parameter_description"><p>font size in points.</p></td>
2728 <td class="parameter_annotations"> </td>
2729 </tr>
2730 </tbody>
2731 </table></div>
2732 </div>
2733 <p class="since">Since: <a class="link" href="api-index-1-6-0.html#api-index-1.6.0">1.6.0</a></p>
2734 </div>
2735 <hr>
2736 <div class="refsect2">
2737 <a name="hb-font-get-ptem"></a><h3>hb_font_get_ptem ()</h3>
2738 <pre class="programlisting"><span class="returnvalue">float</span>
2739 hb_font_get_ptem (<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>);</pre>
2740 <p>Fetches the "point size" of a font. Used in CoreText to
2741 implement optical sizing.</p>
2742 <div class="refsect3">
2743 <a name="hb-font-get-ptem.parameters"></a><h4>Parameters</h4>
2744 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2745 <colgroup>
2746 <col width="150px" class="parameters_name">
2747 <col class="parameters_description">
2748 <col width="200px" class="parameters_annotations">
2749 </colgroup>
2750 <tbody><tr>
2751 <td class="parameter_name"><p>font</p></td>
2752 <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>
2753 <td class="parameter_annotations"> </td>
2754 </tr></tbody>
2755 </table></div>
2756 </div>
2757 <div class="refsect3">
2758 <a name="hb-font-get-ptem.returns"></a><h4>Returns</h4>
2759 <p> Point size.  A value of zero means "not set."</p>
2760 </div>
2761 <p class="since">Since: <a class="link" href="api-index-1-6-0.html#api-index-1.6.0">1.6.0</a></p>
2762 </div>
2763 <hr>
2764 <div class="refsect2">
2765 <a name="hb-font-set-scale"></a><h3>hb_font_set_scale ()</h3>
2766 <pre class="programlisting"><span class="returnvalue">void</span>
2767 hb_font_set_scale (<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>,
2768                    <em class="parameter"><code><span class="type">int</span> x_scale</code></em>,
2769                    <em class="parameter"><code><span class="type">int</span> y_scale</code></em>);</pre>
2770 <p>Sets the horizontal and vertical scale of a font.</p>
2771 <p>The font scale is a number related to, but not the same as,
2772 font size. Typically the client establishes a scale factor
2773 to be used between the two. For example, 64, or 256, which
2774 would be the fractional-precision part of the font scale.
2775 This is necessary because <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> values are integer
2776 types and you need to leave room for fractional values
2777 in there.</p>
2778 <p>For example, to set the font size to 20, with 64
2779 levels of fractional precision you would call
2780 <code class="literal">hb_font_set_scale(font, 20 * 64, 20 * 64)</code>.</p>
2781 <p>In the example above, even what font size 20 means is up to
2782 you. It might be 20 pixels, or 20 points, or 20 millimeters.
2783 HarfBuzz does not care about that.  You can set the point
2784 size of the font using <a class="link" href="harfbuzz-hb-font.html#hb-font-set-ptem" title="hb_font_set_ptem ()"><code class="function">hb_font_set_ptem()</code></a>, and the pixel
2785 size using <a class="link" href="harfbuzz-hb-font.html#hb-font-set-ppem" title="hb_font_set_ppem ()"><code class="function">hb_font_set_ppem()</code></a>.</p>
2786 <p>The choice of scale is yours but needs to be consistent between
2787 what you set here, and what you expect out of <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a>
2788 as well has draw / paint API output values.</p>
2789 <p>Fonts default to a scale equal to the UPEM value of their face.
2790 A font with this setting is sometimes called an "unscaled" font.</p>
2791 <div class="refsect3">
2792 <a name="hb-font-set-scale.parameters"></a><h4>Parameters</h4>
2793 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2794 <colgroup>
2795 <col width="150px" class="parameters_name">
2796 <col class="parameters_description">
2797 <col width="200px" class="parameters_annotations">
2798 </colgroup>
2799 <tbody>
2800 <tr>
2801 <td class="parameter_name"><p>font</p></td>
2802 <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>
2803 <td class="parameter_annotations"> </td>
2804 </tr>
2805 <tr>
2806 <td class="parameter_name"><p>x_scale</p></td>
2807 <td class="parameter_description"><p>Horizontal scale value to assign</p></td>
2808 <td class="parameter_annotations"> </td>
2809 </tr>
2810 <tr>
2811 <td class="parameter_name"><p>y_scale</p></td>
2812 <td class="parameter_description"><p>Vertical scale value to assign</p></td>
2813 <td class="parameter_annotations"> </td>
2814 </tr>
2815 </tbody>
2816 </table></div>
2817 </div>
2818 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2819 </div>
2820 <hr>
2821 <div class="refsect2">
2822 <a name="hb-font-get-scale"></a><h3>hb_font_get_scale ()</h3>
2823 <pre class="programlisting"><span class="returnvalue">void</span>
2824 hb_font_get_scale (<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>,
2825                    <em class="parameter"><code><span class="type">int</span> *x_scale</code></em>,
2826                    <em class="parameter"><code><span class="type">int</span> *y_scale</code></em>);</pre>
2827 <p>Fetches the horizontal and vertical scale of a font.</p>
2828 <div class="refsect3">
2829 <a name="hb-font-get-scale.parameters"></a><h4>Parameters</h4>
2830 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2831 <colgroup>
2832 <col width="150px" class="parameters_name">
2833 <col class="parameters_description">
2834 <col width="200px" class="parameters_annotations">
2835 </colgroup>
2836 <tbody>
2837 <tr>
2838 <td class="parameter_name"><p>font</p></td>
2839 <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>
2840 <td class="parameter_annotations"> </td>
2841 </tr>
2842 <tr>
2843 <td class="parameter_name"><p>x_scale</p></td>
2844 <td class="parameter_description"><p>Horizontal scale value. </p></td>
2845 <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>
2846 </tr>
2847 <tr>
2848 <td class="parameter_name"><p>y_scale</p></td>
2849 <td class="parameter_description"><p>Vertical scale value. </p></td>
2850 <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>
2851 </tr>
2852 </tbody>
2853 </table></div>
2854 </div>
2855 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2856 </div>
2857 <hr>
2858 <div class="refsect2">
2859 <a name="hb-font-get-synthetic-bold"></a><h3>hb_font_get_synthetic_bold ()</h3>
2860 <pre class="programlisting"><span class="returnvalue">void</span>
2861 hb_font_get_synthetic_bold (<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>,
2862                             <em class="parameter"><code><span class="type">float</span> *x_embolden</code></em>,
2863                             <em class="parameter"><code><span class="type">float</span> *y_embolden</code></em>,
2864                             <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> *in_place</code></em>);</pre>
2865 <p>Fetches the "synthetic boldness" parameters of a font.</p>
2866 <div class="refsect3">
2867 <a name="hb-font-get-synthetic-bold.parameters"></a><h4>Parameters</h4>
2868 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2869 <colgroup>
2870 <col width="150px" class="parameters_name">
2871 <col class="parameters_description">
2872 <col width="200px" class="parameters_annotations">
2873 </colgroup>
2874 <tbody>
2875 <tr>
2876 <td class="parameter_name"><p>font</p></td>
2877 <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>
2878 <td class="parameter_annotations"> </td>
2879 </tr>
2880 <tr>
2881 <td class="parameter_name"><p>x_embolden</p></td>
2882 <td class="parameter_description"><p>return location for horizontal value. </p></td>
2883 <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>
2884 </tr>
2885 <tr>
2886 <td class="parameter_name"><p>y_embolden</p></td>
2887 <td class="parameter_description"><p>return location for vertical value. </p></td>
2888 <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>
2889 </tr>
2890 <tr>
2891 <td class="parameter_name"><p>in_place</p></td>
2892 <td class="parameter_description"><p>return location for in-place value. </p></td>
2893 <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>
2894 </tr>
2895 </tbody>
2896 </table></div>
2897 </div>
2898 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
2899 </div>
2900 <hr>
2901 <div class="refsect2">
2902 <a name="hb-font-set-synthetic-bold"></a><h3>hb_font_set_synthetic_bold ()</h3>
2903 <pre class="programlisting"><span class="returnvalue">void</span>
2904 hb_font_set_synthetic_bold (<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>,
2905                             <em class="parameter"><code><span class="type">float</span> x_embolden</code></em>,
2906                             <em class="parameter"><code><span class="type">float</span> y_embolden</code></em>,
2907                             <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> in_place</code></em>);</pre>
2908 <p>Sets the "synthetic boldness" of a font.</p>
2909 <p>Positive values for <em class="parameter"><code>x_embolden</code></em>
2910  / <em class="parameter"><code>y_embolden</code></em>
2911  make a font
2912 bolder, negative values thinner. Typical values are in the
2913 0.01 to 0.05 range. The default value is zero.</p>
2914 <p>Synthetic boldness is applied by offsetting the contour
2915 points of the glyph shape.</p>
2916 <p>Synthetic boldness is applied when rendering a glyph via
2917 <a class="link" href="harfbuzz-hb-font.html#hb-font-draw-glyph" title="hb_font_draw_glyph ()"><code class="function">hb_font_draw_glyph()</code></a>.</p>
2918 <p>If <em class="parameter"><code>in_place</code></em>
2919  is <code class="literal">false</code>, then glyph advance-widths are also
2920 adjusted, otherwise they are not.  The in-place mode is
2921 useful for simulating <a class="ulink" href="https://fonts.google.com/knowledge/glossary/grade" target="_top">font grading</a>.</p>
2922 <div class="refsect3">
2923 <a name="hb-font-set-synthetic-bold.parameters"></a><h4>Parameters</h4>
2924 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2925 <colgroup>
2926 <col width="150px" class="parameters_name">
2927 <col class="parameters_description">
2928 <col width="200px" class="parameters_annotations">
2929 </colgroup>
2930 <tbody>
2931 <tr>
2932 <td class="parameter_name"><p>font</p></td>
2933 <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>
2934 <td class="parameter_annotations"> </td>
2935 </tr>
2936 <tr>
2937 <td class="parameter_name"><p>x_embolden</p></td>
2938 <td class="parameter_description"><p>the amount to embolden horizontally</p></td>
2939 <td class="parameter_annotations"> </td>
2940 </tr>
2941 <tr>
2942 <td class="parameter_name"><p>y_embolden</p></td>
2943 <td class="parameter_description"><p>the amount to embolden vertically</p></td>
2944 <td class="parameter_annotations"> </td>
2945 </tr>
2946 <tr>
2947 <td class="parameter_name"><p>in_place</p></td>
2948 <td class="parameter_description"><p>whether to embolden glyphs in-place</p></td>
2949 <td class="parameter_annotations"> </td>
2950 </tr>
2951 </tbody>
2952 </table></div>
2953 </div>
2954 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
2955 </div>
2956 <hr>
2957 <div class="refsect2">
2958 <a name="hb-font-set-synthetic-slant"></a><h3>hb_font_set_synthetic_slant ()</h3>
2959 <pre class="programlisting"><span class="returnvalue">void</span>
2960 hb_font_set_synthetic_slant (<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>,
2961                              <em class="parameter"><code><span class="type">float</span> slant</code></em>);</pre>
2962 <p>Sets the "synthetic slant" of a font.  By default is zero.
2963 Synthetic slant is the graphical skew applied to the font
2964 at rendering time.</p>
2965 <p>HarfBuzz needs to know this value to adjust shaping results,
2966 metrics, and style values to match the slanted rendering.</p>
2967 <div class="note">Note: The glyph shape fetched via the <a class="link" href="harfbuzz-hb-font.html#hb-font-draw-glyph" title="hb_font_draw_glyph ()"><code class="function">hb_font_draw_glyph()</code></a>
2968 function is slanted to reflect this value as well.</div>
2969 <div class="note">Note: The slant value is a ratio.  For example, a
2970 20% slant would be represented as a 0.2 value.</div>
2971 <div class="refsect3">
2972 <a name="hb-font-set-synthetic-slant.parameters"></a><h4>Parameters</h4>
2973 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2974 <colgroup>
2975 <col width="150px" class="parameters_name">
2976 <col class="parameters_description">
2977 <col width="200px" class="parameters_annotations">
2978 </colgroup>
2979 <tbody>
2980 <tr>
2981 <td class="parameter_name"><p>font</p></td>
2982 <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>
2983 <td class="parameter_annotations"> </td>
2984 </tr>
2985 <tr>
2986 <td class="parameter_name"><p>slant</p></td>
2987 <td class="parameter_description"><p>synthetic slant value.</p></td>
2988 <td class="parameter_annotations"> </td>
2989 </tr>
2990 </tbody>
2991 </table></div>
2992 </div>
2993 <p class="since">Since: <a class="link" href="api-index-3-3-0.html#api-index-3.3.0">3.3.0</a></p>
2994 </div>
2995 <hr>
2996 <div class="refsect2">
2997 <a name="hb-font-get-synthetic-slant"></a><h3>hb_font_get_synthetic_slant ()</h3>
2998 <pre class="programlisting"><span class="returnvalue">float</span>
2999 hb_font_get_synthetic_slant (<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>);</pre>
3000 <p>Fetches the "synthetic slant" of a font.</p>
3001 <div class="refsect3">
3002 <a name="hb-font-get-synthetic-slant.parameters"></a><h4>Parameters</h4>
3003 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3004 <colgroup>
3005 <col width="150px" class="parameters_name">
3006 <col class="parameters_description">
3007 <col width="200px" class="parameters_annotations">
3008 </colgroup>
3009 <tbody><tr>
3010 <td class="parameter_name"><p>font</p></td>
3011 <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>
3012 <td class="parameter_annotations"> </td>
3013 </tr></tbody>
3014 </table></div>
3015 </div>
3016 <div class="refsect3">
3017 <a name="hb-font-get-synthetic-slant.returns"></a><h4>Returns</h4>
3018 <p> Synthetic slant.  By default is zero.</p>
3019 </div>
3020 <p class="since">Since: <a class="link" href="api-index-3-3-0.html#api-index-3.3.0">3.3.0</a></p>
3021 </div>
3022 <hr>
3023 <div class="refsect2">
3024 <a name="hb-font-set-variations"></a><h3>hb_font_set_variations ()</h3>
3025 <pre class="programlisting"><span class="returnvalue">void</span>
3026 hb_font_set_variations (<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>,
3027                         <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variations</code></em>,
3028                         <em class="parameter"><code>unsigned <span class="type">int</span> variations_length</code></em>);</pre>
3029 <p>Applies a list of font-variation settings to a font.</p>
3030 <p>Note that this overrides all existing variations set on <em class="parameter"><code>font</code></em>
3031 .
3032 Axes not included in <em class="parameter"><code>variations</code></em>
3033  will be effectively set to their
3034 default values.</p>
3035 <div class="refsect3">
3036 <a name="hb-font-set-variations.parameters"></a><h4>Parameters</h4>
3037 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3038 <colgroup>
3039 <col width="150px" class="parameters_name">
3040 <col class="parameters_description">
3041 <col width="200px" class="parameters_annotations">
3042 </colgroup>
3043 <tbody>
3044 <tr>
3045 <td class="parameter_name"><p>font</p></td>
3046 <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>
3047 <td class="parameter_annotations"> </td>
3048 </tr>
3049 <tr>
3050 <td class="parameter_name"><p>variations</p></td>
3051 <td class="parameter_description"><p>Array of variation settings to apply. </p></td>
3052 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=variations_length]</span></td>
3053 </tr>
3054 <tr>
3055 <td class="parameter_name"><p>variations_length</p></td>
3056 <td class="parameter_description"><p>Number of variations to apply</p></td>
3057 <td class="parameter_annotations"> </td>
3058 </tr>
3059 </tbody>
3060 </table></div>
3061 </div>
3062 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
3063 </div>
3064 <hr>
3065 <div class="refsect2">
3066 <a name="hb-font-set-variation"></a><h3>hb_font_set_variation ()</h3>
3067 <pre class="programlisting"><span class="returnvalue">void</span>
3068 hb_font_set_variation (<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>,
3069                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag</code></em>,
3070                        <em class="parameter"><code><span class="type">float</span> value</code></em>);</pre>
3071 <p>Change the value of one variation axis on the font.</p>
3072 <p>Note: This function is expensive to be called repeatedly.
3073   If you want to set multiple variation axes at the same time,
3074   use <a class="link" href="harfbuzz-hb-font.html#hb-font-set-variations" title="hb_font_set_variations ()"><code class="function">hb_font_set_variations()</code></a> instead.</p>
3075 <div class="refsect3">
3076 <a name="hb-font-set-variation.parameters"></a><h4>Parameters</h4>
3077 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3078 <colgroup>
3079 <col width="150px" class="parameters_name">
3080 <col class="parameters_description">
3081 <col width="200px" class="parameters_annotations">
3082 </colgroup>
3083 <tbody>
3084 <tr>
3085 <td class="parameter_name"><p>font</p></td>
3086 <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>
3087 <td class="parameter_annotations"> </td>
3088 </tr>
3089 <tr>
3090 <td class="parameter_name"><p>tag</p></td>
3091 <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag of the variation-axis name</p></td>
3092 <td class="parameter_annotations"> </td>
3093 </tr>
3094 <tr>
3095 <td class="parameter_name"><p>value</p></td>
3096 <td class="parameter_description"><p>The value of the variation axis</p></td>
3097 <td class="parameter_annotations"> </td>
3098 </tr>
3099 </tbody>
3100 </table></div>
3101 </div>
3102 <p class="since">Since: <a class="link" href="api-index-7-1-0.html#api-index-7.1.0">7.1.0</a></p>
3103 </div>
3104 <hr>
3105 <div class="refsect2">
3106 <a name="hb-font-set-var-named-instance"></a><h3>hb_font_set_var_named_instance ()</h3>
3107 <pre class="programlisting"><span class="returnvalue">void</span>
3108 hb_font_set_var_named_instance (<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>,
3109                                 <em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>);</pre>
3110 <p>Sets design coords of a font from a named-instance index.</p>
3111 <div class="refsect3">
3112 <a name="hb-font-set-var-named-instance.parameters"></a><h4>Parameters</h4>
3113 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3114 <colgroup>
3115 <col width="150px" class="parameters_name">
3116 <col class="parameters_description">
3117 <col width="200px" class="parameters_annotations">
3118 </colgroup>
3119 <tbody>
3120 <tr>
3121 <td class="parameter_name"><p>font</p></td>
3122 <td class="parameter_description"><p>a font.</p></td>
3123 <td class="parameter_annotations"> </td>
3124 </tr>
3125 <tr>
3126 <td class="parameter_name"><p>instance_index</p></td>
3127 <td class="parameter_description"><p>named instance index.</p></td>
3128 <td class="parameter_annotations"> </td>
3129 </tr>
3130 </tbody>
3131 </table></div>
3132 </div>
3133 <p class="since">Since: <a class="link" href="api-index-2-6-0.html#api-index-2.6.0">2.6.0</a></p>
3134 </div>
3135 <hr>
3136 <div class="refsect2">
3137 <a name="hb-font-get-var-named-instance"></a><h3>hb_font_get_var_named_instance ()</h3>
3138 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
3139 hb_font_get_var_named_instance (<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>);</pre>
3140 <p>Returns the currently-set named-instance index of the font.</p>
3141 <div class="refsect3">
3142 <a name="hb-font-get-var-named-instance.parameters"></a><h4>Parameters</h4>
3143 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3144 <colgroup>
3145 <col width="150px" class="parameters_name">
3146 <col class="parameters_description">
3147 <col width="200px" class="parameters_annotations">
3148 </colgroup>
3149 <tbody><tr>
3150 <td class="parameter_name"><p>font</p></td>
3151 <td class="parameter_description"><p>a font.</p></td>
3152 <td class="parameter_annotations"> </td>
3153 </tr></tbody>
3154 </table></div>
3155 </div>
3156 <div class="refsect3">
3157 <a name="hb-font-get-var-named-instance.returns"></a><h4>Returns</h4>
3158 <p> Named-instance index or <a class="link" href="harfbuzz-hb-font.html#HB-FONT-NO-VAR-NAMED-INSTANCE:CAPS" title="HB_FONT_NO_VAR_NAMED_INSTANCE"><code class="literal">HB_FONT_NO_VAR_NAMED_INSTANCE</code></a>.</p>
3159 </div>
3160 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
3161 </div>
3162 <hr>
3163 <div class="refsect2">
3164 <a name="hb-font-set-var-coords-design"></a><h3>hb_font_set_var_coords_design ()</h3>
3165 <pre class="programlisting"><span class="returnvalue">void</span>
3166 hb_font_set_var_coords_design (<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>,
3167                                <em class="parameter"><code>const <span class="type">float</span> *coords</code></em>,
3168                                <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
3169 <p>Applies a list of variation coordinates (in design-space units)
3170 to a font.</p>
3171 <p>Note that this overrides all existing variations set on <em class="parameter"><code>font</code></em>
3172 .
3173 Axes not included in <em class="parameter"><code>coords</code></em>
3174  will be effectively set to their
3175 default values.</p>
3176 <div class="refsect3">
3177 <a name="hb-font-set-var-coords-design.parameters"></a><h4>Parameters</h4>
3178 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3179 <colgroup>
3180 <col width="150px" class="parameters_name">
3181 <col class="parameters_description">
3182 <col width="200px" class="parameters_annotations">
3183 </colgroup>
3184 <tbody>
3185 <tr>
3186 <td class="parameter_name"><p>font</p></td>
3187 <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>
3188 <td class="parameter_annotations"> </td>
3189 </tr>
3190 <tr>
3191 <td class="parameter_name"><p>coords</p></td>
3192 <td class="parameter_description"><p>Array of variation coordinates to apply. </p></td>
3193 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=coords_length]</span></td>
3194 </tr>
3195 <tr>
3196 <td class="parameter_name"><p>coords_length</p></td>
3197 <td class="parameter_description"><p>Number of coordinates to apply</p></td>
3198 <td class="parameter_annotations"> </td>
3199 </tr>
3200 </tbody>
3201 </table></div>
3202 </div>
3203 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
3204 </div>
3205 <hr>
3206 <div class="refsect2">
3207 <a name="hb-font-get-var-coords-design"></a><h3>hb_font_get_var_coords_design ()</h3>
3208 <pre class="programlisting">const <span class="returnvalue">float</span> *
3209 hb_font_get_var_coords_design (<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>,
3210                                <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
3211 <p>Fetches the list of variation coordinates (in design-space units) currently
3212 set on a font.</p>
3213 <p>Note that this returned array may only contain values for some
3214 (or none) of the axes; omitted axes effectively have their default
3215 values.</p>
3216 <p>Return value is valid as long as variation coordinates of the font
3217 are not modified.</p>
3218 <div class="refsect3">
3219 <a name="hb-font-get-var-coords-design.parameters"></a><h4>Parameters</h4>
3220 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3221 <colgroup>
3222 <col width="150px" class="parameters_name">
3223 <col class="parameters_description">
3224 <col width="200px" class="parameters_annotations">
3225 </colgroup>
3226 <tbody>
3227 <tr>
3228 <td class="parameter_name"><p>font</p></td>
3229 <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>
3230 <td class="parameter_annotations"> </td>
3231 </tr>
3232 <tr>
3233 <td class="parameter_name"><p>length</p></td>
3234 <td class="parameter_description"><p>Number of coordinates retrieved. </p></td>
3235 <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>
3236 </tr>
3237 </tbody>
3238 </table></div>
3239 </div>
3240 <div class="refsect3">
3241 <a name="hb-font-get-var-coords-design.returns"></a><h4>Returns</h4>
3242 <p> coordinates array</p>
3243 </div>
3244 <p class="since">Since: <a class="link" href="api-index-3-3-0.html#api-index-3.3.0">3.3.0</a></p>
3245 </div>
3246 <hr>
3247 <div class="refsect2">
3248 <a name="hb-font-set-var-coords-normalized"></a><h3>hb_font_set_var_coords_normalized ()</h3>
3249 <pre class="programlisting"><span class="returnvalue">void</span>
3250 hb_font_set_var_coords_normalized (<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>,
3251                                    <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
3252                                    <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
3253 <p>Applies a list of variation coordinates (in normalized units)
3254 to a font.</p>
3255 <p>Note that this overrides all existing variations set on <em class="parameter"><code>font</code></em>
3256 .
3257 Axes not included in <em class="parameter"><code>coords</code></em>
3258  will be effectively set to their
3259 default values.</p>
3260 <div class="note">Note: Coordinates should be normalized to 2.14.</div>
3261 <div class="refsect3">
3262 <a name="hb-font-set-var-coords-normalized.parameters"></a><h4>Parameters</h4>
3263 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3264 <colgroup>
3265 <col width="150px" class="parameters_name">
3266 <col class="parameters_description">
3267 <col width="200px" class="parameters_annotations">
3268 </colgroup>
3269 <tbody>
3270 <tr>
3271 <td class="parameter_name"><p>font</p></td>
3272 <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>
3273 <td class="parameter_annotations"> </td>
3274 </tr>
3275 <tr>
3276 <td class="parameter_name"><p>coords</p></td>
3277 <td class="parameter_description"><p>Array of variation coordinates to apply. </p></td>
3278 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=coords_length]</span></td>
3279 </tr>
3280 <tr>
3281 <td class="parameter_name"><p>coords_length</p></td>
3282 <td class="parameter_description"><p>Number of coordinates to apply</p></td>
3283 <td class="parameter_annotations"> </td>
3284 </tr>
3285 </tbody>
3286 </table></div>
3287 </div>
3288 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
3289 </div>
3290 <hr>
3291 <div class="refsect2">
3292 <a name="hb-font-get-var-coords-normalized"></a><h3>hb_font_get_var_coords_normalized ()</h3>
3293 <pre class="programlisting">const <span class="returnvalue">int</span> *
3294 hb_font_get_var_coords_normalized (<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>,
3295                                    <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
3296 <p>Fetches the list of normalized variation coordinates currently
3297 set on a font.</p>
3298 <p>Note that this returned array may only contain values for some
3299 (or none) of the axes; omitted axes effectively have zero values.</p>
3300 <p>Return value is valid as long as variation coordinates of the font
3301 are not modified.</p>
3302 <div class="refsect3">
3303 <a name="hb-font-get-var-coords-normalized.parameters"></a><h4>Parameters</h4>
3304 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3305 <colgroup>
3306 <col width="150px" class="parameters_name">
3307 <col class="parameters_description">
3308 <col width="200px" class="parameters_annotations">
3309 </colgroup>
3310 <tbody>
3311 <tr>
3312 <td class="parameter_name"><p>font</p></td>
3313 <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>
3314 <td class="parameter_annotations"> </td>
3315 </tr>
3316 <tr>
3317 <td class="parameter_name"><p>length</p></td>
3318 <td class="parameter_description"><p>Number of coordinates retrieved. </p></td>
3319 <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>
3320 </tr>
3321 </tbody>
3322 </table></div>
3323 </div>
3324 <div class="refsect3">
3325 <a name="hb-font-get-var-coords-normalized.returns"></a><h4>Returns</h4>
3326 <p> coordinates array</p>
3327 </div>
3328 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
3329 </div>
3330 <hr>
3331 <div class="refsect2">
3332 <a name="hb-font-glyph-from-string"></a><h3>hb_font_glyph_from_string ()</h3>
3333 <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>
3334 hb_font_glyph_from_string (<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>,
3335                            <em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
3336                            <em class="parameter"><code><span class="type">int</span> len</code></em>,
3337                            <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>
3338 <p>Fetches the glyph ID from <em class="parameter"><code>font</code></em>
3339  that matches the specified string.
3340 Strings of the format <code class="literal">gidDDD</code> or <code class="literal">uniUUUU</code> are parsed automatically.</p>
3341 <div class="note">Note: <em class="parameter"><code>len</code></em> == -1 means the string is null-terminated.</div>
3342 <div class="refsect3">
3343 <a name="hb-font-glyph-from-string.parameters"></a><h4>Parameters</h4>
3344 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3345 <colgroup>
3346 <col width="150px" class="parameters_name">
3347 <col class="parameters_description">
3348 <col width="200px" class="parameters_annotations">
3349 </colgroup>
3350 <tbody>
3351 <tr>
3352 <td class="parameter_name"><p>font</p></td>
3353 <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>
3354 <td class="parameter_annotations"> </td>
3355 </tr>
3356 <tr>
3357 <td class="parameter_name"><p>s</p></td>
3358 <td class="parameter_description"><p>string to query. </p></td>
3359 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> uint8_t]</span></td>
3360 </tr>
3361 <tr>
3362 <td class="parameter_name"><p>len</p></td>
3363 <td class="parameter_description"><p>The length of the string <em class="parameter"><code>s</code></em>
3364 </p></td>
3365 <td class="parameter_annotations"> </td>
3366 </tr>
3367 <tr>
3368 <td class="parameter_name"><p>glyph</p></td>
3369 <td class="parameter_description"><p>The glyph ID corresponding to the string requested. </p></td>
3370 <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>
3371 </tr>
3372 </tbody>
3373 </table></div>
3374 </div>
3375 <div class="refsect3">
3376 <a name="hb-font-glyph-from-string.returns"></a><h4>Returns</h4>
3377 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3378 </div>
3379 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3380 </div>
3381 <hr>
3382 <div class="refsect2">
3383 <a name="hb-font-glyph-to-string"></a><h3>hb_font_glyph_to_string ()</h3>
3384 <pre class="programlisting"><span class="returnvalue">void</span>
3385 hb_font_glyph_to_string (<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>,
3386                          <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>,
3387                          <em class="parameter"><code><span class="type">char</span> *s</code></em>,
3388                          <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
3389 <p>Fetches the name of the specified glyph ID in <em class="parameter"><code>font</code></em>
3390  and returns
3391 it in string <em class="parameter"><code>s</code></em>
3392 .</p>
3393 <p>If the glyph ID has no name in <em class="parameter"><code>font</code></em>
3394 , a string of the form <code class="literal">gidDDD</code> is
3395 generated, with <code class="literal">DDD</code> being the glyph ID.</p>
3396 <p>According to the OpenType specification, glyph names are limited to 63
3397 characters and can only contain (a subset of) ASCII.</p>
3398 <div class="refsect3">
3399 <a name="hb-font-glyph-to-string.parameters"></a><h4>Parameters</h4>
3400 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3401 <colgroup>
3402 <col width="150px" class="parameters_name">
3403 <col class="parameters_description">
3404 <col width="200px" class="parameters_annotations">
3405 </colgroup>
3406 <tbody>
3407 <tr>
3408 <td class="parameter_name"><p>font</p></td>
3409 <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>
3410 <td class="parameter_annotations"> </td>
3411 </tr>
3412 <tr>
3413 <td class="parameter_name"><p>glyph</p></td>
3414 <td class="parameter_description"><p>The glyph ID to query</p></td>
3415 <td class="parameter_annotations"> </td>
3416 </tr>
3417 <tr>
3418 <td class="parameter_name"><p>s</p></td>
3419 <td class="parameter_description"><p>The string containing the glyph name. </p></td>
3420 <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=size]</span></td>
3421 </tr>
3422 <tr>
3423 <td class="parameter_name"><p>size</p></td>
3424 <td class="parameter_description"><p>Length of string <em class="parameter"><code>s</code></em>
3425 </p></td>
3426 <td class="parameter_annotations"> </td>
3427 </tr>
3428 </tbody>
3429 </table></div>
3430 </div>
3431 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3432 </div>
3433 <hr>
3434 <div class="refsect2">
3435 <a name="hb-font-get-serial"></a><h3>hb_font_get_serial ()</h3>
3436 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
3437 hb_font_get_serial (<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>);</pre>
3438 <p>Returns the internal serial number of the font. The serial
3439 number is increased every time a setting on the font is
3440 changed, using a setter function.</p>
3441 <div class="refsect3">
3442 <a name="hb-font-get-serial.parameters"></a><h4>Parameters</h4>
3443 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3444 <colgroup>
3445 <col width="150px" class="parameters_name">
3446 <col class="parameters_description">
3447 <col width="200px" class="parameters_annotations">
3448 </colgroup>
3449 <tbody><tr>
3450 <td class="parameter_name"><p>font</p></td>
3451 <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>
3452 <td class="parameter_annotations"> </td>
3453 </tr></tbody>
3454 </table></div>
3455 </div>
3456 <div class="refsect3">
3457 <a name="hb-font-get-serial.returns"></a><h4>Returns</h4>
3458 <p> serial number</p>
3459 </div>
3460 <p class="since">Since: <a class="link" href="api-index-4-4-0.html#api-index-4.4.0">4.4.0</a></p>
3461 </div>
3462 <hr>
3463 <div class="refsect2">
3464 <a name="hb-font-changed"></a><h3>hb_font_changed ()</h3>
3465 <pre class="programlisting"><span class="returnvalue">void</span>
3466 hb_font_changed (<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>);</pre>
3467 <p>Notifies the <em class="parameter"><code>font</code></em>
3468  that underlying font data has changed.
3469 This has the effect of increasing the serial as returned
3470 by <a class="link" href="harfbuzz-hb-font.html#hb-font-get-serial" title="hb_font_get_serial ()"><code class="function">hb_font_get_serial()</code></a>, which invalidates internal caches.</p>
3471 <div class="refsect3">
3472 <a name="hb-font-changed.parameters"></a><h4>Parameters</h4>
3473 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3474 <colgroup>
3475 <col width="150px" class="parameters_name">
3476 <col class="parameters_description">
3477 <col width="200px" class="parameters_annotations">
3478 </colgroup>
3479 <tbody><tr>
3480 <td class="parameter_name"><p>font</p></td>
3481 <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>
3482 <td class="parameter_annotations"> </td>
3483 </tr></tbody>
3484 </table></div>
3485 </div>
3486 <p class="since">Since: <a class="link" href="api-index-4-4-0.html#api-index-4.4.0">4.4.0</a></p>
3487 </div>
3488 <hr>
3489 <div class="refsect2">
3490 <a name="hb-font-set-funcs"></a><h3>hb_font_set_funcs ()</h3>
3491 <pre class="programlisting"><span class="returnvalue">void</span>
3492 hb_font_set_funcs (<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>,
3493                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *klass</code></em>,
3494                    <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3495                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
3496 <p>Replaces the font-functions structure attached to a font, updating
3497 the font's user-data with <em class="parameter"><code>font</code></em>
3498 -data and the <em class="parameter"><code>destroy</code></em>
3499  callback.</p>
3500 <div class="refsect3">
3501 <a name="hb-font-set-funcs.parameters"></a><h4>Parameters</h4>
3502 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3503 <colgroup>
3504 <col width="150px" class="parameters_name">
3505 <col class="parameters_description">
3506 <col width="200px" class="parameters_annotations">
3507 </colgroup>
3508 <tbody>
3509 <tr>
3510 <td class="parameter_name"><p>font</p></td>
3511 <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>
3512 <td class="parameter_annotations"> </td>
3513 </tr>
3514 <tr>
3515 <td class="parameter_name"><p>klass</p></td>
3516 <td class="parameter_description"><p>The font-functions structure. </p></td>
3517 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> font_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
3518 </tr>
3519 <tr>
3520 <td class="parameter_name"><p>font_data</p></td>
3521 <td class="parameter_description"><p>Data to attach to <em class="parameter"><code>font</code></em>
3522 </p></td>
3523 <td class="parameter_annotations"> </td>
3524 </tr>
3525 <tr>
3526 <td class="parameter_name"><p>destroy</p></td>
3527 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>font_data</code></em>
3528 is not needed anymore. </p></td>
3529 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
3530 </tr>
3531 </tbody>
3532 </table></div>
3533 </div>
3534 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3535 </div>
3536 <hr>
3537 <div class="refsect2">
3538 <a name="hb-font-set-funcs-data"></a><h3>hb_font_set_funcs_data ()</h3>
3539 <pre class="programlisting"><span class="returnvalue">void</span>
3540 hb_font_set_funcs_data (<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>,
3541                         <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3542                         <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
3543 <p>Replaces the user data attached to a font, updating the font's
3544 <em class="parameter"><code>destroy</code></em>
3545  callback.</p>
3546 <div class="refsect3">
3547 <a name="hb-font-set-funcs-data.parameters"></a><h4>Parameters</h4>
3548 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3549 <colgroup>
3550 <col width="150px" class="parameters_name">
3551 <col class="parameters_description">
3552 <col width="200px" class="parameters_annotations">
3553 </colgroup>
3554 <tbody>
3555 <tr>
3556 <td class="parameter_name"><p>font</p></td>
3557 <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>
3558 <td class="parameter_annotations"> </td>
3559 </tr>
3560 <tr>
3561 <td class="parameter_name"><p>font_data</p></td>
3562 <td class="parameter_description"><p>Data to attach to <em class="parameter"><code>font</code></em>
3563 . </p></td>
3564 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
3565 </tr>
3566 <tr>
3567 <td class="parameter_name"><p>destroy</p></td>
3568 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>font_data</code></em>
3569 is not needed anymore. </p></td>
3570 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
3571 </tr>
3572 </tbody>
3573 </table></div>
3574 </div>
3575 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3576 </div>
3577 <hr>
3578 <div class="refsect2">
3579 <a name="hb-font-subtract-glyph-origin-for-direction"></a><h3>hb_font_subtract_glyph_origin_for_direction ()</h3>
3580 <pre class="programlisting"><span class="returnvalue">void</span>
3581 hb_font_subtract_glyph_origin_for_direction
3582                                (<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>,
3583                                 <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>,
3584                                 <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>,
3585                                 <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> *x</code></em>,
3586                                 <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> *y</code></em>);</pre>
3587 <p>Subtracts the origin coordinates from an (X,Y) point coordinate,
3588 in the specified glyph ID in the specified font.</p>
3589 <p>Calls the appropriate direction-specific variant (horizontal
3590 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
3591 .</p>
3592 <div class="refsect3">
3593 <a name="hb-font-subtract-glyph-origin-for-direction.parameters"></a><h4>Parameters</h4>
3594 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3595 <colgroup>
3596 <col width="150px" class="parameters_name">
3597 <col class="parameters_description">
3598 <col width="200px" class="parameters_annotations">
3599 </colgroup>
3600 <tbody>
3601 <tr>
3602 <td class="parameter_name"><p>font</p></td>
3603 <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>
3604 <td class="parameter_annotations"> </td>
3605 </tr>
3606 <tr>
3607 <td class="parameter_name"><p>glyph</p></td>
3608 <td class="parameter_description"><p>The glyph ID to query</p></td>
3609 <td class="parameter_annotations"> </td>
3610 </tr>
3611 <tr>
3612 <td class="parameter_name"><p>direction</p></td>
3613 <td class="parameter_description"><p>The direction of the text segment</p></td>
3614 <td class="parameter_annotations"> </td>
3615 </tr>
3616 <tr>
3617 <td class="parameter_name"><p>x</p></td>
3618 <td class="parameter_description"><p>Input = The original X coordinate
3619 Output = The X coordinate minus the X-coordinate of the origin. </p></td>
3620 <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>
3621 </tr>
3622 <tr>
3623 <td class="parameter_name"><p>y</p></td>
3624 <td class="parameter_description"><p>Input = The original Y coordinate
3625 Output = The Y coordinate minus the Y-coordinate of the origin. </p></td>
3626 <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>
3627 </tr>
3628 </tbody>
3629 </table></div>
3630 </div>
3631 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3632 </div>
3633 <hr>
3634 <div class="refsect2">
3635 <a name="hb-font-funcs-create"></a><h3>hb_font_funcs_create ()</h3>
3636 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
3637 hb_font_funcs_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
3638 <p>Creates a new <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> structure of font functions.</p>
3639 <div class="refsect3">
3640 <a name="hb-font-funcs-create.returns"></a><h4>Returns</h4>
3641 <p>The font-functions structure. </p>
3642 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
3643 </div>
3644 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3645 </div>
3646 <hr>
3647 <div class="refsect2">
3648 <a name="hb-font-funcs-get-empty"></a><h3>hb_font_funcs_get_empty ()</h3>
3649 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
3650 hb_font_funcs_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
3651 <p>Fetches an empty font-functions structure.</p>
3652 <div class="refsect3">
3653 <a name="hb-font-funcs-get-empty.returns"></a><h4>Returns</h4>
3654 <p>The font-functions structure. </p>
3655 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
3656 </div>
3657 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3658 </div>
3659 <hr>
3660 <div class="refsect2">
3661 <a name="hb-font-funcs-reference"></a><h3>hb_font_funcs_reference ()</h3>
3662 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> *
3663 hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
3664 <p>Increases the reference count on a font-functions structure.</p>
3665 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
3666 <div class="refsect3">
3667 <a name="hb-font-funcs-reference.parameters"></a><h4>Parameters</h4>
3668 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3669 <colgroup>
3670 <col width="150px" class="parameters_name">
3671 <col class="parameters_description">
3672 <col width="200px" class="parameters_annotations">
3673 </colgroup>
3674 <tbody><tr>
3675 <td class="parameter_name"><p>ffuncs</p></td>
3676 <td class="parameter_description"><p>The font-functions structure</p></td>
3677 <td class="parameter_annotations"> </td>
3678 </tr></tbody>
3679 </table></div>
3680 </div>
3681 <div class="refsect3">
3682 <a name="hb-font-funcs-reference.returns"></a><h4>Returns</h4>
3683 <p> The font-functions structure</p>
3684 </div>
3685 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3686 </div>
3687 <hr>
3688 <div class="refsect2">
3689 <a name="hb-font-funcs-destroy"></a><h3>hb_font_funcs_destroy ()</h3>
3690 <pre class="programlisting"><span class="returnvalue">void</span>
3691 hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
3692 <p>Decreases the reference count on a font-functions structure. When
3693 the reference count reaches zero, the font-functions structure is
3694 destroyed, freeing all memory.</p>
3695 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
3696 <div class="refsect3">
3697 <a name="hb-font-funcs-destroy.parameters"></a><h4>Parameters</h4>
3698 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3699 <colgroup>
3700 <col width="150px" class="parameters_name">
3701 <col class="parameters_description">
3702 <col width="200px" class="parameters_annotations">
3703 </colgroup>
3704 <tbody><tr>
3705 <td class="parameter_name"><p>ffuncs</p></td>
3706 <td class="parameter_description"><p>The font-functions structure</p></td>
3707 <td class="parameter_annotations"> </td>
3708 </tr></tbody>
3709 </table></div>
3710 </div>
3711 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3712 </div>
3713 <hr>
3714 <div class="refsect2">
3715 <a name="hb-font-funcs-set-user-data"></a><h3>hb_font_funcs_set_user_data ()</h3>
3716 <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>
3717 hb_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
3718                              <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
3719                              <em class="parameter"><code><span class="type">void</span> *data</code></em>,
3720                              <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>,
3721                              <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre>
3722 <p>Attaches a user-data key/data pair to the specified font-functions structure.</p>
3723 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
3724 <div class="refsect3">
3725 <a name="hb-font-funcs-set-user-data.parameters"></a><h4>Parameters</h4>
3726 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3727 <colgroup>
3728 <col width="150px" class="parameters_name">
3729 <col class="parameters_description">
3730 <col width="200px" class="parameters_annotations">
3731 </colgroup>
3732 <tbody>
3733 <tr>
3734 <td class="parameter_name"><p>ffuncs</p></td>
3735 <td class="parameter_description"><p>The font-functions structure</p></td>
3736 <td class="parameter_annotations"> </td>
3737 </tr>
3738 <tr>
3739 <td class="parameter_name"><p>key</p></td>
3740 <td class="parameter_description"><p>The user-data key to set</p></td>
3741 <td class="parameter_annotations"> </td>
3742 </tr>
3743 <tr>
3744 <td class="parameter_name"><p>data</p></td>
3745 <td class="parameter_description"><p>A pointer to the user data set</p></td>
3746 <td class="parameter_annotations"> </td>
3747 </tr>
3748 <tr>
3749 <td class="parameter_name"><p>destroy</p></td>
3750 <td class="parameter_description"><p>A callback to call when <em class="parameter"><code>data</code></em>
3751 is not needed anymore. </p></td>
3752 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
3753 </tr>
3754 <tr>
3755 <td class="parameter_name"><p>replace</p></td>
3756 <td class="parameter_description"><p>Whether to replace an existing data with the same key</p></td>
3757 <td class="parameter_annotations"> </td>
3758 </tr>
3759 </tbody>
3760 </table></div>
3761 </div>
3762 <div class="refsect3">
3763 <a name="hb-font-funcs-set-user-data.returns"></a><h4>Returns</h4>
3764 <p> <code class="literal">true</code> if success, <code class="literal">false</code> otherwise</p>
3765 </div>
3766 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3767 </div>
3768 <hr>
3769 <div class="refsect2">
3770 <a name="hb-font-funcs-get-user-data"></a><h3>hb_font_funcs_get_user_data ()</h3>
3771 <pre class="programlisting"><span class="returnvalue">void</span> *
3772 hb_font_funcs_get_user_data (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
3773                              <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
3774 <p>Fetches the user data associated with the specified key,
3775 attached to the specified font-functions structure.</p>
3776 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
3777 <div class="refsect3">
3778 <a name="hb-font-funcs-get-user-data.parameters"></a><h4>Parameters</h4>
3779 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3780 <colgroup>
3781 <col width="150px" class="parameters_name">
3782 <col class="parameters_description">
3783 <col width="200px" class="parameters_annotations">
3784 </colgroup>
3785 <tbody>
3786 <tr>
3787 <td class="parameter_name"><p>ffuncs</p></td>
3788 <td class="parameter_description"><p>The font-functions structure</p></td>
3789 <td class="parameter_annotations"> </td>
3790 </tr>
3791 <tr>
3792 <td class="parameter_name"><p>key</p></td>
3793 <td class="parameter_description"><p>The user-data key to query</p></td>
3794 <td class="parameter_annotations"> </td>
3795 </tr>
3796 </tbody>
3797 </table></div>
3798 </div>
3799 <div class="refsect3">
3800 <a name="hb-font-funcs-get-user-data.returns"></a><h4>Returns</h4>
3801 <p>A pointer to the user data. </p>
3802 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
3803 </div>
3804 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3805 </div>
3806 <hr>
3807 <div class="refsect2">
3808 <a name="hb-font-funcs-make-immutable"></a><h3>hb_font_funcs_make_immutable ()</h3>
3809 <pre class="programlisting"><span class="returnvalue">void</span>
3810 hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
3811 <p>Makes a font-functions structure immutable.</p>
3812 <div class="refsect3">
3813 <a name="hb-font-funcs-make-immutable.parameters"></a><h4>Parameters</h4>
3814 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3815 <colgroup>
3816 <col width="150px" class="parameters_name">
3817 <col class="parameters_description">
3818 <col width="200px" class="parameters_annotations">
3819 </colgroup>
3820 <tbody><tr>
3821 <td class="parameter_name"><p>ffuncs</p></td>
3822 <td class="parameter_description"><p>The font-functions structure</p></td>
3823 <td class="parameter_annotations"> </td>
3824 </tr></tbody>
3825 </table></div>
3826 </div>
3827 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3828 </div>
3829 <hr>
3830 <div class="refsect2">
3831 <a name="hb-font-funcs-is-immutable"></a><h3>hb_font_funcs_is_immutable ()</h3>
3832 <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>
3833 hb_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre>
3834 <p>Tests whether a font-functions structure is immutable.</p>
3835 <div class="refsect3">
3836 <a name="hb-font-funcs-is-immutable.parameters"></a><h4>Parameters</h4>
3837 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3838 <colgroup>
3839 <col width="150px" class="parameters_name">
3840 <col class="parameters_description">
3841 <col width="200px" class="parameters_annotations">
3842 </colgroup>
3843 <tbody><tr>
3844 <td class="parameter_name"><p>ffuncs</p></td>
3845 <td class="parameter_description"><p>The font-functions structure</p></td>
3846 <td class="parameter_annotations"> </td>
3847 </tr></tbody>
3848 </table></div>
3849 </div>
3850 <div class="refsect3">
3851 <a name="hb-font-funcs-is-immutable.returns"></a><h4>Returns</h4>
3852 <p> <code class="literal">true</code> if <em class="parameter"><code>ffuncs</code></em>
3853 is immutable, <code class="literal">false</code> otherwise</p>
3854 </div>
3855 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3856 </div>
3857 <hr>
3858 <div class="refsect2">
3859 <a name="hb-font-get-glyph-contour-point-func-t"></a><h3>hb_font_get_glyph_contour_point_func_t ()</h3>
3860 <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>
3861 <span class="c_punctuation">(</span>*hb_font_get_glyph_contour_point_func_t<span class="c_punctuation">)</span>
3862                                (<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>,
3863                                 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3864                                 <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>,
3865                                 <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
3866                                 <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> *x</code></em>,
3867                                 <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> *y</code></em>,
3868                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3869 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
3870 <p>This method should retrieve the (X,Y) coordinates (in font units) for a
3871 specified contour point in a glyph. Each coordinate must be returned as
3872 an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> output parameter.</p>
3873 <div class="refsect3">
3874 <a name="hb-font-get-glyph-contour-point-func-t.parameters"></a><h4>Parameters</h4>
3875 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3876 <colgroup>
3877 <col width="150px" class="parameters_name">
3878 <col class="parameters_description">
3879 <col width="200px" class="parameters_annotations">
3880 </colgroup>
3881 <tbody>
3882 <tr>
3883 <td class="parameter_name"><p>font</p></td>
3884 <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>
3885 <td class="parameter_annotations"> </td>
3886 </tr>
3887 <tr>
3888 <td class="parameter_name"><p>font_data</p></td>
3889 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
3890 user data pointer</p></td>
3891 <td class="parameter_annotations"> </td>
3892 </tr>
3893 <tr>
3894 <td class="parameter_name"><p>glyph</p></td>
3895 <td class="parameter_description"><p>The glyph ID to query</p></td>
3896 <td class="parameter_annotations"> </td>
3897 </tr>
3898 <tr>
3899 <td class="parameter_name"><p>point_index</p></td>
3900 <td class="parameter_description"><p>The contour-point index to query</p></td>
3901 <td class="parameter_annotations"> </td>
3902 </tr>
3903 <tr>
3904 <td class="parameter_name"><p>x</p></td>
3905 <td class="parameter_description"><p>The X value retrieved for the contour point. </p></td>
3906 <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>
3907 </tr>
3908 <tr>
3909 <td class="parameter_name"><p>y</p></td>
3910 <td class="parameter_description"><p>The Y value retrieved for the contour point. </p></td>
3911 <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>
3912 </tr>
3913 <tr>
3914 <td class="parameter_name"><p>user_data</p></td>
3915 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
3916 <td class="parameter_annotations"> </td>
3917 </tr>
3918 </tbody>
3919 </table></div>
3920 </div>
3921 <div class="refsect3">
3922 <a name="hb-font-get-glyph-contour-point-func-t.returns"></a><h4>Returns</h4>
3923 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3924 </div>
3925 </div>
3926 <hr>
3927 <div class="refsect2">
3928 <a name="hb-font-funcs-set-glyph-contour-point-func"></a><h3>hb_font_funcs_set_glyph_contour_point_func ()</h3>
3929 <pre class="programlisting"><span class="returnvalue">void</span>
3930 hb_font_funcs_set_glyph_contour_point_func
3931                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
3932                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-func-t" title="hb_font_get_glyph_contour_point_func_t ()"><span class="type">hb_font_get_glyph_contour_point_func_t</span></a> func</code></em>,
3933                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
3934                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
3935 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-func-t" title="hb_font_get_glyph_contour_point_func_t ()"><span class="type">hb_font_get_glyph_contour_point_func_t</span></a>.</p>
3936 <div class="refsect3">
3937 <a name="hb-font-funcs-set-glyph-contour-point-func.parameters"></a><h4>Parameters</h4>
3938 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3939 <colgroup>
3940 <col width="150px" class="parameters_name">
3941 <col class="parameters_description">
3942 <col width="200px" class="parameters_annotations">
3943 </colgroup>
3944 <tbody>
3945 <tr>
3946 <td class="parameter_name"><p>ffuncs</p></td>
3947 <td class="parameter_description"><p>A font-function structure</p></td>
3948 <td class="parameter_annotations"> </td>
3949 </tr>
3950 <tr>
3951 <td class="parameter_name"><p>func</p></td>
3952 <td class="parameter_description"><p>The callback function to assign. </p></td>
3953 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
3954 </tr>
3955 <tr>
3956 <td class="parameter_name"><p>user_data</p></td>
3957 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
3958 </p></td>
3959 <td class="parameter_annotations"> </td>
3960 </tr>
3961 <tr>
3962 <td class="parameter_name"><p>destroy</p></td>
3963 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
3964 is not needed anymore. </p></td>
3965 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
3966 </tr>
3967 </tbody>
3968 </table></div>
3969 </div>
3970 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3971 </div>
3972 <hr>
3973 <div class="refsect2">
3974 <a name="hb-font-get-glyph-extents-func-t"></a><h3>hb_font_get_glyph_extents_func_t ()</h3>
3975 <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>
3976 <span class="c_punctuation">(</span>*hb_font_get_glyph_extents_func_t<span class="c_punctuation">)</span> (<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>,
3977                                      <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3978                                      <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>,
3979                                      <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> *extents</code></em>,
3980                                      <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3981 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
3982 <p>This method should retrieve the extents for a specified glyph. Extents must be 
3983 returned in an <span class="type">hb_glyph_extents</span> output parameter.</p>
3984 <div class="refsect3">
3985 <a name="hb-font-get-glyph-extents-func-t.parameters"></a><h4>Parameters</h4>
3986 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3987 <colgroup>
3988 <col width="150px" class="parameters_name">
3989 <col class="parameters_description">
3990 <col width="200px" class="parameters_annotations">
3991 </colgroup>
3992 <tbody>
3993 <tr>
3994 <td class="parameter_name"><p>font</p></td>
3995 <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>
3996 <td class="parameter_annotations"> </td>
3997 </tr>
3998 <tr>
3999 <td class="parameter_name"><p>font_data</p></td>
4000 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4001 user data pointer</p></td>
4002 <td class="parameter_annotations"> </td>
4003 </tr>
4004 <tr>
4005 <td class="parameter_name"><p>glyph</p></td>
4006 <td class="parameter_description"><p>The glyph ID to query</p></td>
4007 <td class="parameter_annotations"> </td>
4008 </tr>
4009 <tr>
4010 <td class="parameter_name"><p>extents</p></td>
4011 <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-font.html#hb-glyph-extents-t" title="hb_glyph_extents_t"><span class="type">hb_glyph_extents_t</span></a> retrieved. </p></td>
4012 <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>
4013 </tr>
4014 <tr>
4015 <td class="parameter_name"><p>user_data</p></td>
4016 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4017 <td class="parameter_annotations"> </td>
4018 </tr>
4019 </tbody>
4020 </table></div>
4021 </div>
4022 <div class="refsect3">
4023 <a name="hb-font-get-glyph-extents-func-t.returns"></a><h4>Returns</h4>
4024 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
4025 </div>
4026 </div>
4027 <hr>
4028 <div class="refsect2">
4029 <a name="hb-font-funcs-set-glyph-extents-func"></a><h3>hb_font_funcs_set_glyph_extents_func ()</h3>
4030 <pre class="programlisting"><span class="returnvalue">void</span>
4031 hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4032                                       <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-func-t" title="hb_font_get_glyph_extents_func_t ()"><span class="type">hb_font_get_glyph_extents_func_t</span></a> func</code></em>,
4033                                       <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4034                                       <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4035 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-func-t" title="hb_font_get_glyph_extents_func_t ()"><span class="type">hb_font_get_glyph_extents_func_t</span></a>.</p>
4036 <div class="refsect3">
4037 <a name="hb-font-funcs-set-glyph-extents-func.parameters"></a><h4>Parameters</h4>
4038 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4039 <colgroup>
4040 <col width="150px" class="parameters_name">
4041 <col class="parameters_description">
4042 <col width="200px" class="parameters_annotations">
4043 </colgroup>
4044 <tbody>
4045 <tr>
4046 <td class="parameter_name"><p>ffuncs</p></td>
4047 <td class="parameter_description"><p>A font-function structure</p></td>
4048 <td class="parameter_annotations"> </td>
4049 </tr>
4050 <tr>
4051 <td class="parameter_name"><p>func</p></td>
4052 <td class="parameter_description"><p>The callback function to assign. </p></td>
4053 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4054 </tr>
4055 <tr>
4056 <td class="parameter_name"><p>user_data</p></td>
4057 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4058 </p></td>
4059 <td class="parameter_annotations"> </td>
4060 </tr>
4061 <tr>
4062 <td class="parameter_name"><p>destroy</p></td>
4063 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4064 is not needed anymore. </p></td>
4065 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4066 </tr>
4067 </tbody>
4068 </table></div>
4069 </div>
4070 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4071 </div>
4072 <hr>
4073 <div class="refsect2">
4074 <a name="hb-font-get-glyph-from-name-func-t"></a><h3>hb_font_get_glyph_from_name_func_t ()</h3>
4075 <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>
4076 <span class="c_punctuation">(</span>*hb_font_get_glyph_from_name_func_t<span class="c_punctuation">)</span> (<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>,
4077                                        <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4078                                        <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
4079                                        <em class="parameter"><code><span class="type">int</span> len</code></em>,
4080                                        <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>,
4081                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4082 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4083 <p>This method should retrieve the glyph ID that corresponds to a glyph-name
4084 string.</p>
4085 <div class="refsect3">
4086 <a name="hb-font-get-glyph-from-name-func-t.parameters"></a><h4>Parameters</h4>
4087 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4088 <colgroup>
4089 <col width="150px" class="parameters_name">
4090 <col class="parameters_description">
4091 <col width="200px" class="parameters_annotations">
4092 </colgroup>
4093 <tbody>
4094 <tr>
4095 <td class="parameter_name"><p>font</p></td>
4096 <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>
4097 <td class="parameter_annotations"> </td>
4098 </tr>
4099 <tr>
4100 <td class="parameter_name"><p>font_data</p></td>
4101 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4102 user data pointer</p></td>
4103 <td class="parameter_annotations"> </td>
4104 </tr>
4105 <tr>
4106 <td class="parameter_name"><p>name</p></td>
4107 <td class="parameter_description"><p>The name string to query. </p></td>
4108 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span></td>
4109 </tr>
4110 <tr>
4111 <td class="parameter_name"><p>len</p></td>
4112 <td class="parameter_description"><p>The length of the name queried</p></td>
4113 <td class="parameter_annotations"> </td>
4114 </tr>
4115 <tr>
4116 <td class="parameter_name"><p>glyph</p></td>
4117 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
4118 <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>
4119 </tr>
4120 <tr>
4121 <td class="parameter_name"><p>user_data</p></td>
4122 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4123 <td class="parameter_annotations"> </td>
4124 </tr>
4125 </tbody>
4126 </table></div>
4127 </div>
4128 <div class="refsect3">
4129 <a name="hb-font-get-glyph-from-name-func-t.returns"></a><h4>Returns</h4>
4130 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
4131 </div>
4132 </div>
4133 <hr>
4134 <div class="refsect2">
4135 <a name="hb-font-funcs-set-glyph-from-name-func"></a><h3>hb_font_funcs_set_glyph_from_name_func ()</h3>
4136 <pre class="programlisting"><span class="returnvalue">void</span>
4137 hb_font_funcs_set_glyph_from_name_func
4138                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4139                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name-func-t" title="hb_font_get_glyph_from_name_func_t ()"><span class="type">hb_font_get_glyph_from_name_func_t</span></a> func</code></em>,
4140                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4141                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4142 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name-func-t" title="hb_font_get_glyph_from_name_func_t ()"><span class="type">hb_font_get_glyph_from_name_func_t</span></a>.</p>
4143 <div class="refsect3">
4144 <a name="hb-font-funcs-set-glyph-from-name-func.parameters"></a><h4>Parameters</h4>
4145 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4146 <colgroup>
4147 <col width="150px" class="parameters_name">
4148 <col class="parameters_description">
4149 <col width="200px" class="parameters_annotations">
4150 </colgroup>
4151 <tbody>
4152 <tr>
4153 <td class="parameter_name"><p>ffuncs</p></td>
4154 <td class="parameter_description"><p>A font-function structure</p></td>
4155 <td class="parameter_annotations"> </td>
4156 </tr>
4157 <tr>
4158 <td class="parameter_name"><p>func</p></td>
4159 <td class="parameter_description"><p>The callback function to assign. </p></td>
4160 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4161 </tr>
4162 <tr>
4163 <td class="parameter_name"><p>user_data</p></td>
4164 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4165 </p></td>
4166 <td class="parameter_annotations"> </td>
4167 </tr>
4168 <tr>
4169 <td class="parameter_name"><p>destroy</p></td>
4170 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4171 is not needed anymore. </p></td>
4172 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4173 </tr>
4174 </tbody>
4175 </table></div>
4176 </div>
4177 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4178 </div>
4179 <hr>
4180 <div class="refsect2">
4181 <a name="hb-font-get-glyph-advance-func-t"></a><h3>hb_font_get_glyph_advance_func_t ()</h3>
4182 <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>
4183 <span class="c_punctuation">(</span>*hb_font_get_glyph_advance_func_t<span class="c_punctuation">)</span> (<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>,
4184                                      <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4185                                      <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>,
4186                                      <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4187 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4188 <p>This method should retrieve the advance for a specified glyph. The
4189 method must return 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>
4190 <div class="refsect3">
4191 <a name="hb-font-get-glyph-advance-func-t.parameters"></a><h4>Parameters</h4>
4192 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4193 <colgroup>
4194 <col width="150px" class="parameters_name">
4195 <col class="parameters_description">
4196 <col width="200px" class="parameters_annotations">
4197 </colgroup>
4198 <tbody>
4199 <tr>
4200 <td class="parameter_name"><p>font</p></td>
4201 <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>
4202 <td class="parameter_annotations"> </td>
4203 </tr>
4204 <tr>
4205 <td class="parameter_name"><p>font_data</p></td>
4206 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4207 user data pointer</p></td>
4208 <td class="parameter_annotations"> </td>
4209 </tr>
4210 <tr>
4211 <td class="parameter_name"><p>glyph</p></td>
4212 <td class="parameter_description"><p>The glyph ID to query</p></td>
4213 <td class="parameter_annotations"> </td>
4214 </tr>
4215 <tr>
4216 <td class="parameter_name"><p>user_data</p></td>
4217 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4218 <td class="parameter_annotations"> </td>
4219 </tr>
4220 </tbody>
4221 </table></div>
4222 </div>
4223 <div class="refsect3">
4224 <a name="hb-font-get-glyph-advance-func-t.returns"></a><h4>Returns</h4>
4225 <p> The advance of <em class="parameter"><code>glyph</code></em>
4226 within <em class="parameter"><code>font</code></em>
4227 </p>
4228 </div>
4229 </div>
4230 <hr>
4231 <div class="refsect2">
4232 <a name="hb-font-funcs-set-glyph-h-advance-func"></a><h3>hb_font_funcs_set_glyph_h_advance_func ()</h3>
4233 <pre class="programlisting"><span class="returnvalue">void</span>
4234 hb_font_funcs_set_glyph_h_advance_func
4235                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4236                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance-func-t" title="hb_font_get_glyph_h_advance_func_t"><span class="type">hb_font_get_glyph_h_advance_func_t</span></a> func</code></em>,
4237                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4238                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4239 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance-func-t" title="hb_font_get_glyph_h_advance_func_t"><span class="type">hb_font_get_glyph_h_advance_func_t</span></a>.</p>
4240 <div class="refsect3">
4241 <a name="hb-font-funcs-set-glyph-h-advance-func.parameters"></a><h4>Parameters</h4>
4242 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4243 <colgroup>
4244 <col width="150px" class="parameters_name">
4245 <col class="parameters_description">
4246 <col width="200px" class="parameters_annotations">
4247 </colgroup>
4248 <tbody>
4249 <tr>
4250 <td class="parameter_name"><p>ffuncs</p></td>
4251 <td class="parameter_description"><p>A font-function structure</p></td>
4252 <td class="parameter_annotations"> </td>
4253 </tr>
4254 <tr>
4255 <td class="parameter_name"><p>func</p></td>
4256 <td class="parameter_description"><p>The callback function to assign. </p></td>
4257 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4258 </tr>
4259 <tr>
4260 <td class="parameter_name"><p>user_data</p></td>
4261 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4262 </p></td>
4263 <td class="parameter_annotations"> </td>
4264 </tr>
4265 <tr>
4266 <td class="parameter_name"><p>destroy</p></td>
4267 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4268 is not needed anymore. </p></td>
4269 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4270 </tr>
4271 </tbody>
4272 </table></div>
4273 </div>
4274 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4275 </div>
4276 <hr>
4277 <div class="refsect2">
4278 <a name="hb-font-funcs-set-glyph-v-advance-func"></a><h3>hb_font_funcs_set_glyph_v_advance_func ()</h3>
4279 <pre class="programlisting"><span class="returnvalue">void</span>
4280 hb_font_funcs_set_glyph_v_advance_func
4281                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4282                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t" title="hb_font_get_glyph_v_advance_func_t"><span class="type">hb_font_get_glyph_v_advance_func_t</span></a> func</code></em>,
4283                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4284                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4285 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t" title="hb_font_get_glyph_v_advance_func_t"><span class="type">hb_font_get_glyph_v_advance_func_t</span></a>.</p>
4286 <div class="refsect3">
4287 <a name="hb-font-funcs-set-glyph-v-advance-func.parameters"></a><h4>Parameters</h4>
4288 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4289 <colgroup>
4290 <col width="150px" class="parameters_name">
4291 <col class="parameters_description">
4292 <col width="200px" class="parameters_annotations">
4293 </colgroup>
4294 <tbody>
4295 <tr>
4296 <td class="parameter_name"><p>ffuncs</p></td>
4297 <td class="parameter_description"><p>A font-function structure</p></td>
4298 <td class="parameter_annotations"> </td>
4299 </tr>
4300 <tr>
4301 <td class="parameter_name"><p>func</p></td>
4302 <td class="parameter_description"><p>The callback function to assign. </p></td>
4303 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4304 </tr>
4305 <tr>
4306 <td class="parameter_name"><p>user_data</p></td>
4307 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4308 </p></td>
4309 <td class="parameter_annotations"> </td>
4310 </tr>
4311 <tr>
4312 <td class="parameter_name"><p>destroy</p></td>
4313 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4314 is not needed anymore. </p></td>
4315 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4316 </tr>
4317 </tbody>
4318 </table></div>
4319 </div>
4320 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4321 </div>
4322 <hr>
4323 <div class="refsect2">
4324 <a name="hb-font-get-glyph-advances-func-t"></a><h3>hb_font_get_glyph_advances_func_t ()</h3>
4325 <pre class="programlisting"><span class="returnvalue">void</span>
4326 <span class="c_punctuation">(</span>*hb_font_get_glyph_advances_func_t<span class="c_punctuation">)</span> (<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>,
4327                                       <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4328                                       <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
4329                                       <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>,
4330                                       <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
4331                                       <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> *first_advance</code></em>,
4332                                       <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>,
4333                                       <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4334 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4335 <p>This method should retrieve the advances for a sequence of glyphs.</p>
4336 <div class="refsect3">
4337 <a name="hb-font-get-glyph-advances-func-t.parameters"></a><h4>Parameters</h4>
4338 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4339 <colgroup>
4340 <col width="150px" class="parameters_name">
4341 <col class="parameters_description">
4342 <col width="200px" class="parameters_annotations">
4343 </colgroup>
4344 <tbody>
4345 <tr>
4346 <td class="parameter_name"><p>font</p></td>
4347 <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>
4348 <td class="parameter_annotations"> </td>
4349 </tr>
4350 <tr>
4351 <td class="parameter_name"><p>font_data</p></td>
4352 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4353 user data pointer</p></td>
4354 <td class="parameter_annotations"> </td>
4355 </tr>
4356 <tr>
4357 <td class="parameter_name"><p>count</p></td>
4358 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
4359 <td class="parameter_annotations"> </td>
4360 </tr>
4361 <tr>
4362 <td class="parameter_name"><p>first_glyph</p></td>
4363 <td class="parameter_description"><p>The first glyph ID to query</p></td>
4364 <td class="parameter_annotations"> </td>
4365 </tr>
4366 <tr>
4367 <td class="parameter_name"><p>glyph_stride</p></td>
4368 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
4369 <td class="parameter_annotations"> </td>
4370 </tr>
4371 <tr>
4372 <td class="parameter_name"><p>first_advance</p></td>
4373 <td class="parameter_description"><p>The first advance retrieved. </p></td>
4374 <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>
4375 </tr>
4376 <tr>
4377 <td class="parameter_name"><p>advance_stride</p></td>
4378 <td class="parameter_description"><p>The stride between successive advances</p></td>
4379 <td class="parameter_annotations"> </td>
4380 </tr>
4381 <tr>
4382 <td class="parameter_name"><p>user_data</p></td>
4383 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4384 <td class="parameter_annotations"> </td>
4385 </tr>
4386 </tbody>
4387 </table></div>
4388 </div>
4389 </div>
4390 <hr>
4391 <div class="refsect2">
4392 <a name="hb-font-funcs-set-glyph-h-advances-func"></a><h3>hb_font_funcs_set_glyph_h_advances_func ()</h3>
4393 <pre class="programlisting"><span class="returnvalue">void</span>
4394 hb_font_funcs_set_glyph_h_advances_func
4395                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4396                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances-func-t" title="hb_font_get_glyph_h_advances_func_t"><span class="type">hb_font_get_glyph_h_advances_func_t</span></a> func</code></em>,
4397                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4398                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4399 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances-func-t" title="hb_font_get_glyph_h_advances_func_t"><span class="type">hb_font_get_glyph_h_advances_func_t</span></a>.</p>
4400 <div class="refsect3">
4401 <a name="hb-font-funcs-set-glyph-h-advances-func.parameters"></a><h4>Parameters</h4>
4402 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4403 <colgroup>
4404 <col width="150px" class="parameters_name">
4405 <col class="parameters_description">
4406 <col width="200px" class="parameters_annotations">
4407 </colgroup>
4408 <tbody>
4409 <tr>
4410 <td class="parameter_name"><p>ffuncs</p></td>
4411 <td class="parameter_description"><p>A font-function structure</p></td>
4412 <td class="parameter_annotations"> </td>
4413 </tr>
4414 <tr>
4415 <td class="parameter_name"><p>func</p></td>
4416 <td class="parameter_description"><p>The callback function to assign. </p></td>
4417 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4418 </tr>
4419 <tr>
4420 <td class="parameter_name"><p>user_data</p></td>
4421 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4422 </p></td>
4423 <td class="parameter_annotations"> </td>
4424 </tr>
4425 <tr>
4426 <td class="parameter_name"><p>destroy</p></td>
4427 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4428 is not needed anymore. </p></td>
4429 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4430 </tr>
4431 </tbody>
4432 </table></div>
4433 </div>
4434 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
4435 </div>
4436 <hr>
4437 <div class="refsect2">
4438 <a name="hb-font-funcs-set-glyph-v-advances-func"></a><h3>hb_font_funcs_set_glyph_v_advances_func ()</h3>
4439 <pre class="programlisting"><span class="returnvalue">void</span>
4440 hb_font_funcs_set_glyph_v_advances_func
4441                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4442                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t" title="hb_font_get_glyph_v_advances_func_t"><span class="type">hb_font_get_glyph_v_advances_func_t</span></a> func</code></em>,
4443                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4444                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4445 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t" title="hb_font_get_glyph_v_advances_func_t"><span class="type">hb_font_get_glyph_v_advances_func_t</span></a>.</p>
4446 <div class="refsect3">
4447 <a name="hb-font-funcs-set-glyph-v-advances-func.parameters"></a><h4>Parameters</h4>
4448 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4449 <colgroup>
4450 <col width="150px" class="parameters_name">
4451 <col class="parameters_description">
4452 <col width="200px" class="parameters_annotations">
4453 </colgroup>
4454 <tbody>
4455 <tr>
4456 <td class="parameter_name"><p>ffuncs</p></td>
4457 <td class="parameter_description"><p>A font-function structure</p></td>
4458 <td class="parameter_annotations"> </td>
4459 </tr>
4460 <tr>
4461 <td class="parameter_name"><p>func</p></td>
4462 <td class="parameter_description"><p>The callback function to assign. </p></td>
4463 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4464 </tr>
4465 <tr>
4466 <td class="parameter_name"><p>user_data</p></td>
4467 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4468 </p></td>
4469 <td class="parameter_annotations"> </td>
4470 </tr>
4471 <tr>
4472 <td class="parameter_name"><p>destroy</p></td>
4473 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4474 is not needed anymore. </p></td>
4475 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4476 </tr>
4477 </tbody>
4478 </table></div>
4479 </div>
4480 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
4481 </div>
4482 <hr>
4483 <div class="refsect2">
4484 <a name="hb-font-get-glyph-kerning-func-t"></a><h3>hb_font_get_glyph_kerning_func_t ()</h3>
4485 <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>
4486 <span class="c_punctuation">(</span>*hb_font_get_glyph_kerning_func_t<span class="c_punctuation">)</span> (<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>,
4487                                      <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4488                                      <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> first_glyph</code></em>,
4489                                      <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> second_glyph</code></em>,
4490                                      <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4491 <p>This method should retrieve the kerning-adjustment value for a glyph-pair in
4492 the specified font, for horizontal text segments.</p>
4493 <div class="refsect3">
4494 <a name="hb-font-get-glyph-kerning-func-t.parameters"></a><h4>Parameters</h4>
4495 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4496 <colgroup>
4497 <col width="150px" class="parameters_name">
4498 <col class="parameters_description">
4499 <col width="200px" class="parameters_annotations">
4500 </colgroup>
4501 <tbody>
4502 <tr>
4503 <td class="parameter_name"><p>font</p></td>
4504 <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>
4505 <td class="parameter_annotations"> </td>
4506 </tr>
4507 <tr>
4508 <td class="parameter_name"><p>font_data</p></td>
4509 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4510 user data pointer</p></td>
4511 <td class="parameter_annotations"> </td>
4512 </tr>
4513 <tr>
4514 <td class="parameter_name"><p>first_glyph</p></td>
4515 <td class="parameter_description"><p>The glyph ID of the first glyph in the glyph pair</p></td>
4516 <td class="parameter_annotations"> </td>
4517 </tr>
4518 <tr>
4519 <td class="parameter_name"><p>second_glyph</p></td>
4520 <td class="parameter_description"><p>The glyph ID of the second glyph in the glyph pair</p></td>
4521 <td class="parameter_annotations"> </td>
4522 </tr>
4523 <tr>
4524 <td class="parameter_name"><p>user_data</p></td>
4525 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4526 <td class="parameter_annotations"> </td>
4527 </tr>
4528 </tbody>
4529 </table></div>
4530 </div>
4531 </div>
4532 <hr>
4533 <div class="refsect2">
4534 <a name="hb-font-funcs-set-glyph-h-kerning-func"></a><h3>hb_font_funcs_set_glyph_h_kerning_func ()</h3>
4535 <pre class="programlisting"><span class="returnvalue">void</span>
4536 hb_font_funcs_set_glyph_h_kerning_func
4537                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4538                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t"><span class="type">hb_font_get_glyph_h_kerning_func_t</span></a> func</code></em>,
4539                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4540                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4541 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t"><span class="type">hb_font_get_glyph_h_kerning_func_t</span></a>.</p>
4542 <div class="refsect3">
4543 <a name="hb-font-funcs-set-glyph-h-kerning-func.parameters"></a><h4>Parameters</h4>
4544 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4545 <colgroup>
4546 <col width="150px" class="parameters_name">
4547 <col class="parameters_description">
4548 <col width="200px" class="parameters_annotations">
4549 </colgroup>
4550 <tbody>
4551 <tr>
4552 <td class="parameter_name"><p>ffuncs</p></td>
4553 <td class="parameter_description"><p>A font-function structure</p></td>
4554 <td class="parameter_annotations"> </td>
4555 </tr>
4556 <tr>
4557 <td class="parameter_name"><p>func</p></td>
4558 <td class="parameter_description"><p>The callback function to assign. </p></td>
4559 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4560 </tr>
4561 <tr>
4562 <td class="parameter_name"><p>user_data</p></td>
4563 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4564 </p></td>
4565 <td class="parameter_annotations"> </td>
4566 </tr>
4567 <tr>
4568 <td class="parameter_name"><p>destroy</p></td>
4569 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4570 is not needed anymore. </p></td>
4571 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4572 </tr>
4573 </tbody>
4574 </table></div>
4575 </div>
4576 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4577 </div>
4578 <hr>
4579 <div class="refsect2">
4580 <a name="hb-font-get-glyph-origin-func-t"></a><h3>hb_font_get_glyph_origin_func_t ()</h3>
4581 <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>
4582 <span class="c_punctuation">(</span>*hb_font_get_glyph_origin_func_t<span class="c_punctuation">)</span> (<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>,
4583                                     <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4584                                     <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>,
4585                                     <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> *x</code></em>,
4586                                     <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> *y</code></em>,
4587                                     <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4588 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4589 <p>This method should retrieve the (X,Y) coordinates (in font units) of the
4590 origin for a glyph. Each coordinate must be returned in an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a>
4591 output parameter.</p>
4592 <div class="refsect3">
4593 <a name="hb-font-get-glyph-origin-func-t.parameters"></a><h4>Parameters</h4>
4594 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4595 <colgroup>
4596 <col width="150px" class="parameters_name">
4597 <col class="parameters_description">
4598 <col width="200px" class="parameters_annotations">
4599 </colgroup>
4600 <tbody>
4601 <tr>
4602 <td class="parameter_name"><p>font</p></td>
4603 <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>
4604 <td class="parameter_annotations"> </td>
4605 </tr>
4606 <tr>
4607 <td class="parameter_name"><p>font_data</p></td>
4608 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4609 user data pointer</p></td>
4610 <td class="parameter_annotations"> </td>
4611 </tr>
4612 <tr>
4613 <td class="parameter_name"><p>glyph</p></td>
4614 <td class="parameter_description"><p>The glyph ID to query</p></td>
4615 <td class="parameter_annotations"> </td>
4616 </tr>
4617 <tr>
4618 <td class="parameter_name"><p>x</p></td>
4619 <td class="parameter_description"><p>The X coordinate of the origin. </p></td>
4620 <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>
4621 </tr>
4622 <tr>
4623 <td class="parameter_name"><p>y</p></td>
4624 <td class="parameter_description"><p>The Y coordinate of the origin. </p></td>
4625 <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>
4626 </tr>
4627 <tr>
4628 <td class="parameter_name"><p>user_data</p></td>
4629 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4630 <td class="parameter_annotations"> </td>
4631 </tr>
4632 </tbody>
4633 </table></div>
4634 </div>
4635 <div class="refsect3">
4636 <a name="hb-font-get-glyph-origin-func-t.returns"></a><h4>Returns</h4>
4637 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
4638 </div>
4639 </div>
4640 <hr>
4641 <div class="refsect2">
4642 <a name="hb-font-funcs-set-glyph-h-origin-func"></a><h3>hb_font_funcs_set_glyph_h_origin_func ()</h3>
4643 <pre class="programlisting"><span class="returnvalue">void</span>
4644 hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4645                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t" title="hb_font_get_glyph_h_origin_func_t"><span class="type">hb_font_get_glyph_h_origin_func_t</span></a> func</code></em>,
4646                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4647                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4648 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t" title="hb_font_get_glyph_h_origin_func_t"><span class="type">hb_font_get_glyph_h_origin_func_t</span></a>.</p>
4649 <div class="refsect3">
4650 <a name="hb-font-funcs-set-glyph-h-origin-func.parameters"></a><h4>Parameters</h4>
4651 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4652 <colgroup>
4653 <col width="150px" class="parameters_name">
4654 <col class="parameters_description">
4655 <col width="200px" class="parameters_annotations">
4656 </colgroup>
4657 <tbody>
4658 <tr>
4659 <td class="parameter_name"><p>ffuncs</p></td>
4660 <td class="parameter_description"><p>A font-function structure</p></td>
4661 <td class="parameter_annotations"> </td>
4662 </tr>
4663 <tr>
4664 <td class="parameter_name"><p>func</p></td>
4665 <td class="parameter_description"><p>The callback function to assign. </p></td>
4666 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4667 </tr>
4668 <tr>
4669 <td class="parameter_name"><p>user_data</p></td>
4670 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4671 </p></td>
4672 <td class="parameter_annotations"> </td>
4673 </tr>
4674 <tr>
4675 <td class="parameter_name"><p>destroy</p></td>
4676 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4677 is not needed anymore. </p></td>
4678 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4679 </tr>
4680 </tbody>
4681 </table></div>
4682 </div>
4683 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4684 </div>
4685 <hr>
4686 <div class="refsect2">
4687 <a name="hb-font-funcs-set-glyph-v-origin-func"></a><h3>hb_font_funcs_set_glyph_v_origin_func ()</h3>
4688 <pre class="programlisting"><span class="returnvalue">void</span>
4689 hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4690                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t" title="hb_font_get_glyph_v_origin_func_t"><span class="type">hb_font_get_glyph_v_origin_func_t</span></a> func</code></em>,
4691                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4692                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4693 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t" title="hb_font_get_glyph_v_origin_func_t"><span class="type">hb_font_get_glyph_v_origin_func_t</span></a>.</p>
4694 <div class="refsect3">
4695 <a name="hb-font-funcs-set-glyph-v-origin-func.parameters"></a><h4>Parameters</h4>
4696 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4697 <colgroup>
4698 <col width="150px" class="parameters_name">
4699 <col class="parameters_description">
4700 <col width="200px" class="parameters_annotations">
4701 </colgroup>
4702 <tbody>
4703 <tr>
4704 <td class="parameter_name"><p>ffuncs</p></td>
4705 <td class="parameter_description"><p>A font-function structure</p></td>
4706 <td class="parameter_annotations"> </td>
4707 </tr>
4708 <tr>
4709 <td class="parameter_name"><p>func</p></td>
4710 <td class="parameter_description"><p>The callback function to assign. </p></td>
4711 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4712 </tr>
4713 <tr>
4714 <td class="parameter_name"><p>user_data</p></td>
4715 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4716 </p></td>
4717 <td class="parameter_annotations"> </td>
4718 </tr>
4719 <tr>
4720 <td class="parameter_name"><p>destroy</p></td>
4721 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4722 is not needed anymore. </p></td>
4723 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4724 </tr>
4725 </tbody>
4726 </table></div>
4727 </div>
4728 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4729 </div>
4730 <hr>
4731 <div class="refsect2">
4732 <a name="hb-font-get-glyph-name-func-t"></a><h3>hb_font_get_glyph_name_func_t ()</h3>
4733 <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>
4734 <span class="c_punctuation">(</span>*hb_font_get_glyph_name_func_t<span class="c_punctuation">)</span> (<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>,
4735                                   <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4736                                   <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>,
4737                                   <em class="parameter"><code><span class="type">char</span> *name</code></em>,
4738                                   <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>,
4739                                   <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4740 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4741 <p>This method should retrieve the glyph name that corresponds to a
4742 glyph ID. The name should be returned in a string output parameter.</p>
4743 <div class="refsect3">
4744 <a name="hb-font-get-glyph-name-func-t.parameters"></a><h4>Parameters</h4>
4745 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4746 <colgroup>
4747 <col width="150px" class="parameters_name">
4748 <col class="parameters_description">
4749 <col width="200px" class="parameters_annotations">
4750 </colgroup>
4751 <tbody>
4752 <tr>
4753 <td class="parameter_name"><p>font</p></td>
4754 <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>
4755 <td class="parameter_annotations"> </td>
4756 </tr>
4757 <tr>
4758 <td class="parameter_name"><p>font_data</p></td>
4759 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4760 user data pointer</p></td>
4761 <td class="parameter_annotations"> </td>
4762 </tr>
4763 <tr>
4764 <td class="parameter_name"><p>glyph</p></td>
4765 <td class="parameter_description"><p>The glyph ID to query</p></td>
4766 <td class="parameter_annotations"> </td>
4767 </tr>
4768 <tr>
4769 <td class="parameter_name"><p>name</p></td>
4770 <td class="parameter_description"><p>Name string retrieved for the glyph ID. </p></td>
4771 <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=size]</span></td>
4772 </tr>
4773 <tr>
4774 <td class="parameter_name"><p>size</p></td>
4775 <td class="parameter_description"><p>Length of the glyph-name string retrieved</p></td>
4776 <td class="parameter_annotations"> </td>
4777 </tr>
4778 <tr>
4779 <td class="parameter_name"><p>user_data</p></td>
4780 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4781 <td class="parameter_annotations"> </td>
4782 </tr>
4783 </tbody>
4784 </table></div>
4785 </div>
4786 <div class="refsect3">
4787 <a name="hb-font-get-glyph-name-func-t.returns"></a><h4>Returns</h4>
4788 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
4789 </div>
4790 </div>
4791 <hr>
4792 <div class="refsect2">
4793 <a name="hb-font-funcs-set-glyph-name-func"></a><h3>hb_font_funcs_set_glyph_name_func ()</h3>
4794 <pre class="programlisting"><span class="returnvalue">void</span>
4795 hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4796                                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name-func-t" title="hb_font_get_glyph_name_func_t ()"><span class="type">hb_font_get_glyph_name_func_t</span></a> func</code></em>,
4797                                    <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4798                                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4799 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name-func-t" title="hb_font_get_glyph_name_func_t ()"><span class="type">hb_font_get_glyph_name_func_t</span></a>.</p>
4800 <div class="refsect3">
4801 <a name="hb-font-funcs-set-glyph-name-func.parameters"></a><h4>Parameters</h4>
4802 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4803 <colgroup>
4804 <col width="150px" class="parameters_name">
4805 <col class="parameters_description">
4806 <col width="200px" class="parameters_annotations">
4807 </colgroup>
4808 <tbody>
4809 <tr>
4810 <td class="parameter_name"><p>ffuncs</p></td>
4811 <td class="parameter_description"><p>A font-function structure</p></td>
4812 <td class="parameter_annotations"> </td>
4813 </tr>
4814 <tr>
4815 <td class="parameter_name"><p>func</p></td>
4816 <td class="parameter_description"><p>The callback function to assign. </p></td>
4817 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4818 </tr>
4819 <tr>
4820 <td class="parameter_name"><p>user_data</p></td>
4821 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4822 </p></td>
4823 <td class="parameter_annotations"> </td>
4824 </tr>
4825 <tr>
4826 <td class="parameter_name"><p>destroy</p></td>
4827 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4828 is not needed anymore. </p></td>
4829 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4830 </tr>
4831 </tbody>
4832 </table></div>
4833 </div>
4834 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4835 </div>
4836 <hr>
4837 <div class="refsect2">
4838 <a name="hb-font-draw-glyph-func-t"></a><h3>hb_font_draw_glyph_func_t ()</h3>
4839 <pre class="programlisting"><span class="returnvalue">void</span>
4840 <span class="c_punctuation">(</span>*hb_font_draw_glyph_func_t<span class="c_punctuation">)</span> (<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>,
4841                               <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4842                               <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>,
4843                               <em class="parameter"><code><a class="link" href="harfbuzz-hb-draw.html#hb-draw-funcs-t" title="hb_draw_funcs_t"><span class="type">hb_draw_funcs_t</span></a> *draw_funcs</code></em>,
4844                               <em class="parameter"><code><span class="type">void</span> *draw_data</code></em>,
4845                               <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4846 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4847 <div class="refsect3">
4848 <a name="hb-font-draw-glyph-func-t.parameters"></a><h4>Parameters</h4>
4849 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4850 <colgroup>
4851 <col width="150px" class="parameters_name">
4852 <col class="parameters_description">
4853 <col width="200px" class="parameters_annotations">
4854 </colgroup>
4855 <tbody>
4856 <tr>
4857 <td class="parameter_name"><p>font</p></td>
4858 <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>
4859 <td class="parameter_annotations"> </td>
4860 </tr>
4861 <tr>
4862 <td class="parameter_name"><p>font_data</p></td>
4863 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4864 user data pointer</p></td>
4865 <td class="parameter_annotations"> </td>
4866 </tr>
4867 <tr>
4868 <td class="parameter_name"><p>glyph</p></td>
4869 <td class="parameter_description"><p>The glyph ID to query</p></td>
4870 <td class="parameter_annotations"> </td>
4871 </tr>
4872 <tr>
4873 <td class="parameter_name"><p>draw_funcs</p></td>
4874 <td class="parameter_description"><p>The draw functions to send the shape data to</p></td>
4875 <td class="parameter_annotations"> </td>
4876 </tr>
4877 <tr>
4878 <td class="parameter_name"><p>draw_data</p></td>
4879 <td class="parameter_description"><p>The data accompanying the draw functions</p></td>
4880 <td class="parameter_annotations"> </td>
4881 </tr>
4882 <tr>
4883 <td class="parameter_name"><p>user_data</p></td>
4884 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4885 <td class="parameter_annotations"> </td>
4886 </tr>
4887 </tbody>
4888 </table></div>
4889 </div>
4890 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
4891 </div>
4892 <hr>
4893 <div class="refsect2">
4894 <a name="hb-font-funcs-set-draw-glyph-func"></a><h3>hb_font_funcs_set_draw_glyph_func ()</h3>
4895 <pre class="programlisting"><span class="returnvalue">void</span>
4896 hb_font_funcs_set_draw_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
4897                                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-draw-glyph-func-t" title="hb_font_draw_glyph_func_t ()"><span class="type">hb_font_draw_glyph_func_t</span></a> func</code></em>,
4898                                    <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4899                                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
4900 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-draw-glyph-func-t" title="hb_font_draw_glyph_func_t ()"><span class="type">hb_font_draw_glyph_func_t</span></a>.</p>
4901 <div class="refsect3">
4902 <a name="hb-font-funcs-set-draw-glyph-func.parameters"></a><h4>Parameters</h4>
4903 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4904 <colgroup>
4905 <col width="150px" class="parameters_name">
4906 <col class="parameters_description">
4907 <col width="200px" class="parameters_annotations">
4908 </colgroup>
4909 <tbody>
4910 <tr>
4911 <td class="parameter_name"><p>ffuncs</p></td>
4912 <td class="parameter_description"><p>A font-function structure</p></td>
4913 <td class="parameter_annotations"> </td>
4914 </tr>
4915 <tr>
4916 <td class="parameter_name"><p>func</p></td>
4917 <td class="parameter_description"><p>The callback function to assign. </p></td>
4918 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
4919 </tr>
4920 <tr>
4921 <td class="parameter_name"><p>user_data</p></td>
4922 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4923 </p></td>
4924 <td class="parameter_annotations"> </td>
4925 </tr>
4926 <tr>
4927 <td class="parameter_name"><p>destroy</p></td>
4928 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4929 is not needed anymore. </p></td>
4930 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
4931 </tr>
4932 </tbody>
4933 </table></div>
4934 </div>
4935 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
4936 </div>
4937 <hr>
4938 <div class="refsect2">
4939 <a name="hb-font-paint-glyph-func-t"></a><h3>hb_font_paint_glyph_func_t ()</h3>
4940 <pre class="programlisting"><span class="returnvalue">void</span>
4941 <span class="c_punctuation">(</span>*hb_font_paint_glyph_func_t<span class="c_punctuation">)</span> (<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>,
4942                                <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4943                                <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>,
4944                                <em class="parameter"><code><a class="link" href="harfbuzz-hb-paint.html#hb-paint-funcs-t" title="hb_paint_funcs_t"><span class="type">hb_paint_funcs_t</span></a> *paint_funcs</code></em>,
4945                                <em class="parameter"><code><span class="type">void</span> *paint_data</code></em>,
4946                                <em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>,
4947                                <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> foreground</code></em>,
4948                                <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4949 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
4950 <div class="refsect3">
4951 <a name="hb-font-paint-glyph-func-t.parameters"></a><h4>Parameters</h4>
4952 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4953 <colgroup>
4954 <col width="150px" class="parameters_name">
4955 <col class="parameters_description">
4956 <col width="200px" class="parameters_annotations">
4957 </colgroup>
4958 <tbody>
4959 <tr>
4960 <td class="parameter_name"><p>font</p></td>
4961 <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>
4962 <td class="parameter_annotations"> </td>
4963 </tr>
4964 <tr>
4965 <td class="parameter_name"><p>font_data</p></td>
4966 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4967 user data pointer</p></td>
4968 <td class="parameter_annotations"> </td>
4969 </tr>
4970 <tr>
4971 <td class="parameter_name"><p>glyph</p></td>
4972 <td class="parameter_description"><p>The glyph ID to query</p></td>
4973 <td class="parameter_annotations"> </td>
4974 </tr>
4975 <tr>
4976 <td class="parameter_name"><p>paint_funcs</p></td>
4977 <td class="parameter_description"><p>The paint functions to use</p></td>
4978 <td class="parameter_annotations"> </td>
4979 </tr>
4980 <tr>
4981 <td class="parameter_name"><p>paint_data</p></td>
4982 <td class="parameter_description"><p>The data accompanying the paint functions</p></td>
4983 <td class="parameter_annotations"> </td>
4984 </tr>
4985 <tr>
4986 <td class="parameter_name"><p>palette_index</p></td>
4987 <td class="parameter_description"><p>The color palette to use</p></td>
4988 <td class="parameter_annotations"> </td>
4989 </tr>
4990 <tr>
4991 <td class="parameter_name"><p>foreground</p></td>
4992 <td class="parameter_description"><p>The foreground color</p></td>
4993 <td class="parameter_annotations"> </td>
4994 </tr>
4995 <tr>
4996 <td class="parameter_name"><p>user_data</p></td>
4997 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4998 <td class="parameter_annotations"> </td>
4999 </tr>
5000 </tbody>
5001 </table></div>
5002 </div>
5003 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
5004 </div>
5005 <hr>
5006 <div class="refsect2">
5007 <a name="hb-font-funcs-set-paint-glyph-func"></a><h3>hb_font_funcs_set_paint_glyph_func ()</h3>
5008 <pre class="programlisting"><span class="returnvalue">void</span>
5009 hb_font_funcs_set_paint_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
5010                                     <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-paint-glyph-func-t" title="hb_font_paint_glyph_func_t ()"><span class="type">hb_font_paint_glyph_func_t</span></a> func</code></em>,
5011                                     <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
5012                                     <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
5013 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-paint-glyph-func-t" title="hb_font_paint_glyph_func_t ()"><span class="type">hb_font_paint_glyph_func_t</span></a>.</p>
5014 <div class="refsect3">
5015 <a name="hb-font-funcs-set-paint-glyph-func.parameters"></a><h4>Parameters</h4>
5016 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5017 <colgroup>
5018 <col width="150px" class="parameters_name">
5019 <col class="parameters_description">
5020 <col width="200px" class="parameters_annotations">
5021 </colgroup>
5022 <tbody>
5023 <tr>
5024 <td class="parameter_name"><p>ffuncs</p></td>
5025 <td class="parameter_description"><p>A font-function structure</p></td>
5026 <td class="parameter_annotations"> </td>
5027 </tr>
5028 <tr>
5029 <td class="parameter_name"><p>func</p></td>
5030 <td class="parameter_description"><p>The callback function to assign. </p></td>
5031 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
5032 </tr>
5033 <tr>
5034 <td class="parameter_name"><p>user_data</p></td>
5035 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
5036 </p></td>
5037 <td class="parameter_annotations"> </td>
5038 </tr>
5039 <tr>
5040 <td class="parameter_name"><p>destroy</p></td>
5041 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
5042 is no longer needed. </p></td>
5043 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
5044 </tr>
5045 </tbody>
5046 </table></div>
5047 </div>
5048 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
5049 </div>
5050 <hr>
5051 <div class="refsect2">
5052 <a name="hb-font-get-nominal-glyph-func-t"></a><h3>hb_font_get_nominal_glyph_func_t ()</h3>
5053 <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>
5054 <span class="c_punctuation">(</span>*hb_font_get_nominal_glyph_func_t<span class="c_punctuation">)</span> (<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>,
5055                                      <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
5056                                      <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> unicode</code></em>,
5057                                      <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>,
5058                                      <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
5059 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5060 <p>This method should retrieve the nominal glyph ID for a specified Unicode code
5061 point. Glyph IDs must be returned in a <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> output parameter.</p>
5062 <div class="refsect3">
5063 <a name="hb-font-get-nominal-glyph-func-t.parameters"></a><h4>Parameters</h4>
5064 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5065 <colgroup>
5066 <col width="150px" class="parameters_name">
5067 <col class="parameters_description">
5068 <col width="200px" class="parameters_annotations">
5069 </colgroup>
5070 <tbody>
5071 <tr>
5072 <td class="parameter_name"><p>font</p></td>
5073 <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>
5074 <td class="parameter_annotations"> </td>
5075 </tr>
5076 <tr>
5077 <td class="parameter_name"><p>font_data</p></td>
5078 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
5079 user data pointer</p></td>
5080 <td class="parameter_annotations"> </td>
5081 </tr>
5082 <tr>
5083 <td class="parameter_name"><p>unicode</p></td>
5084 <td class="parameter_description"><p>The Unicode code point to query</p></td>
5085 <td class="parameter_annotations"> </td>
5086 </tr>
5087 <tr>
5088 <td class="parameter_name"><p>glyph</p></td>
5089 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
5090 <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>
5091 </tr>
5092 <tr>
5093 <td class="parameter_name"><p>user_data</p></td>
5094 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
5095 <td class="parameter_annotations"> </td>
5096 </tr>
5097 </tbody>
5098 </table></div>
5099 </div>
5100 <div class="refsect3">
5101 <a name="hb-font-get-nominal-glyph-func-t.returns"></a><h4>Returns</h4>
5102 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
5103 </div>
5104 </div>
5105 <hr>
5106 <div class="refsect2">
5107 <a name="hb-font-funcs-set-nominal-glyph-func"></a><h3>hb_font_funcs_set_nominal_glyph_func ()</h3>
5108 <pre class="programlisting"><span class="returnvalue">void</span>
5109 hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
5110                                       <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t" title="hb_font_get_nominal_glyph_func_t ()"><span class="type">hb_font_get_nominal_glyph_func_t</span></a> func</code></em>,
5111                                       <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
5112                                       <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
5113 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t" title="hb_font_get_nominal_glyph_func_t ()"><span class="type">hb_font_get_nominal_glyph_func_t</span></a>.</p>
5114 <div class="refsect3">
5115 <a name="hb-font-funcs-set-nominal-glyph-func.parameters"></a><h4>Parameters</h4>
5116 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5117 <colgroup>
5118 <col width="150px" class="parameters_name">
5119 <col class="parameters_description">
5120 <col width="200px" class="parameters_annotations">
5121 </colgroup>
5122 <tbody>
5123 <tr>
5124 <td class="parameter_name"><p>ffuncs</p></td>
5125 <td class="parameter_description"><p>A font-function structure</p></td>
5126 <td class="parameter_annotations"> </td>
5127 </tr>
5128 <tr>
5129 <td class="parameter_name"><p>func</p></td>
5130 <td class="parameter_description"><p>The callback function to assign. </p></td>
5131 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
5132 </tr>
5133 <tr>
5134 <td class="parameter_name"><p>user_data</p></td>
5135 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
5136 </p></td>
5137 <td class="parameter_annotations"> </td>
5138 </tr>
5139 <tr>
5140 <td class="parameter_name"><p>destroy</p></td>
5141 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
5142 is not needed anymore. </p></td>
5143 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
5144 </tr>
5145 </tbody>
5146 </table></div>
5147 </div>
5148 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
5149 </div>
5150 <hr>
5151 <div class="refsect2">
5152 <a name="hb-font-get-nominal-glyphs-func-t"></a><h3>hb_font_get_nominal_glyphs_func_t ()</h3>
5153 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
5154 <span class="c_punctuation">(</span>*hb_font_get_nominal_glyphs_func_t<span class="c_punctuation">)</span> (<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>,
5155                                       <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
5156                                       <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
5157                                       <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_unicode</code></em>,
5158                                       <em class="parameter"><code>unsigned <span class="type">int</span> unicode_stride</code></em>,
5159                                       <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> *first_glyph</code></em>,
5160                                       <em class="parameter"><code>unsigned <span class="type">int</span> glyph_stride</code></em>,
5161                                       <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
5162 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5163 <p>This method should retrieve the nominal glyph IDs for a sequence of
5164 Unicode code points. Glyph IDs must be returned in a <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a>
5165 output parameter.</p>
5166 <div class="refsect3">
5167 <a name="hb-font-get-nominal-glyphs-func-t.parameters"></a><h4>Parameters</h4>
5168 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5169 <colgroup>
5170 <col width="150px" class="parameters_name">
5171 <col class="parameters_description">
5172 <col width="200px" class="parameters_annotations">
5173 </colgroup>
5174 <tbody>
5175 <tr>
5176 <td class="parameter_name"><p>font</p></td>
5177 <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>
5178 <td class="parameter_annotations"> </td>
5179 </tr>
5180 <tr>
5181 <td class="parameter_name"><p>font_data</p></td>
5182 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
5183 user data pointer</p></td>
5184 <td class="parameter_annotations"> </td>
5185 </tr>
5186 <tr>
5187 <td class="parameter_name"><p>count</p></td>
5188 <td class="parameter_description"><p>number of code points to query</p></td>
5189 <td class="parameter_annotations"> </td>
5190 </tr>
5191 <tr>
5192 <td class="parameter_name"><p>first_unicode</p></td>
5193 <td class="parameter_description"><p>The first Unicode code point to query</p></td>
5194 <td class="parameter_annotations"> </td>
5195 </tr>
5196 <tr>
5197 <td class="parameter_name"><p>unicode_stride</p></td>
5198 <td class="parameter_description"><p>The stride between successive code points</p></td>
5199 <td class="parameter_annotations"> </td>
5200 </tr>
5201 <tr>
5202 <td class="parameter_name"><p>first_glyph</p></td>
5203 <td class="parameter_description"><p>The first glyph ID retrieved. </p></td>
5204 <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>
5205 </tr>
5206 <tr>
5207 <td class="parameter_name"><p>glyph_stride</p></td>
5208 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
5209 <td class="parameter_annotations"> </td>
5210 </tr>
5211 <tr>
5212 <td class="parameter_name"><p>user_data</p></td>
5213 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
5214 <td class="parameter_annotations"> </td>
5215 </tr>
5216 </tbody>
5217 </table></div>
5218 </div>
5219 <div class="refsect3">
5220 <a name="hb-font-get-nominal-glyphs-func-t.returns"></a><h4>Returns</h4>
5221 <p> the number of code points processed</p>
5222 </div>
5223 </div>
5224 <hr>
5225 <div class="refsect2">
5226 <a name="hb-font-funcs-set-nominal-glyphs-func"></a><h3>hb_font_funcs_set_nominal_glyphs_func ()</h3>
5227 <pre class="programlisting"><span class="returnvalue">void</span>
5228 hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
5229                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs-func-t" title="hb_font_get_nominal_glyphs_func_t ()"><span class="type">hb_font_get_nominal_glyphs_func_t</span></a> func</code></em>,
5230                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
5231                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
5232 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs-func-t" title="hb_font_get_nominal_glyphs_func_t ()"><span class="type">hb_font_get_nominal_glyphs_func_t</span></a>.</p>
5233 <div class="refsect3">
5234 <a name="hb-font-funcs-set-nominal-glyphs-func.parameters"></a><h4>Parameters</h4>
5235 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5236 <colgroup>
5237 <col width="150px" class="parameters_name">
5238 <col class="parameters_description">
5239 <col width="200px" class="parameters_annotations">
5240 </colgroup>
5241 <tbody>
5242 <tr>
5243 <td class="parameter_name"><p>ffuncs</p></td>
5244 <td class="parameter_description"><p>A font-function structure</p></td>
5245 <td class="parameter_annotations"> </td>
5246 </tr>
5247 <tr>
5248 <td class="parameter_name"><p>func</p></td>
5249 <td class="parameter_description"><p>The callback function to assign. </p></td>
5250 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
5251 </tr>
5252 <tr>
5253 <td class="parameter_name"><p>user_data</p></td>
5254 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
5255 </p></td>
5256 <td class="parameter_annotations"> </td>
5257 </tr>
5258 <tr>
5259 <td class="parameter_name"><p>destroy</p></td>
5260 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
5261 is not needed anymore. </p></td>
5262 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
5263 </tr>
5264 </tbody>
5265 </table></div>
5266 </div>
5267 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
5268 </div>
5269 <hr>
5270 <div class="refsect2">
5271 <a name="hb-font-get-variation-glyph-func-t"></a><h3>hb_font_get_variation_glyph_func_t ()</h3>
5272 <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>
5273 <span class="c_punctuation">(</span>*hb_font_get_variation_glyph_func_t<span class="c_punctuation">)</span> (<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>,
5274                                        <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
5275                                        <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> unicode</code></em>,
5276                                        <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> variation_selector</code></em>,
5277                                        <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>,
5278                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
5279 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5280 <p>This method should retrieve the glyph ID for a specified Unicode code point
5281 followed by a specified Variation Selector code point. Glyph IDs must be
5282 returned in a <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> output parameter.</p>
5283 <div class="refsect3">
5284 <a name="hb-font-get-variation-glyph-func-t.parameters"></a><h4>Parameters</h4>
5285 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5286 <colgroup>
5287 <col width="150px" class="parameters_name">
5288 <col class="parameters_description">
5289 <col width="200px" class="parameters_annotations">
5290 </colgroup>
5291 <tbody>
5292 <tr>
5293 <td class="parameter_name"><p>font</p></td>
5294 <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>
5295 <td class="parameter_annotations"> </td>
5296 </tr>
5297 <tr>
5298 <td class="parameter_name"><p>font_data</p></td>
5299 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
5300 user data pointer</p></td>
5301 <td class="parameter_annotations"> </td>
5302 </tr>
5303 <tr>
5304 <td class="parameter_name"><p>unicode</p></td>
5305 <td class="parameter_description"><p>The Unicode code point to query</p></td>
5306 <td class="parameter_annotations"> </td>
5307 </tr>
5308 <tr>
5309 <td class="parameter_name"><p>variation_selector</p></td>
5310 <td class="parameter_description"><p>The  variation-selector code point to query</p></td>
5311 <td class="parameter_annotations"> </td>
5312 </tr>
5313 <tr>
5314 <td class="parameter_name"><p>glyph</p></td>
5315 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
5316 <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>
5317 </tr>
5318 <tr>
5319 <td class="parameter_name"><p>user_data</p></td>
5320 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
5321 <td class="parameter_annotations"> </td>
5322 </tr>
5323 </tbody>
5324 </table></div>
5325 </div>
5326 <div class="refsect3">
5327 <a name="hb-font-get-variation-glyph-func-t.returns"></a><h4>Returns</h4>
5328 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
5329 </div>
5330 </div>
5331 <hr>
5332 <div class="refsect2">
5333 <a name="hb-font-funcs-set-variation-glyph-func"></a><h3>hb_font_funcs_set_variation_glyph_func ()</h3>
5334 <pre class="programlisting"><span class="returnvalue">void</span>
5335 hb_font_funcs_set_variation_glyph_func
5336                                (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
5337                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph-func-t" title="hb_font_get_variation_glyph_func_t ()"><span class="type">hb_font_get_variation_glyph_func_t</span></a> func</code></em>,
5338                                 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
5339                                 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
5340 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph-func-t" title="hb_font_get_variation_glyph_func_t ()"><span class="type">hb_font_get_variation_glyph_func_t</span></a>.</p>
5341 <div class="refsect3">
5342 <a name="hb-font-funcs-set-variation-glyph-func.parameters"></a><h4>Parameters</h4>
5343 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5344 <colgroup>
5345 <col width="150px" class="parameters_name">
5346 <col class="parameters_description">
5347 <col width="200px" class="parameters_annotations">
5348 </colgroup>
5349 <tbody>
5350 <tr>
5351 <td class="parameter_name"><p>ffuncs</p></td>
5352 <td class="parameter_description"><p>A font-function structure</p></td>
5353 <td class="parameter_annotations"> </td>
5354 </tr>
5355 <tr>
5356 <td class="parameter_name"><p>func</p></td>
5357 <td class="parameter_description"><p>The callback function to assign. </p></td>
5358 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
5359 </tr>
5360 <tr>
5361 <td class="parameter_name"><p>user_data</p></td>
5362 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
5363 </p></td>
5364 <td class="parameter_annotations"> </td>
5365 </tr>
5366 <tr>
5367 <td class="parameter_name"><p>destroy</p></td>
5368 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
5369 is not needed anymore. </p></td>
5370 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
5371 </tr>
5372 </tbody>
5373 </table></div>
5374 </div>
5375 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
5376 </div>
5377 <hr>
5378 <div class="refsect2">
5379 <a name="hb-reference-table-func-t"></a><h3>hb_reference_table_func_t ()</h3>
5380 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
5381 <span class="c_punctuation">(</span>*hb_reference_table_func_t<span class="c_punctuation">)</span> (<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>,
5382                               <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag</code></em>,
5383                               <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
5384 <p>Callback function for <a class="link" href="harfbuzz-hb-face.html#hb-face-create-for-tables" title="hb_face_create_for_tables ()"><code class="function">hb_face_create_for_tables()</code></a>.</p>
5385 <div class="refsect3">
5386 <a name="hb-reference-table-func-t.parameters"></a><h4>Parameters</h4>
5387 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5388 <colgroup>
5389 <col width="150px" class="parameters_name">
5390 <col class="parameters_description">
5391 <col width="200px" class="parameters_annotations">
5392 </colgroup>
5393 <tbody>
5394 <tr>
5395 <td class="parameter_name"><p>face</p></td>
5396 <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to reference table for</p></td>
5397 <td class="parameter_annotations"> </td>
5398 </tr>
5399 <tr>
5400 <td class="parameter_name"><p>tag</p></td>
5401 <td class="parameter_description"><p>the tag of the table to reference</p></td>
5402 <td class="parameter_annotations"> </td>
5403 </tr>
5404 <tr>
5405 <td class="parameter_name"><p>user_data</p></td>
5406 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
5407 <td class="parameter_annotations"> </td>
5408 </tr>
5409 </tbody>
5410 </table></div>
5411 </div>
5412 <div class="refsect3">
5413 <a name="hb-reference-table-func-t.returns"></a><h4>Returns</h4>
5414 <p>A pointer to the <em class="parameter"><code>tag</code></em>
5415 table within <em class="parameter"><code>face</code></em>
5416 . </p>
5417 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
5418 </div>
5419 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
5420 </div>
5421 <hr>
5422 <div class="refsect2">
5423 <a name="hb-font-get-font-extents-func-t"></a><h3>hb_font_get_font_extents_func_t ()</h3>
5424 <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>
5425 <span class="c_punctuation">(</span>*hb_font_get_font_extents_func_t<span class="c_punctuation">)</span> (<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>,
5426                                     <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
5427                                     <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-extents-t" title="hb_font_extents_t"><span class="type">hb_font_extents_t</span></a> *extents</code></em>,
5428                                     <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
5429 <p>This method should retrieve the extents for a font.</p>
5430 <div class="refsect3">
5431 <a name="hb-font-get-font-extents-func-t.parameters"></a><h4>Parameters</h4>
5432 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5433 <colgroup>
5434 <col width="150px" class="parameters_name">
5435 <col class="parameters_description">
5436 <col width="200px" class="parameters_annotations">
5437 </colgroup>
5438 <tbody>
5439 <tr>
5440 <td class="parameter_name"><p>font</p></td>
5441 <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>
5442 <td class="parameter_annotations"> </td>
5443 </tr>
5444 <tr>
5445 <td class="parameter_name"><p>font_data</p></td>
5446 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
5447 user data pointer</p></td>
5448 <td class="parameter_annotations"> </td>
5449 </tr>
5450 <tr>
5451 <td class="parameter_name"><p>extents</p></td>
5452 <td class="parameter_description"><p>The font extents retrieved. </p></td>
5453 <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>
5454 </tr>
5455 <tr>
5456 <td class="parameter_name"><p>user_data</p></td>
5457 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
5458 <td class="parameter_annotations"> </td>
5459 </tr>
5460 </tbody>
5461 </table></div>
5462 </div>
5463 </div>
5464 <hr>
5465 <div class="refsect2">
5466 <a name="hb-font-funcs-set-font-h-extents-func"></a><h3>hb_font_funcs_set_font_h_extents_func ()</h3>
5467 <pre class="programlisting"><span class="returnvalue">void</span>
5468 hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
5469                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-h-extents-func-t" title="hb_font_get_font_h_extents_func_t"><span class="type">hb_font_get_font_h_extents_func_t</span></a> func</code></em>,
5470                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
5471                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
5472 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-h-extents-func-t" title="hb_font_get_font_h_extents_func_t"><span class="type">hb_font_get_font_h_extents_func_t</span></a>.</p>
5473 <div class="refsect3">
5474 <a name="hb-font-funcs-set-font-h-extents-func.parameters"></a><h4>Parameters</h4>
5475 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5476 <colgroup>
5477 <col width="150px" class="parameters_name">
5478 <col class="parameters_description">
5479 <col width="200px" class="parameters_annotations">
5480 </colgroup>
5481 <tbody>
5482 <tr>
5483 <td class="parameter_name"><p>ffuncs</p></td>
5484 <td class="parameter_description"><p>A font-function structure</p></td>
5485 <td class="parameter_annotations"> </td>
5486 </tr>
5487 <tr>
5488 <td class="parameter_name"><p>func</p></td>
5489 <td class="parameter_description"><p>The callback function to assign. </p></td>
5490 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
5491 </tr>
5492 <tr>
5493 <td class="parameter_name"><p>user_data</p></td>
5494 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
5495 </p></td>
5496 <td class="parameter_annotations"> </td>
5497 </tr>
5498 <tr>
5499 <td class="parameter_name"><p>destroy</p></td>
5500 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
5501 is not needed anymore. </p></td>
5502 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
5503 </tr>
5504 </tbody>
5505 </table></div>
5506 </div>
5507 <p class="since">Since: <a class="link" href="api-index-1-1-2.html#api-index-1.1.2">1.1.2</a></p>
5508 </div>
5509 <hr>
5510 <div class="refsect2">
5511 <a name="hb-font-funcs-set-font-v-extents-func"></a><h3>hb_font_funcs_set_font_v_extents_func ()</h3>
5512 <pre class="programlisting"><span class="returnvalue">void</span>
5513 hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>,
5514                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-v-extents-func-t" title="hb_font_get_font_v_extents_func_t"><span class="type">hb_font_get_font_v_extents_func_t</span></a> func</code></em>,
5515                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
5516                                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
5517 <p>Sets the implementation function for <a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-v-extents-func-t" title="hb_font_get_font_v_extents_func_t"><span class="type">hb_font_get_font_v_extents_func_t</span></a>.</p>
5518 <div class="refsect3">
5519 <a name="hb-font-funcs-set-font-v-extents-func.parameters"></a><h4>Parameters</h4>
5520 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5521 <colgroup>
5522 <col width="150px" class="parameters_name">
5523 <col class="parameters_description">
5524 <col width="200px" class="parameters_annotations">
5525 </colgroup>
5526 <tbody>
5527 <tr>
5528 <td class="parameter_name"><p>ffuncs</p></td>
5529 <td class="parameter_description"><p>A font-function structure</p></td>
5530 <td class="parameter_annotations"> </td>
5531 </tr>
5532 <tr>
5533 <td class="parameter_name"><p>func</p></td>
5534 <td class="parameter_description"><p>The callback function to assign. </p></td>
5535 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
5536 </tr>
5537 <tr>
5538 <td class="parameter_name"><p>user_data</p></td>
5539 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
5540 </p></td>
5541 <td class="parameter_annotations"> </td>
5542 </tr>
5543 <tr>
5544 <td class="parameter_name"><p>destroy</p></td>
5545 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
5546 is not needed anymore. </p></td>
5547 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
5548 </tr>
5549 </tbody>
5550 </table></div>
5551 </div>
5552 <p class="since">Since: <a class="link" href="api-index-1-1-2.html#api-index-1.1.2">1.1.2</a></p>
5553 </div>
5554 <hr>
5555 <div class="refsect2">
5556 <a name="hb-font-get-h-extents"></a><h3>hb_font_get_h_extents ()</h3>
5557 <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>
5558 hb_font_get_h_extents (<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>,
5559                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-extents-t" title="hb_font_extents_t"><span class="type">hb_font_extents_t</span></a> *extents</code></em>);</pre>
5560 <p>Fetches the extents for a specified font, for horizontal
5561 text segments.</p>
5562 <div class="refsect3">
5563 <a name="hb-font-get-h-extents.parameters"></a><h4>Parameters</h4>
5564 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5565 <colgroup>
5566 <col width="150px" class="parameters_name">
5567 <col class="parameters_description">
5568 <col width="200px" class="parameters_annotations">
5569 </colgroup>
5570 <tbody>
5571 <tr>
5572 <td class="parameter_name"><p>font</p></td>
5573 <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>
5574 <td class="parameter_annotations"> </td>
5575 </tr>
5576 <tr>
5577 <td class="parameter_name"><p>extents</p></td>
5578 <td class="parameter_description"><p>The font extents retrieved. </p></td>
5579 <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>
5580 </tr>
5581 </tbody>
5582 </table></div>
5583 </div>
5584 <div class="refsect3">
5585 <a name="hb-font-get-h-extents.returns"></a><h4>Returns</h4>
5586 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
5587 </div>
5588 <p class="since">Since: <a class="link" href="api-index-1-1-3.html#api-index-1.1.3">1.1.3</a></p>
5589 </div>
5590 <hr>
5591 <div class="refsect2">
5592 <a name="hb-font-get-v-extents"></a><h3>hb_font_get_v_extents ()</h3>
5593 <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>
5594 hb_font_get_v_extents (<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>,
5595                        <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-extents-t" title="hb_font_extents_t"><span class="type">hb_font_extents_t</span></a> *extents</code></em>);</pre>
5596 <p>Fetches the extents for a specified font, for vertical
5597 text segments.</p>
5598 <div class="refsect3">
5599 <a name="hb-font-get-v-extents.parameters"></a><h4>Parameters</h4>
5600 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5601 <colgroup>
5602 <col width="150px" class="parameters_name">
5603 <col class="parameters_description">
5604 <col width="200px" class="parameters_annotations">
5605 </colgroup>
5606 <tbody>
5607 <tr>
5608 <td class="parameter_name"><p>font</p></td>
5609 <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>
5610 <td class="parameter_annotations"> </td>
5611 </tr>
5612 <tr>
5613 <td class="parameter_name"><p>extents</p></td>
5614 <td class="parameter_description"><p>The font extents retrieved. </p></td>
5615 <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>
5616 </tr>
5617 </tbody>
5618 </table></div>
5619 </div>
5620 <div class="refsect3">
5621 <a name="hb-font-get-v-extents.returns"></a><h4>Returns</h4>
5622 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
5623 </div>
5624 <p class="since">Since: <a class="link" href="api-index-1-1-3.html#api-index-1.1.3">1.1.3</a></p>
5625 </div>
5626 <hr>
5627 <div class="refsect2">
5628 <a name="hb-font-get-extents-for-direction"></a><h3>hb_font_get_extents_for_direction ()</h3>
5629 <pre class="programlisting"><span class="returnvalue">void</span>
5630 hb_font_get_extents_for_direction (<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>,
5631                                    <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>,
5632                                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-extents-t" title="hb_font_extents_t"><span class="type">hb_font_extents_t</span></a> *extents</code></em>);</pre>
5633 <p>Fetches the extents for a font in a text segment of the
5634 specified direction.</p>
5635 <p>Calls the appropriate direction-specific variant (horizontal
5636 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
5637 .</p>
5638 <div class="refsect3">
5639 <a name="hb-font-get-extents-for-direction.parameters"></a><h4>Parameters</h4>
5640 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5641 <colgroup>
5642 <col width="150px" class="parameters_name">
5643 <col class="parameters_description">
5644 <col width="200px" class="parameters_annotations">
5645 </colgroup>
5646 <tbody>
5647 <tr>
5648 <td class="parameter_name"><p>font</p></td>
5649 <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>
5650 <td class="parameter_annotations"> </td>
5651 </tr>
5652 <tr>
5653 <td class="parameter_name"><p>direction</p></td>
5654 <td class="parameter_description"><p>The direction of the text segment</p></td>
5655 <td class="parameter_annotations"> </td>
5656 </tr>
5657 <tr>
5658 <td class="parameter_name"><p>extents</p></td>
5659 <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-font.html#hb-font-extents-t" title="hb_font_extents_t"><span class="type">hb_font_extents_t</span></a> retrieved. </p></td>
5660 <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>
5661 </tr>
5662 </tbody>
5663 </table></div>
5664 </div>
5665 <p class="since">Since: <a class="link" href="api-index-1-1-3.html#api-index-1.1.3">1.1.3</a></p>
5666 </div>
5667 </div>
5668 <div class="refsect1">
5669 <a name="harfbuzz-hb-font.other_details"></a><h2>Types and Values</h2>
5670 <div class="refsect2">
5671 <a name="HB-FONT-NO-VAR-NAMED-INSTANCE:CAPS"></a><h3>HB_FONT_NO_VAR_NAMED_INSTANCE</h3>
5672 <pre class="programlisting">#define HB_FONT_NO_VAR_NAMED_INSTANCE 0xFFFFFFFF
5673 </pre>
5674 <p>Constant signifying that a font does not have any
5675 named-instance index set.  This is the default of
5676 a font.</p>
5677 <p class="since">Since: <a class="link" href="api-index-7-0-0.html#api-index-7.0.0">7.0.0</a></p>
5678 </div>
5679 <hr>
5680 <div class="refsect2">
5681 <a name="hb-font-get-glyph-h-advance-func-t"></a><h3>hb_font_get_glyph_h_advance_func_t</h3>
5682 <pre class="programlisting">typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t;
5683 </pre>
5684 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5685 <p>This method should retrieve the advance for a specified glyph, in
5686 horizontal-direction text segments. Advances must be returned in
5687 an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> output parameter.</p>
5688 </div>
5689 <hr>
5690 <div class="refsect2">
5691 <a name="hb-font-get-glyph-v-advance-func-t"></a><h3>hb_font_get_glyph_v_advance_func_t</h3>
5692 <pre class="programlisting">typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t;
5693 </pre>
5694 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5695 <p>This method should retrieve the advance for a specified glyph, in
5696 vertical-direction text segments. Advances must be returned in
5697 an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> output parameter.</p>
5698 </div>
5699 <hr>
5700 <div class="refsect2">
5701 <a name="hb-font-get-glyph-h-advances-func-t"></a><h3>hb_font_get_glyph_h_advances_func_t</h3>
5702 <pre class="programlisting">typedef hb_font_get_glyph_advances_func_t hb_font_get_glyph_h_advances_func_t;
5703 </pre>
5704 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5705 <p>This method should retrieve the advances for a sequence of glyphs, in
5706 horizontal-direction text segments.</p>
5707 </div>
5708 <hr>
5709 <div class="refsect2">
5710 <a name="hb-font-get-glyph-v-advances-func-t"></a><h3>hb_font_get_glyph_v_advances_func_t</h3>
5711 <pre class="programlisting">typedef hb_font_get_glyph_advances_func_t hb_font_get_glyph_v_advances_func_t;
5712 </pre>
5713 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5714 <p>This method should retrieve the advances for a sequence of glyphs, in
5715 vertical-direction text segments.</p>
5716 </div>
5717 <hr>
5718 <div class="refsect2">
5719 <a name="hb-font-get-glyph-h-kerning-func-t"></a><h3>hb_font_get_glyph_h_kerning_func_t</h3>
5720 <pre class="programlisting">typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;
5721 </pre>
5722 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5723 <p>This method should retrieve the kerning-adjustment value for a glyph-pair in
5724 the specified font, for horizontal text segments.</p>
5725 </div>
5726 <hr>
5727 <div class="refsect2">
5728 <a name="hb-font-get-glyph-h-origin-func-t"></a><h3>hb_font_get_glyph_h_origin_func_t</h3>
5729 <pre class="programlisting">typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;
5730 </pre>
5731 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5732 <p>This method should retrieve the (X,Y) coordinates (in font units) of the
5733 origin for a glyph, for horizontal-direction text segments. Each
5734 coordinate must be returned in an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> output parameter.</p>
5735 </div>
5736 <hr>
5737 <div class="refsect2">
5738 <a name="hb-font-get-glyph-v-origin-func-t"></a><h3>hb_font_get_glyph_v_origin_func_t</h3>
5739 <pre class="programlisting">typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;
5740 </pre>
5741 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5742 <p>This method should retrieve the (X,Y) coordinates (in font units) of the
5743 origin for a glyph, for vertical-direction text segments. Each coordinate
5744 must be returned in an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> output parameter.</p>
5745 </div>
5746 <hr>
5747 <div class="refsect2">
5748 <a name="hb-font-funcs-t"></a><h3>hb_font_funcs_t</h3>
5749 <pre class="programlisting">typedef struct hb_font_funcs_t hb_font_funcs_t;
5750 </pre>
5751 <p>Data type containing a set of virtual methods used for
5752 working on <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font objects.</p>
5753 <p>HarfBuzz provides a lightweight default function for each of
5754
5755 the methods in <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a>. Client programs can implement
5756 their own replacements for the individual font functions, as
5757 needed, and replace the default by calling the setter for a
5758 method.</p>
5759 </div>
5760 <hr>
5761 <div class="refsect2">
5762 <a name="hb-font-t"></a><h3>hb_font_t</h3>
5763 <pre class="programlisting">typedef struct hb_font_t hb_font_t;
5764 </pre>
5765 <p>Data type for holding fonts.</p>
5766 </div>
5767 <hr>
5768 <div class="refsect2">
5769 <a name="hb-font-get-font-h-extents-func-t"></a><h3>hb_font_get_font_h_extents_func_t</h3>
5770 <pre class="programlisting">typedef hb_font_get_font_extents_func_t hb_font_get_font_h_extents_func_t;
5771 </pre>
5772 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5773 <p>This method should retrieve the extents for a font, for horizontal-direction
5774 text segments. Extents must be returned in an <span class="type">hb_glyph_extents</span> output
5775 parameter.</p>
5776 </div>
5777 <hr>
5778 <div class="refsect2">
5779 <a name="hb-font-get-font-v-extents-func-t"></a><h3>hb_font_get_font_v_extents_func_t</h3>
5780 <pre class="programlisting">typedef hb_font_get_font_extents_func_t hb_font_get_font_v_extents_func_t;
5781 </pre>
5782 <p>A virtual method for the <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> of an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> object.</p>
5783 <p>This method should retrieve the extents for a font, for vertical-direction
5784 text segments. Extents must be returned in an <span class="type">hb_glyph_extents</span> output
5785 parameter.</p>
5786 </div>
5787 <hr>
5788 <div class="refsect2">
5789 <a name="hb-font-extents-t"></a><h3>hb_font_extents_t</h3>
5790 <pre class="programlisting">typedef struct {
5791   hb_position_t ascender;
5792   hb_position_t descender;
5793   hb_position_t line_gap;
5794 } hb_font_extents_t;
5795 </pre>
5796 <p>Font-wide extent values, measured in font units.</p>
5797 <p>Note that typically <em class="parameter"><code>ascender</code></em>
5798  is positive and <em class="parameter"><code>descender</code></em>
5799
5800 negative, in coordinate systems that grow up.</p>
5801 <div class="refsect3">
5802 <a name="hb-font-extents-t.members"></a><h4>Members</h4>
5803 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5804 <colgroup>
5805 <col width="300px" class="struct_members_name">
5806 <col class="struct_members_description">
5807 <col width="200px" class="struct_members_annotations">
5808 </colgroup>
5809 <tbody>
5810 <tr>
5811 <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-font-extents-t.ascender"></a>ascender</code></em>;</p></td>
5812 <td class="struct_member_description"><p>The height of typographic ascenders.</p></td>
5813 <td class="struct_member_annotations"> </td>
5814 </tr>
5815 <tr>
5816 <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-font-extents-t.descender"></a>descender</code></em>;</p></td>
5817 <td class="struct_member_description"><p>The depth of typographic descenders.</p></td>
5818 <td class="struct_member_annotations"> </td>
5819 </tr>
5820 <tr>
5821 <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-font-extents-t.line-gap"></a>line_gap</code></em>;</p></td>
5822 <td class="struct_member_description"><p>The suggested line-spacing gap.</p></td>
5823 <td class="struct_member_annotations"> </td>
5824 </tr>
5825 </tbody>
5826 </table></div>
5827 </div>
5828 </div>
5829 <hr>
5830 <div class="refsect2">
5831 <a name="hb-glyph-extents-t"></a><h3>hb_glyph_extents_t</h3>
5832 <pre class="programlisting">typedef struct {
5833   hb_position_t x_bearing;
5834   hb_position_t y_bearing;
5835   hb_position_t width;
5836   hb_position_t height;
5837 } hb_glyph_extents_t;
5838 </pre>
5839 <p>Glyph extent values, measured in font units.</p>
5840 <p>Note that <em class="parameter"><code>height</code></em>
5841  is negative, in coordinate systems that grow up.</p>
5842 <div class="refsect3">
5843 <a name="hb-glyph-extents-t.members"></a><h4>Members</h4>
5844 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5845 <colgroup>
5846 <col width="300px" class="struct_members_name">
5847 <col class="struct_members_description">
5848 <col width="200px" class="struct_members_annotations">
5849 </colgroup>
5850 <tbody>
5851 <tr>
5852 <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-glyph-extents-t.x-bearing"></a>x_bearing</code></em>;</p></td>
5853 <td class="struct_member_description"><p>Distance from the x-origin to the left extremum of the glyph.</p></td>
5854 <td class="struct_member_annotations"> </td>
5855 </tr>
5856 <tr>
5857 <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-glyph-extents-t.y-bearing"></a>y_bearing</code></em>;</p></td>
5858 <td class="struct_member_description"><p>Distance from the top extremum of the glyph to the y-origin.</p></td>
5859 <td class="struct_member_annotations"> </td>
5860 </tr>
5861 <tr>
5862 <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-glyph-extents-t.width"></a>width</code></em>;</p></td>
5863 <td class="struct_member_description"><p>Distance from the left extremum of the glyph to the right extremum.</p></td>
5864 <td class="struct_member_annotations"> </td>
5865 </tr>
5866 <tr>
5867 <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-glyph-extents-t.height"></a>height</code></em>;</p></td>
5868 <td class="struct_member_description"><p>Distance from the top extremum of the glyph to the bottom extremum.</p></td>
5869 <td class="struct_member_annotations"> </td>
5870 </tr>
5871 </tbody>
5872 </table></div>
5873 </div>
5874 </div>
5875 </div>
5876 </div>
5877 <div class="footer">
5878 <hr>Generated by GTK-Doc V1.32</div>
5879 </body>
5880 </html>