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-ot-layout: HarfBuzz Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
7 <link rel="home" href="index.html" title="HarfBuzz Manual">
8 <link rel="up" href="ch10.html" title="OpenType API">
9 <link rel="prev" href="harfbuzz-hb-ot-font.html" title="hb-ot-font">
10 <link rel="next" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">
11 <meta name="generator" content="GTK-Doc V1.29 (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-ot-layout.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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="harfbuzz-hb-ot-font.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="harfbuzz-hb-ot-math.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25 <div class="refentry">
26 <a name="harfbuzz-hb-ot-layout"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
29 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-layout.top_of_page"></a>hb-ot-layout</span></h2>
30 <p>hb-ot-layout — OpenType Layout</p>
32 <td class="gallery_image" valign="top" align="right"></td>
34 <div class="refsect1">
35 <a name="harfbuzz-hb-ot-layout.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
43 <td class="function_type">
44 <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a>
46 <td class="function_name">
47 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-tag-to-language" title="hb_ot_tag_to_language ()">hb_ot_tag_to_language</a> <span class="c_punctuation">()</span>
51 <td class="function_type">
52 <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
54 <td class="function_name">
55 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-tag-to-script" title="hb_ot_tag_to_script ()">hb_ot_tag_to_script</a> <span class="c_punctuation">()</span>
59 <td class="function_type">
60 <span class="returnvalue">void</span>
62 <td class="function_name">
63 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-tags-from-script-and-language" title="hb_ot_tags_from_script_and_language ()">hb_ot_tags_from_script_and_language</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-ot-layout.html#hb-ot-tags-to-script-and-language" title="hb_ot_tags_to_script_and_language ()">hb_ot_tags_to_script_and_language</a> <span class="c_punctuation">()</span>
75 <td class="function_type">
76 <span class="returnvalue">void</span>
78 <td class="function_name">
79 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-collect-lookups" title="hb_ot_layout_collect_lookups ()">hb_ot_layout_collect_lookups</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-ot-layout.html#hb-ot-layout-collect-features" title="hb_ot_layout_collect_features ()">hb_ot_layout_collect_features</a> <span class="c_punctuation">()</span>
91 <td class="function_type">unsigned <span class="returnvalue">int</span>
93 <td class="function_name">
94 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-characters" title="hb_ot_layout_feature_get_characters ()">hb_ot_layout_feature_get_characters</a> <span class="c_punctuation">()</span>
98 <td class="function_type">unsigned <span class="returnvalue">int</span>
100 <td class="function_name">
101 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-lookups" title="hb_ot_layout_feature_get_lookups ()">hb_ot_layout_feature_get_lookups</a> <span class="c_punctuation">()</span>
105 <td class="function_type">
106 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
108 <td class="function_name">
109 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-name-ids" title="hb_ot_layout_feature_get_name_ids ()">hb_ot_layout_feature_get_name_ids</a> <span class="c_punctuation">()</span>
113 <td class="function_type">unsigned <span class="returnvalue">int</span>
115 <td class="function_name">
116 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-with-variations-get-lookups" title="hb_ot_layout_feature_with_variations_get_lookups ()">hb_ot_layout_feature_with_variations_get_lookups</a> <span class="c_punctuation">()</span>
120 <td class="function_type">unsigned <span class="returnvalue">int</span>
122 <td class="function_name">
123 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-attach-points" title="hb_ot_layout_get_attach_points ()">hb_ot_layout_get_attach_points</a> <span class="c_punctuation">()</span>
127 <td class="function_type">
128 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="returnvalue">hb_ot_layout_glyph_class_t</span></a>
130 <td class="function_name">
131 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyph-class" title="hb_ot_layout_get_glyph_class ()">hb_ot_layout_get_glyph_class</a> <span class="c_punctuation">()</span>
135 <td class="function_type">
136 <span class="returnvalue">void</span>
138 <td class="function_name">
139 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyphs-in-class" title="hb_ot_layout_get_glyphs_in_class ()">hb_ot_layout_get_glyphs_in_class</a> <span class="c_punctuation">()</span>
143 <td class="function_type">unsigned <span class="returnvalue">int</span>
145 <td class="function_name">
146 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-ligature-carets" title="hb_ot_layout_get_ligature_carets ()">hb_ot_layout_get_ligature_carets</a> <span class="c_punctuation">()</span>
150 <td class="function_type">
151 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
153 <td class="function_name">
154 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-size-params" title="hb_ot_layout_get_size_params ()">hb_ot_layout_get_size_params</a> <span class="c_punctuation">()</span>
158 <td class="function_type">
159 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
161 <td class="function_name">
162 <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-sequence-func-t" title="hb_ot_layout_glyph_sequence_func_t ()">*hb_ot_layout_glyph_sequence_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
166 <td class="function_type">
167 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
169 <td class="function_name">
170 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-has-glyph-classes" title="hb_ot_layout_has_glyph_classes ()">hb_ot_layout_has_glyph_classes</a> <span class="c_punctuation">()</span>
174 <td class="function_type">
175 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
177 <td class="function_name">
178 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-has-positioning" title="hb_ot_layout_has_positioning ()">hb_ot_layout_has_positioning</a> <span class="c_punctuation">()</span>
182 <td class="function_type">
183 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
185 <td class="function_name">
186 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-has-substitution" title="hb_ot_layout_has_substitution ()">hb_ot_layout_has_substitution</a> <span class="c_punctuation">()</span>
190 <td class="function_type">
191 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
193 <td class="function_name">
194 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-language-find-feature" title="hb_ot_layout_language_find_feature ()">hb_ot_layout_language_find_feature</a> <span class="c_punctuation">()</span>
198 <td class="function_type">unsigned <span class="returnvalue">int</span>
200 <td class="function_name">
201 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-language-get-feature-indexes" title="hb_ot_layout_language_get_feature_indexes ()">hb_ot_layout_language_get_feature_indexes</a> <span class="c_punctuation">()</span>
205 <td class="function_type">unsigned <span class="returnvalue">int</span>
207 <td class="function_name">
208 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-language-get-feature-tags" title="hb_ot_layout_language_get_feature_tags ()">hb_ot_layout_language_get_feature_tags</a> <span class="c_punctuation">()</span>
212 <td class="function_type">
213 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
215 <td class="function_name">
216 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-language-get-required-feature" title="hb_ot_layout_language_get_required_feature ()">hb_ot_layout_language_get_required_feature</a> <span class="c_punctuation">()</span>
220 <td class="function_type">
221 <span class="returnvalue">void</span>
223 <td class="function_name">
224 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookup-collect-glyphs" title="hb_ot_layout_lookup_collect_glyphs ()">hb_ot_layout_lookup_collect_glyphs</a> <span class="c_punctuation">()</span>
228 <td class="function_type">
229 <span class="returnvalue">void</span>
231 <td class="function_name">
232 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookup-substitute-closure" title="hb_ot_layout_lookup_substitute_closure ()">hb_ot_layout_lookup_substitute_closure</a> <span class="c_punctuation">()</span>
236 <td class="function_type">
237 <span class="returnvalue">void</span>
239 <td class="function_name">
240 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookups-substitute-closure" title="hb_ot_layout_lookups_substitute_closure ()">hb_ot_layout_lookups_substitute_closure</a> <span class="c_punctuation">()</span>
244 <td class="function_type">
245 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
247 <td class="function_name">
248 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-lookup-would-substitute" title="hb_ot_layout_lookup_would_substitute ()">hb_ot_layout_lookup_would_substitute</a> <span class="c_punctuation">()</span>
252 <td class="function_type">unsigned <span class="returnvalue">int</span>
254 <td class="function_name">
255 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-script-get-language-tags" title="hb_ot_layout_script_get_language_tags ()">hb_ot_layout_script_get_language_tags</a> <span class="c_punctuation">()</span>
259 <td class="function_type">
260 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
262 <td class="function_name">
263 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-script-select-language" title="hb_ot_layout_script_select_language ()">hb_ot_layout_script_select_language</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-ot-layout.html#hb-ot-layout-table-find-feature-variations" title="hb_ot_layout_table_find_feature_variations ()">hb_ot_layout_table_find_feature_variations</a> <span class="c_punctuation">()</span>
275 <td class="function_type">unsigned <span class="returnvalue">int</span>
277 <td class="function_name">
278 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-get-feature-tags" title="hb_ot_layout_table_get_feature_tags ()">hb_ot_layout_table_get_feature_tags</a> <span class="c_punctuation">()</span>
282 <td class="function_type">unsigned <span class="returnvalue">int</span>
284 <td class="function_name">
285 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-get-script-tags" title="hb_ot_layout_table_get_script_tags ()">hb_ot_layout_table_get_script_tags</a> <span class="c_punctuation">()</span>
289 <td class="function_type">unsigned <span class="returnvalue">int</span>
291 <td class="function_name">
292 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-get-lookup-count" title="hb_ot_layout_table_get_lookup_count ()">hb_ot_layout_table_get_lookup_count</a> <span class="c_punctuation">()</span>
296 <td class="function_type">
297 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
299 <td class="function_name">
300 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-select-script" title="hb_ot_layout_table_select_script ()">hb_ot_layout_table_select_script</a> <span class="c_punctuation">()</span>
304 <td class="function_type">
305 <span class="returnvalue">void</span>
307 <td class="function_name">
308 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-shape-plan-collect-lookups" title="hb_ot_shape_plan_collect_lookups ()">hb_ot_shape_plan_collect_lookups</a> <span class="c_punctuation">()</span>
312 <td class="function_type">
313 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
315 <td class="function_name">
316 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-language-get-required-feature-index" title="hb_ot_layout_language_get_required_feature_index ()">hb_ot_layout_language_get_required_feature_index</a> <span class="c_punctuation">()</span>
322 <div class="refsect1">
323 <a name="harfbuzz-hb-ot-layout.other"></a><h2>Types and Values</h2>
324 <div class="informaltable"><table class="informaltable" width="100%" border="0">
326 <col width="150px" class="name">
327 <col class="description">
331 <td class="define_keyword">#define</td>
332 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-MAX-TAGS-PER-LANGUAGE:CAPS" title="HB_OT_MAX_TAGS_PER_LANGUAGE">HB_OT_MAX_TAGS_PER_LANGUAGE</a></td>
335 <td class="define_keyword">#define</td>
336 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-MAX-TAGS-PER-SCRIPT:CAPS" title="HB_OT_MAX_TAGS_PER_SCRIPT">HB_OT_MAX_TAGS_PER_SCRIPT</a></td>
339 <td class="define_keyword">#define</td>
340 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-DEFAULT-LANGUAGE:CAPS" title="HB_OT_TAG_DEFAULT_LANGUAGE">HB_OT_TAG_DEFAULT_LANGUAGE</a></td>
343 <td class="define_keyword">#define</td>
344 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-DEFAULT-SCRIPT:CAPS" title="HB_OT_TAG_DEFAULT_SCRIPT">HB_OT_TAG_DEFAULT_SCRIPT</a></td>
347 <td class="define_keyword">#define</td>
348 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-DEFAULT-LANGUAGE-INDEX:CAPS" title="HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX">HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX</a></td>
351 <td class="define_keyword">#define</td>
352 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-NO-FEATURE-INDEX:CAPS" title="HB_OT_LAYOUT_NO_FEATURE_INDEX">HB_OT_LAYOUT_NO_FEATURE_INDEX</a></td>
355 <td class="define_keyword">#define</td>
356 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-NO-SCRIPT-INDEX:CAPS" title="HB_OT_LAYOUT_NO_SCRIPT_INDEX">HB_OT_LAYOUT_NO_SCRIPT_INDEX</a></td>
359 <td class="define_keyword">#define</td>
360 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-NO-VARIATIONS-INDEX:CAPS" title="HB_OT_LAYOUT_NO_VARIATIONS_INDEX">HB_OT_LAYOUT_NO_VARIATIONS_INDEX</a></td>
363 <td class="define_keyword">#define</td>
364 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-BASE:CAPS" title="HB_OT_TAG_BASE">HB_OT_TAG_BASE</a></td>
367 <td class="define_keyword">#define</td>
368 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-GDEF:CAPS" title="HB_OT_TAG_GDEF">HB_OT_TAG_GDEF</a></td>
371 <td class="define_keyword">#define</td>
372 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-GPOS:CAPS" title="HB_OT_TAG_GPOS">HB_OT_TAG_GPOS</a></td>
375 <td class="define_keyword">#define</td>
376 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-GSUB:CAPS" title="HB_OT_TAG_GSUB">HB_OT_TAG_GSUB</a></td>
379 <td class="define_keyword">#define</td>
380 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#HB-OT-TAG-JSTF:CAPS" title="HB_OT_TAG_JSTF">HB_OT_TAG_JSTF</a></td>
383 <td class="datatype_keyword">enum</td>
384 <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t">hb_ot_layout_glyph_class_t</a></td>
389 <div class="refsect1">
390 <a name="harfbuzz-hb-ot-layout.includes"></a><h2>Includes</h2>
391 <pre class="synopsis">#include <hb-ot.h>
394 <div class="refsect1">
395 <a name="harfbuzz-hb-ot-layout.description"></a><h2>Description</h2>
396 <p>Functions for querying OpenType Layout features in the font face.</p>
398 <div class="refsect1">
399 <a name="harfbuzz-hb-ot-layout.functions_details"></a><h2>Functions</h2>
400 <div class="refsect2">
401 <a name="hb-ot-tag-to-language"></a><h3>hb_ot_tag_to_language ()</h3>
402 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a>
403 hb_ot_tag_to_language (<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>
404 <div class="refsect3">
405 <a name="hb-ot-tag-to-language.returns"></a><h4>Returns</h4>
407 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
409 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
412 <div class="refsect2">
413 <a name="hb-ot-tag-to-script"></a><h3>hb_ot_tag_to_script ()</h3>
414 <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
415 hb_ot_tag_to_script (<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>
418 <div class="refsect2">
419 <a name="hb-ot-tags-from-script-and-language"></a><h3>hb_ot_tags_from_script_and_language ()</h3>
420 <pre class="programlisting"><span class="returnvalue">void</span>
421 hb_ot_tags_from_script_and_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> script</code></em>,
422 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>,
423 <em class="parameter"><code>unsigned <span class="type">int</span> *script_count</code></em>,
424 <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> *script_tags</code></em>,
425 <em class="parameter"><code>unsigned <span class="type">int</span> *language_count</code></em>,
426 <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> *language_tags</code></em>);</pre>
427 <p>Converts an <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> and an <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> to script and language tags.</p>
428 <div class="refsect3">
429 <a name="hb-ot-tags-from-script-and-language.parameters"></a><h4>Parameters</h4>
430 <div class="informaltable"><table class="informaltable" width="100%" border="0">
432 <col width="150px" class="parameters_name">
433 <col class="parameters_description">
434 <col width="200px" class="parameters_annotations">
438 <td class="parameter_name"><p>script</p></td>
439 <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> to convert.</p></td>
440 <td class="parameter_annotations"> </td>
443 <td class="parameter_name"><p>language</p></td>
444 <td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> to convert.</p></td>
445 <td class="parameter_annotations"> </td>
448 <td class="parameter_name"><p>script_count</p></td>
449 <td class="parameter_description"><p>maximum number of script tags to retrieve (IN)
450 and actual number of script tags retrieved (OUT). </p></td>
451 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
454 <td class="parameter_name"><p>script_tags</p></td>
455 <td class="parameter_description"><p>array of size at least <em class="parameter"><code>script_count</code></em>
457 script tag results. </p></td>
458 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
461 <td class="parameter_name"><p>language_count</p></td>
462 <td class="parameter_description"><p>maximum number of language tags to retrieve
463 (IN) and actual number of language tags retrieved (OUT). </p></td>
464 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
467 <td class="parameter_name"><p>language_tags</p></td>
468 <td class="parameter_description"><p>array of size at least <em class="parameter"><code>language_count</code></em>
470 the language tag results. </p></td>
471 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
476 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
479 <div class="refsect2">
480 <a name="hb-ot-tags-to-script-and-language"></a><h3>hb_ot_tags_to_script_and_language ()</h3>
481 <pre class="programlisting"><span class="returnvalue">void</span>
482 hb_ot_tags_to_script_and_language (<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> script_tag</code></em>,
483 <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> language_tag</code></em>,
484 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> *script</code></em>,
485 <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> *language</code></em>);</pre>
486 <p>Converts a script tag and a language tag to an <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> and an
487 <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a>.</p>
488 <div class="refsect3">
489 <a name="hb-ot-tags-to-script-and-language.parameters"></a><h4>Parameters</h4>
490 <div class="informaltable"><table class="informaltable" width="100%" border="0">
492 <col width="150px" class="parameters_name">
493 <col class="parameters_description">
494 <col width="200px" class="parameters_annotations">
498 <td class="parameter_name"><p>script_tag</p></td>
499 <td class="parameter_description"><p>a script tag</p></td>
500 <td class="parameter_annotations"> </td>
503 <td class="parameter_name"><p>language_tag</p></td>
504 <td class="parameter_description"><p>a language tag</p></td>
505 <td class="parameter_annotations"> </td>
508 <td class="parameter_name"><p>script</p></td>
509 <td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> corresponding to <em class="parameter"><code>script_tag</code></em>
511 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
514 <td class="parameter_name"><p>language</p></td>
515 <td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> corresponding to <em class="parameter"><code>script_tag</code></em>
517 <em class="parameter"><code>language_tag</code></em>
519 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
524 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
527 <div class="refsect2">
528 <a name="hb-ot-layout-collect-lookups"></a><h3>hb_ot_layout_collect_lookups ()</h3>
529 <pre class="programlisting"><span class="returnvalue">void</span>
530 hb_ot_layout_collect_lookups (<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>,
531 <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_tag</code></em>,
532 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *scripts</code></em>,
533 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *languages</code></em>,
534 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *features</code></em>,
535 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
536 <p class="since">Since: <a class="link" href="api-index-0-9-8.html#api-index-0.9.8">0.9.8</a></p>
539 <div class="refsect2">
540 <a name="hb-ot-layout-collect-features"></a><h3>hb_ot_layout_collect_features ()</h3>
541 <pre class="programlisting"><span class="returnvalue">void</span>
542 hb_ot_layout_collect_features (<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>,
543 <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_tag</code></em>,
544 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *scripts</code></em>,
545 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *languages</code></em>,
546 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *features</code></em>,
547 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *feature_indexes</code></em>);</pre>
548 <p class="since">Since: <a class="link" href="api-index-1-8-5.html#api-index-1.8.5">1.8.5</a></p>
551 <div class="refsect2">
552 <a name="hb-ot-layout-feature-get-characters"></a><h3>hb_ot_layout_feature_get_characters ()</h3>
553 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
554 hb_ot_layout_feature_get_characters (<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>,
555 <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_tag</code></em>,
556 <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
557 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
558 <em class="parameter"><code>unsigned <span class="type">int</span> *char_count</code></em>,
559 <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> *characters</code></em>);</pre>
560 <p>Fetches characters listed by designer under feature parameters for "Character
561 Variant" ("cvXX") features.</p>
562 <div class="refsect3">
563 <a name="hb-ot-layout-feature-get-characters.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">
572 <td class="parameter_name"><p>face</p></td>
573 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td>
574 <td class="parameter_annotations"> </td>
577 <td class="parameter_name"><p>table_tag</p></td>
578 <td class="parameter_description"><p>table tag to query, "GSUB" or "GPOS".</p></td>
579 <td class="parameter_annotations"> </td>
582 <td class="parameter_name"><p>feature_index</p></td>
583 <td class="parameter_description"><p>index of feature to query.</p></td>
584 <td class="parameter_annotations"> </td>
587 <td class="parameter_name"><p>start_offset</p></td>
588 <td class="parameter_description"><p>In case the resulting char_count was equal to its input value, there
589 is a chance there were more characters on the tag so this API can be
590 called with an offset till resulting char_count gets to a number
591 lower than input buffer (or consider using just a bigger buffer for
592 one shot copying).</p></td>
593 <td class="parameter_annotations"> </td>
596 <td class="parameter_name"><p>char_count</p></td>
597 <td class="parameter_description"><p>The count of characters for which this feature
598 provides glyph variants. (May be zero.). </p></td>
599 <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>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
602 <td class="parameter_name"><p>characters</p></td>
603 <td class="parameter_description"><p>A buffer pointer. The Unicode codepoints
604 of the characters for which this feature provides glyph variants. </p></td>
605 <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=char_count]</span></td>
610 <div class="refsect3">
611 <a name="hb-ot-layout-feature-get-characters.returns"></a><h4>Returns</h4>
612 <p> Number of total sample characters in the cvXX feature.</p>
614 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
617 <div class="refsect2">
618 <a name="hb-ot-layout-feature-get-lookups"></a><h3>hb_ot_layout_feature_get_lookups ()</h3>
619 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
620 hb_ot_layout_feature_get_lookups (<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>,
621 <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_tag</code></em>,
622 <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
623 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
624 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_count</code></em>,
625 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre>
626 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
629 <div class="refsect2">
630 <a name="hb-ot-layout-feature-get-name-ids"></a><h3>hb_ot_layout_feature_get_name_ids ()</h3>
631 <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>
632 hb_ot_layout_feature_get_name_ids (<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>,
633 <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_tag</code></em>,
634 <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
635 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *label_id</code></em>,
636 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *tooltip_id</code></em>,
637 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *sample_id</code></em>,
638 <em class="parameter"><code>unsigned <span class="type">int</span> *num_named_parameters</code></em>,
639 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *first_param_id</code></em>);</pre>
640 <p>Fetches name indices from feature parameters for "Stylistic Set" ('ssXX') or
641 "Character Variant" ('cvXX') features.</p>
642 <div class="refsect3">
643 <a name="hb-ot-layout-feature-get-name-ids.parameters"></a><h4>Parameters</h4>
644 <div class="informaltable"><table class="informaltable" width="100%" border="0">
646 <col width="150px" class="parameters_name">
647 <col class="parameters_description">
648 <col width="200px" class="parameters_annotations">
652 <td class="parameter_name"><p>face</p></td>
653 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td>
654 <td class="parameter_annotations"> </td>
657 <td class="parameter_name"><p>table_tag</p></td>
658 <td class="parameter_description"><p>table tag to query, "GSUB" or "GPOS".</p></td>
659 <td class="parameter_annotations"> </td>
662 <td class="parameter_name"><p>feature_index</p></td>
663 <td class="parameter_description"><p>index of feature to query.</p></td>
664 <td class="parameter_annotations"> </td>
667 <td class="parameter_name"><p>label_id</p></td>
668 <td class="parameter_description"><p>The ‘name’ table name ID that specifies a string
669 for a user-interface label for this feature. (May be NULL.). </p></td>
670 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
673 <td class="parameter_name"><p>tooltip_id</p></td>
674 <td class="parameter_description"><p>The ‘name’ table name ID that specifies a string
675 that an application can use for tooltip text for this
676 feature. (May be NULL.). </p></td>
677 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
680 <td class="parameter_name"><p>sample_id</p></td>
681 <td class="parameter_description"><p>The ‘name’ table name ID that specifies sample text
682 that illustrates the effect of this feature. (May be NULL.). </p></td>
683 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
686 <td class="parameter_name"><p>num_named_parameters</p></td>
687 <td class="parameter_description"><p>Number of named parameters. (May be zero.). </p></td>
688 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
691 <td class="parameter_name"><p>first_param_id</p></td>
692 <td class="parameter_description"><p>The first ‘name’ table name ID used to specify
693 strings for user-interface labels for the feature
694 parameters. (Must be zero if numParameters is zero.). </p></td>
695 <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="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
700 <div class="refsect3">
701 <a name="hb-ot-layout-feature-get-name-ids.returns"></a><h4>Returns</h4>
702 <p> true if data found, false otherwise</p>
704 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
707 <div class="refsect2">
708 <a name="hb-ot-layout-feature-with-variations-get-lookups"></a><h3>hb_ot_layout_feature_with_variations_get_lookups ()</h3>
709 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
710 hb_ot_layout_feature_with_variations_get_lookups
711 (<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>,
712 <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_tag</code></em>,
713 <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
714 <em class="parameter"><code>unsigned <span class="type">int</span> variations_index</code></em>,
715 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
716 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_count</code></em>,
717 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre>
720 <div class="refsect2">
721 <a name="hb-ot-layout-get-attach-points"></a><h3>hb_ot_layout_get_attach_points ()</h3>
722 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
723 hb_ot_layout_get_attach_points (<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>,
724 <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>,
725 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
726 <em class="parameter"><code>unsigned <span class="type">int</span> *point_count</code></em>,
727 <em class="parameter"><code>unsigned <span class="type">int</span> *point_array</code></em>);</pre>
730 <div class="refsect2">
731 <a name="hb-ot-layout-get-glyph-class"></a><h3>hb_ot_layout_get_glyph_class ()</h3>
732 <pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="returnvalue">hb_ot_layout_glyph_class_t</span></a>
733 hb_ot_layout_get_glyph_class (<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>,
734 <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>
735 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
738 <div class="refsect2">
739 <a name="hb-ot-layout-get-glyphs-in-class"></a><h3>hb_ot_layout_get_glyphs_in_class ()</h3>
740 <pre class="programlisting"><span class="returnvalue">void</span>
741 hb_ot_layout_get_glyphs_in_class (<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>,
742 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="type">hb_ot_layout_glyph_class_t</span></a> klass</code></em>,
743 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
744 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
747 <div class="refsect2">
748 <a name="hb-ot-layout-get-ligature-carets"></a><h3>hb_ot_layout_get_ligature_carets ()</h3>
749 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
750 hb_ot_layout_get_ligature_carets (<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>,
751 <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>,
752 <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>,
753 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
754 <em class="parameter"><code>unsigned <span class="type">int</span> *caret_count</code></em>,
755 <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> *caret_array</code></em>);</pre>
758 <div class="refsect2">
759 <a name="hb-ot-layout-get-size-params"></a><h3>hb_ot_layout_get_size_params ()</h3>
760 <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>
761 hb_ot_layout_get_size_params (<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>,
762 <em class="parameter"><code>unsigned <span class="type">int</span> *design_size</code></em>,
763 <em class="parameter"><code>unsigned <span class="type">int</span> *subfamily_id</code></em>,
764 <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> *subfamily_name_id</code></em>,
765 <em class="parameter"><code>unsigned <span class="type">int</span> *range_start</code></em>,
766 <em class="parameter"><code>unsigned <span class="type">int</span> *range_end</code></em>);</pre>
767 <p class="since">Since: <a class="link" href="api-index-0-9-10.html#api-index-0.9.10">0.9.10</a></p>
770 <div class="refsect2">
771 <a name="hb-ot-layout-glyph-sequence-func-t"></a><h3>hb_ot_layout_glyph_sequence_func_t ()</h3>
772 <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>
773 <span class="c_punctuation">(</span>*hb_ot_layout_glyph_sequence_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>,
774 <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_tag</code></em>,
775 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
776 <em class="parameter"><code>const <span class="type">hb_ot_layout_glyph_sequence_t</span> *sequence</code></em>,
777 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
780 <div class="refsect2">
781 <a name="hb-ot-layout-has-glyph-classes"></a><h3>hb_ot_layout_has_glyph_classes ()</h3>
782 <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>
783 hb_ot_layout_has_glyph_classes (<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>
786 <div class="refsect2">
787 <a name="hb-ot-layout-has-positioning"></a><h3>hb_ot_layout_has_positioning ()</h3>
788 <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>
789 hb_ot_layout_has_positioning (<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>
792 <div class="refsect2">
793 <a name="hb-ot-layout-has-substitution"></a><h3>hb_ot_layout_has_substitution ()</h3>
794 <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>
795 hb_ot_layout_has_substitution (<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>
798 <div class="refsect2">
799 <a name="hb-ot-layout-language-find-feature"></a><h3>hb_ot_layout_language_find_feature ()</h3>
800 <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>
801 hb_ot_layout_language_find_feature (<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>,
802 <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_tag</code></em>,
803 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
804 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
805 <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> feature_tag</code></em>,
806 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre>
809 <div class="refsect2">
810 <a name="hb-ot-layout-language-get-feature-indexes"></a><h3>hb_ot_layout_language_get_feature_indexes ()</h3>
811 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
812 hb_ot_layout_language_get_feature_indexes
813 (<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>,
814 <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_tag</code></em>,
815 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
816 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
817 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
818 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
819 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_indexes</code></em>);</pre>
822 <div class="refsect2">
823 <a name="hb-ot-layout-language-get-feature-tags"></a><h3>hb_ot_layout_language_get_feature_tags ()</h3>
824 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
825 hb_ot_layout_language_get_feature_tags
826 (<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>,
827 <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_tag</code></em>,
828 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
829 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
830 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
831 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
832 <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> *feature_tags</code></em>);</pre>
835 <div class="refsect2">
836 <a name="hb-ot-layout-language-get-required-feature"></a><h3>hb_ot_layout_language_get_required_feature ()</h3>
837 <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>
838 hb_ot_layout_language_get_required_feature
839 (<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>,
840 <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_tag</code></em>,
841 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
842 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
843 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>,
844 <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> *feature_tag</code></em>);</pre>
845 <p class="since">Since: <a class="link" href="api-index-0-9-30.html#api-index-0.9.30">0.9.30</a></p>
848 <div class="refsect2">
849 <a name="hb-ot-layout-lookup-collect-glyphs"></a><h3>hb_ot_layout_lookup_collect_glyphs ()</h3>
850 <pre class="programlisting"><span class="returnvalue">void</span>
851 hb_ot_layout_lookup_collect_glyphs (<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>,
852 <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_tag</code></em>,
853 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
854 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_before</code></em>,
855 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_input</code></em>,
856 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_after</code></em>,
857 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs_output</code></em>);</pre>
858 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
861 <div class="refsect2">
862 <a name="hb-ot-layout-lookup-substitute-closure"></a><h3>hb_ot_layout_lookup_substitute_closure ()</h3>
863 <pre class="programlisting"><span class="returnvalue">void</span>
864 hb_ot_layout_lookup_substitute_closure
865 (<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>,
866 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
867 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
868 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
871 <div class="refsect2">
872 <a name="hb-ot-layout-lookups-substitute-closure"></a><h3>hb_ot_layout_lookups_substitute_closure ()</h3>
873 <pre class="programlisting"><span class="returnvalue">void</span>
874 hb_ot_layout_lookups_substitute_closure
875 (<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>,
876 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookups</code></em>,
877 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
878 <p>Compute the transitive closure of glyphs needed for all of the
879 provided lookups.</p>
880 <p class="since">Since: <a class="link" href="api-index-1-8-1.html#api-index-1.8.1">1.8.1</a></p>
883 <div class="refsect2">
884 <a name="hb-ot-layout-lookup-would-substitute"></a><h3>hb_ot_layout_lookup_would_substitute ()</h3>
885 <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>
886 hb_ot_layout_lookup_would_substitute (<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>,
887 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
888 <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> *glyphs</code></em>,
889 <em class="parameter"><code>unsigned <span class="type">int</span> glyphs_length</code></em>,
890 <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> zero_context</code></em>);</pre>
891 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
894 <div class="refsect2">
895 <a name="hb-ot-layout-script-get-language-tags"></a><h3>hb_ot_layout_script_get_language_tags ()</h3>
896 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
897 hb_ot_layout_script_get_language_tags (<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>,
898 <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_tag</code></em>,
899 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
900 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
901 <em class="parameter"><code>unsigned <span class="type">int</span> *language_count</code></em>,
902 <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> *language_tags</code></em>);</pre>
905 <div class="refsect2">
906 <a name="hb-ot-layout-script-select-language"></a><h3>hb_ot_layout_script_select_language ()</h3>
907 <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>
908 hb_ot_layout_script_select_language (<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>,
909 <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_tag</code></em>,
910 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
911 <em class="parameter"><code>unsigned <span class="type">int</span> language_count</code></em>,
912 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *language_tags</code></em>,
913 <em class="parameter"><code>unsigned <span class="type">int</span> *language_index</code></em>);</pre>
914 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
917 <div class="refsect2">
918 <a name="hb-ot-layout-table-find-feature-variations"></a><h3>hb_ot_layout_table_find_feature_variations ()</h3>
919 <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>
920 hb_ot_layout_table_find_feature_variations
921 (<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>,
922 <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_tag</code></em>,
923 <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
924 <em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>,
925 <em class="parameter"><code>unsigned <span class="type">int</span> *variations_index</code></em>);</pre>
928 <div class="refsect2">
929 <a name="hb-ot-layout-table-get-feature-tags"></a><h3>hb_ot_layout_table_get_feature_tags ()</h3>
930 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
931 hb_ot_layout_table_get_feature_tags (<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>,
932 <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_tag</code></em>,
933 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
934 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
935 <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> *feature_tags</code></em>);</pre>
938 <div class="refsect2">
939 <a name="hb-ot-layout-table-get-script-tags"></a><h3>hb_ot_layout_table_get_script_tags ()</h3>
940 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
941 hb_ot_layout_table_get_script_tags (<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>,
942 <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_tag</code></em>,
943 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
944 <em class="parameter"><code>unsigned <span class="type">int</span> *script_count</code></em>,
945 <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> *script_tags</code></em>);</pre>
948 <div class="refsect2">
949 <a name="hb-ot-layout-table-get-lookup-count"></a><h3>hb_ot_layout_table_get_lookup_count ()</h3>
950 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
951 hb_ot_layout_table_get_lookup_count (<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>,
952 <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_tag</code></em>);</pre>
953 <p class="since">Since: <a class="link" href="api-index-0-9-22.html#api-index-0.9.22">0.9.22</a></p>
956 <div class="refsect2">
957 <a name="hb-ot-layout-table-select-script"></a><h3>hb_ot_layout_table_select_script ()</h3>
958 <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>
959 hb_ot_layout_table_select_script (<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>,
960 <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_tag</code></em>,
961 <em class="parameter"><code>unsigned <span class="type">int</span> script_count</code></em>,
962 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *script_tags</code></em>,
963 <em class="parameter"><code>unsigned <span class="type">int</span> *script_index</code></em>,
964 <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> *chosen_script</code></em>);</pre>
965 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
968 <div class="refsect2">
969 <a name="hb-ot-shape-plan-collect-lookups"></a><h3>hb_ot_shape_plan_collect_lookups ()</h3>
970 <pre class="programlisting"><span class="returnvalue">void</span>
971 hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
972 <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_tag</code></em>,
973 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
974 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
977 <div class="refsect2">
978 <a name="hb-ot-layout-language-get-required-feature-index"></a><h3>hb_ot_layout_language_get_required_feature_index ()</h3>
979 <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>
980 hb_ot_layout_language_get_required_feature_index
981 (<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>,
982 <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_tag</code></em>,
983 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
984 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
985 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre>
988 <div class="refsect1">
989 <a name="harfbuzz-hb-ot-layout.other_details"></a><h2>Types and Values</h2>
990 <div class="refsect2">
991 <a name="HB-OT-MAX-TAGS-PER-LANGUAGE:CAPS"></a><h3>HB_OT_MAX_TAGS_PER_LANGUAGE</h3>
992 <pre class="programlisting">#define HB_OT_MAX_TAGS_PER_LANGUAGE 3u
994 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
997 <div class="refsect2">
998 <a name="HB-OT-MAX-TAGS-PER-SCRIPT:CAPS"></a><h3>HB_OT_MAX_TAGS_PER_SCRIPT</h3>
999 <pre class="programlisting">#define HB_OT_MAX_TAGS_PER_SCRIPT 3u
1001 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
1004 <div class="refsect2">
1005 <a name="HB-OT-TAG-DEFAULT-LANGUAGE:CAPS"></a><h3>HB_OT_TAG_DEFAULT_LANGUAGE</h3>
1006 <pre class="programlisting">#define HB_OT_TAG_DEFAULT_LANGUAGE HB_TAG ('d', 'f', 'l', 't')
1010 <div class="refsect2">
1011 <a name="HB-OT-TAG-DEFAULT-SCRIPT:CAPS"></a><h3>HB_OT_TAG_DEFAULT_SCRIPT</h3>
1012 <pre class="programlisting">#define HB_OT_TAG_DEFAULT_SCRIPT HB_TAG ('D', 'F', 'L', 'T')
1016 <div class="refsect2">
1017 <a name="HB-OT-LAYOUT-DEFAULT-LANGUAGE-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX</h3>
1018 <pre class="programlisting">#define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX 0xFFFFu
1022 <div class="refsect2">
1023 <a name="HB-OT-LAYOUT-NO-FEATURE-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_FEATURE_INDEX</h3>
1024 <pre class="programlisting">#define HB_OT_LAYOUT_NO_FEATURE_INDEX 0xFFFFu
1028 <div class="refsect2">
1029 <a name="HB-OT-LAYOUT-NO-SCRIPT-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_SCRIPT_INDEX</h3>
1030 <pre class="programlisting">#define HB_OT_LAYOUT_NO_SCRIPT_INDEX 0xFFFFu
1034 <div class="refsect2">
1035 <a name="HB-OT-LAYOUT-NO-VARIATIONS-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_VARIATIONS_INDEX</h3>
1036 <pre class="programlisting">#define HB_OT_LAYOUT_NO_VARIATIONS_INDEX 0xFFFFFFFFu
1040 <div class="refsect2">
1041 <a name="HB-OT-TAG-BASE:CAPS"></a><h3>HB_OT_TAG_BASE</h3>
1042 <pre class="programlisting">#define HB_OT_TAG_BASE HB_TAG('B','A','S','E')
1046 <div class="refsect2">
1047 <a name="HB-OT-TAG-GDEF:CAPS"></a><h3>HB_OT_TAG_GDEF</h3>
1048 <pre class="programlisting">#define HB_OT_TAG_GDEF HB_TAG('G','D','E','F')
1052 <div class="refsect2">
1053 <a name="HB-OT-TAG-GPOS:CAPS"></a><h3>HB_OT_TAG_GPOS</h3>
1054 <pre class="programlisting">#define HB_OT_TAG_GPOS HB_TAG('G','P','O','S')
1058 <div class="refsect2">
1059 <a name="HB-OT-TAG-GSUB:CAPS"></a><h3>HB_OT_TAG_GSUB</h3>
1060 <pre class="programlisting">#define HB_OT_TAG_GSUB HB_TAG('G','S','U','B')
1064 <div class="refsect2">
1065 <a name="HB-OT-TAG-JSTF:CAPS"></a><h3>HB_OT_TAG_JSTF</h3>
1066 <pre class="programlisting">#define HB_OT_TAG_JSTF HB_TAG('J','S','T','F')
1070 <div class="refsect2">
1071 <a name="hb-ot-layout-glyph-class-t"></a><h3>enum hb_ot_layout_glyph_class_t</h3>
1072 <div class="refsect3">
1073 <a name="hb-ot-layout-glyph-class-t.members"></a><h4>Members</h4>
1074 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1076 <col width="300px" class="enum_members_name">
1077 <col class="enum_members_description">
1078 <col width="200px" class="enum_members_annotations">
1082 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-UNCLASSIFIED:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED</p></td>
1087 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-BASE-GLYPH:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH</p></td>
1092 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-LIGATURE:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE</p></td>
1097 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-MARK:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_MARK</p></td>
1102 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-COMPONENT:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT</p></td>
1112 <div class="footer">
1113 <hr>Generated by GTK-Doc V1.29</div>