1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>hb-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">
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>
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>
25 <div class="refentry">
26 <a name="harfbuzz-hb-font"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
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>
32 <td class="gallery_image" valign="top" align="right"></td>
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">
38 <col width="150px" class="functions_proto_type">
39 <col class="functions_proto_name">
43 <td class="function_type">
44 <span class="returnvalue">void</span>
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>
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> *
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>
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> *
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>
67 <td class="function_type">
68 <span class="returnvalue">void</span>
70 <td class="function_name">
71 <a class="link" href="harfbuzz-hb-font.html#hb-font-destroy" title="hb_font_destroy ()">hb_font_destroy</a> <span class="c_punctuation">()</span>
75 <td class="function_type">
76 <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> *
78 <td class="function_name">
79 <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>
83 <td class="function_type">
84 <span class="returnvalue">void</span>
86 <td class="function_name">
87 <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>
91 <td class="function_type">
92 <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> *
94 <td class="function_name">
95 <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>
99 <td class="function_type">
100 <span class="returnvalue">void</span> *
102 <td class="function_name">
103 <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>
107 <td class="function_type">
108 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
110 <td class="function_name">
111 <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>
115 <td class="function_type">
116 <span class="returnvalue">void</span>
118 <td class="function_name">
119 <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>
123 <td class="function_type">
124 <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> *
126 <td class="function_name">
127 <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>
131 <td class="function_type">
132 <span class="returnvalue">void</span>
134 <td class="function_name">
135 <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>
139 <td class="function_type">
140 <span class="returnvalue">void</span>
142 <td class="function_name">
143 <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>
147 <td class="function_type">
148 <span class="returnvalue">void</span>
150 <td class="function_name">
151 <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>
155 <td class="function_type">
156 <span class="returnvalue">void</span>
158 <td class="function_name">
159 <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>
163 <td class="function_type">
164 <span class="returnvalue">void</span>
166 <td class="function_name">
167 <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>
171 <td class="function_type">
172 <span class="returnvalue">void</span>
174 <td class="function_name">
175 <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>
179 <td class="function_type">
180 <span class="returnvalue">void</span>
182 <td class="function_name">
183 <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>
187 <td class="function_type">
188 <span class="returnvalue">void</span>
190 <td class="function_name">
191 <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>
195 <td class="function_type">
196 <span class="returnvalue">void</span>
198 <td class="function_name">
199 <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>
203 <td class="function_type">
204 <span class="returnvalue">void</span>
206 <td class="function_name">
207 <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>
211 <td class="function_type">
212 <span class="returnvalue">void</span>
214 <td class="function_name">
215 <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>
219 <td class="function_type">
220 <span class="returnvalue">void</span>
222 <td class="function_name">
223 <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>
227 <td class="function_type">
228 <span class="returnvalue">void</span>
230 <td class="function_name">
231 <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>
235 <td class="function_type">
236 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
238 <td class="function_name">
239 <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>
243 <td class="function_type">
244 <span class="returnvalue">void</span>
246 <td class="function_name">
247 <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>
251 <td class="function_type">
252 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
254 <td class="function_name">
255 <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>
259 <td class="function_type">
260 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
262 <td class="function_name">
263 <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>
267 <td class="function_type">
268 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
270 <td class="function_name">
271 <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>
275 <td class="function_type">
276 <span class="returnvalue">void</span>
278 <td class="function_name">
279 <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>
283 <td class="function_type">
284 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
286 <td class="function_name">
287 <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>
291 <td class="function_type">
292 <span class="returnvalue">void</span>
294 <td class="function_name">
295 <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>
299 <td class="function_type">
300 <span class="returnvalue">void</span>
302 <td class="function_name">
303 <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>
307 <td class="function_type">
308 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
310 <td class="function_name">
311 <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>
315 <td class="function_type">
316 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
318 <td class="function_name">
319 <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>
323 <td class="function_type">
324 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
326 <td class="function_name">
327 <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>
331 <td class="function_type">
332 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
334 <td class="function_name">
335 <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>
339 <td class="function_type">
340 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
342 <td class="function_name">
343 <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>
347 <td class="function_type">
348 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
350 <td class="function_name">
351 <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>
355 <td class="function_type">
356 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
358 <td class="function_name">
359 <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>
363 <td class="function_type">
364 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
366 <td class="function_name">
367 <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>
371 <td class="function_type">
372 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
374 <td class="function_name">
375 <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>
379 <td class="function_type">
380 <span class="returnvalue">void</span>
382 <td class="function_name">
383 <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>
387 <td class="function_type">
388 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
390 <td class="function_name">
391 <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>
395 <td class="function_type">
396 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
398 <td class="function_name">
399 <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>
403 <td class="function_type">
404 <span class="returnvalue">void</span>
406 <td class="function_name">
407 <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>
411 <td class="function_type">
412 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
414 <td class="function_name">
415 <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>
419 <td class="function_type">
420 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
422 <td class="function_name">
423 <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>
427 <td class="function_type">
428 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
430 <td class="function_name">
431 <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>
435 <td class="function_type">
436 <span class="returnvalue">void</span>
438 <td class="function_name">
439 <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>
443 <td class="function_type">
444 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
446 <td class="function_name">
447 <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>
451 <td class="function_type">
452 <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a>
454 <td class="function_name">
455 <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>
459 <td class="function_type">
460 <span class="returnvalue">void</span>
462 <td class="function_name">
463 <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>
467 <td class="function_type">
468 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
470 <td class="function_name">
471 <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>
475 <td class="function_type">
476 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
478 <td class="function_name">
479 <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>
483 <td class="function_type">
484 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
486 <td class="function_name">
487 <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>
491 <td class="function_type">unsigned <span class="returnvalue">int</span>
493 <td class="function_name">
494 <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>
498 <td class="function_type">unsigned <span class="returnvalue">int</span>
500 <td class="function_name">
501 <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>
505 <td class="function_type">
506 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
508 <td class="function_name">
509 <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>
513 <td class="function_type">
514 <span class="returnvalue">void</span>
516 <td class="function_name">
517 <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>
521 <td class="function_type">
522 <span class="returnvalue">float</span>
524 <td class="function_name">
525 <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>
529 <td class="function_type">
530 <span class="returnvalue">void</span>
532 <td class="function_name">
533 <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>
537 <td class="function_type">
538 <span class="returnvalue">float</span>
540 <td class="function_name">
541 <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>
545 <td class="function_type">
546 <span class="returnvalue">void</span> *
548 <td class="function_name">
549 <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>
553 <td class="function_type">
554 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
556 <td class="function_name">
557 <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>
561 <td class="function_type">
562 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
564 <td class="function_name">
565 <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>
569 <td class="function_type">const <span class="returnvalue">float</span> *
571 <td class="function_name">
572 <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>
576 <td class="function_type">const <span class="returnvalue">int</span> *
578 <td class="function_name">
579 <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>
583 <td class="function_type">
584 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
586 <td class="function_name">
587 <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>
591 <td class="function_type">
592 <span class="returnvalue">void</span>
594 <td class="function_name">
595 <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>
599 <td class="function_type">
600 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
602 <td class="function_name">
603 <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>
607 <td class="function_type">
608 <span class="returnvalue">void</span>
610 <td class="function_name">
611 <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>
615 <td class="function_type">
616 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
618 <td class="function_name">
619 <a class="link" href="harfbuzz-hb-font.html#hb-font-reference" title="hb_font_reference ()">hb_font_reference</a> <span class="c_punctuation">()</span>
623 <td class="function_type">
624 <span class="returnvalue">void</span>
626 <td class="function_name">
627 <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>
631 <td class="function_type">
632 <span class="returnvalue">void</span>
634 <td class="function_name">
635 <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>
639 <td class="function_type">
640 <span class="returnvalue">void</span>
642 <td class="function_name">
643 <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>
647 <td class="function_type">
648 <span class="returnvalue">void</span>
650 <td class="function_name">
651 <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>
655 <td class="function_type">
656 <span class="returnvalue">void</span>
658 <td class="function_name">
659 <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>
663 <td class="function_type">
664 <span class="returnvalue">void</span>
666 <td class="function_name">
667 <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>
671 <td class="function_type">
672 <span class="returnvalue">void</span>
674 <td class="function_name">
675 <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>
679 <td class="function_type">
680 <span class="returnvalue">void</span>
682 <td class="function_name">
683 <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>
687 <td class="function_type">
688 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
690 <td class="function_name">
691 <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>
695 <td class="function_type">
696 <span class="returnvalue">void</span>
698 <td class="function_name">
699 <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>
703 <td class="function_type">
704 <span class="returnvalue">void</span>
706 <td class="function_name">
707 <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>
711 <td class="function_type">
712 <span class="returnvalue">void</span>
714 <td class="function_name">
715 <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>
719 <td class="function_type">
720 <span class="returnvalue">void</span>
722 <td class="function_name">
723 <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>
727 <td class="function_type">
728 <span class="returnvalue">void</span>
730 <td class="function_name">
731 <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>
735 <td class="function_type">
736 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> *
738 <td class="function_name">
739 <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>
743 <td class="function_type">
744 <span class="returnvalue">void</span>
746 <td class="function_name">
747 <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>
751 <td class="function_type">
752 <span class="returnvalue">void</span>
754 <td class="function_name">
755 <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>
759 <td class="function_type">
760 <span class="returnvalue">void</span>
762 <td class="function_name">
763 <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>
767 <td class="function_type">
768 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
770 <td class="function_name">
771 <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>
775 <td class="function_type">
776 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
778 <td class="function_name">
779 <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>
783 <td class="function_type">
784 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
786 <td class="function_name">
787 <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>
793 <div class="refsect1">
794 <a name="harfbuzz-hb-font.other"></a><h2>Types and Values</h2>
795 <div class="informaltable"><table class="informaltable" width="100%" border="0">
797 <col width="150px" class="other_proto_type">
798 <col class="other_proto_name">
802 <td class="typedef_keyword">typedef</td>
803 <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>
806 <td class="typedef_keyword">typedef</td>
807 <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>
810 <td class="typedef_keyword">typedef</td>
811 <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>
814 <td class="typedef_keyword">typedef</td>
815 <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>
818 <td class="typedef_keyword">typedef</td>
819 <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>
822 <td class="typedef_keyword">typedef</td>
823 <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>
826 <td class="typedef_keyword">typedef</td>
827 <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>
830 <td class="typedef_keyword">typedef</td>
831 <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>
834 <td class="typedef_keyword">typedef</td>
835 <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t">hb_font_t</a></td>
838 <td class="typedef_keyword">typedef</td>
839 <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>
842 <td class="typedef_keyword">typedef</td>
843 <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>
846 <td class="datatype_keyword"> </td>
847 <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>
850 <td class="datatype_keyword"> </td>
851 <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>
856 <div class="refsect1">
857 <a name="harfbuzz-hb-font.includes"></a><h2>Includes</h2>
858 <pre class="synopsis">#include <hb.h>
861 <div class="refsect1">
862 <a name="harfbuzz-hb-font.description"></a><h2>Description</h2>
863 <p>Functions for working with font objects.</p>
864 <p>A font object represents a font face at a specific size and with
865 certain other parameters (pixels-per-em, points-per-em, variation
866 settings) specified. Font objects are created from font face
867 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>
868 <p>Client programs can optionally pass in their own functions that
869 implement the basic, lower-level queries of font objects. This set
870 of font functions is defined by the virtual methods in
871 <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>
872 <p>HarfBuzz provides a built-in set of lightweight default
873 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>
875 <div class="refsect1">
876 <a name="harfbuzz-hb-font.functions_details"></a><h2>Functions</h2>
877 <div class="refsect2">
878 <a name="hb-font-add-glyph-origin-for-direction"></a><h3>hb_font_add_glyph_origin_for_direction ()</h3>
879 <pre class="programlisting"><span class="returnvalue">void</span>
880 hb_font_add_glyph_origin_for_direction
881 (<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>,
882 <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>,
883 <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>,
884 <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>,
885 <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>
886 <p>Adds the origin coordinates to an (X,Y) point coordinate, in
887 the specified glyph ID in the specified font.</p>
888 <p>Calls the appropriate direction-specific variant (horizontal
889 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
891 <div class="refsect3">
892 <a name="hb-font-add-glyph-origin-for-direction.parameters"></a><h4>Parameters</h4>
893 <div class="informaltable"><table class="informaltable" width="100%" border="0">
895 <col width="150px" class="parameters_name">
896 <col class="parameters_description">
897 <col width="200px" class="parameters_annotations">
901 <td class="parameter_name"><p>font</p></td>
902 <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>
903 <td class="parameter_annotations"> </td>
906 <td class="parameter_name"><p>glyph</p></td>
907 <td class="parameter_description"><p>The glyph ID to query</p></td>
908 <td class="parameter_annotations"> </td>
911 <td class="parameter_name"><p>direction</p></td>
912 <td class="parameter_description"><p>The direction of the text segment</p></td>
913 <td class="parameter_annotations"> </td>
916 <td class="parameter_name"><p>x</p></td>
917 <td class="parameter_description"><p>Input = The original X coordinate
918 Output = The X coordinate plus the X-coordinate of the origin. </p></td>
919 <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>
922 <td class="parameter_name"><p>y</p></td>
923 <td class="parameter_description"><p>Input = The original Y coordinate
924 Output = The Y coordinate plus the Y-coordinate of the origin. </p></td>
925 <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>
930 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
933 <div class="refsect2">
934 <a name="hb-font-create"></a><h3>hb_font_create ()</h3>
935 <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> *
936 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>
937 <p>Constructs a new font object from the specified face.</p>
938 <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>
939 has non-zero top 16-bits, those bits minus one are passed to
940 <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
941 of a variable font, instead of the default-instance. This allows
942 specifying which named-instance to load by default when creating the
944 <p><span class="annotation">[Xconstructor]</span></p>
945 <div class="refsect3">
946 <a name="hb-font-create.parameters"></a><h4>Parameters</h4>
947 <div class="informaltable"><table class="informaltable" width="100%" border="0">
949 <col width="150px" class="parameters_name">
950 <col class="parameters_description">
951 <col width="200px" class="parameters_annotations">
954 <td class="parameter_name"><p>face</p></td>
955 <td class="parameter_description"><p>a face.</p></td>
956 <td class="parameter_annotations"> </td>
960 <div class="refsect3">
961 <a name="hb-font-create.returns"></a><h4>Returns</h4>
962 <p>The new font object. </p>
963 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
965 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
968 <div class="refsect2">
969 <a name="hb-font-create-sub-font"></a><h3>hb_font_create_sub_font ()</h3>
970 <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> *
971 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>
972 <p>Constructs a sub-font font object from the specified <em class="parameter"><code>parent</code></em>
974 replicating the parent's properties.</p>
975 <div class="refsect3">
976 <a name="hb-font-create-sub-font.parameters"></a><h4>Parameters</h4>
977 <div class="informaltable"><table class="informaltable" width="100%" border="0">
979 <col width="150px" class="parameters_name">
980 <col class="parameters_description">
981 <col width="200px" class="parameters_annotations">
984 <td class="parameter_name"><p>parent</p></td>
985 <td class="parameter_description"><p>The parent font object</p></td>
986 <td class="parameter_annotations"> </td>
990 <div class="refsect3">
991 <a name="hb-font-create-sub-font.returns"></a><h4>Returns</h4>
992 <p>The new sub-font font object. </p>
993 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
995 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
998 <div class="refsect2">
999 <a name="hb-font-destroy"></a><h3>hb_font_destroy ()</h3>
1000 <pre class="programlisting"><span class="returnvalue">void</span>
1001 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>
1002 <p>Decreases the reference count on the given font object. When the
1003 reference count reaches zero, the font is destroyed,
1004 freeing all memory.</p>
1005 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1006 <div class="refsect3">
1007 <a name="hb-font-destroy.parameters"></a><h4>Parameters</h4>
1008 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1010 <col width="150px" class="parameters_name">
1011 <col class="parameters_description">
1012 <col width="200px" class="parameters_annotations">
1015 <td class="parameter_name"><p>font</p></td>
1016 <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>
1017 <td class="parameter_annotations"> </td>
1021 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1024 <div class="refsect2">
1025 <a name="hb-font-funcs-create"></a><h3>hb_font_funcs_create ()</h3>
1026 <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> *
1027 hb_font_funcs_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1028 <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>
1029 <p><span class="annotation">[Xconstructor]</span></p>
1030 <div class="refsect3">
1031 <a name="hb-font-funcs-create.returns"></a><h4>Returns</h4>
1032 <p>The font-functions structure. </p>
1033 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1035 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1038 <div class="refsect2">
1039 <a name="hb-font-funcs-destroy"></a><h3>hb_font_funcs_destroy ()</h3>
1040 <pre class="programlisting"><span class="returnvalue">void</span>
1041 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>
1042 <p>Decreases the reference count on a font-functions structure. When
1043 the reference count reaches zero, the font-functions structure is
1044 destroyed, freeing all memory.</p>
1045 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1046 <div class="refsect3">
1047 <a name="hb-font-funcs-destroy.parameters"></a><h4>Parameters</h4>
1048 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1050 <col width="150px" class="parameters_name">
1051 <col class="parameters_description">
1052 <col width="200px" class="parameters_annotations">
1055 <td class="parameter_name"><p>ffuncs</p></td>
1056 <td class="parameter_description"><p>The font-functions structure</p></td>
1057 <td class="parameter_annotations"> </td>
1061 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1064 <div class="refsect2">
1065 <a name="hb-font-funcs-get-empty"></a><h3>hb_font_funcs_get_empty ()</h3>
1066 <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> *
1067 hb_font_funcs_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1068 <p>Fetches an empty font-functions structure.</p>
1069 <div class="refsect3">
1070 <a name="hb-font-funcs-get-empty.returns"></a><h4>Returns</h4>
1071 <p>The font-functions structure. </p>
1072 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1074 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1077 <div class="refsect2">
1078 <a name="hb-font-funcs-get-user-data"></a><h3>hb_font_funcs_get_user_data ()</h3>
1079 <pre class="programlisting"><span class="returnvalue">void</span> *
1080 hb_font_funcs_get_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>,
1081 <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>
1082 <p>Fetches the user data associated with the specified key,
1083 attached to the specified font-functions structure.</p>
1084 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1085 <div class="refsect3">
1086 <a name="hb-font-funcs-get-user-data.parameters"></a><h4>Parameters</h4>
1087 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1089 <col width="150px" class="parameters_name">
1090 <col class="parameters_description">
1091 <col width="200px" class="parameters_annotations">
1095 <td class="parameter_name"><p>ffuncs</p></td>
1096 <td class="parameter_description"><p>The font-functions structure</p></td>
1097 <td class="parameter_annotations"> </td>
1100 <td class="parameter_name"><p>key</p></td>
1101 <td class="parameter_description"><p>The user-data key to query</p></td>
1102 <td class="parameter_annotations"> </td>
1107 <div class="refsect3">
1108 <a name="hb-font-funcs-get-user-data.returns"></a><h4>Returns</h4>
1109 <p>A pointer to the user data. </p>
1110 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
1112 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1115 <div class="refsect2">
1116 <a name="hb-font-funcs-is-immutable"></a><h3>hb_font_funcs_is_immutable ()</h3>
1117 <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>
1118 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>
1119 <p>Tests whether a font-functions structure is immutable.</p>
1120 <div class="refsect3">
1121 <a name="hb-font-funcs-is-immutable.parameters"></a><h4>Parameters</h4>
1122 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1124 <col width="150px" class="parameters_name">
1125 <col class="parameters_description">
1126 <col width="200px" class="parameters_annotations">
1129 <td class="parameter_name"><p>ffuncs</p></td>
1130 <td class="parameter_description"><p>The font-functions structure</p></td>
1131 <td class="parameter_annotations"> </td>
1135 <div class="refsect3">
1136 <a name="hb-font-funcs-is-immutable.returns"></a><h4>Returns</h4>
1137 <p> <code class="literal">true</code> if <em class="parameter"><code>ffuncs</code></em>
1138 is immutable, <code class="literal">false</code> otherwise</p>
1140 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1143 <div class="refsect2">
1144 <a name="hb-font-funcs-make-immutable"></a><h3>hb_font_funcs_make_immutable ()</h3>
1145 <pre class="programlisting"><span class="returnvalue">void</span>
1146 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>
1147 <p>Makes a font-functions structure immutable.</p>
1148 <div class="refsect3">
1149 <a name="hb-font-funcs-make-immutable.parameters"></a><h4>Parameters</h4>
1150 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1152 <col width="150px" class="parameters_name">
1153 <col class="parameters_description">
1154 <col width="200px" class="parameters_annotations">
1157 <td class="parameter_name"><p>ffuncs</p></td>
1158 <td class="parameter_description"><p>The font-functions structure</p></td>
1159 <td class="parameter_annotations"> </td>
1163 <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 class="refsect2">
1167 <a name="hb-font-funcs-reference"></a><h3>hb_font_funcs_reference ()</h3>
1168 <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> *
1169 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>
1170 <p>Increases the reference count on a font-functions structure.</p>
1171 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1172 <div class="refsect3">
1173 <a name="hb-font-funcs-reference.parameters"></a><h4>Parameters</h4>
1174 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1176 <col width="150px" class="parameters_name">
1177 <col class="parameters_description">
1178 <col width="200px" class="parameters_annotations">
1181 <td class="parameter_name"><p>ffuncs</p></td>
1182 <td class="parameter_description"><p>The font-functions structure</p></td>
1183 <td class="parameter_annotations"> </td>
1187 <div class="refsect3">
1188 <a name="hb-font-funcs-reference.returns"></a><h4>Returns</h4>
1189 <p> The font-functions structure</p>
1191 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1194 <div class="refsect2">
1195 <a name="hb-font-funcs-set-glyph-contour-point-func"></a><h3>hb_font_funcs_set_glyph_contour_point_func ()</h3>
1196 <pre class="programlisting"><span class="returnvalue">void</span>
1197 hb_font_funcs_set_glyph_contour_point_func
1198 (<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>,
1199 <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>,
1200 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1201 <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>
1202 <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>
1203 <div class="refsect3">
1204 <a name="hb-font-funcs-set-glyph-contour-point-func.parameters"></a><h4>Parameters</h4>
1205 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1207 <col width="150px" class="parameters_name">
1208 <col class="parameters_description">
1209 <col width="200px" class="parameters_annotations">
1213 <td class="parameter_name"><p>ffuncs</p></td>
1214 <td class="parameter_description"><p>A font-function structure</p></td>
1215 <td class="parameter_annotations"> </td>
1218 <td class="parameter_name"><p>func</p></td>
1219 <td class="parameter_description"><p>The callback function to assign. </p></td>
1220 <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>
1223 <td class="parameter_name"><p>user_data</p></td>
1224 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1226 <td class="parameter_annotations"> </td>
1229 <td class="parameter_name"><p>destroy</p></td>
1230 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1231 is not needed anymore. </p></td>
1232 <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>
1237 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1240 <div class="refsect2">
1241 <a name="hb-font-funcs-set-glyph-extents-func"></a><h3>hb_font_funcs_set_glyph_extents_func ()</h3>
1242 <pre class="programlisting"><span class="returnvalue">void</span>
1243 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>,
1244 <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>,
1245 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1246 <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>
1247 <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>
1248 <div class="refsect3">
1249 <a name="hb-font-funcs-set-glyph-extents-func.parameters"></a><h4>Parameters</h4>
1250 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1252 <col width="150px" class="parameters_name">
1253 <col class="parameters_description">
1254 <col width="200px" class="parameters_annotations">
1258 <td class="parameter_name"><p>ffuncs</p></td>
1259 <td class="parameter_description"><p>A font-function structure</p></td>
1260 <td class="parameter_annotations"> </td>
1263 <td class="parameter_name"><p>func</p></td>
1264 <td class="parameter_description"><p>The callback function to assign. </p></td>
1265 <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>
1268 <td class="parameter_name"><p>user_data</p></td>
1269 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1271 <td class="parameter_annotations"> </td>
1274 <td class="parameter_name"><p>destroy</p></td>
1275 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1276 is not needed anymore. </p></td>
1277 <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>
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>
1285 <div class="refsect2">
1286 <a name="hb-font-funcs-set-glyph-from-name-func"></a><h3>hb_font_funcs_set_glyph_from_name_func ()</h3>
1287 <pre class="programlisting"><span class="returnvalue">void</span>
1288 hb_font_funcs_set_glyph_from_name_func
1289 (<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>,
1290 <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>,
1291 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1292 <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>
1293 <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>
1294 <div class="refsect3">
1295 <a name="hb-font-funcs-set-glyph-from-name-func.parameters"></a><h4>Parameters</h4>
1296 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1298 <col width="150px" class="parameters_name">
1299 <col class="parameters_description">
1300 <col width="200px" class="parameters_annotations">
1304 <td class="parameter_name"><p>ffuncs</p></td>
1305 <td class="parameter_description"><p>A font-function structure</p></td>
1306 <td class="parameter_annotations"> </td>
1309 <td class="parameter_name"><p>func</p></td>
1310 <td class="parameter_description"><p>The callback function to assign. </p></td>
1311 <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>
1314 <td class="parameter_name"><p>user_data</p></td>
1315 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1317 <td class="parameter_annotations"> </td>
1320 <td class="parameter_name"><p>destroy</p></td>
1321 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1322 is not needed anymore. </p></td>
1323 <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>
1328 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1331 <div class="refsect2">
1332 <a name="hb-font-funcs-set-glyph-h-advance-func"></a><h3>hb_font_funcs_set_glyph_h_advance_func ()</h3>
1333 <pre class="programlisting"><span class="returnvalue">void</span>
1334 hb_font_funcs_set_glyph_h_advance_func
1335 (<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>,
1336 <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>,
1337 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1338 <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>
1339 <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>
1340 <div class="refsect3">
1341 <a name="hb-font-funcs-set-glyph-h-advance-func.parameters"></a><h4>Parameters</h4>
1342 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1344 <col width="150px" class="parameters_name">
1345 <col class="parameters_description">
1346 <col width="200px" class="parameters_annotations">
1350 <td class="parameter_name"><p>ffuncs</p></td>
1351 <td class="parameter_description"><p>A font-function structure</p></td>
1352 <td class="parameter_annotations"> </td>
1355 <td class="parameter_name"><p>func</p></td>
1356 <td class="parameter_description"><p>The callback function to assign. </p></td>
1357 <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>
1360 <td class="parameter_name"><p>user_data</p></td>
1361 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1363 <td class="parameter_annotations"> </td>
1366 <td class="parameter_name"><p>destroy</p></td>
1367 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1368 is not needed anymore. </p></td>
1369 <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>
1374 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1377 <div class="refsect2">
1378 <a name="hb-font-funcs-set-glyph-h-advances-func"></a><h3>hb_font_funcs_set_glyph_h_advances_func ()</h3>
1379 <pre class="programlisting"><span class="returnvalue">void</span>
1380 hb_font_funcs_set_glyph_h_advances_func
1381 (<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>,
1382 <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>,
1383 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1384 <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>
1385 <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>
1386 <div class="refsect3">
1387 <a name="hb-font-funcs-set-glyph-h-advances-func.parameters"></a><h4>Parameters</h4>
1388 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1390 <col width="150px" class="parameters_name">
1391 <col class="parameters_description">
1392 <col width="200px" class="parameters_annotations">
1396 <td class="parameter_name"><p>ffuncs</p></td>
1397 <td class="parameter_description"><p>A font-function structure</p></td>
1398 <td class="parameter_annotations"> </td>
1401 <td class="parameter_name"><p>func</p></td>
1402 <td class="parameter_description"><p>The callback function to assign. </p></td>
1403 <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>
1406 <td class="parameter_name"><p>user_data</p></td>
1407 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1409 <td class="parameter_annotations"> </td>
1412 <td class="parameter_name"><p>destroy</p></td>
1413 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1414 is not needed anymore. </p></td>
1415 <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>
1420 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
1423 <div class="refsect2">
1424 <a name="hb-font-funcs-set-glyph-h-kerning-func"></a><h3>hb_font_funcs_set_glyph_h_kerning_func ()</h3>
1425 <pre class="programlisting"><span class="returnvalue">void</span>
1426 hb_font_funcs_set_glyph_h_kerning_func
1427 (<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>,
1428 <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>,
1429 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1430 <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>
1431 <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>
1432 <div class="refsect3">
1433 <a name="hb-font-funcs-set-glyph-h-kerning-func.parameters"></a><h4>Parameters</h4>
1434 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1436 <col width="150px" class="parameters_name">
1437 <col class="parameters_description">
1438 <col width="200px" class="parameters_annotations">
1442 <td class="parameter_name"><p>ffuncs</p></td>
1443 <td class="parameter_description"><p>A font-function structure</p></td>
1444 <td class="parameter_annotations"> </td>
1447 <td class="parameter_name"><p>func</p></td>
1448 <td class="parameter_description"><p>The callback function to assign. </p></td>
1449 <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>
1452 <td class="parameter_name"><p>user_data</p></td>
1453 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1455 <td class="parameter_annotations"> </td>
1458 <td class="parameter_name"><p>destroy</p></td>
1459 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1460 is not needed anymore. </p></td>
1461 <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>
1466 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1469 <div class="refsect2">
1470 <a name="hb-font-funcs-set-glyph-h-origin-func"></a><h3>hb_font_funcs_set_glyph_h_origin_func ()</h3>
1471 <pre class="programlisting"><span class="returnvalue">void</span>
1472 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>,
1473 <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>,
1474 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1475 <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>
1476 <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>
1477 <div class="refsect3">
1478 <a name="hb-font-funcs-set-glyph-h-origin-func.parameters"></a><h4>Parameters</h4>
1479 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1481 <col width="150px" class="parameters_name">
1482 <col class="parameters_description">
1483 <col width="200px" class="parameters_annotations">
1487 <td class="parameter_name"><p>ffuncs</p></td>
1488 <td class="parameter_description"><p>A font-function structure</p></td>
1489 <td class="parameter_annotations"> </td>
1492 <td class="parameter_name"><p>func</p></td>
1493 <td class="parameter_description"><p>The callback function to assign. </p></td>
1494 <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>
1497 <td class="parameter_name"><p>user_data</p></td>
1498 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1500 <td class="parameter_annotations"> </td>
1503 <td class="parameter_name"><p>destroy</p></td>
1504 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1505 is not needed anymore. </p></td>
1506 <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>
1511 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1514 <div class="refsect2">
1515 <a name="hb-font-funcs-set-glyph-name-func"></a><h3>hb_font_funcs_set_glyph_name_func ()</h3>
1516 <pre class="programlisting"><span class="returnvalue">void</span>
1517 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>,
1518 <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>,
1519 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1520 <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>
1521 <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>
1522 <div class="refsect3">
1523 <a name="hb-font-funcs-set-glyph-name-func.parameters"></a><h4>Parameters</h4>
1524 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1526 <col width="150px" class="parameters_name">
1527 <col class="parameters_description">
1528 <col width="200px" class="parameters_annotations">
1532 <td class="parameter_name"><p>ffuncs</p></td>
1533 <td class="parameter_description"><p>A font-function structure</p></td>
1534 <td class="parameter_annotations"> </td>
1537 <td class="parameter_name"><p>func</p></td>
1538 <td class="parameter_description"><p>The callback function to assign. </p></td>
1539 <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>
1542 <td class="parameter_name"><p>user_data</p></td>
1543 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1545 <td class="parameter_annotations"> </td>
1548 <td class="parameter_name"><p>destroy</p></td>
1549 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1550 is not needed anymore. </p></td>
1551 <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>
1556 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1559 <div class="refsect2">
1560 <a name="hb-font-funcs-set-glyph-v-advance-func"></a><h3>hb_font_funcs_set_glyph_v_advance_func ()</h3>
1561 <pre class="programlisting"><span class="returnvalue">void</span>
1562 hb_font_funcs_set_glyph_v_advance_func
1563 (<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>,
1564 <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>,
1565 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1566 <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>
1567 <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>
1568 <div class="refsect3">
1569 <a name="hb-font-funcs-set-glyph-v-advance-func.parameters"></a><h4>Parameters</h4>
1570 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1572 <col width="150px" class="parameters_name">
1573 <col class="parameters_description">
1574 <col width="200px" class="parameters_annotations">
1578 <td class="parameter_name"><p>ffuncs</p></td>
1579 <td class="parameter_description"><p>A font-function structure</p></td>
1580 <td class="parameter_annotations"> </td>
1583 <td class="parameter_name"><p>func</p></td>
1584 <td class="parameter_description"><p>The callback function to assign. </p></td>
1585 <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>
1588 <td class="parameter_name"><p>user_data</p></td>
1589 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1591 <td class="parameter_annotations"> </td>
1594 <td class="parameter_name"><p>destroy</p></td>
1595 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1596 is not needed anymore. </p></td>
1597 <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>
1602 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1605 <div class="refsect2">
1606 <a name="hb-font-funcs-set-glyph-v-advances-func"></a><h3>hb_font_funcs_set_glyph_v_advances_func ()</h3>
1607 <pre class="programlisting"><span class="returnvalue">void</span>
1608 hb_font_funcs_set_glyph_v_advances_func
1609 (<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>,
1610 <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>,
1611 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1612 <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>
1613 <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>
1614 <div class="refsect3">
1615 <a name="hb-font-funcs-set-glyph-v-advances-func.parameters"></a><h4>Parameters</h4>
1616 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1618 <col width="150px" class="parameters_name">
1619 <col class="parameters_description">
1620 <col width="200px" class="parameters_annotations">
1624 <td class="parameter_name"><p>ffuncs</p></td>
1625 <td class="parameter_description"><p>A font-function structure</p></td>
1626 <td class="parameter_annotations"> </td>
1629 <td class="parameter_name"><p>func</p></td>
1630 <td class="parameter_description"><p>The callback function to assign. </p></td>
1631 <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>
1634 <td class="parameter_name"><p>user_data</p></td>
1635 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1637 <td class="parameter_annotations"> </td>
1640 <td class="parameter_name"><p>destroy</p></td>
1641 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1642 is not needed anymore. </p></td>
1643 <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>
1648 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
1651 <div class="refsect2">
1652 <a name="hb-font-funcs-set-glyph-v-origin-func"></a><h3>hb_font_funcs_set_glyph_v_origin_func ()</h3>
1653 <pre class="programlisting"><span class="returnvalue">void</span>
1654 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>,
1655 <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>,
1656 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1657 <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>
1658 <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>
1659 <div class="refsect3">
1660 <a name="hb-font-funcs-set-glyph-v-origin-func.parameters"></a><h4>Parameters</h4>
1661 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1663 <col width="150px" class="parameters_name">
1664 <col class="parameters_description">
1665 <col width="200px" class="parameters_annotations">
1669 <td class="parameter_name"><p>ffuncs</p></td>
1670 <td class="parameter_description"><p>A font-function structure</p></td>
1671 <td class="parameter_annotations"> </td>
1674 <td class="parameter_name"><p>func</p></td>
1675 <td class="parameter_description"><p>The callback function to assign. </p></td>
1676 <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>
1679 <td class="parameter_name"><p>user_data</p></td>
1680 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1682 <td class="parameter_annotations"> </td>
1685 <td class="parameter_name"><p>destroy</p></td>
1686 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1687 is not needed anymore. </p></td>
1688 <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>
1693 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1696 <div class="refsect2">
1697 <a name="hb-font-funcs-set-nominal-glyph-func"></a><h3>hb_font_funcs_set_nominal_glyph_func ()</h3>
1698 <pre class="programlisting"><span class="returnvalue">void</span>
1699 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>,
1700 <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>,
1701 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1702 <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>
1703 <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>
1704 <div class="refsect3">
1705 <a name="hb-font-funcs-set-nominal-glyph-func.parameters"></a><h4>Parameters</h4>
1706 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1708 <col width="150px" class="parameters_name">
1709 <col class="parameters_description">
1710 <col width="200px" class="parameters_annotations">
1714 <td class="parameter_name"><p>ffuncs</p></td>
1715 <td class="parameter_description"><p>A font-function structure</p></td>
1716 <td class="parameter_annotations"> </td>
1719 <td class="parameter_name"><p>func</p></td>
1720 <td class="parameter_description"><p>The callback function to assign. </p></td>
1721 <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>
1724 <td class="parameter_name"><p>user_data</p></td>
1725 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1727 <td class="parameter_annotations"> </td>
1730 <td class="parameter_name"><p>destroy</p></td>
1731 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1732 is not needed anymore. </p></td>
1733 <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>
1738 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
1741 <div class="refsect2">
1742 <a name="hb-font-funcs-set-nominal-glyphs-func"></a><h3>hb_font_funcs_set_nominal_glyphs_func ()</h3>
1743 <pre class="programlisting"><span class="returnvalue">void</span>
1744 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>,
1745 <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>,
1746 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1747 <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>
1748 <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>
1749 <div class="refsect3">
1750 <a name="hb-font-funcs-set-nominal-glyphs-func.parameters"></a><h4>Parameters</h4>
1751 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1753 <col width="150px" class="parameters_name">
1754 <col class="parameters_description">
1755 <col width="200px" class="parameters_annotations">
1759 <td class="parameter_name"><p>ffuncs</p></td>
1760 <td class="parameter_description"><p>A font-function structure</p></td>
1761 <td class="parameter_annotations"> </td>
1764 <td class="parameter_name"><p>func</p></td>
1765 <td class="parameter_description"><p>The callback function to assign. </p></td>
1766 <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>
1769 <td class="parameter_name"><p>user_data</p></td>
1770 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1772 <td class="parameter_annotations"> </td>
1775 <td class="parameter_name"><p>destroy</p></td>
1776 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1777 is not needed anymore. </p></td>
1778 <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>
1783 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
1786 <div class="refsect2">
1787 <a name="hb-font-funcs-set-user-data"></a><h3>hb_font_funcs_set_user_data ()</h3>
1788 <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>
1789 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>,
1790 <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>,
1791 <em class="parameter"><code><span class="type">void</span> *data</code></em>,
1792 <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>,
1793 <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>
1794 <p>Attaches a user-data key/data pair to the specified font-functions structure.</p>
1795 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
1796 <div class="refsect3">
1797 <a name="hb-font-funcs-set-user-data.parameters"></a><h4>Parameters</h4>
1798 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1800 <col width="150px" class="parameters_name">
1801 <col class="parameters_description">
1802 <col width="200px" class="parameters_annotations">
1806 <td class="parameter_name"><p>ffuncs</p></td>
1807 <td class="parameter_description"><p>The font-functions structure</p></td>
1808 <td class="parameter_annotations"> </td>
1811 <td class="parameter_name"><p>key</p></td>
1812 <td class="parameter_description"><p>The user-data key to set</p></td>
1813 <td class="parameter_annotations"> </td>
1816 <td class="parameter_name"><p>data</p></td>
1817 <td class="parameter_description"><p>A pointer to the user data set</p></td>
1818 <td class="parameter_annotations"> </td>
1821 <td class="parameter_name"><p>destroy</p></td>
1822 <td class="parameter_description"><p>A callback to call when <em class="parameter"><code>data</code></em>
1823 is not needed anymore. </p></td>
1824 <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>
1827 <td class="parameter_name"><p>replace</p></td>
1828 <td class="parameter_description"><p>Whether to replace an existing data with the same key</p></td>
1829 <td class="parameter_annotations"> </td>
1834 <div class="refsect3">
1835 <a name="hb-font-funcs-set-user-data.returns"></a><h4>Returns</h4>
1836 <p> <code class="literal">true</code> if success, <code class="literal">false</code> otherwise</p>
1838 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1841 <div class="refsect2">
1842 <a name="hb-font-funcs-set-variation-glyph-func"></a><h3>hb_font_funcs_set_variation_glyph_func ()</h3>
1843 <pre class="programlisting"><span class="returnvalue">void</span>
1844 hb_font_funcs_set_variation_glyph_func
1845 (<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>,
1846 <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>,
1847 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
1848 <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>
1849 <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>
1850 <div class="refsect3">
1851 <a name="hb-font-funcs-set-variation-glyph-func.parameters"></a><h4>Parameters</h4>
1852 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1854 <col width="150px" class="parameters_name">
1855 <col class="parameters_description">
1856 <col width="200px" class="parameters_annotations">
1860 <td class="parameter_name"><p>ffuncs</p></td>
1861 <td class="parameter_description"><p>A font-function structure</p></td>
1862 <td class="parameter_annotations"> </td>
1865 <td class="parameter_name"><p>func</p></td>
1866 <td class="parameter_description"><p>The callback function to assign. </p></td>
1867 <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>
1870 <td class="parameter_name"><p>user_data</p></td>
1871 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
1873 <td class="parameter_annotations"> </td>
1876 <td class="parameter_name"><p>destroy</p></td>
1877 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
1878 is not needed anymore. </p></td>
1879 <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>
1884 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
1887 <div class="refsect2">
1888 <a name="hb-font-get-empty"></a><h3>hb_font_get_empty ()</h3>
1889 <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> *
1890 hb_font_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
1891 <p>Fetches the empty font object.</p>
1892 <div class="refsect3">
1893 <a name="hb-font-get-empty.returns"></a><h4>Returns</h4>
1894 <p>The empty font object. </p>
1895 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
1897 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1900 <div class="refsect2">
1901 <a name="hb-font-get-face"></a><h3>hb_font_get_face ()</h3>
1902 <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> *
1903 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>
1904 <p>Fetches the face associated with the specified font object.</p>
1905 <div class="refsect3">
1906 <a name="hb-font-get-face.parameters"></a><h4>Parameters</h4>
1907 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1909 <col width="150px" class="parameters_name">
1910 <col class="parameters_description">
1911 <col width="200px" class="parameters_annotations">
1914 <td class="parameter_name"><p>font</p></td>
1915 <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>
1916 <td class="parameter_annotations"> </td>
1920 <div class="refsect3">
1921 <a name="hb-font-get-face.returns"></a><h4>Returns</h4>
1922 <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>
1923 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
1925 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1928 <div class="refsect2">
1929 <a name="hb-font-get-glyph"></a><h3>hb_font_get_glyph ()</h3>
1930 <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>
1931 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>,
1932 <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>,
1933 <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>,
1934 <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>
1935 <p>Fetches the glyph ID for a Unicode code point in the specified
1936 font, with an optional variation selector.</p>
1937 <p>If <em class="parameter"><code>variation_selector</code></em>
1938 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>;
1939 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>
1940 <div class="refsect3">
1941 <a name="hb-font-get-glyph.parameters"></a><h4>Parameters</h4>
1942 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1944 <col width="150px" class="parameters_name">
1945 <col class="parameters_description">
1946 <col width="200px" class="parameters_annotations">
1950 <td class="parameter_name"><p>font</p></td>
1951 <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>
1952 <td class="parameter_annotations"> </td>
1955 <td class="parameter_name"><p>unicode</p></td>
1956 <td class="parameter_description"><p>The Unicode code point to query</p></td>
1957 <td class="parameter_annotations"> </td>
1960 <td class="parameter_name"><p>variation_selector</p></td>
1961 <td class="parameter_description"><p>A variation-selector code point</p></td>
1962 <td class="parameter_annotations"> </td>
1965 <td class="parameter_name"><p>glyph</p></td>
1966 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
1967 <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>
1972 <div class="refsect3">
1973 <a name="hb-font-get-glyph.returns"></a><h4>Returns</h4>
1974 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
1976 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
1979 <div class="refsect2">
1980 <a name="hb-font-get-glyph-advance-for-direction"></a><h3>hb_font_get_glyph_advance_for_direction ()</h3>
1981 <pre class="programlisting"><span class="returnvalue">void</span>
1982 hb_font_get_glyph_advance_for_direction
1983 (<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>,
1984 <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>,
1985 <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>,
1986 <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>,
1987 <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>
1988 <p>Fetches the advance for a glyph ID from the specified font,
1989 in a text segment of the specified direction.</p>
1990 <p>Calls the appropriate direction-specific variant (horizontal
1991 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
1993 <div class="refsect3">
1994 <a name="hb-font-get-glyph-advance-for-direction.parameters"></a><h4>Parameters</h4>
1995 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1997 <col width="150px" class="parameters_name">
1998 <col class="parameters_description">
1999 <col width="200px" class="parameters_annotations">
2003 <td class="parameter_name"><p>font</p></td>
2004 <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>
2005 <td class="parameter_annotations"> </td>
2008 <td class="parameter_name"><p>glyph</p></td>
2009 <td class="parameter_description"><p>The glyph ID to query</p></td>
2010 <td class="parameter_annotations"> </td>
2013 <td class="parameter_name"><p>direction</p></td>
2014 <td class="parameter_description"><p>The direction of the text segment</p></td>
2015 <td class="parameter_annotations"> </td>
2018 <td class="parameter_name"><p>x</p></td>
2019 <td class="parameter_description"><p>The horizontal advance retrieved. </p></td>
2020 <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>
2023 <td class="parameter_name"><p>y</p></td>
2024 <td class="parameter_description"><p>The vertical advance retrieved. </p></td>
2025 <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>
2030 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2033 <div class="refsect2">
2034 <a name="hb-font-get-glyph-advance-func-t"></a><h3>hb_font_get_glyph_advance_func_t ()</h3>
2035 <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>
2036 <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>,
2037 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
2038 <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>,
2039 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2040 <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>
2041 <p>This method should retrieve the advance for a specified glyph. The
2042 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>
2043 <div class="refsect3">
2044 <a name="hb-font-get-glyph-advance-func-t.parameters"></a><h4>Parameters</h4>
2045 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2047 <col width="150px" class="parameters_name">
2048 <col class="parameters_description">
2049 <col width="200px" class="parameters_annotations">
2053 <td class="parameter_name"><p>font</p></td>
2054 <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>
2055 <td class="parameter_annotations"> </td>
2058 <td class="parameter_name"><p>font_data</p></td>
2059 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
2060 user data pointer</p></td>
2061 <td class="parameter_annotations"> </td>
2064 <td class="parameter_name"><p>glyph</p></td>
2065 <td class="parameter_description"><p>The glyph ID to query</p></td>
2066 <td class="parameter_annotations"> </td>
2069 <td class="parameter_name"><p>user_data</p></td>
2070 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
2071 <td class="parameter_annotations"> </td>
2076 <div class="refsect3">
2077 <a name="hb-font-get-glyph-advance-func-t.returns"></a><h4>Returns</h4>
2078 <p> The advance of <em class="parameter"><code>glyph</code></em>
2079 within <em class="parameter"><code>font</code></em>
2084 <div class="refsect2">
2085 <a name="hb-font-get-glyph-advances-for-direction"></a><h3>hb_font_get_glyph_advances_for_direction ()</h3>
2086 <pre class="programlisting"><span class="returnvalue">void</span>
2087 hb_font_get_glyph_advances_for_direction
2088 (<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>,
2089 <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>,
2090 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
2091 <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>,
2092 <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
2093 <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>,
2094 <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>);</pre>
2095 <p>Fetches the advances for a sequence of glyph IDs in the specified
2096 font, in a text segment of the specified direction.</p>
2097 <p>Calls the appropriate direction-specific variant (horizontal
2098 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
2100 <div class="refsect3">
2101 <a name="hb-font-get-glyph-advances-for-direction.parameters"></a><h4>Parameters</h4>
2102 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2104 <col width="150px" class="parameters_name">
2105 <col class="parameters_description">
2106 <col width="200px" class="parameters_annotations">
2110 <td class="parameter_name"><p>font</p></td>
2111 <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>
2112 <td class="parameter_annotations"> </td>
2115 <td class="parameter_name"><p>direction</p></td>
2116 <td class="parameter_description"><p>The direction of the text segment</p></td>
2117 <td class="parameter_annotations"> </td>
2120 <td class="parameter_name"><p>count</p></td>
2121 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
2122 <td class="parameter_annotations"> </td>
2125 <td class="parameter_name"><p>first_glyph</p></td>
2126 <td class="parameter_description"><p>The first glyph ID to query</p></td>
2127 <td class="parameter_annotations"> </td>
2130 <td class="parameter_name"><p>glyph_stride</p></td>
2131 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
2132 <td class="parameter_annotations"> </td>
2135 <td class="parameter_name"><p>first_advance</p></td>
2136 <td class="parameter_description"><p>The first advance retrieved. </p></td>
2137 <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>
2140 <td class="parameter_name"><p>advance_stride</p></td>
2141 <td class="parameter_description"><p>The stride between successive advances. </p></td>
2142 <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>
2147 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
2150 <div class="refsect2">
2151 <a name="hb-font-get-glyph-advances-func-t"></a><h3>hb_font_get_glyph_advances_func_t ()</h3>
2152 <pre class="programlisting"><span class="returnvalue">void</span>
2153 <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>,
2154 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
2155 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
2156 <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>,
2157 <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
2158 <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>,
2159 <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>,
2160 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2161 <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>
2162 <p>This method should retrieve the advances for a sequence of glyphs.</p>
2163 <div class="refsect3">
2164 <a name="hb-font-get-glyph-advances-func-t.parameters"></a><h4>Parameters</h4>
2165 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2167 <col width="150px" class="parameters_name">
2168 <col class="parameters_description">
2169 <col width="200px" class="parameters_annotations">
2173 <td class="parameter_name"><p>font</p></td>
2174 <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>
2175 <td class="parameter_annotations"> </td>
2178 <td class="parameter_name"><p>font_data</p></td>
2179 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
2180 user data pointer</p></td>
2181 <td class="parameter_annotations"> </td>
2184 <td class="parameter_name"><p>count</p></td>
2185 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
2186 <td class="parameter_annotations"> </td>
2189 <td class="parameter_name"><p>first_glyph</p></td>
2190 <td class="parameter_description"><p>The first glyph ID to query</p></td>
2191 <td class="parameter_annotations"> </td>
2194 <td class="parameter_name"><p>glyph_stride</p></td>
2195 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
2196 <td class="parameter_annotations"> </td>
2199 <td class="parameter_name"><p>first_advance</p></td>
2200 <td class="parameter_description"><p>The first advance retrieved. </p></td>
2201 <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>
2204 <td class="parameter_name"><p>advance_stride</p></td>
2205 <td class="parameter_description"><p>The stride between successive advances</p></td>
2206 <td class="parameter_annotations"> </td>
2209 <td class="parameter_name"><p>user_data</p></td>
2210 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
2211 <td class="parameter_annotations"> </td>
2218 <div class="refsect2">
2219 <a name="hb-font-get-glyph-contour-point"></a><h3>hb_font_get_glyph_contour_point ()</h3>
2220 <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>
2221 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>,
2222 <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>,
2223 <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
2224 <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>,
2225 <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>
2226 <p>Fetches the (x,y) coordinates of a specified contour-point index
2227 in the specified glyph, within the specified font.</p>
2228 <div class="refsect3">
2229 <a name="hb-font-get-glyph-contour-point.parameters"></a><h4>Parameters</h4>
2230 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2232 <col width="150px" class="parameters_name">
2233 <col class="parameters_description">
2234 <col width="200px" class="parameters_annotations">
2238 <td class="parameter_name"><p>font</p></td>
2239 <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>
2240 <td class="parameter_annotations"> </td>
2243 <td class="parameter_name"><p>glyph</p></td>
2244 <td class="parameter_description"><p>The glyph ID to query</p></td>
2245 <td class="parameter_annotations"> </td>
2248 <td class="parameter_name"><p>point_index</p></td>
2249 <td class="parameter_description"><p>The contour-point index to query</p></td>
2250 <td class="parameter_annotations"> </td>
2253 <td class="parameter_name"><p>x</p></td>
2254 <td class="parameter_description"><p>The X value retrieved for the contour point. </p></td>
2255 <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>
2258 <td class="parameter_name"><p>y</p></td>
2259 <td class="parameter_description"><p>The Y value retrieved for the contour point. </p></td>
2260 <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>
2265 <div class="refsect3">
2266 <a name="hb-font-get-glyph-contour-point.returns"></a><h4>Returns</h4>
2267 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2269 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2272 <div class="refsect2">
2273 <a name="hb-font-get-glyph-contour-point-for-origin"></a><h3>hb_font_get_glyph_contour_point_for_origin ()</h3>
2274 <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>
2275 hb_font_get_glyph_contour_point_for_origin
2276 (<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>,
2277 <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>,
2278 <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
2279 <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>,
2280 <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>,
2281 <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>
2282 <p>Fetches the (X,Y) coordinates of a specified contour-point index
2283 in the specified glyph ID in the specified font, with respect
2284 to the origin in a text segment in the specified direction.</p>
2285 <p>Calls the appropriate direction-specific variant (horizontal
2286 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
2288 <div class="refsect3">
2289 <a name="hb-font-get-glyph-contour-point-for-origin.parameters"></a><h4>Parameters</h4>
2290 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2292 <col width="150px" class="parameters_name">
2293 <col class="parameters_description">
2294 <col width="200px" class="parameters_annotations">
2298 <td class="parameter_name"><p>font</p></td>
2299 <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>
2300 <td class="parameter_annotations"> </td>
2303 <td class="parameter_name"><p>glyph</p></td>
2304 <td class="parameter_description"><p>The glyph ID to query</p></td>
2305 <td class="parameter_annotations"> </td>
2308 <td class="parameter_name"><p>point_index</p></td>
2309 <td class="parameter_description"><p>The contour-point index to query</p></td>
2310 <td class="parameter_annotations"> </td>
2313 <td class="parameter_name"><p>direction</p></td>
2314 <td class="parameter_description"><p>The direction of the text segment</p></td>
2315 <td class="parameter_annotations"> </td>
2318 <td class="parameter_name"><p>x</p></td>
2319 <td class="parameter_description"><p>The X value retrieved for the contour point. </p></td>
2320 <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>
2323 <td class="parameter_name"><p>y</p></td>
2324 <td class="parameter_description"><p>The Y value retrieved for the contour point. </p></td>
2325 <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>
2330 <div class="refsect3">
2331 <a name="hb-font-get-glyph-contour-point-for-origin.returns"></a><h4>Returns</h4>
2332 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2334 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2337 <div class="refsect2">
2338 <a name="hb-font-get-glyph-contour-point-func-t"></a><h3>hb_font_get_glyph_contour_point_func_t ()</h3>
2339 <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>
2340 <span class="c_punctuation">(</span>*hb_font_get_glyph_contour_point_func_t<span class="c_punctuation">)</span>
2341 (<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>,
2342 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
2343 <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>,
2344 <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>,
2345 <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>,
2346 <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>,
2347 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2348 <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>
2349 <p>This method should retrieve the (X,Y) coordinates (in font units) for a
2350 specified contour point in a glyph. Each coordinate must be returned as
2351 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>
2352 <div class="refsect3">
2353 <a name="hb-font-get-glyph-contour-point-func-t.parameters"></a><h4>Parameters</h4>
2354 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2356 <col width="150px" class="parameters_name">
2357 <col class="parameters_description">
2358 <col width="200px" class="parameters_annotations">
2362 <td class="parameter_name"><p>font</p></td>
2363 <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>
2364 <td class="parameter_annotations"> </td>
2367 <td class="parameter_name"><p>font_data</p></td>
2368 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
2369 user data pointer</p></td>
2370 <td class="parameter_annotations"> </td>
2373 <td class="parameter_name"><p>glyph</p></td>
2374 <td class="parameter_description"><p>The glyph ID to query</p></td>
2375 <td class="parameter_annotations"> </td>
2378 <td class="parameter_name"><p>point_index</p></td>
2379 <td class="parameter_description"><p>The contour-point index to query</p></td>
2380 <td class="parameter_annotations"> </td>
2383 <td class="parameter_name"><p>x</p></td>
2384 <td class="parameter_description"><p>The X value retrieved for the contour point. </p></td>
2385 <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>
2388 <td class="parameter_name"><p>y</p></td>
2389 <td class="parameter_description"><p>The Y value retrieved for the contour point. </p></td>
2390 <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>
2393 <td class="parameter_name"><p>user_data</p></td>
2394 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
2395 <td class="parameter_annotations"> </td>
2400 <div class="refsect3">
2401 <a name="hb-font-get-glyph-contour-point-func-t.returns"></a><h4>Returns</h4>
2402 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2406 <div class="refsect2">
2407 <a name="hb-font-get-glyph-extents"></a><h3>hb_font_get_glyph_extents ()</h3>
2408 <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>
2409 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>,
2410 <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>,
2411 <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>
2412 <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
2413 in the specified font.</p>
2414 <div class="refsect3">
2415 <a name="hb-font-get-glyph-extents.parameters"></a><h4>Parameters</h4>
2416 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2418 <col width="150px" class="parameters_name">
2419 <col class="parameters_description">
2420 <col width="200px" class="parameters_annotations">
2424 <td class="parameter_name"><p>font</p></td>
2425 <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>
2426 <td class="parameter_annotations"> </td>
2429 <td class="parameter_name"><p>glyph</p></td>
2430 <td class="parameter_description"><p>The glyph ID to query</p></td>
2431 <td class="parameter_annotations"> </td>
2434 <td class="parameter_name"><p>extents</p></td>
2435 <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>
2436 <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>
2441 <div class="refsect3">
2442 <a name="hb-font-get-glyph-extents.returns"></a><h4>Returns</h4>
2443 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2445 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2448 <div class="refsect2">
2449 <a name="hb-font-get-glyph-extents-for-origin"></a><h3>hb_font_get_glyph_extents_for_origin ()</h3>
2450 <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>
2451 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>,
2452 <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>,
2453 <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>,
2454 <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>
2455 <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
2456 in the specified font, with respect to the origin in
2457 a text segment in the specified direction.</p>
2458 <p>Calls the appropriate direction-specific variant (horizontal
2459 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
2461 <div class="refsect3">
2462 <a name="hb-font-get-glyph-extents-for-origin.parameters"></a><h4>Parameters</h4>
2463 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2465 <col width="150px" class="parameters_name">
2466 <col class="parameters_description">
2467 <col width="200px" class="parameters_annotations">
2471 <td class="parameter_name"><p>font</p></td>
2472 <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>
2473 <td class="parameter_annotations"> </td>
2476 <td class="parameter_name"><p>glyph</p></td>
2477 <td class="parameter_description"><p>The glyph ID to query</p></td>
2478 <td class="parameter_annotations"> </td>
2481 <td class="parameter_name"><p>direction</p></td>
2482 <td class="parameter_description"><p>The direction of the text segment</p></td>
2483 <td class="parameter_annotations"> </td>
2486 <td class="parameter_name"><p>extents</p></td>
2487 <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>
2488 <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>
2493 <div class="refsect3">
2494 <a name="hb-font-get-glyph-extents-for-origin.returns"></a><h4>Returns</h4>
2495 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2497 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2500 <div class="refsect2">
2501 <a name="hb-font-get-glyph-extents-func-t"></a><h3>hb_font_get_glyph_extents_func_t ()</h3>
2502 <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>
2503 <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>,
2504 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
2505 <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>,
2506 <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>,
2507 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2508 <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>
2509 <p>This method should retrieve the extents for a specified glyph. Extents must be
2510 returned in an <span class="type">hb_glyph_extents</span> output parameter.</p>
2511 <div class="refsect3">
2512 <a name="hb-font-get-glyph-extents-func-t.parameters"></a><h4>Parameters</h4>
2513 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2515 <col width="150px" class="parameters_name">
2516 <col class="parameters_description">
2517 <col width="200px" class="parameters_annotations">
2521 <td class="parameter_name"><p>font</p></td>
2522 <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>
2523 <td class="parameter_annotations"> </td>
2526 <td class="parameter_name"><p>font_data</p></td>
2527 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
2528 user data pointer</p></td>
2529 <td class="parameter_annotations"> </td>
2532 <td class="parameter_name"><p>glyph</p></td>
2533 <td class="parameter_description"><p>The glyph ID to query</p></td>
2534 <td class="parameter_annotations"> </td>
2537 <td class="parameter_name"><p>extents</p></td>
2538 <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>
2539 <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>
2542 <td class="parameter_name"><p>user_data</p></td>
2543 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
2544 <td class="parameter_annotations"> </td>
2549 <div class="refsect3">
2550 <a name="hb-font-get-glyph-extents-func-t.returns"></a><h4>Returns</h4>
2551 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2555 <div class="refsect2">
2556 <a name="hb-font-get-glyph-from-name"></a><h3>hb_font_get_glyph_from_name ()</h3>
2557 <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>
2558 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>,
2559 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
2560 <em class="parameter"><code><span class="type">int</span> len</code></em>,
2561 <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>
2562 <p>Fetches the glyph ID that corresponds to a name string in the specified <em class="parameter"><code>font</code></em>
2564 <div class="note">Note: <em class="parameter"><code>len</code></em> == -1 means the name string is null-terminated.</div>
2565 <div class="refsect3">
2566 <a name="hb-font-get-glyph-from-name.parameters"></a><h4>Parameters</h4>
2567 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2569 <col width="150px" class="parameters_name">
2570 <col class="parameters_description">
2571 <col width="200px" class="parameters_annotations">
2575 <td class="parameter_name"><p>font</p></td>
2576 <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>
2577 <td class="parameter_annotations"> </td>
2580 <td class="parameter_name"><p>name</p></td>
2581 <td class="parameter_description"><p>The name string to query. </p></td>
2582 <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>
2585 <td class="parameter_name"><p>len</p></td>
2586 <td class="parameter_description"><p>The length of the name queried</p></td>
2587 <td class="parameter_annotations"> </td>
2590 <td class="parameter_name"><p>glyph</p></td>
2591 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
2592 <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>
2597 <div class="refsect3">
2598 <a name="hb-font-get-glyph-from-name.returns"></a><h4>Returns</h4>
2599 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2601 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2604 <div class="refsect2">
2605 <a name="hb-font-get-glyph-from-name-func-t"></a><h3>hb_font_get_glyph_from_name_func_t ()</h3>
2606 <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>
2607 <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>,
2608 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
2609 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
2610 <em class="parameter"><code><span class="type">int</span> len</code></em>,
2611 <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>,
2612 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2613 <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>
2614 <p>This method should retrieve the glyph ID that corresponds to a glyph-name
2616 <div class="refsect3">
2617 <a name="hb-font-get-glyph-from-name-func-t.parameters"></a><h4>Parameters</h4>
2618 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2620 <col width="150px" class="parameters_name">
2621 <col class="parameters_description">
2622 <col width="200px" class="parameters_annotations">
2626 <td class="parameter_name"><p>font</p></td>
2627 <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>
2628 <td class="parameter_annotations"> </td>
2631 <td class="parameter_name"><p>font_data</p></td>
2632 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
2633 user data pointer</p></td>
2634 <td class="parameter_annotations"> </td>
2637 <td class="parameter_name"><p>name</p></td>
2638 <td class="parameter_description"><p>The name string to query. </p></td>
2639 <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>
2642 <td class="parameter_name"><p>len</p></td>
2643 <td class="parameter_description"><p>The length of the name queried</p></td>
2644 <td class="parameter_annotations"> </td>
2647 <td class="parameter_name"><p>glyph</p></td>
2648 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
2649 <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>
2652 <td class="parameter_name"><p>user_data</p></td>
2653 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
2654 <td class="parameter_annotations"> </td>
2659 <div class="refsect3">
2660 <a name="hb-font-get-glyph-from-name-func-t.returns"></a><h4>Returns</h4>
2661 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2665 <div class="refsect2">
2666 <a name="hb-font-get-glyph-h-advance"></a><h3>hb_font_get_glyph_h_advance ()</h3>
2667 <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>
2668 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>,
2669 <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>
2670 <p>Fetches the advance for a glyph ID in the specified font,
2671 for horizontal text segments.</p>
2672 <div class="refsect3">
2673 <a name="hb-font-get-glyph-h-advance.parameters"></a><h4>Parameters</h4>
2674 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2676 <col width="150px" class="parameters_name">
2677 <col class="parameters_description">
2678 <col width="200px" class="parameters_annotations">
2682 <td class="parameter_name"><p>font</p></td>
2683 <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>
2684 <td class="parameter_annotations"> </td>
2687 <td class="parameter_name"><p>glyph</p></td>
2688 <td class="parameter_description"><p>The glyph ID to query</p></td>
2689 <td class="parameter_annotations"> </td>
2694 <div class="refsect3">
2695 <a name="hb-font-get-glyph-h-advance.returns"></a><h4>Returns</h4>
2696 <p> The advance of <em class="parameter"><code>glyph</code></em>
2697 within <em class="parameter"><code>font</code></em>
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>
2703 <div class="refsect2">
2704 <a name="hb-font-get-glyph-h-advances"></a><h3>hb_font_get_glyph_h_advances ()</h3>
2705 <pre class="programlisting"><span class="returnvalue">void</span>
2706 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>,
2707 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
2708 <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>,
2709 <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
2710 <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>,
2711 <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>);</pre>
2712 <p>Fetches the advances for a sequence of glyph IDs in the specified
2713 font, for horizontal text segments.</p>
2714 <div class="refsect3">
2715 <a name="hb-font-get-glyph-h-advances.parameters"></a><h4>Parameters</h4>
2716 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2718 <col width="150px" class="parameters_name">
2719 <col class="parameters_description">
2720 <col width="200px" class="parameters_annotations">
2724 <td class="parameter_name"><p>font</p></td>
2725 <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>
2726 <td class="parameter_annotations"> </td>
2729 <td class="parameter_name"><p>count</p></td>
2730 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
2731 <td class="parameter_annotations"> </td>
2734 <td class="parameter_name"><p>first_glyph</p></td>
2735 <td class="parameter_description"><p>The first glyph ID to query</p></td>
2736 <td class="parameter_annotations"> </td>
2739 <td class="parameter_name"><p>glyph_stride</p></td>
2740 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
2741 <td class="parameter_annotations"> </td>
2744 <td class="parameter_name"><p>first_advance</p></td>
2745 <td class="parameter_description"><p>The first advance retrieved. </p></td>
2746 <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>
2749 <td class="parameter_name"><p>advance_stride</p></td>
2750 <td class="parameter_description"><p>The stride between successive advances</p></td>
2751 <td class="parameter_annotations"> </td>
2756 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
2759 <div class="refsect2">
2760 <a name="hb-font-get-glyph-h-kerning"></a><h3>hb_font_get_glyph_h_kerning ()</h3>
2761 <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>
2762 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>,
2763 <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>,
2764 <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>
2765 <p>Fetches the kerning-adjustment value for a glyph-pair in
2766 the specified font, for horizontal text segments.</p>
2767 <div class="note">It handles legacy kerning only (as returned by the corresponding
2768 <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>
2769 <div class="refsect3">
2770 <a name="hb-font-get-glyph-h-kerning.parameters"></a><h4>Parameters</h4>
2771 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2773 <col width="150px" class="parameters_name">
2774 <col class="parameters_description">
2775 <col width="200px" class="parameters_annotations">
2779 <td class="parameter_name"><p>font</p></td>
2780 <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>
2781 <td class="parameter_annotations"> </td>
2784 <td class="parameter_name"><p>left_glyph</p></td>
2785 <td class="parameter_description"><p>The glyph ID of the left glyph in the glyph pair</p></td>
2786 <td class="parameter_annotations"> </td>
2789 <td class="parameter_name"><p>right_glyph</p></td>
2790 <td class="parameter_description"><p>The glyph ID of the right glyph in the glyph pair</p></td>
2791 <td class="parameter_annotations"> </td>
2796 <div class="refsect3">
2797 <a name="hb-font-get-glyph-h-kerning.returns"></a><h4>Returns</h4>
2798 <p> The kerning adjustment value</p>
2800 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2803 <div class="refsect2">
2804 <a name="hb-font-get-glyph-h-origin"></a><h3>hb_font_get_glyph_h_origin ()</h3>
2805 <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>
2806 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>,
2807 <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>,
2808 <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>,
2809 <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>
2810 <p>Fetches the (X,Y) coordinates of the origin for a glyph ID
2811 in the specified font, for horizontal text segments.</p>
2812 <div class="refsect3">
2813 <a name="hb-font-get-glyph-h-origin.parameters"></a><h4>Parameters</h4>
2814 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2816 <col width="150px" class="parameters_name">
2817 <col class="parameters_description">
2818 <col width="200px" class="parameters_annotations">
2822 <td class="parameter_name"><p>font</p></td>
2823 <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>
2824 <td class="parameter_annotations"> </td>
2827 <td class="parameter_name"><p>glyph</p></td>
2828 <td class="parameter_description"><p>The glyph ID to query</p></td>
2829 <td class="parameter_annotations"> </td>
2832 <td class="parameter_name"><p>x</p></td>
2833 <td class="parameter_description"><p>The X coordinate of the origin. </p></td>
2834 <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>
2837 <td class="parameter_name"><p>y</p></td>
2838 <td class="parameter_description"><p>The Y coordinate of the origin. </p></td>
2839 <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>
2844 <div class="refsect3">
2845 <a name="hb-font-get-glyph-h-origin.returns"></a><h4>Returns</h4>
2846 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
2848 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2851 <div class="refsect2">
2852 <a name="hb-font-get-glyph-kerning-for-direction"></a><h3>hb_font_get_glyph_kerning_for_direction ()</h3>
2853 <pre class="programlisting"><span class="returnvalue">void</span>
2854 hb_font_get_glyph_kerning_for_direction
2855 (<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>,
2856 <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>,
2857 <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>,
2858 <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>,
2859 <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>,
2860 <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>
2861 <p>Fetches the kerning-adjustment value for a glyph-pair in the specified font.</p>
2862 <p>Calls the appropriate direction-specific variant (horizontal
2863 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
2865 <div class="refsect3">
2866 <a name="hb-font-get-glyph-kerning-for-direction.parameters"></a><h4>Parameters</h4>
2867 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2869 <col width="150px" class="parameters_name">
2870 <col class="parameters_description">
2871 <col width="200px" class="parameters_annotations">
2875 <td class="parameter_name"><p>font</p></td>
2876 <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>
2877 <td class="parameter_annotations"> </td>
2880 <td class="parameter_name"><p>first_glyph</p></td>
2881 <td class="parameter_description"><p>The glyph ID of the first glyph in the glyph pair to query</p></td>
2882 <td class="parameter_annotations"> </td>
2885 <td class="parameter_name"><p>second_glyph</p></td>
2886 <td class="parameter_description"><p>The glyph ID of the second glyph in the glyph pair to query</p></td>
2887 <td class="parameter_annotations"> </td>
2890 <td class="parameter_name"><p>direction</p></td>
2891 <td class="parameter_description"><p>The direction of the text segment</p></td>
2892 <td class="parameter_annotations"> </td>
2895 <td class="parameter_name"><p>x</p></td>
2896 <td class="parameter_description"><p>The horizontal kerning-adjustment value retrieved. </p></td>
2897 <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>
2900 <td class="parameter_name"><p>y</p></td>
2901 <td class="parameter_description"><p>The vertical kerning-adjustment value retrieved. </p></td>
2902 <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>
2907 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
2910 <div class="refsect2">
2911 <a name="hb-font-get-glyph-kerning-func-t"></a><h3>hb_font_get_glyph_kerning_func_t ()</h3>
2912 <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>
2913 <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>,
2914 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
2915 <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>,
2916 <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>,
2917 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
2918 <p>This method should retrieve the kerning-adjustment value for a glyph-pair in
2919 the specified font, for horizontal text segments.</p>
2920 <div class="refsect3">
2921 <a name="hb-font-get-glyph-kerning-func-t.parameters"></a><h4>Parameters</h4>
2922 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2924 <col width="150px" class="parameters_name">
2925 <col class="parameters_description">
2926 <col width="200px" class="parameters_annotations">
2930 <td class="parameter_name"><p>font</p></td>
2931 <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>
2932 <td class="parameter_annotations"> </td>
2935 <td class="parameter_name"><p>font_data</p></td>
2936 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
2937 user data pointer</p></td>
2938 <td class="parameter_annotations"> </td>
2941 <td class="parameter_name"><p>first_glyph</p></td>
2942 <td class="parameter_description"><p>The glyph ID of the first glyph in the glyph pair</p></td>
2943 <td class="parameter_annotations"> </td>
2946 <td class="parameter_name"><p>second_glyph</p></td>
2947 <td class="parameter_description"><p>The glyph ID of the second glyph in the glyph pair</p></td>
2948 <td class="parameter_annotations"> </td>
2951 <td class="parameter_name"><p>user_data</p></td>
2952 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
2953 <td class="parameter_annotations"> </td>
2960 <div class="refsect2">
2961 <a name="hb-font-get-glyph-name"></a><h3>hb_font_get_glyph_name ()</h3>
2962 <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>
2963 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>,
2964 <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>,
2965 <em class="parameter"><code><span class="type">char</span> *name</code></em>,
2966 <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
2967 <p>Fetches the glyph-name string for a glyph ID in the specified <em class="parameter"><code>font</code></em>
2969 <div class="refsect3">
2970 <a name="hb-font-get-glyph-name.parameters"></a><h4>Parameters</h4>
2971 <div class="informaltable"><table class="informaltable" width="100%" border="0">
2973 <col width="150px" class="parameters_name">
2974 <col class="parameters_description">
2975 <col width="200px" class="parameters_annotations">
2979 <td class="parameter_name"><p>font</p></td>
2980 <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>
2981 <td class="parameter_annotations"> </td>
2984 <td class="parameter_name"><p>glyph</p></td>
2985 <td class="parameter_description"><p>The glyph ID to query</p></td>
2986 <td class="parameter_annotations"> </td>
2989 <td class="parameter_name"><p>name</p></td>
2990 <td class="parameter_description"><p>Name string retrieved for the glyph ID. </p></td>
2991 <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>
2994 <td class="parameter_name"><p>size</p></td>
2995 <td class="parameter_description"><p>Length of the glyph-name string retrieved</p></td>
2996 <td class="parameter_annotations"> </td>
3001 <div class="refsect3">
3002 <a name="hb-font-get-glyph-name.returns"></a><h4>Returns</h4>
3003 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3005 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3008 <div class="refsect2">
3009 <a name="hb-font-get-glyph-name-func-t"></a><h3>hb_font_get_glyph_name_func_t ()</h3>
3010 <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>
3011 <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>,
3012 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3013 <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>,
3014 <em class="parameter"><code><span class="type">char</span> *name</code></em>,
3015 <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>,
3016 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3017 <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>
3018 <p>This method should retrieve the glyph name that corresponds to a
3019 glyph ID. The name should be returned in a string output parameter.</p>
3020 <div class="refsect3">
3021 <a name="hb-font-get-glyph-name-func-t.parameters"></a><h4>Parameters</h4>
3022 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3024 <col width="150px" class="parameters_name">
3025 <col class="parameters_description">
3026 <col width="200px" class="parameters_annotations">
3030 <td class="parameter_name"><p>font</p></td>
3031 <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>
3032 <td class="parameter_annotations"> </td>
3035 <td class="parameter_name"><p>font_data</p></td>
3036 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
3037 user data pointer</p></td>
3038 <td class="parameter_annotations"> </td>
3041 <td class="parameter_name"><p>glyph</p></td>
3042 <td class="parameter_description"><p>The glyph ID to query</p></td>
3043 <td class="parameter_annotations"> </td>
3046 <td class="parameter_name"><p>name</p></td>
3047 <td class="parameter_description"><p>Name string retrieved for the glyph ID. </p></td>
3048 <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>
3051 <td class="parameter_name"><p>size</p></td>
3052 <td class="parameter_description"><p>Length of the glyph-name string retrieved</p></td>
3053 <td class="parameter_annotations"> </td>
3056 <td class="parameter_name"><p>user_data</p></td>
3057 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
3058 <td class="parameter_annotations"> </td>
3063 <div class="refsect3">
3064 <a name="hb-font-get-glyph-name-func-t.returns"></a><h4>Returns</h4>
3065 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3069 <div class="refsect2">
3070 <a name="hb-font-get-glyph-origin-for-direction"></a><h3>hb_font_get_glyph_origin_for_direction ()</h3>
3071 <pre class="programlisting"><span class="returnvalue">void</span>
3072 hb_font_get_glyph_origin_for_direction
3073 (<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>,
3074 <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>,
3075 <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>,
3076 <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>,
3077 <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>
3078 <p>Fetches the (X,Y) coordinates of the origin for a glyph in
3079 the specified font.</p>
3080 <p>Calls the appropriate direction-specific variant (horizontal
3081 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
3083 <div class="refsect3">
3084 <a name="hb-font-get-glyph-origin-for-direction.parameters"></a><h4>Parameters</h4>
3085 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3087 <col width="150px" class="parameters_name">
3088 <col class="parameters_description">
3089 <col width="200px" class="parameters_annotations">
3093 <td class="parameter_name"><p>font</p></td>
3094 <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>
3095 <td class="parameter_annotations"> </td>
3098 <td class="parameter_name"><p>glyph</p></td>
3099 <td class="parameter_description"><p>The glyph ID to query</p></td>
3100 <td class="parameter_annotations"> </td>
3103 <td class="parameter_name"><p>direction</p></td>
3104 <td class="parameter_description"><p>The direction of the text segment</p></td>
3105 <td class="parameter_annotations"> </td>
3108 <td class="parameter_name"><p>x</p></td>
3109 <td class="parameter_description"><p>The X coordinate retrieved for the origin. </p></td>
3110 <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>
3113 <td class="parameter_name"><p>y</p></td>
3114 <td class="parameter_description"><p>The Y coordinate retrieved for the origin. </p></td>
3115 <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>
3120 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3123 <div class="refsect2">
3124 <a name="hb-font-get-glyph-origin-func-t"></a><h3>hb_font_get_glyph_origin_func_t ()</h3>
3125 <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>
3126 <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>,
3127 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3128 <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>,
3129 <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>,
3130 <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>,
3131 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3132 <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>
3133 <p>This method should retrieve the (X,Y) coordinates (in font units) of the
3134 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>
3135 output parameter.</p>
3136 <div class="refsect3">
3137 <a name="hb-font-get-glyph-origin-func-t.parameters"></a><h4>Parameters</h4>
3138 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3140 <col width="150px" class="parameters_name">
3141 <col class="parameters_description">
3142 <col width="200px" class="parameters_annotations">
3146 <td class="parameter_name"><p>font</p></td>
3147 <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>
3148 <td class="parameter_annotations"> </td>
3151 <td class="parameter_name"><p>font_data</p></td>
3152 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
3153 user data pointer</p></td>
3154 <td class="parameter_annotations"> </td>
3157 <td class="parameter_name"><p>glyph</p></td>
3158 <td class="parameter_description"><p>The glyph ID to query</p></td>
3159 <td class="parameter_annotations"> </td>
3162 <td class="parameter_name"><p>x</p></td>
3163 <td class="parameter_description"><p>The X coordinate of the origin. </p></td>
3164 <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>
3167 <td class="parameter_name"><p>y</p></td>
3168 <td class="parameter_description"><p>The Y coordinate of the origin. </p></td>
3169 <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>
3172 <td class="parameter_name"><p>user_data</p></td>
3173 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
3174 <td class="parameter_annotations"> </td>
3179 <div class="refsect3">
3180 <a name="hb-font-get-glyph-origin-func-t.returns"></a><h4>Returns</h4>
3181 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3185 <div class="refsect2">
3186 <a name="hb-font-get-glyph-v-advance"></a><h3>hb_font_get_glyph_v_advance ()</h3>
3187 <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>
3188 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>,
3189 <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>
3190 <p>Fetches the advance for a glyph ID in the specified font,
3191 for vertical text segments.</p>
3192 <div class="refsect3">
3193 <a name="hb-font-get-glyph-v-advance.parameters"></a><h4>Parameters</h4>
3194 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3196 <col width="150px" class="parameters_name">
3197 <col class="parameters_description">
3198 <col width="200px" class="parameters_annotations">
3202 <td class="parameter_name"><p>font</p></td>
3203 <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>
3204 <td class="parameter_annotations"> </td>
3207 <td class="parameter_name"><p>glyph</p></td>
3208 <td class="parameter_description"><p>The glyph ID to query</p></td>
3209 <td class="parameter_annotations"> </td>
3214 <div class="refsect3">
3215 <a name="hb-font-get-glyph-v-advance.returns"></a><h4>Returns</h4>
3216 <p> The advance of <em class="parameter"><code>glyph</code></em>
3217 within <em class="parameter"><code>font</code></em>
3220 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3223 <div class="refsect2">
3224 <a name="hb-font-get-glyph-v-advances"></a><h3>hb_font_get_glyph_v_advances ()</h3>
3225 <pre class="programlisting"><span class="returnvalue">void</span>
3226 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>,
3227 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
3228 <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>,
3229 <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>,
3230 <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>,
3231 <em class="parameter"><code><span class="type">unsigned </span> advance_stride</code></em>);</pre>
3232 <p>Fetches the advances for a sequence of glyph IDs in the specified
3233 font, for vertical text segments.</p>
3234 <div class="refsect3">
3235 <a name="hb-font-get-glyph-v-advances.parameters"></a><h4>Parameters</h4>
3236 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3238 <col width="150px" class="parameters_name">
3239 <col class="parameters_description">
3240 <col width="200px" class="parameters_annotations">
3244 <td class="parameter_name"><p>font</p></td>
3245 <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>
3246 <td class="parameter_annotations"> </td>
3249 <td class="parameter_name"><p>count</p></td>
3250 <td class="parameter_description"><p>The number of glyph IDs in the sequence queried</p></td>
3251 <td class="parameter_annotations"> </td>
3254 <td class="parameter_name"><p>first_glyph</p></td>
3255 <td class="parameter_description"><p>The first glyph ID to query</p></td>
3256 <td class="parameter_annotations"> </td>
3259 <td class="parameter_name"><p>glyph_stride</p></td>
3260 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
3261 <td class="parameter_annotations"> </td>
3264 <td class="parameter_name"><p>first_advance</p></td>
3265 <td class="parameter_description"><p>The first advance retrieved. </p></td>
3266 <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>
3269 <td class="parameter_name"><p>advance_stride</p></td>
3270 <td class="parameter_description"><p>The stride between successive advances. </p></td>
3271 <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>
3276 <p class="since">Since: <a class="link" href="api-index-1-8-6.html#api-index-1.8.6">1.8.6</a></p>
3279 <div class="refsect2">
3280 <a name="hb-font-get-glyph-v-origin"></a><h3>hb_font_get_glyph_v_origin ()</h3>
3281 <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>
3282 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>,
3283 <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>,
3284 <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>,
3285 <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>
3286 <p>Fetches the (X,Y) coordinates of the origin for a glyph ID
3287 in the specified font, for vertical text segments.</p>
3288 <div class="refsect3">
3289 <a name="hb-font-get-glyph-v-origin.parameters"></a><h4>Parameters</h4>
3290 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3292 <col width="150px" class="parameters_name">
3293 <col class="parameters_description">
3294 <col width="200px" class="parameters_annotations">
3298 <td class="parameter_name"><p>font</p></td>
3299 <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>
3300 <td class="parameter_annotations"> </td>
3303 <td class="parameter_name"><p>glyph</p></td>
3304 <td class="parameter_description"><p>The glyph ID to query</p></td>
3305 <td class="parameter_annotations"> </td>
3308 <td class="parameter_name"><p>x</p></td>
3309 <td class="parameter_description"><p>The X coordinate of the origin. </p></td>
3310 <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>
3313 <td class="parameter_name"><p>y</p></td>
3314 <td class="parameter_description"><p>The Y coordinate of the origin. </p></td>
3315 <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 <div class="refsect3">
3321 <a name="hb-font-get-glyph-v-origin.returns"></a><h4>Returns</h4>
3322 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3324 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3327 <div class="refsect2">
3328 <a name="hb-font-get-nominal-glyph"></a><h3>hb_font_get_nominal_glyph ()</h3>
3329 <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>
3330 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>,
3331 <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>,
3332 <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>
3333 <p>Fetches the nominal glyph ID for a Unicode code point in the
3335 <p>This version of the function should not be used to fetch glyph IDs
3336 for code points modified by variation selectors. For variation-selector
3337 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>
3338 <div class="refsect3">
3339 <a name="hb-font-get-nominal-glyph.parameters"></a><h4>Parameters</h4>
3340 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3342 <col width="150px" class="parameters_name">
3343 <col class="parameters_description">
3344 <col width="200px" class="parameters_annotations">
3348 <td class="parameter_name"><p>font</p></td>
3349 <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>
3350 <td class="parameter_annotations"> </td>
3353 <td class="parameter_name"><p>unicode</p></td>
3354 <td class="parameter_description"><p>The Unicode code point to query</p></td>
3355 <td class="parameter_annotations"> </td>
3358 <td class="parameter_name"><p>glyph</p></td>
3359 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
3360 <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>
3365 <div class="refsect3">
3366 <a name="hb-font-get-nominal-glyph.returns"></a><h4>Returns</h4>
3367 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3369 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
3372 <div class="refsect2">
3373 <a name="hb-font-get-nominal-glyph-func-t"></a><h3>hb_font_get_nominal_glyph_func_t ()</h3>
3374 <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>
3375 <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>,
3376 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3377 <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>,
3378 <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>,
3379 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3380 <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>
3381 <p>This method should retrieve the nominal glyph ID for a specified Unicode code
3382 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>
3383 <div class="refsect3">
3384 <a name="hb-font-get-nominal-glyph-func-t.parameters"></a><h4>Parameters</h4>
3385 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3387 <col width="150px" class="parameters_name">
3388 <col class="parameters_description">
3389 <col width="200px" class="parameters_annotations">
3393 <td class="parameter_name"><p>font</p></td>
3394 <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>
3395 <td class="parameter_annotations"> </td>
3398 <td class="parameter_name"><p>font_data</p></td>
3399 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
3400 user data pointer</p></td>
3401 <td class="parameter_annotations"> </td>
3404 <td class="parameter_name"><p>unicode</p></td>
3405 <td class="parameter_description"><p>The Unicode code point to query</p></td>
3406 <td class="parameter_annotations"> </td>
3409 <td class="parameter_name"><p>glyph</p></td>
3410 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
3411 <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>
3414 <td class="parameter_name"><p>user_data</p></td>
3415 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
3416 <td class="parameter_annotations"> </td>
3421 <div class="refsect3">
3422 <a name="hb-font-get-nominal-glyph-func-t.returns"></a><h4>Returns</h4>
3423 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3427 <div class="refsect2">
3428 <a name="hb-font-get-nominal-glyphs"></a><h3>hb_font_get_nominal_glyphs ()</h3>
3429 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
3430 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>,
3431 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
3432 <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>,
3433 <em class="parameter"><code>unsigned <span class="type">int</span> unicode_stride</code></em>,
3434 <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>,
3435 <em class="parameter"><code>unsigned <span class="type">int</span> glyph_stride</code></em>);</pre>
3436 <p>Fetches the nominal glyph IDs for a sequence of Unicode code points. Glyph
3437 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>
3438 <div class="refsect3">
3439 <a name="hb-font-get-nominal-glyphs.parameters"></a><h4>Parameters</h4>
3440 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3442 <col width="150px" class="parameters_name">
3443 <col class="parameters_description">
3444 <col width="200px" class="parameters_annotations">
3448 <td class="parameter_name"><p>font</p></td>
3449 <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>
3450 <td class="parameter_annotations"> </td>
3453 <td class="parameter_name"><p>count</p></td>
3454 <td class="parameter_description"><p>number of code points to query</p></td>
3455 <td class="parameter_annotations"> </td>
3458 <td class="parameter_name"><p>first_unicode</p></td>
3459 <td class="parameter_description"><p>The first Unicode code point to query</p></td>
3460 <td class="parameter_annotations"> </td>
3463 <td class="parameter_name"><p>unicode_stride</p></td>
3464 <td class="parameter_description"><p>The stride between successive code points</p></td>
3465 <td class="parameter_annotations"> </td>
3468 <td class="parameter_name"><p>first_glyph</p></td>
3469 <td class="parameter_description"><p>The first glyph ID retrieved. </p></td>
3470 <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>
3473 <td class="parameter_name"><p>glyph_stride</p></td>
3474 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
3475 <td class="parameter_annotations"> </td>
3480 <div class="refsect3">
3481 <a name="hb-font-get-nominal-glyphs.returns"></a><h4>Returns</h4>
3482 <p> the number of code points processed</p>
3484 <p class="since">Since: <a class="link" href="api-index-2-6-3.html#api-index-2.6.3">2.6.3</a></p>
3487 <div class="refsect2">
3488 <a name="hb-font-get-nominal-glyphs-func-t"></a><h3>hb_font_get_nominal_glyphs_func_t ()</h3>
3489 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
3490 <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>,
3491 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3492 <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>,
3493 <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>,
3494 <em class="parameter"><code>unsigned <span class="type">int</span> unicode_stride</code></em>,
3495 <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>,
3496 <em class="parameter"><code>unsigned <span class="type">int</span> glyph_stride</code></em>,
3497 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3498 <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>
3499 <p>This method should retrieve the nominal glyph IDs for a sequence of
3500 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>
3501 output parameter.</p>
3502 <div class="refsect3">
3503 <a name="hb-font-get-nominal-glyphs-func-t.parameters"></a><h4>Parameters</h4>
3504 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3506 <col width="150px" class="parameters_name">
3507 <col class="parameters_description">
3508 <col width="200px" class="parameters_annotations">
3512 <td class="parameter_name"><p>font</p></td>
3513 <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>
3514 <td class="parameter_annotations"> </td>
3517 <td class="parameter_name"><p>font_data</p></td>
3518 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
3519 user data pointer</p></td>
3520 <td class="parameter_annotations"> </td>
3523 <td class="parameter_name"><p>count</p></td>
3524 <td class="parameter_description"><p>number of code points to query</p></td>
3525 <td class="parameter_annotations"> </td>
3528 <td class="parameter_name"><p>first_unicode</p></td>
3529 <td class="parameter_description"><p>The first Unicode code point to query</p></td>
3530 <td class="parameter_annotations"> </td>
3533 <td class="parameter_name"><p>unicode_stride</p></td>
3534 <td class="parameter_description"><p>The stride between successive code points</p></td>
3535 <td class="parameter_annotations"> </td>
3538 <td class="parameter_name"><p>first_glyph</p></td>
3539 <td class="parameter_description"><p>The first glyph ID retrieved. </p></td>
3540 <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>
3543 <td class="parameter_name"><p>glyph_stride</p></td>
3544 <td class="parameter_description"><p>The stride between successive glyph IDs</p></td>
3545 <td class="parameter_annotations"> </td>
3548 <td class="parameter_name"><p>user_data</p></td>
3549 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
3550 <td class="parameter_annotations"> </td>
3555 <div class="refsect3">
3556 <a name="hb-font-get-nominal-glyphs-func-t.returns"></a><h4>Returns</h4>
3557 <p> the number of code points processed</p>
3561 <div class="refsect2">
3562 <a name="hb-font-get-parent"></a><h3>hb_font_get_parent ()</h3>
3563 <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> *
3564 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>
3565 <p>Fetches the parent font of <em class="parameter"><code>font</code></em>
3567 <div class="refsect3">
3568 <a name="hb-font-get-parent.parameters"></a><h4>Parameters</h4>
3569 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3571 <col width="150px" class="parameters_name">
3572 <col class="parameters_description">
3573 <col width="200px" class="parameters_annotations">
3576 <td class="parameter_name"><p>font</p></td>
3577 <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>
3578 <td class="parameter_annotations"> </td>
3582 <div class="refsect3">
3583 <a name="hb-font-get-parent.returns"></a><h4>Returns</h4>
3584 <p>The parent font object. </p>
3585 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
3587 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3590 <div class="refsect2">
3591 <a name="hb-font-get-ppem"></a><h3>hb_font_get_ppem ()</h3>
3592 <pre class="programlisting"><span class="returnvalue">void</span>
3593 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>,
3594 <em class="parameter"><code>unsigned <span class="type">int</span> *x_ppem</code></em>,
3595 <em class="parameter"><code>unsigned <span class="type">int</span> *y_ppem</code></em>);</pre>
3596 <p>Fetches the horizontal and vertical points-per-em (ppem) of a font.</p>
3597 <div class="refsect3">
3598 <a name="hb-font-get-ppem.parameters"></a><h4>Parameters</h4>
3599 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3601 <col width="150px" class="parameters_name">
3602 <col class="parameters_description">
3603 <col width="200px" class="parameters_annotations">
3607 <td class="parameter_name"><p>font</p></td>
3608 <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>
3609 <td class="parameter_annotations"> </td>
3612 <td class="parameter_name"><p>x_ppem</p></td>
3613 <td class="parameter_description"><p>Horizontal ppem value. </p></td>
3614 <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>
3617 <td class="parameter_name"><p>y_ppem</p></td>
3618 <td class="parameter_description"><p>Vertical ppem value. </p></td>
3619 <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>
3624 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3627 <div class="refsect2">
3628 <a name="hb-font-get-ptem"></a><h3>hb_font_get_ptem ()</h3>
3629 <pre class="programlisting"><span class="returnvalue">float</span>
3630 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>
3631 <p>Fetches the "point size" of a font. Used in CoreText to
3632 implement optical sizing.</p>
3633 <div class="refsect3">
3634 <a name="hb-font-get-ptem.parameters"></a><h4>Parameters</h4>
3635 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3637 <col width="150px" class="parameters_name">
3638 <col class="parameters_description">
3639 <col width="200px" class="parameters_annotations">
3642 <td class="parameter_name"><p>font</p></td>
3643 <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>
3644 <td class="parameter_annotations"> </td>
3648 <div class="refsect3">
3649 <a name="hb-font-get-ptem.returns"></a><h4>Returns</h4>
3650 <p> Point size. A value of zero means "not set."</p>
3652 <p class="since">Since: <a class="link" href="api-index-1-6-0.html#api-index-1.6.0">1.6.0</a></p>
3655 <div class="refsect2">
3656 <a name="hb-font-get-scale"></a><h3>hb_font_get_scale ()</h3>
3657 <pre class="programlisting"><span class="returnvalue">void</span>
3658 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>,
3659 <em class="parameter"><code><span class="type">int</span> *x_scale</code></em>,
3660 <em class="parameter"><code><span class="type">int</span> *y_scale</code></em>);</pre>
3661 <p>Fetches the horizontal and vertical scale of a font.</p>
3662 <div class="refsect3">
3663 <a name="hb-font-get-scale.parameters"></a><h4>Parameters</h4>
3664 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3666 <col width="150px" class="parameters_name">
3667 <col class="parameters_description">
3668 <col width="200px" class="parameters_annotations">
3672 <td class="parameter_name"><p>font</p></td>
3673 <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>
3674 <td class="parameter_annotations"> </td>
3677 <td class="parameter_name"><p>x_scale</p></td>
3678 <td class="parameter_description"><p>Horizontal scale value. </p></td>
3679 <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>
3682 <td class="parameter_name"><p>y_scale</p></td>
3683 <td class="parameter_description"><p>Vertical scale value. </p></td>
3684 <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>
3689 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3692 <div class="refsect2">
3693 <a name="hb-font-get-synthetic-slant"></a><h3>hb_font_get_synthetic_slant ()</h3>
3694 <pre class="programlisting"><span class="returnvalue">float</span>
3695 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>
3696 <p>Fetches the "synthetic slant" of a font.</p>
3697 <div class="refsect3">
3698 <a name="hb-font-get-synthetic-slant.parameters"></a><h4>Parameters</h4>
3699 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3701 <col width="150px" class="parameters_name">
3702 <col class="parameters_description">
3703 <col width="200px" class="parameters_annotations">
3706 <td class="parameter_name"><p>font</p></td>
3707 <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>
3708 <td class="parameter_annotations"> </td>
3712 <div class="refsect3">
3713 <a name="hb-font-get-synthetic-slant.returns"></a><h4>Returns</h4>
3714 <p> Synthetic slant. By default is zero.</p>
3716 <p class="since">Since: <a class="link" href="api-index-3-3-0.html#api-index-3.3.0">3.3.0</a></p>
3719 <div class="refsect2">
3720 <a name="hb-font-get-user-data"></a><h3>hb_font_get_user_data ()</h3>
3721 <pre class="programlisting"><span class="returnvalue">void</span> *
3722 hb_font_get_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>,
3723 <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>
3724 <p>Fetches the user-data object associated with the specified key,
3725 attached to the specified font object.</p>
3726 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
3727 <div class="refsect3">
3728 <a name="hb-font-get-user-data.parameters"></a><h4>Parameters</h4>
3729 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3731 <col width="150px" class="parameters_name">
3732 <col class="parameters_description">
3733 <col width="200px" class="parameters_annotations">
3737 <td class="parameter_name"><p>font</p></td>
3738 <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>
3739 <td class="parameter_annotations"> </td>
3742 <td class="parameter_name"><p>key</p></td>
3743 <td class="parameter_description"><p>The user-data key to query</p></td>
3744 <td class="parameter_annotations"> </td>
3749 <div class="refsect3">
3750 <a name="hb-font-get-user-data.returns"></a><h4>Returns</h4>
3751 <p>Pointer to the user data. </p>
3752 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
3754 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
3757 <div class="refsect2">
3758 <a name="hb-font-get-variation-glyph"></a><h3>hb_font_get_variation_glyph ()</h3>
3759 <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>
3760 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>,
3761 <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>,
3762 <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>,
3763 <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>
3764 <p>Fetches the glyph ID for a Unicode code point when followed by
3765 by the specified variation-selector code point, in the specified
3767 <div class="refsect3">
3768 <a name="hb-font-get-variation-glyph.parameters"></a><h4>Parameters</h4>
3769 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3771 <col width="150px" class="parameters_name">
3772 <col class="parameters_description">
3773 <col width="200px" class="parameters_annotations">
3777 <td class="parameter_name"><p>font</p></td>
3778 <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>
3779 <td class="parameter_annotations"> </td>
3782 <td class="parameter_name"><p>unicode</p></td>
3783 <td class="parameter_description"><p>The Unicode code point to query</p></td>
3784 <td class="parameter_annotations"> </td>
3787 <td class="parameter_name"><p>variation_selector</p></td>
3788 <td class="parameter_description"><p>The variation-selector code point to query</p></td>
3789 <td class="parameter_annotations"> </td>
3792 <td class="parameter_name"><p>glyph</p></td>
3793 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
3794 <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>
3799 <div class="refsect3">
3800 <a name="hb-font-get-variation-glyph.returns"></a><h4>Returns</h4>
3801 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3803 <p class="since">Since: <a class="link" href="api-index-1-2-3.html#api-index-1.2.3">1.2.3</a></p>
3806 <div class="refsect2">
3807 <a name="hb-font-get-variation-glyph-func-t"></a><h3>hb_font_get_variation_glyph_func_t ()</h3>
3808 <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>
3809 <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>,
3810 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
3811 <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>,
3812 <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>,
3813 <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>,
3814 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
3815 <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>
3816 <p>This method should retrieve the glyph ID for a specified Unicode code point
3817 followed by a specified Variation Selector code point. Glyph IDs must be
3818 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>
3819 <div class="refsect3">
3820 <a name="hb-font-get-variation-glyph-func-t.parameters"></a><h4>Parameters</h4>
3821 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3823 <col width="150px" class="parameters_name">
3824 <col class="parameters_description">
3825 <col width="200px" class="parameters_annotations">
3829 <td class="parameter_name"><p>font</p></td>
3830 <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>
3831 <td class="parameter_annotations"> </td>
3834 <td class="parameter_name"><p>font_data</p></td>
3835 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
3836 user data pointer</p></td>
3837 <td class="parameter_annotations"> </td>
3840 <td class="parameter_name"><p>unicode</p></td>
3841 <td class="parameter_description"><p>The Unicode code point to query</p></td>
3842 <td class="parameter_annotations"> </td>
3845 <td class="parameter_name"><p>variation_selector</p></td>
3846 <td class="parameter_description"><p>The variation-selector code point to query</p></td>
3847 <td class="parameter_annotations"> </td>
3850 <td class="parameter_name"><p>glyph</p></td>
3851 <td class="parameter_description"><p>The glyph ID retrieved. </p></td>
3852 <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>
3855 <td class="parameter_name"><p>user_data</p></td>
3856 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
3857 <td class="parameter_annotations"> </td>
3862 <div class="refsect3">
3863 <a name="hb-font-get-variation-glyph-func-t.returns"></a><h4>Returns</h4>
3864 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3868 <div class="refsect2">
3869 <a name="hb-font-get-var-coords-design"></a><h3>hb_font_get_var_coords_design ()</h3>
3870 <pre class="programlisting">const <span class="returnvalue">float</span> *
3871 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>,
3872 <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
3873 <p>Fetches the list of variation coordinates (in design-space units) currently
3875 <p>Note that this returned array may only contain values for some
3876 (or none) of the axes; omitted axes effectively have their default
3878 <p>Return value is valid as long as variation coordinates of the font
3879 are not modified.</p>
3880 <div class="refsect3">
3881 <a name="hb-font-get-var-coords-design.parameters"></a><h4>Parameters</h4>
3882 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3884 <col width="150px" class="parameters_name">
3885 <col class="parameters_description">
3886 <col width="200px" class="parameters_annotations">
3890 <td class="parameter_name"><p>font</p></td>
3891 <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>
3892 <td class="parameter_annotations"> </td>
3895 <td class="parameter_name"><p>length</p></td>
3896 <td class="parameter_description"><p>Number of coordinates retrieved. </p></td>
3897 <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>
3902 <div class="refsect3">
3903 <a name="hb-font-get-var-coords-design.returns"></a><h4>Returns</h4>
3904 <p> coordinates array</p>
3906 <p class="since">Since: <a class="link" href="api-index-3-3-0.html#api-index-3.3.0">3.3.0</a></p>
3909 <div class="refsect2">
3910 <a name="hb-font-get-var-coords-normalized"></a><h3>hb_font_get_var_coords_normalized ()</h3>
3911 <pre class="programlisting">const <span class="returnvalue">int</span> *
3912 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>,
3913 <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre>
3914 <p>Fetches the list of normalized variation coordinates currently
3916 <p>Note that this returned array may only contain values for some
3917 (or none) of the axes; omitted axes effectively have zero values.</p>
3918 <p>Return value is valid as long as variation coordinates of the font
3919 are not modified.</p>
3920 <div class="refsect3">
3921 <a name="hb-font-get-var-coords-normalized.parameters"></a><h4>Parameters</h4>
3922 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3924 <col width="150px" class="parameters_name">
3925 <col class="parameters_description">
3926 <col width="200px" class="parameters_annotations">
3930 <td class="parameter_name"><p>font</p></td>
3931 <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>
3932 <td class="parameter_annotations"> </td>
3935 <td class="parameter_name"><p>length</p></td>
3936 <td class="parameter_description"><p>Number of coordinates retrieved. </p></td>
3937 <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>
3942 <div class="refsect3">
3943 <a name="hb-font-get-var-coords-normalized.returns"></a><h4>Returns</h4>
3944 <p> coordinates array</p>
3946 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
3949 <div class="refsect2">
3950 <a name="hb-font-glyph-from-string"></a><h3>hb_font_glyph_from_string ()</h3>
3951 <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>
3952 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>,
3953 <em class="parameter"><code>const <span class="type">char</span> *s</code></em>,
3954 <em class="parameter"><code><span class="type">int</span> len</code></em>,
3955 <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>
3956 <p>Fetches the glyph ID from <em class="parameter"><code>font</code></em>
3957 that matches the specified string.
3958 Strings of the format <code class="literal">gidDDD</code> or <code class="literal">uniUUUU</code> are parsed automatically.</p>
3959 <div class="note">Note: <em class="parameter"><code>len</code></em> == -1 means the string is null-terminated.</div>
3960 <div class="refsect3">
3961 <a name="hb-font-glyph-from-string.parameters"></a><h4>Parameters</h4>
3962 <div class="informaltable"><table class="informaltable" width="100%" border="0">
3964 <col width="150px" class="parameters_name">
3965 <col class="parameters_description">
3966 <col width="200px" class="parameters_annotations">
3970 <td class="parameter_name"><p>font</p></td>
3971 <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>
3972 <td class="parameter_annotations"> </td>
3975 <td class="parameter_name"><p>s</p></td>
3976 <td class="parameter_description"><p>string to query. </p></td>
3977 <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>
3980 <td class="parameter_name"><p>len</p></td>
3981 <td class="parameter_description"><p>The length of the string <em class="parameter"><code>s</code></em>
3983 <td class="parameter_annotations"> </td>
3986 <td class="parameter_name"><p>glyph</p></td>
3987 <td class="parameter_description"><p>The glyph ID corresponding to the string requested. </p></td>
3988 <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>
3993 <div class="refsect3">
3994 <a name="hb-font-glyph-from-string.returns"></a><h4>Returns</h4>
3995 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
3997 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4000 <div class="refsect2">
4001 <a name="hb-font-glyph-to-string"></a><h3>hb_font_glyph_to_string ()</h3>
4002 <pre class="programlisting"><span class="returnvalue">void</span>
4003 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>,
4004 <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>,
4005 <em class="parameter"><code><span class="type">char</span> *s</code></em>,
4006 <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre>
4007 <p>Fetches the name of the specified glyph ID in <em class="parameter"><code>font</code></em>
4009 it in string <em class="parameter"><code>s</code></em>
4011 <p>If the glyph ID has no name in <em class="parameter"><code>font</code></em>
4012 , a string of the form <code class="literal">gidDDD</code> is
4013 generated, with <code class="literal">DDD</code> being the glyph ID.</p>
4014 <div class="refsect3">
4015 <a name="hb-font-glyph-to-string.parameters"></a><h4>Parameters</h4>
4016 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4018 <col width="150px" class="parameters_name">
4019 <col class="parameters_description">
4020 <col width="200px" class="parameters_annotations">
4024 <td class="parameter_name"><p>font</p></td>
4025 <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>
4026 <td class="parameter_annotations"> </td>
4029 <td class="parameter_name"><p>glyph</p></td>
4030 <td class="parameter_description"><p>The glyph ID to query</p></td>
4031 <td class="parameter_annotations"> </td>
4034 <td class="parameter_name"><p>s</p></td>
4035 <td class="parameter_description"><p>The string containing the glyph name. </p></td>
4036 <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>
4039 <td class="parameter_name"><p>size</p></td>
4040 <td class="parameter_description"><p>Length of string <em class="parameter"><code>s</code></em>
4042 <td class="parameter_annotations"> </td>
4047 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4050 <div class="refsect2">
4051 <a name="hb-font-is-immutable"></a><h3>hb_font_is_immutable ()</h3>
4052 <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>
4053 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>
4054 <p>Tests whether a font object is immutable.</p>
4055 <div class="refsect3">
4056 <a name="hb-font-is-immutable.parameters"></a><h4>Parameters</h4>
4057 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4059 <col width="150px" class="parameters_name">
4060 <col class="parameters_description">
4061 <col width="200px" class="parameters_annotations">
4064 <td class="parameter_name"><p>font</p></td>
4065 <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>
4066 <td class="parameter_annotations"> </td>
4070 <div class="refsect3">
4071 <a name="hb-font-is-immutable.returns"></a><h4>Returns</h4>
4072 <p> <code class="literal">true</code> if <em class="parameter"><code>font</code></em>
4073 is immutable, <code class="literal">false</code> otherwise</p>
4075 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4078 <div class="refsect2">
4079 <a name="hb-font-make-immutable"></a><h3>hb_font_make_immutable ()</h3>
4080 <pre class="programlisting"><span class="returnvalue">void</span>
4081 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>
4082 <p>Makes <em class="parameter"><code>font</code></em>
4084 <div class="refsect3">
4085 <a name="hb-font-make-immutable.parameters"></a><h4>Parameters</h4>
4086 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4088 <col width="150px" class="parameters_name">
4089 <col class="parameters_description">
4090 <col width="200px" class="parameters_annotations">
4093 <td class="parameter_name"><p>font</p></td>
4094 <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>
4095 <td class="parameter_annotations"> </td>
4099 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4102 <div class="refsect2">
4103 <a name="hb-font-reference"></a><h3>hb_font_reference ()</h3>
4104 <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> *
4105 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>
4106 <p>Increases the reference count on the given font object.</p>
4107 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
4108 <div class="refsect3">
4109 <a name="hb-font-reference.parameters"></a><h4>Parameters</h4>
4110 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4112 <col width="150px" class="parameters_name">
4113 <col class="parameters_description">
4114 <col width="200px" class="parameters_annotations">
4117 <td class="parameter_name"><p>font</p></td>
4118 <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>
4119 <td class="parameter_annotations"> </td>
4123 <div class="refsect3">
4124 <a name="hb-font-reference.returns"></a><h4>Returns</h4>
4125 <p>The <em class="parameter"><code>font</code></em>
4127 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
4129 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4132 <div class="refsect2">
4133 <a name="hb-font-set-face"></a><h3>hb_font_set_face ()</h3>
4134 <pre class="programlisting"><span class="returnvalue">void</span>
4135 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>,
4136 <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>
4137 <p>Sets <em class="parameter"><code>face</code></em>
4138 as the font-face value of <em class="parameter"><code>font</code></em>
4140 <div class="refsect3">
4141 <a name="hb-font-set-face.parameters"></a><h4>Parameters</h4>
4142 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4144 <col width="150px" class="parameters_name">
4145 <col class="parameters_description">
4146 <col width="200px" class="parameters_annotations">
4150 <td class="parameter_name"><p>font</p></td>
4151 <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>
4152 <td class="parameter_annotations"> </td>
4155 <td class="parameter_name"><p>face</p></td>
4156 <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>
4157 <td class="parameter_annotations"> </td>
4162 <p class="since">Since: <a class="link" href="api-index-1-4-3.html#api-index-1.4.3">1.4.3</a></p>
4165 <div class="refsect2">
4166 <a name="hb-font-set-funcs"></a><h3>hb_font_set_funcs ()</h3>
4167 <pre class="programlisting"><span class="returnvalue">void</span>
4168 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>,
4169 <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>,
4170 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4171 <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>
4172 <p>Replaces the font-functions structure attached to a font, updating
4173 the font's user-data with <em class="parameter"><code>font</code></em>
4174 -data and the <em class="parameter"><code>destroy</code></em>
4176 <div class="refsect3">
4177 <a name="hb-font-set-funcs.parameters"></a><h4>Parameters</h4>
4178 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4180 <col width="150px" class="parameters_name">
4181 <col class="parameters_description">
4182 <col width="200px" class="parameters_annotations">
4186 <td class="parameter_name"><p>font</p></td>
4187 <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>
4188 <td class="parameter_annotations"> </td>
4191 <td class="parameter_name"><p>klass</p></td>
4192 <td class="parameter_description"><p>The font-functions structure. </p></td>
4193 <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>
4196 <td class="parameter_name"><p>font_data</p></td>
4197 <td class="parameter_description"><p>Data to attach to <em class="parameter"><code>font</code></em>
4199 <td class="parameter_annotations"> </td>
4202 <td class="parameter_name"><p>destroy</p></td>
4203 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>font_data</code></em>
4204 is not needed anymore. </p></td>
4205 <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>
4210 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4213 <div class="refsect2">
4214 <a name="hb-font-set-funcs-data"></a><h3>hb_font_set_funcs_data ()</h3>
4215 <pre class="programlisting"><span class="returnvalue">void</span>
4216 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>,
4217 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4218 <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>
4219 <p>Replaces the user data attached to a font, updating the font's
4220 <em class="parameter"><code>destroy</code></em>
4222 <div class="refsect3">
4223 <a name="hb-font-set-funcs-data.parameters"></a><h4>Parameters</h4>
4224 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4226 <col width="150px" class="parameters_name">
4227 <col class="parameters_description">
4228 <col width="200px" class="parameters_annotations">
4232 <td class="parameter_name"><p>font</p></td>
4233 <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>
4234 <td class="parameter_annotations"> </td>
4237 <td class="parameter_name"><p>font_data</p></td>
4238 <td class="parameter_description"><p>Data to attach to <em class="parameter"><code>font</code></em>
4240 <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>
4243 <td class="parameter_name"><p>destroy</p></td>
4244 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>font_data</code></em>
4245 is not needed anymore. </p></td>
4246 <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>
4251 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4254 <div class="refsect2">
4255 <a name="hb-font-set-parent"></a><h3>hb_font_set_parent ()</h3>
4256 <pre class="programlisting"><span class="returnvalue">void</span>
4257 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>,
4258 <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>
4259 <p>Sets the parent font of <em class="parameter"><code>font</code></em>
4261 <div class="refsect3">
4262 <a name="hb-font-set-parent.parameters"></a><h4>Parameters</h4>
4263 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4265 <col width="150px" class="parameters_name">
4266 <col class="parameters_description">
4267 <col width="200px" class="parameters_annotations">
4271 <td class="parameter_name"><p>font</p></td>
4272 <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>
4273 <td class="parameter_annotations"> </td>
4276 <td class="parameter_name"><p>parent</p></td>
4277 <td class="parameter_description"><p>The parent font object to assign</p></td>
4278 <td class="parameter_annotations"> </td>
4283 <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
4286 <div class="refsect2">
4287 <a name="hb-font-set-ppem"></a><h3>hb_font_set_ppem ()</h3>
4288 <pre class="programlisting"><span class="returnvalue">void</span>
4289 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>,
4290 <em class="parameter"><code>unsigned <span class="type">int</span> x_ppem</code></em>,
4291 <em class="parameter"><code>unsigned <span class="type">int</span> y_ppem</code></em>);</pre>
4292 <p>Sets the horizontal and vertical pixels-per-em (ppem) of a font.</p>
4293 <div class="refsect3">
4294 <a name="hb-font-set-ppem.parameters"></a><h4>Parameters</h4>
4295 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4297 <col width="150px" class="parameters_name">
4298 <col class="parameters_description">
4299 <col width="200px" class="parameters_annotations">
4303 <td class="parameter_name"><p>font</p></td>
4304 <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>
4305 <td class="parameter_annotations"> </td>
4308 <td class="parameter_name"><p>x_ppem</p></td>
4309 <td class="parameter_description"><p>Horizontal ppem value to assign</p></td>
4310 <td class="parameter_annotations"> </td>
4313 <td class="parameter_name"><p>y_ppem</p></td>
4314 <td class="parameter_description"><p>Vertical ppem value to assign</p></td>
4315 <td class="parameter_annotations"> </td>
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>
4323 <div class="refsect2">
4324 <a name="hb-font-set-ptem"></a><h3>hb_font_set_ptem ()</h3>
4325 <pre class="programlisting"><span class="returnvalue">void</span>
4326 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>,
4327 <em class="parameter"><code><span class="type">float</span> ptem</code></em>);</pre>
4328 <p>Sets the "point size" of a font. Set to zero to unset.
4329 Used in CoreText to implement optical sizing.</p>
4330 <div class="note">Note: There are 72 points in an inch.</div>
4331 <div class="refsect3">
4332 <a name="hb-font-set-ptem.parameters"></a><h4>Parameters</h4>
4333 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4335 <col width="150px" class="parameters_name">
4336 <col class="parameters_description">
4337 <col width="200px" class="parameters_annotations">
4341 <td class="parameter_name"><p>font</p></td>
4342 <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>
4343 <td class="parameter_annotations"> </td>
4346 <td class="parameter_name"><p>ptem</p></td>
4347 <td class="parameter_description"><p>font size in points.</p></td>
4348 <td class="parameter_annotations"> </td>
4353 <p class="since">Since: <a class="link" href="api-index-1-6-0.html#api-index-1.6.0">1.6.0</a></p>
4356 <div class="refsect2">
4357 <a name="hb-font-set-scale"></a><h3>hb_font_set_scale ()</h3>
4358 <pre class="programlisting"><span class="returnvalue">void</span>
4359 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>,
4360 <em class="parameter"><code><span class="type">int</span> x_scale</code></em>,
4361 <em class="parameter"><code><span class="type">int</span> y_scale</code></em>);</pre>
4362 <p>Sets the horizontal and vertical scale of a font.</p>
4363 <div class="refsect3">
4364 <a name="hb-font-set-scale.parameters"></a><h4>Parameters</h4>
4365 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4367 <col width="150px" class="parameters_name">
4368 <col class="parameters_description">
4369 <col width="200px" class="parameters_annotations">
4373 <td class="parameter_name"><p>font</p></td>
4374 <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>
4375 <td class="parameter_annotations"> </td>
4378 <td class="parameter_name"><p>x_scale</p></td>
4379 <td class="parameter_description"><p>Horizontal scale value to assign</p></td>
4380 <td class="parameter_annotations"> </td>
4383 <td class="parameter_name"><p>y_scale</p></td>
4384 <td class="parameter_description"><p>Vertical scale value to assign</p></td>
4385 <td class="parameter_annotations"> </td>
4390 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4393 <div class="refsect2">
4394 <a name="hb-font-set-synthetic-slant"></a><h3>hb_font_set_synthetic_slant ()</h3>
4395 <pre class="programlisting"><span class="returnvalue">void</span>
4396 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>,
4397 <em class="parameter"><code><span class="type">float</span> slant</code></em>);</pre>
4398 <p>Sets the "synthetic slant" of a font. By default is zero.
4399 Synthetic slant is the graphical skew that the renderer
4400 applies to the font at rendering time.</p>
4401 <p>HarfBuzz needs to know this value to adjust shaping results,
4402 metrics, and style values to match the slanted rendering.</p>
4403 <div class="note">Note: The slant value is a ratio. For example, a
4404 20% slant would be represented as a 0.2 value.</div>
4405 <div class="refsect3">
4406 <a name="hb-font-set-synthetic-slant.parameters"></a><h4>Parameters</h4>
4407 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4409 <col width="150px" class="parameters_name">
4410 <col class="parameters_description">
4411 <col width="200px" class="parameters_annotations">
4415 <td class="parameter_name"><p>font</p></td>
4416 <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>
4417 <td class="parameter_annotations"> </td>
4420 <td class="parameter_name"><p>slant</p></td>
4421 <td class="parameter_description"><p>synthetic slant value.</p></td>
4422 <td class="parameter_annotations"> </td>
4427 <p class="since">Since: <a class="link" href="api-index-3-3-0.html#api-index-3.3.0">3.3.0</a></p>
4430 <div class="refsect2">
4431 <a name="hb-font-set-user-data"></a><h3>hb_font_set_user_data ()</h3>
4432 <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>
4433 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>,
4434 <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>,
4435 <em class="parameter"><code><span class="type">void</span> *data</code></em>,
4436 <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>,
4437 <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>
4438 <p>Attaches a user-data key/data pair to the specified font object.</p>
4439 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
4440 <div class="refsect3">
4441 <a name="hb-font-set-user-data.parameters"></a><h4>Parameters</h4>
4442 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4444 <col width="150px" class="parameters_name">
4445 <col class="parameters_description">
4446 <col width="200px" class="parameters_annotations">
4450 <td class="parameter_name"><p>font</p></td>
4451 <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>
4452 <td class="parameter_annotations"> </td>
4455 <td class="parameter_name"><p>key</p></td>
4456 <td class="parameter_description"><p>The user-data key</p></td>
4457 <td class="parameter_annotations"> </td>
4460 <td class="parameter_name"><p>data</p></td>
4461 <td class="parameter_description"><p>A pointer to the user data</p></td>
4462 <td class="parameter_annotations"> </td>
4465 <td class="parameter_name"><p>destroy</p></td>
4466 <td class="parameter_description"><p>A callback to call when <em class="parameter"><code>data</code></em>
4467 is not needed anymore. </p></td>
4468 <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>
4471 <td class="parameter_name"><p>replace</p></td>
4472 <td class="parameter_description"><p>Whether to replace an existing data with the same key</p></td>
4473 <td class="parameter_annotations"> </td>
4478 <div class="refsect3">
4479 <a name="hb-font-set-user-data.returns"></a><h4>Returns</h4>
4480 <p> <code class="literal">true</code> if success, <code class="literal">false</code> otherwise</p>
4482 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4485 <div class="refsect2">
4486 <a name="hb-font-set-variations"></a><h3>hb_font_set_variations ()</h3>
4487 <pre class="programlisting"><span class="returnvalue">void</span>
4488 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>,
4489 <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>,
4490 <em class="parameter"><code>unsigned <span class="type">int</span> variations_length</code></em>);</pre>
4491 <p>Applies a list of font-variation settings to a font.</p>
4492 <p>Note that this overrides all existing variations set on <em class="parameter"><code>font</code></em>
4494 Axes not included in <em class="parameter"><code>variations</code></em>
4495 will be effectively set to their
4497 <div class="refsect3">
4498 <a name="hb-font-set-variations.parameters"></a><h4>Parameters</h4>
4499 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4501 <col width="150px" class="parameters_name">
4502 <col class="parameters_description">
4503 <col width="200px" class="parameters_annotations">
4507 <td class="parameter_name"><p>font</p></td>
4508 <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>
4509 <td class="parameter_annotations"> </td>
4512 <td class="parameter_name"><p>variations</p></td>
4513 <td class="parameter_description"><p>Array of variation settings to apply. </p></td>
4514 <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>
4517 <td class="parameter_name"><p>variations_length</p></td>
4518 <td class="parameter_description"><p>Number of variations to apply</p></td>
4519 <td class="parameter_annotations"> </td>
4524 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
4527 <div class="refsect2">
4528 <a name="hb-font-set-var-coords-design"></a><h3>hb_font_set_var_coords_design ()</h3>
4529 <pre class="programlisting"><span class="returnvalue">void</span>
4530 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>,
4531 <em class="parameter"><code>const <span class="type">float</span> *coords</code></em>,
4532 <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
4533 <p>Applies a list of variation coordinates (in design-space units)
4535 <p>Note that this overrides all existing variations set on <em class="parameter"><code>font</code></em>
4537 Axes not included in <em class="parameter"><code>coords</code></em>
4538 will be effectively set to their
4540 <div class="refsect3">
4541 <a name="hb-font-set-var-coords-design.parameters"></a><h4>Parameters</h4>
4542 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4544 <col width="150px" class="parameters_name">
4545 <col class="parameters_description">
4546 <col width="200px" class="parameters_annotations">
4550 <td class="parameter_name"><p>font</p></td>
4551 <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>
4552 <td class="parameter_annotations"> </td>
4555 <td class="parameter_name"><p>coords</p></td>
4556 <td class="parameter_description"><p>Array of variation coordinates to apply. </p></td>
4557 <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>
4560 <td class="parameter_name"><p>coords_length</p></td>
4561 <td class="parameter_description"><p>Number of coordinates to apply</p></td>
4562 <td class="parameter_annotations"> </td>
4567 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
4570 <div class="refsect2">
4571 <a name="hb-font-set-var-coords-normalized"></a><h3>hb_font_set_var_coords_normalized ()</h3>
4572 <pre class="programlisting"><span class="returnvalue">void</span>
4573 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>,
4574 <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
4575 <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre>
4576 <p>Applies a list of variation coordinates (in normalized units)
4578 <p>Note that this overrides all existing variations set on <em class="parameter"><code>font</code></em>
4580 Axes not included in <em class="parameter"><code>coords</code></em>
4581 will be effectively set to their
4583 <div class="note">Note: Coordinates should be normalized to 2.14.</div>
4584 <div class="refsect3">
4585 <a name="hb-font-set-var-coords-normalized.parameters"></a><h4>Parameters</h4>
4586 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4588 <col width="150px" class="parameters_name">
4589 <col class="parameters_description">
4590 <col width="200px" class="parameters_annotations">
4594 <td class="parameter_name"><p>font</p></td>
4595 <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>
4596 <td class="parameter_annotations"> </td>
4599 <td class="parameter_name"><p>coords</p></td>
4600 <td class="parameter_description"><p>Array of variation coordinates to apply. </p></td>
4601 <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>
4604 <td class="parameter_name"><p>coords_length</p></td>
4605 <td class="parameter_description"><p>Number of coordinates to apply</p></td>
4606 <td class="parameter_annotations"> </td>
4611 <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p>
4614 <div class="refsect2">
4615 <a name="hb-font-set-var-named-instance"></a><h3>hb_font_set_var_named_instance ()</h3>
4616 <pre class="programlisting"><span class="returnvalue">void</span>
4617 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>,
4618 <em class="parameter"><code><span class="type">unsigned </span> instance_index</code></em>);</pre>
4619 <p>Sets design coords of a font from a named instance index.</p>
4620 <div class="refsect3">
4621 <a name="hb-font-set-var-named-instance.parameters"></a><h4>Parameters</h4>
4622 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4624 <col width="150px" class="parameters_name">
4625 <col class="parameters_description">
4626 <col width="200px" class="parameters_annotations">
4630 <td class="parameter_name"><p>font</p></td>
4631 <td class="parameter_description"><p>a font.</p></td>
4632 <td class="parameter_annotations"> </td>
4635 <td class="parameter_name"><p>instance_index</p></td>
4636 <td class="parameter_description"><p>named instance index.</p></td>
4637 <td class="parameter_annotations"> </td>
4642 <p class="since">Since: <a class="link" href="api-index-2-6-0.html#api-index-2.6.0">2.6.0</a></p>
4645 <div class="refsect2">
4646 <a name="hb-font-subtract-glyph-origin-for-direction"></a><h3>hb_font_subtract_glyph_origin_for_direction ()</h3>
4647 <pre class="programlisting"><span class="returnvalue">void</span>
4648 hb_font_subtract_glyph_origin_for_direction
4649 (<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>,
4650 <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>,
4651 <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>,
4652 <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>,
4653 <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>
4654 <p>Subtracts the origin coordinates from an (X,Y) point coordinate,
4655 in the specified glyph ID in the specified font.</p>
4656 <p>Calls the appropriate direction-specific variant (horizontal
4657 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
4659 <div class="refsect3">
4660 <a name="hb-font-subtract-glyph-origin-for-direction.parameters"></a><h4>Parameters</h4>
4661 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4663 <col width="150px" class="parameters_name">
4664 <col class="parameters_description">
4665 <col width="200px" class="parameters_annotations">
4669 <td class="parameter_name"><p>font</p></td>
4670 <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>
4671 <td class="parameter_annotations"> </td>
4674 <td class="parameter_name"><p>glyph</p></td>
4675 <td class="parameter_description"><p>The glyph ID to query</p></td>
4676 <td class="parameter_annotations"> </td>
4679 <td class="parameter_name"><p>direction</p></td>
4680 <td class="parameter_description"><p>The direction of the text segment</p></td>
4681 <td class="parameter_annotations"> </td>
4684 <td class="parameter_name"><p>x</p></td>
4685 <td class="parameter_description"><p>Input = The original X coordinate
4686 Output = The X coordinate minus the X-coordinate of the origin. </p></td>
4687 <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>
4690 <td class="parameter_name"><p>y</p></td>
4691 <td class="parameter_description"><p>Input = The original Y coordinate
4692 Output = The Y coordinate minus the Y-coordinate of the origin. </p></td>
4693 <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>
4698 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4701 <div class="refsect2">
4702 <a name="hb-reference-table-func-t"></a><h3>hb_reference_table_func_t ()</h3>
4703 <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> *
4704 <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>,
4705 <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>,
4706 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4707 <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>
4708 <div class="refsect3">
4709 <a name="hb-reference-table-func-t.parameters"></a><h4>Parameters</h4>
4710 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4712 <col width="150px" class="parameters_name">
4713 <col class="parameters_description">
4714 <col width="200px" class="parameters_annotations">
4718 <td class="parameter_name"><p>face</p></td>
4719 <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>
4720 <td class="parameter_annotations"> </td>
4723 <td class="parameter_name"><p>tag</p></td>
4724 <td class="parameter_description"><p>the tag of the table to reference</p></td>
4725 <td class="parameter_annotations"> </td>
4728 <td class="parameter_name"><p>user_data</p></td>
4729 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4730 <td class="parameter_annotations"> </td>
4735 <div class="refsect3">
4736 <a name="hb-reference-table-func-t.returns"></a><h4>Returns</h4>
4737 <p>A pointer to the <em class="parameter"><code>tag</code></em>
4738 table within <em class="parameter"><code>face</code></em>
4740 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
4742 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
4745 <div class="refsect2">
4746 <a name="hb-font-funcs-set-font-h-extents-func"></a><h3>hb_font_funcs_set_font_h_extents_func ()</h3>
4747 <pre class="programlisting"><span class="returnvalue">void</span>
4748 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>,
4749 <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>,
4750 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4751 <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>
4752 <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>
4753 <div class="refsect3">
4754 <a name="hb-font-funcs-set-font-h-extents-func.parameters"></a><h4>Parameters</h4>
4755 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4757 <col width="150px" class="parameters_name">
4758 <col class="parameters_description">
4759 <col width="200px" class="parameters_annotations">
4763 <td class="parameter_name"><p>ffuncs</p></td>
4764 <td class="parameter_description"><p>A font-function structure</p></td>
4765 <td class="parameter_annotations"> </td>
4768 <td class="parameter_name"><p>func</p></td>
4769 <td class="parameter_description"><p>The callback function to assign. </p></td>
4770 <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>
4773 <td class="parameter_name"><p>user_data</p></td>
4774 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4776 <td class="parameter_annotations"> </td>
4779 <td class="parameter_name"><p>destroy</p></td>
4780 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4781 is not needed anymore. </p></td>
4782 <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>
4787 <p class="since">Since: <a class="link" href="api-index-1-1-2.html#api-index-1.1.2">1.1.2</a></p>
4790 <div class="refsect2">
4791 <a name="hb-font-funcs-set-font-v-extents-func"></a><h3>hb_font_funcs_set_font_v_extents_func ()</h3>
4792 <pre class="programlisting"><span class="returnvalue">void</span>
4793 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>,
4794 <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>,
4795 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
4796 <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>
4797 <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>
4798 <div class="refsect3">
4799 <a name="hb-font-funcs-set-font-v-extents-func.parameters"></a><h4>Parameters</h4>
4800 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4802 <col width="150px" class="parameters_name">
4803 <col class="parameters_description">
4804 <col width="200px" class="parameters_annotations">
4808 <td class="parameter_name"><p>ffuncs</p></td>
4809 <td class="parameter_description"><p>A font-function structure</p></td>
4810 <td class="parameter_annotations"> </td>
4813 <td class="parameter_name"><p>func</p></td>
4814 <td class="parameter_description"><p>The callback function to assign. </p></td>
4815 <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 <td class="parameter_name"><p>user_data</p></td>
4819 <td class="parameter_description"><p>Data to pass to <em class="parameter"><code>func</code></em>
4821 <td class="parameter_annotations"> </td>
4824 <td class="parameter_name"><p>destroy</p></td>
4825 <td class="parameter_description"><p>The function to call when <em class="parameter"><code>user_data</code></em>
4826 is not needed anymore. </p></td>
4827 <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>
4832 <p class="since">Since: <a class="link" href="api-index-1-1-2.html#api-index-1.1.2">1.1.2</a></p>
4835 <div class="refsect2">
4836 <a name="hb-font-get-extents-for-direction"></a><h3>hb_font_get_extents_for_direction ()</h3>
4837 <pre class="programlisting"><span class="returnvalue">void</span>
4838 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>,
4839 <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>,
4840 <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>
4841 <p>Fetches the extents for a font in a text segment of the
4842 specified direction.</p>
4843 <p>Calls the appropriate direction-specific variant (horizontal
4844 or vertical) depending on the value of <em class="parameter"><code>direction</code></em>
4846 <div class="refsect3">
4847 <a name="hb-font-get-extents-for-direction.parameters"></a><h4>Parameters</h4>
4848 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4850 <col width="150px" class="parameters_name">
4851 <col class="parameters_description">
4852 <col width="200px" class="parameters_annotations">
4856 <td class="parameter_name"><p>font</p></td>
4857 <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>
4858 <td class="parameter_annotations"> </td>
4861 <td class="parameter_name"><p>direction</p></td>
4862 <td class="parameter_description"><p>The direction of the text segment</p></td>
4863 <td class="parameter_annotations"> </td>
4866 <td class="parameter_name"><p>extents</p></td>
4867 <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>
4868 <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>
4873 <p class="since">Since: <a class="link" href="api-index-1-1-3.html#api-index-1.1.3">1.1.3</a></p>
4876 <div class="refsect2">
4877 <a name="hb-font-get-font-extents-func-t"></a><h3>hb_font_get_font_extents_func_t ()</h3>
4878 <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>
4879 <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>,
4880 <em class="parameter"><code><span class="type">void</span> *font_data</code></em>,
4881 <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>,
4882 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
4883 <p>This method should retrieve the extents for a font.</p>
4884 <div class="refsect3">
4885 <a name="hb-font-get-font-extents-func-t.parameters"></a><h4>Parameters</h4>
4886 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4888 <col width="150px" class="parameters_name">
4889 <col class="parameters_description">
4890 <col width="200px" class="parameters_annotations">
4894 <td class="parameter_name"><p>font</p></td>
4895 <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>
4896 <td class="parameter_annotations"> </td>
4899 <td class="parameter_name"><p>font_data</p></td>
4900 <td class="parameter_description"><p><em class="parameter"><code>font</code></em>
4901 user data pointer</p></td>
4902 <td class="parameter_annotations"> </td>
4905 <td class="parameter_name"><p>extents</p></td>
4906 <td class="parameter_description"><p>The font extents retrieved. </p></td>
4907 <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>
4910 <td class="parameter_name"><p>user_data</p></td>
4911 <td class="parameter_description"><p>User data pointer passed by the caller</p></td>
4912 <td class="parameter_annotations"> </td>
4919 <div class="refsect2">
4920 <a name="hb-font-get-h-extents"></a><h3>hb_font_get_h_extents ()</h3>
4921 <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>
4922 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>,
4923 <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>
4924 <p>Fetches the extents for a specified font, for horizontal
4926 <div class="refsect3">
4927 <a name="hb-font-get-h-extents.parameters"></a><h4>Parameters</h4>
4928 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4930 <col width="150px" class="parameters_name">
4931 <col class="parameters_description">
4932 <col width="200px" class="parameters_annotations">
4936 <td class="parameter_name"><p>font</p></td>
4937 <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>
4938 <td class="parameter_annotations"> </td>
4941 <td class="parameter_name"><p>extents</p></td>
4942 <td class="parameter_description"><p>The font extents retrieved. </p></td>
4943 <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>
4948 <div class="refsect3">
4949 <a name="hb-font-get-h-extents.returns"></a><h4>Returns</h4>
4950 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
4952 <p class="since">Since: <a class="link" href="api-index-1-1-3.html#api-index-1.1.3">1.1.3</a></p>
4955 <div class="refsect2">
4956 <a name="hb-font-get-v-extents"></a><h3>hb_font_get_v_extents ()</h3>
4957 <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>
4958 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>,
4959 <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>
4960 <p>Fetches the extents for a specified font, for vertical
4962 <div class="refsect3">
4963 <a name="hb-font-get-v-extents.parameters"></a><h4>Parameters</h4>
4964 <div class="informaltable"><table class="informaltable" width="100%" border="0">
4966 <col width="150px" class="parameters_name">
4967 <col class="parameters_description">
4968 <col width="200px" class="parameters_annotations">
4972 <td class="parameter_name"><p>font</p></td>
4973 <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>
4974 <td class="parameter_annotations"> </td>
4977 <td class="parameter_name"><p>extents</p></td>
4978 <td class="parameter_description"><p>The font extents retrieved. </p></td>
4979 <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>
4984 <div class="refsect3">
4985 <a name="hb-font-get-v-extents.returns"></a><h4>Returns</h4>
4986 <p> <code class="literal">true</code> if data found, <code class="literal">false</code> otherwise</p>
4988 <p class="since">Since: <a class="link" href="api-index-1-1-3.html#api-index-1.1.3">1.1.3</a></p>
4991 <div class="refsect1">
4992 <a name="harfbuzz-hb-font.other_details"></a><h2>Types and Values</h2>
4993 <div class="refsect2">
4994 <a name="hb-font-funcs-t"></a><h3>hb_font_funcs_t</h3>
4995 <pre class="programlisting">typedef struct hb_font_funcs_t hb_font_funcs_t;
4997 <p>Data type containing a set of virtual methods used for
4998 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>
4999 <p>HarfBuzz provides a lightweight default function for each of
5001 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
5002 their own replacements for the individual font functions, as
5003 needed, and replace the default by calling the setter for a
5007 <div class="refsect2">
5008 <a name="hb-font-get-glyph-h-advance-func-t"></a><h3>hb_font_get_glyph_h_advance_func_t</h3>
5009 <pre class="programlisting">typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t;
5011 <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>
5012 <p>This method should retrieve the advance for a specified glyph, in
5013 horizontal-direction text segments. Advances must be returned in
5014 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>
5017 <div class="refsect2">
5018 <a name="hb-font-get-glyph-h-advances-func-t"></a><h3>hb_font_get_glyph_h_advances_func_t</h3>
5019 <pre class="programlisting">typedef hb_font_get_glyph_advances_func_t hb_font_get_glyph_h_advances_func_t;
5021 <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>
5022 <p>This method should retrieve the advances for a sequence of glyphs, in
5023 horizontal-direction text segments.</p>
5026 <div class="refsect2">
5027 <a name="hb-font-get-glyph-h-kerning-func-t"></a><h3>hb_font_get_glyph_h_kerning_func_t</h3>
5028 <pre class="programlisting">typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;
5030 <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>
5031 <p>This method should retrieve the kerning-adjustment value for a glyph-pair in
5032 the specified font, for horizontal text segments.</p>
5035 <div class="refsect2">
5036 <a name="hb-font-get-glyph-h-origin-func-t"></a><h3>hb_font_get_glyph_h_origin_func_t</h3>
5037 <pre class="programlisting">typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;
5039 <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>
5040 <p>This method should retrieve the (X,Y) coordinates (in font units) of the
5041 origin for a glyph, for horizontal-direction text segments. Each
5042 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>
5045 <div class="refsect2">
5046 <a name="hb-font-get-glyph-v-advance-func-t"></a><h3>hb_font_get_glyph_v_advance_func_t</h3>
5047 <pre class="programlisting">typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t;
5049 <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>
5050 <p>This method should retrieve the advance for a specified glyph, in
5051 vertical-direction text segments. Advances must be returned in
5052 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>
5055 <div class="refsect2">
5056 <a name="hb-font-get-glyph-v-advances-func-t"></a><h3>hb_font_get_glyph_v_advances_func_t</h3>
5057 <pre class="programlisting">typedef hb_font_get_glyph_advances_func_t hb_font_get_glyph_v_advances_func_t;
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 advances for a sequence of glyphs, in
5061 vertical-direction text segments.</p>
5064 <div class="refsect2">
5065 <a name="hb-font-get-glyph-v-origin-func-t"></a><h3>hb_font_get_glyph_v_origin_func_t</h3>
5066 <pre class="programlisting">typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;
5068 <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>
5069 <p>This method should retrieve the (X,Y) coordinates (in font units) of the
5070 origin for a glyph, for vertical-direction text segments. Each coordinate
5071 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>
5074 <div class="refsect2">
5075 <a name="hb-font-t"></a><h3>hb_font_t</h3>
5076 <pre class="programlisting">typedef struct hb_font_t hb_font_t;
5078 <p>Data type for holding fonts.</p>
5081 <div class="refsect2">
5082 <a name="hb-font-get-font-h-extents-func-t"></a><h3>hb_font_get_font_h_extents_func_t</h3>
5083 <pre class="programlisting">typedef hb_font_get_font_extents_func_t hb_font_get_font_h_extents_func_t;
5085 <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>
5086 <p>This method should retrieve the extents for a font, for horizontal-direction
5087 text segments. Extents must be returned in an <span class="type">hb_glyph_extents</span> output
5091 <div class="refsect2">
5092 <a name="hb-font-get-font-v-extents-func-t"></a><h3>hb_font_get_font_v_extents_func_t</h3>
5093 <pre class="programlisting">typedef hb_font_get_font_extents_func_t hb_font_get_font_v_extents_func_t;
5095 <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>
5096 <p>This method should retrieve the extents for a font, for vertical-direction
5097 text segments. Extents must be returned in an <span class="type">hb_glyph_extents</span> output
5101 <div class="refsect2">
5102 <a name="hb-font-extents-t"></a><h3>hb_font_extents_t</h3>
5103 <pre class="programlisting">typedef struct {
5104 hb_position_t ascender;
5105 hb_position_t descender;
5106 hb_position_t line_gap;
5107 } hb_font_extents_t;
5109 <p>Font-wide extent values, measured in font units.</p>
5110 <p>Note that typically <em class="parameter"><code>ascender</code></em>
5111 is positive and <em class="parameter"><code>descender</code></em>
5113 negative, in coordinate systems that grow up.</p>
5114 <div class="refsect3">
5115 <a name="hb-font-extents-t.members"></a><h4>Members</h4>
5116 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5118 <col width="300px" class="struct_members_name">
5119 <col class="struct_members_description">
5120 <col width="200px" class="struct_members_annotations">
5124 <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>
5125 <td class="struct_member_description"><p>The height of typographic ascenders.</p></td>
5126 <td class="struct_member_annotations"> </td>
5129 <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>
5130 <td class="struct_member_description"><p>The depth of typographic descenders.</p></td>
5131 <td class="struct_member_annotations"> </td>
5134 <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>
5135 <td class="struct_member_description"><p>The suggested line-spacing gap.</p></td>
5136 <td class="struct_member_annotations"> </td>
5143 <div class="refsect2">
5144 <a name="hb-glyph-extents-t"></a><h3>hb_glyph_extents_t</h3>
5145 <pre class="programlisting">typedef struct {
5146 hb_position_t x_bearing;
5147 hb_position_t y_bearing;
5148 hb_position_t width;
5149 hb_position_t height;
5150 } hb_glyph_extents_t;
5152 <p>Glyph extent values, measured in font units.</p>
5153 <p>Note that <em class="parameter"><code>height</code></em>
5154 is negative, in coordinate systems that grow up.</p>
5155 <div class="refsect3">
5156 <a name="hb-glyph-extents-t.members"></a><h4>Members</h4>
5157 <div class="informaltable"><table class="informaltable" width="100%" border="0">
5159 <col width="300px" class="struct_members_name">
5160 <col class="struct_members_description">
5161 <col width="200px" class="struct_members_annotations">
5165 <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>
5166 <td class="struct_member_description"><p>Distance from the x-origin to the left extremum of the glyph.</p></td>
5167 <td class="struct_member_annotations"> </td>
5170 <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>
5171 <td class="struct_member_description"><p>Distance from the top extremum of the glyph to the y-origin.</p></td>
5172 <td class="struct_member_annotations"> </td>
5175 <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>
5176 <td class="struct_member_description"><p>Distance from the left extremum of the glyph to the right extremum.</p></td>
5177 <td class="struct_member_annotations"> </td>
5180 <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>
5181 <td class="struct_member_description"><p>Distance from the top extremum of the glyph to the bottom extremum.</p></td>
5182 <td class="struct_member_annotations"> </td>
5190 <div class="footer">
5191 <hr>Generated by GTK-Doc V1.32</div>