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-face: 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="ch09.html" title="Core API">
9 <link rel="prev" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">
10 <link rel="next" href="harfbuzz-hb-font.html" title="hb-font">
11 <meta name="generator" content="GTK-Doc V1.25 (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-face.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
19 <a href="#harfbuzz-hb-face.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22 <td><a accesskey="u" href="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="harfbuzz-hb-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="harfbuzz-hb-font.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26 <div class="refentry">
27 <a name="harfbuzz-hb-face"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
30 <h2><span class="refentrytitle"><a name="harfbuzz-hb-face.top_of_page"></a>hb-face</span></h2>
31 <p>hb-face — Font face objects</p>
33 <td class="gallery_image" valign="top" align="right"></td>
35 <div class="refsect1">
36 <a name="harfbuzz-hb-face.functions"></a><h2>Functions</h2>
37 <div class="informaltable"><table class="informaltable" width="100%" border="0">
39 <col width="150px" class="functions_return">
40 <col class="functions_name">
44 <td class="function_type">unsigned <span class="returnvalue">int</span>
46 <td class="function_name">
47 <a class="link" href="harfbuzz-hb-face.html#hb-face-count" title="hb_face_count ()">hb_face_count</a> <span class="c_punctuation">()</span>
51 <td class="function_type">
52 <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
54 <td class="function_name">
55 <a class="link" href="harfbuzz-hb-face.html#hb-face-create" title="hb_face_create ()">hb_face_create</a> <span class="c_punctuation">()</span>
59 <td class="function_type">
60 <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
62 <td class="function_name">
63 <a class="link" href="harfbuzz-hb-face.html#hb-face-create-for-tables" title="hb_face_create_for_tables ()">hb_face_create_for_tables</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-face.html#hb-face-destroy" title="hb_face_destroy ()">hb_face_destroy</a> <span class="c_punctuation">()</span>
75 <td class="function_type">
76 <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
78 <td class="function_name">
79 <a class="link" href="harfbuzz-hb-face.html#hb-face-get-empty" title="hb_face_get_empty ()">hb_face_get_empty</a> <span class="c_punctuation">()</span>
83 <td class="function_type">unsigned <span class="returnvalue">int</span>
85 <td class="function_name">
86 <a class="link" href="harfbuzz-hb-face.html#hb-face-get-table-tags" title="hb_face_get_table_tags ()">hb_face_get_table_tags</a> <span class="c_punctuation">()</span>
90 <td class="function_type">unsigned <span class="returnvalue">int</span>
92 <td class="function_name">
93 <a class="link" href="harfbuzz-hb-face.html#hb-face-get-glyph-count" title="hb_face_get_glyph_count ()">hb_face_get_glyph_count</a> <span class="c_punctuation">()</span>
97 <td class="function_type">unsigned <span class="returnvalue">int</span>
99 <td class="function_name">
100 <a class="link" href="harfbuzz-hb-face.html#hb-face-get-index" title="hb_face_get_index ()">hb_face_get_index</a> <span class="c_punctuation">()</span>
104 <td class="function_type">unsigned <span class="returnvalue">int</span>
106 <td class="function_name">
107 <a class="link" href="harfbuzz-hb-face.html#hb-face-get-upem" title="hb_face_get_upem ()">hb_face_get_upem</a> <span class="c_punctuation">()</span>
111 <td class="function_type">
112 <span class="returnvalue">void</span> *
114 <td class="function_name">
115 <a class="link" href="harfbuzz-hb-face.html#hb-face-get-user-data" title="hb_face_get_user_data ()">hb_face_get_user_data</a> <span class="c_punctuation">()</span>
119 <td class="function_type">
120 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
122 <td class="function_name">
123 <a class="link" href="harfbuzz-hb-face.html#hb-face-is-immutable" title="hb_face_is_immutable ()">hb_face_is_immutable</a> <span class="c_punctuation">()</span>
127 <td class="function_type">
128 <span class="returnvalue">void</span>
130 <td class="function_name">
131 <a class="link" href="harfbuzz-hb-face.html#hb-face-make-immutable" title="hb_face_make_immutable ()">hb_face_make_immutable</a> <span class="c_punctuation">()</span>
135 <td class="function_type">
136 <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
138 <td class="function_name">
139 <a class="link" href="harfbuzz-hb-face.html#hb-face-reference" title="hb_face_reference ()">hb_face_reference</a> <span class="c_punctuation">()</span>
143 <td class="function_type">
144 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
146 <td class="function_name">
147 <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()">hb_face_reference_blob</a> <span class="c_punctuation">()</span>
151 <td class="function_type">
152 <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
154 <td class="function_name">
155 <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-table" title="hb_face_reference_table ()">hb_face_reference_table</a> <span class="c_punctuation">()</span>
159 <td class="function_type">
160 <span class="returnvalue">void</span>
162 <td class="function_name">
163 <a class="link" href="harfbuzz-hb-face.html#hb-face-set-glyph-count" title="hb_face_set_glyph_count ()">hb_face_set_glyph_count</a> <span class="c_punctuation">()</span>
167 <td class="function_type">
168 <span class="returnvalue">void</span>
170 <td class="function_name">
171 <a class="link" href="harfbuzz-hb-face.html#hb-face-set-index" title="hb_face_set_index ()">hb_face_set_index</a> <span class="c_punctuation">()</span>
175 <td class="function_type">
176 <span class="returnvalue">void</span>
178 <td class="function_name">
179 <a class="link" href="harfbuzz-hb-face.html#hb-face-set-upem" title="hb_face_set_upem ()">hb_face_set_upem</a> <span class="c_punctuation">()</span>
183 <td class="function_type">
184 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
186 <td class="function_name">
187 <a class="link" href="harfbuzz-hb-face.html#hb-face-set-user-data" title="hb_face_set_user_data ()">hb_face_set_user_data</a> <span class="c_punctuation">()</span>
191 <td class="function_type">
192 <span class="returnvalue">void</span>
194 <td class="function_name">
195 <a class="link" href="harfbuzz-hb-face.html#hb-face-collect-unicodes" title="hb_face_collect_unicodes ()">hb_face_collect_unicodes</a> <span class="c_punctuation">()</span>
199 <td class="function_type">
200 <span class="returnvalue">void</span>
202 <td class="function_name">
203 <a class="link" href="harfbuzz-hb-face.html#hb-face-collect-variation-selectors" title="hb_face_collect_variation_selectors ()">hb_face_collect_variation_selectors</a> <span class="c_punctuation">()</span>
207 <td class="function_type">
208 <span class="returnvalue">void</span>
210 <td class="function_name">
211 <a class="link" href="harfbuzz-hb-face.html#hb-face-collect-variation-unicodes" title="hb_face_collect_variation_unicodes ()">hb_face_collect_variation_unicodes</a> <span class="c_punctuation">()</span>
215 <td class="function_type">
216 <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
218 <td class="function_name">
219 <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-create" title="hb_face_builder_create ()">hb_face_builder_create</a> <span class="c_punctuation">()</span>
223 <td class="function_type">
224 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
226 <td class="function_name">
227 <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()">hb_face_builder_add_table</a> <span class="c_punctuation">()</span>
233 <a name="hb-face-t"></a><div class="refsect1">
234 <a name="harfbuzz-hb-face.other"></a><h2>Types and Values</h2>
235 <div class="informaltable"><table class="informaltable" width="100%" border="0">
237 <col width="150px" class="name">
238 <col class="description">
241 <td class="typedef_keyword">typedef</td>
242 <td class="function_name"><a class="link" href="harfbuzz-hb-face.html#hb-face-t">hb_face_t</a></td>
246 <div class="refsect1">
247 <a name="harfbuzz-hb-face.object-hierarchy"></a><h2>Object Hierarchy</h2>
248 <pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a>
249 <span class="lineart">╰──</span> hb_face_t
252 <div class="refsect1">
253 <a name="harfbuzz-hb-face.includes"></a><h2>Includes</h2>
254 <pre class="synopsis">#include <hb.h>
257 <div class="refsect1">
258 <a name="harfbuzz-hb-face.description"></a><h2>Description</h2>
259 <p>Font face is objects represent a single face in a font family.
260 More exactly, a font face represents a single face in a binary font file.
261 Font faces are typically built from a binary blob and a face index.
262 Font faces are used to create fonts.</p>
264 <div class="refsect1">
265 <a name="harfbuzz-hb-face.functions_details"></a><h2>Functions</h2>
266 <div class="refsect2">
267 <a name="hb-face-count"></a><h3>hb_face_count ()</h3>
268 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
269 hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
270 <p>Get number of faces in a blob.</p>
271 <div class="refsect3">
272 <a name="hb-face-count.parameters"></a><h4>Parameters</h4>
273 <div class="informaltable"><table class="informaltable" width="100%" border="0">
275 <col width="150px" class="parameters_name">
276 <col class="parameters_description">
277 <col width="200px" class="parameters_annotations">
280 <td class="parameter_name"><p>blob</p></td>
281 <td class="parameter_description"><p>a blob.</p></td>
282 <td class="parameter_annotations"> </td>
286 <div class="refsect3">
287 <a name="hb-face-count.returns"></a><h4>Returns</h4>
288 <p> Number of faces in <em class="parameter"><code>blob</code></em>
291 <p class="since">Since: <a class="link" href="api-index-1-7-7.html#api-index-1.7.7">1.7.7</a></p>
294 <div class="refsect2">
295 <a name="hb-face-create"></a><h3>hb_face_create ()</h3>
296 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
297 hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>,
298 <em class="parameter"><code>unsigned <span class="type">int</span> index</code></em>);</pre>
299 <p><span class="annotation">[Xconstructor]</span></p>
300 <div class="refsect3">
301 <a name="hb-face-create.returns"></a><h4>Returns</h4>
303 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
305 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
308 <div class="refsect2">
309 <a name="hb-face-create-for-tables"></a><h3>hb_face_create_for_tables ()</h3>
310 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
311 hb_face_create_for_tables (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-reference-table-func-t" title="hb_reference_table_func_t ()"><span class="type">hb_reference_table_func_t</span></a> reference_table_func</code></em>,
312 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
313 <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>
314 <div class="refsect3">
315 <a name="hb-face-create-for-tables.parameters"></a><h4>Parameters</h4>
316 <div class="informaltable"><table class="informaltable" width="100%" border="0">
318 <col width="150px" class="parameters_name">
319 <col class="parameters_description">
320 <col width="200px" class="parameters_annotations">
323 <td class="parameter_name"><p>reference_table_func</p></td>
324 <td class="parameter_description"><p>. </p></td>
325 <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>
329 <div class="refsect3">
330 <a name="hb-face-create-for-tables.returns"></a><h4>Returns</h4>
331 <p> (transfer full)</p>
333 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
336 <div class="refsect2">
337 <a name="hb-face-destroy"></a><h3>hb_face_destroy ()</h3>
338 <pre class="programlisting"><span class="returnvalue">void</span>
339 hb_face_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
340 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
341 <div class="refsect3">
342 <a name="hb-face-destroy.parameters"></a><h4>Parameters</h4>
343 <div class="informaltable"><table class="informaltable" width="100%" border="0">
345 <col width="150px" class="parameters_name">
346 <col class="parameters_description">
347 <col width="200px" class="parameters_annotations">
350 <td class="parameter_name"><p>face</p></td>
351 <td class="parameter_description"><p>a face.</p></td>
352 <td class="parameter_annotations"> </td>
356 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
359 <div class="refsect2">
360 <a name="hb-face-get-empty"></a><h3>hb_face_get_empty ()</h3>
361 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
362 hb_face_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
363 <div class="refsect3">
364 <a name="hb-face-get-empty.returns"></a><h4>Returns</h4>
365 <p> (transfer full)</p>
367 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
370 <div class="refsect2">
371 <a name="hb-face-get-table-tags"></a><h3>hb_face_get_table_tags ()</h3>
372 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
373 hb_face_get_table_tags (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
374 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
375 <em class="parameter"><code>unsigned <span class="type">int</span> *table_count</code></em>,
376 <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> *table_tags</code></em>);</pre>
377 <p>Retrieves table tags for a face, if possible.</p>
378 <div class="refsect3">
379 <a name="hb-face-get-table-tags.parameters"></a><h4>Parameters</h4>
380 <div class="informaltable"><table class="informaltable" width="100%" border="0">
382 <col width="150px" class="parameters_name">
383 <col class="parameters_description">
384 <col width="200px" class="parameters_annotations">
388 <td class="parameter_name"><p>face</p></td>
389 <td class="parameter_description"><p>a face.</p></td>
390 <td class="parameter_annotations"> </td>
393 <td class="parameter_name"><p>start_offset</p></td>
394 <td class="parameter_description"><p>index of first tag to return.</p></td>
395 <td class="parameter_annotations"> </td>
398 <td class="parameter_name"><p>table_count</p></td>
399 <td class="parameter_description"><p>input length of <em class="parameter"><code>table_tags</code></em>
400 array, output number of items written.</p></td>
401 <td class="parameter_annotations"> </td>
404 <td class="parameter_name"><p>table_tags</p></td>
405 <td class="parameter_description"><p>array to write tags into.</p></td>
406 <td class="parameter_annotations"> </td>
411 <div class="refsect3">
412 <a name="hb-face-get-table-tags.returns"></a><h4>Returns</h4>
413 <p> total number of tables, or 0 if not possible to list.</p>
415 <p class="since">Since: <a class="link" href="api-index-1-6-0.html#api-index-1.6.0">1.6.0</a></p>
418 <div class="refsect2">
419 <a name="hb-face-get-glyph-count"></a><h3>hb_face_get_glyph_count ()</h3>
420 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
421 hb_face_get_glyph_count (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
422 <div class="refsect3">
423 <a name="hb-face-get-glyph-count.parameters"></a><h4>Parameters</h4>
424 <div class="informaltable"><table class="informaltable" width="100%" border="0">
426 <col width="150px" class="parameters_name">
427 <col class="parameters_description">
428 <col width="200px" class="parameters_annotations">
431 <td class="parameter_name"><p>face</p></td>
432 <td class="parameter_description"><p>a face.</p></td>
433 <td class="parameter_annotations"> </td>
437 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
440 <div class="refsect2">
441 <a name="hb-face-get-index"></a><h3>hb_face_get_index ()</h3>
442 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
443 hb_face_get_index (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
444 <div class="refsect3">
445 <a name="hb-face-get-index.parameters"></a><h4>Parameters</h4>
446 <div class="informaltable"><table class="informaltable" width="100%" border="0">
448 <col width="150px" class="parameters_name">
449 <col class="parameters_description">
450 <col width="200px" class="parameters_annotations">
453 <td class="parameter_name"><p>face</p></td>
454 <td class="parameter_description"><p>a face.</p></td>
455 <td class="parameter_annotations"> </td>
459 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
462 <div class="refsect2">
463 <a name="hb-face-get-upem"></a><h3>hb_face_get_upem ()</h3>
464 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
465 hb_face_get_upem (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
466 <div class="refsect3">
467 <a name="hb-face-get-upem.parameters"></a><h4>Parameters</h4>
468 <div class="informaltable"><table class="informaltable" width="100%" border="0">
470 <col width="150px" class="parameters_name">
471 <col class="parameters_description">
472 <col width="200px" class="parameters_annotations">
475 <td class="parameter_name"><p>face</p></td>
476 <td class="parameter_description"><p>a face.</p></td>
477 <td class="parameter_annotations"> </td>
481 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
484 <div class="refsect2">
485 <a name="hb-face-get-user-data"></a><h3>hb_face_get_user_data ()</h3>
486 <pre class="programlisting"><span class="returnvalue">void</span> *
487 hb_face_get_user_data (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
488 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre>
489 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
490 <div class="refsect3">
491 <a name="hb-face-get-user-data.parameters"></a><h4>Parameters</h4>
492 <div class="informaltable"><table class="informaltable" width="100%" border="0">
494 <col width="150px" class="parameters_name">
495 <col class="parameters_description">
496 <col width="200px" class="parameters_annotations">
499 <td class="parameter_name"><p>face</p></td>
500 <td class="parameter_description"><p>a face.</p></td>
501 <td class="parameter_annotations"> </td>
505 <div class="refsect3">
506 <a name="hb-face-get-user-data.returns"></a><h4>Returns</h4>
508 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
510 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
513 <div class="refsect2">
514 <a name="hb-face-is-immutable"></a><h3>hb_face_is_immutable ()</h3>
515 <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>
516 hb_face_is_immutable (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
517 <div class="refsect3">
518 <a name="hb-face-is-immutable.parameters"></a><h4>Parameters</h4>
519 <div class="informaltable"><table class="informaltable" width="100%" border="0">
521 <col width="150px" class="parameters_name">
522 <col class="parameters_description">
523 <col width="200px" class="parameters_annotations">
526 <td class="parameter_name"><p>face</p></td>
527 <td class="parameter_description"><p>a face.</p></td>
528 <td class="parameter_annotations"> </td>
532 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
535 <div class="refsect2">
536 <a name="hb-face-make-immutable"></a><h3>hb_face_make_immutable ()</h3>
537 <pre class="programlisting"><span class="returnvalue">void</span>
538 hb_face_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
539 <div class="refsect3">
540 <a name="hb-face-make-immutable.parameters"></a><h4>Parameters</h4>
541 <div class="informaltable"><table class="informaltable" width="100%" border="0">
543 <col width="150px" class="parameters_name">
544 <col class="parameters_description">
545 <col width="200px" class="parameters_annotations">
548 <td class="parameter_name"><p>face</p></td>
549 <td class="parameter_description"><p>a face.</p></td>
550 <td class="parameter_annotations"> </td>
554 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
557 <div class="refsect2">
558 <a name="hb-face-reference"></a><h3>hb_face_reference ()</h3>
559 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
560 hb_face_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
561 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
562 <div class="refsect3">
563 <a name="hb-face-reference.parameters"></a><h4>Parameters</h4>
564 <div class="informaltable"><table class="informaltable" width="100%" border="0">
566 <col width="150px" class="parameters_name">
567 <col class="parameters_description">
568 <col width="200px" class="parameters_annotations">
571 <td class="parameter_name"><p>face</p></td>
572 <td class="parameter_description"><p>a face.</p></td>
573 <td class="parameter_annotations"> </td>
577 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
580 <div class="refsect2">
581 <a name="hb-face-reference-blob"></a><h3>hb_face_reference_blob ()</h3>
582 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
583 hb_face_reference_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre>
584 <div class="refsect3">
585 <a name="hb-face-reference-blob.parameters"></a><h4>Parameters</h4>
586 <div class="informaltable"><table class="informaltable" width="100%" border="0">
588 <col width="150px" class="parameters_name">
589 <col class="parameters_description">
590 <col width="200px" class="parameters_annotations">
593 <td class="parameter_name"><p>face</p></td>
594 <td class="parameter_description"><p>a face.</p></td>
595 <td class="parameter_annotations"> </td>
599 <div class="refsect3">
600 <a name="hb-face-reference-blob.returns"></a><h4>Returns</h4>
602 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
604 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
607 <div class="refsect2">
608 <a name="hb-face-reference-table"></a><h3>hb_face_reference_table ()</h3>
609 <pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> *
610 hb_face_reference_table (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
611 <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>);</pre>
612 <div class="refsect3">
613 <a name="hb-face-reference-table.parameters"></a><h4>Parameters</h4>
614 <div class="informaltable"><table class="informaltable" width="100%" border="0">
616 <col width="150px" class="parameters_name">
617 <col class="parameters_description">
618 <col width="200px" class="parameters_annotations">
621 <td class="parameter_name"><p>face</p></td>
622 <td class="parameter_description"><p>a face.</p></td>
623 <td class="parameter_annotations"> </td>
627 <div class="refsect3">
628 <a name="hb-face-reference-table.returns"></a><h4>Returns</h4>
630 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
632 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
635 <div class="refsect2">
636 <a name="hb-face-set-glyph-count"></a><h3>hb_face_set_glyph_count ()</h3>
637 <pre class="programlisting"><span class="returnvalue">void</span>
638 hb_face_set_glyph_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
639 <em class="parameter"><code>unsigned <span class="type">int</span> glyph_count</code></em>);</pre>
640 <div class="refsect3">
641 <a name="hb-face-set-glyph-count.parameters"></a><h4>Parameters</h4>
642 <div class="informaltable"><table class="informaltable" width="100%" border="0">
644 <col width="150px" class="parameters_name">
645 <col class="parameters_description">
646 <col width="200px" class="parameters_annotations">
649 <td class="parameter_name"><p>face</p></td>
650 <td class="parameter_description"><p>a face.</p></td>
651 <td class="parameter_annotations"> </td>
655 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
658 <div class="refsect2">
659 <a name="hb-face-set-index"></a><h3>hb_face_set_index ()</h3>
660 <pre class="programlisting"><span class="returnvalue">void</span>
661 hb_face_set_index (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
662 <em class="parameter"><code>unsigned <span class="type">int</span> index</code></em>);</pre>
663 <div class="refsect3">
664 <a name="hb-face-set-index.parameters"></a><h4>Parameters</h4>
665 <div class="informaltable"><table class="informaltable" width="100%" border="0">
667 <col width="150px" class="parameters_name">
668 <col class="parameters_description">
669 <col width="200px" class="parameters_annotations">
672 <td class="parameter_name"><p>face</p></td>
673 <td class="parameter_description"><p>a face.</p></td>
674 <td class="parameter_annotations"> </td>
678 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
681 <div class="refsect2">
682 <a name="hb-face-set-upem"></a><h3>hb_face_set_upem ()</h3>
683 <pre class="programlisting"><span class="returnvalue">void</span>
684 hb_face_set_upem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
685 <em class="parameter"><code>unsigned <span class="type">int</span> upem</code></em>);</pre>
686 <div class="refsect3">
687 <a name="hb-face-set-upem.parameters"></a><h4>Parameters</h4>
688 <div class="informaltable"><table class="informaltable" width="100%" border="0">
690 <col width="150px" class="parameters_name">
691 <col class="parameters_description">
692 <col width="200px" class="parameters_annotations">
695 <td class="parameter_name"><p>face</p></td>
696 <td class="parameter_description"><p>a face.</p></td>
697 <td class="parameter_annotations"> </td>
701 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
704 <div class="refsect2">
705 <a name="hb-face-set-user-data"></a><h3>hb_face_set_user_data ()</h3>
706 <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>
707 hb_face_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
708 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>,
709 <em class="parameter"><code><span class="type">void</span> *data</code></em>,
710 <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>,
711 <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>
712 <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
713 <div class="refsect3">
714 <a name="hb-face-set-user-data.parameters"></a><h4>Parameters</h4>
715 <div class="informaltable"><table class="informaltable" width="100%" border="0">
717 <col width="150px" class="parameters_name">
718 <col class="parameters_description">
719 <col width="200px" class="parameters_annotations">
722 <td class="parameter_name"><p>face</p></td>
723 <td class="parameter_description"><p>a face.</p></td>
724 <td class="parameter_annotations"> </td>
728 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
731 <div class="refsect2">
732 <a name="hb-face-collect-unicodes"></a><h3>hb_face_collect_unicodes ()</h3>
733 <pre class="programlisting"><span class="returnvalue">void</span>
734 hb_face_collect_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
735 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
736 <div class="refsect3">
737 <a name="hb-face-collect-unicodes.parameters"></a><h4>Parameters</h4>
738 <div class="informaltable"><table class="informaltable" width="100%" border="0">
740 <col width="150px" class="parameters_name">
741 <col class="parameters_description">
742 <col width="200px" class="parameters_annotations">
746 <td class="parameter_name"><p>face</p></td>
747 <td class="parameter_description"><p>font face.</p></td>
748 <td class="parameter_annotations"> </td>
751 <td class="parameter_name"><p>out</p></td>
752 <td class="parameter_description"><p>set to add Unicode characters covered by <em class="parameter"><code>face</code></em>
754 <td class="parameter_annotations"> </td>
759 <p class="since">Since: <a class="link" href="api-index-1-9-0.html#api-index-1.9.0">1.9.0</a></p>
762 <div class="refsect2">
763 <a name="hb-face-collect-variation-selectors"></a><h3>hb_face_collect_variation_selectors ()</h3>
764 <pre class="programlisting"><span class="returnvalue">void</span>
765 hb_face_collect_variation_selectors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
766 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
767 <div class="refsect3">
768 <a name="hb-face-collect-variation-selectors.parameters"></a><h4>Parameters</h4>
769 <div class="informaltable"><table class="informaltable" width="100%" border="0">
771 <col width="150px" class="parameters_name">
772 <col class="parameters_description">
773 <col width="200px" class="parameters_annotations">
777 <td class="parameter_name"><p>face</p></td>
778 <td class="parameter_description"><p>font face.</p></td>
779 <td class="parameter_annotations"> </td>
782 <td class="parameter_name"><p>out</p></td>
783 <td class="parameter_description"><p>set to add Variation Selector characters covered by <em class="parameter"><code>face</code></em>
785 <td class="parameter_annotations"> </td>
790 <p class="since">Since: <a class="link" href="api-index-1-9-0.html#api-index-1.9.0">1.9.0</a></p>
793 <div class="refsect2">
794 <a name="hb-face-collect-variation-unicodes"></a><h3>hb_face_collect_variation_unicodes ()</h3>
795 <pre class="programlisting"><span class="returnvalue">void</span>
796 hb_face_collect_variation_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
797 <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>,
798 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre>
799 <div class="refsect3">
800 <a name="hb-face-collect-variation-unicodes.parameters"></a><h4>Parameters</h4>
801 <div class="informaltable"><table class="informaltable" width="100%" border="0">
803 <col width="150px" class="parameters_name">
804 <col class="parameters_description">
805 <col width="200px" class="parameters_annotations">
809 <td class="parameter_name"><p>face</p></td>
810 <td class="parameter_description"><p>font face.</p></td>
811 <td class="parameter_annotations"> </td>
814 <td class="parameter_name"><p>out</p></td>
815 <td class="parameter_description"><p>set to add Unicode characters for <em class="parameter"><code>variation_selector</code></em>
816 covered by <em class="parameter"><code>face</code></em>
818 <td class="parameter_annotations"> </td>
823 <p class="since">Since: <a class="link" href="api-index-1-9-0.html#api-index-1.9.0">1.9.0</a></p>
826 <div class="refsect2">
827 <a name="hb-face-builder-create"></a><h3>hb_face_builder_create ()</h3>
828 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> *
829 hb_face_builder_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
830 <p>Creates a <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> that can be used with <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()"><code class="function">hb_face_builder_add_table()</code></a>.
831 After tables are added to the face, it can be compiled to a binary
832 font file by calling <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()"><code class="function">hb_face_reference_blob()</code></a>.</p>
833 <div class="refsect3">
834 <a name="hb-face-builder-create.returns"></a><h4>Returns</h4>
836 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
838 <p class="since">Since: <a class="link" href="api-index-1-9-0.html#api-index-1.9.0">1.9.0</a></p>
841 <div class="refsect2">
842 <a name="hb-face-builder-add-table"></a><h3>hb_face_builder_add_table ()</h3>
843 <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>
844 hb_face_builder_add_table (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>,
845 <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>,
846 <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre>
847 <p>Add table for <em class="parameter"><code>tag</code></em>
848 with data provided by <em class="parameter"><code>blob</code></em>
849 to the face. <em class="parameter"><code>face</code></em>
851 be created using <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-create" title="hb_face_builder_create ()"><code class="function">hb_face_builder_create()</code></a>.</p>
852 <p class="since">Since: <a class="link" href="api-index-1-9-0.html#api-index-1.9.0">1.9.0</a></p>
855 <div class="refsect1">
856 <a name="harfbuzz-hb-face.other_details"></a><h2>Types and Values</h2>
857 <div class="refsect2">
858 <a name="hb-face-t"></a><h3>hb_face_t</h3>
859 <pre class="programlisting">typedef struct hb_face_t hb_face_t;
865 <hr>Generated by GTK-Doc V1.25</div>