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</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="HarfBuzz Reference Manual">
8 <link rel="up" href="ch01.html" title="[Insert title here]">
9 <link rel="prev" href="harfbuzz-hb-ot.html" title="hb-ot">
10 <link rel="next" href="harfbuzz-hb-ot-tag.html" title="hb-ot-tag">
11 <meta name="generator" content="GTK-Doc V1.20.1 (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><span id="nav_hierarchy"> <span class="dim">|</span>
19 <a href="#harfbuzz-hb-ot-layout.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="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="harfbuzz-hb-ot.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="harfbuzz-hb-ot-tag.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26 <div class="refentry">
27 <a name="harfbuzz-hb-ot-layout"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
30 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-layout.top_of_page"></a>hb-ot-layout</span></h2>
33 <td class="gallery_image" valign="top" align="right"></td>
35 <div class="refsect1">
36 <a name="harfbuzz-hb-ot-layout.functions"></a><h2>Functions</h2>
37 <div class="informaltable"><table width="100%" border="0">
39 <col width="150px" class="functions_return">
40 <col class="functions_name">
44 <td class="function_type">
45 <span class="returnvalue">void</span>
47 <td class="function_name">
48 <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>
52 <td class="function_type">unsigned <span class="returnvalue">int</span>
54 <td class="function_name">
55 <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>
59 <td class="function_type">unsigned <span class="returnvalue">int</span>
61 <td class="function_name">
62 <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>
66 <td class="function_type">
67 <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>
69 <td class="function_name">
70 <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>
74 <td class="function_type">
75 <span class="returnvalue">void</span>
77 <td class="function_name">
78 <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>
82 <td class="function_type">unsigned <span class="returnvalue">int</span>
84 <td class="function_name">
85 <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>
89 <td class="function_type">
90 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
92 <td class="function_name">
93 <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>
97 <td class="function_type">
98 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
100 <td class="function_name">
101 <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>
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-has-glyph-classes" title="hb_ot_layout_has_glyph_classes ()">hb_ot_layout_has_glyph_classes</a> <span class="c_punctuation">()</span>
113 <td class="function_type">
114 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
116 <td class="function_name">
117 <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>
121 <td class="function_type">
122 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
124 <td class="function_name">
125 <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>
129 <td class="function_type">
130 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
132 <td class="function_name">
133 <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>
137 <td class="function_type">unsigned <span class="returnvalue">int</span>
139 <td class="function_name">
140 <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>
144 <td class="function_type">unsigned <span class="returnvalue">int</span>
146 <td class="function_name">
147 <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>
151 <td class="function_type">
152 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
154 <td class="function_name">
155 <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>
159 <td class="function_type">
160 <span class="returnvalue">void</span>
162 <td class="function_name">
163 <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>
167 <td class="function_type">
168 <span class="returnvalue">void</span>
170 <td class="function_name">
171 <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>
175 <td class="function_type">
176 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
178 <td class="function_name">
179 <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>
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-ot-layout.html#hb-ot-layout-script-find-language" title="hb_ot_layout_script_find_language ()">hb_ot_layout_script_find_language</a> <span class="c_punctuation">()</span>
191 <td class="function_type">unsigned <span class="returnvalue">int</span>
193 <td class="function_name">
194 <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>
198 <td class="function_type">
199 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
201 <td class="function_name">
202 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-choose-script" title="hb_ot_layout_table_choose_script ()">hb_ot_layout_table_choose_script</a> <span class="c_punctuation">()</span>
206 <td class="function_type">
207 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
209 <td class="function_name">
210 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-table-find-script" title="hb_ot_layout_table_find_script ()">hb_ot_layout_table_find_script</a> <span class="c_punctuation">()</span>
214 <td class="function_type">unsigned <span class="returnvalue">int</span>
216 <td class="function_name">
217 <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>
221 <td class="function_type">unsigned <span class="returnvalue">int</span>
223 <td class="function_name">
224 <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>
228 <td class="function_type">unsigned <span class="returnvalue">int</span>
230 <td class="function_name">
231 <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>
235 <td class="function_type">
236 <span class="returnvalue">void</span>
238 <td class="function_name">
239 <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>
245 <div class="refsect1">
246 <a name="harfbuzz-hb-ot-layout.other"></a><h2>Types and Values</h2>
247 <div class="informaltable"><table width="100%" border="0">
249 <col width="150px" class="name">
250 <col class="description">
254 <td class="define_keyword">#define</td>
255 <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>
258 <td class="define_keyword">#define</td>
259 <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>
262 <td class="define_keyword">#define</td>
263 <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>
266 <td class="define_keyword">#define</td>
267 <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>
270 <td class="define_keyword">#define</td>
271 <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>
274 <td class="define_keyword">#define</td>
275 <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>
278 <td class="datatype_keyword">enum</td>
279 <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>
284 <div class="refsect1">
285 <a name="harfbuzz-hb-ot-layout.object-hierarchy"></a><h2>Object Hierarchy</h2>
286 <pre class="screen"> GEnum
287 <span class="lineart">╰──</span> hb_ot_layout_glyph_class_t
290 <div class="refsect1">
291 <a name="harfbuzz-hb-ot-layout.description"></a><h2>Description</h2>
295 <div class="refsect1">
296 <a name="harfbuzz-hb-ot-layout.functions_details"></a><h2>Functions</h2>
297 <div class="refsect2">
298 <a name="hb-ot-layout-collect-lookups"></a><h3>hb_ot_layout_collect_lookups ()</h3>
299 <pre class="programlisting"><span class="returnvalue">void</span>
300 hb_ot_layout_collect_lookups (<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>,
301 <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>,
302 <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>,
303 <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>,
304 <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>,
305 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
310 <div class="refsect2">
311 <a name="hb-ot-layout-feature-get-lookups"></a><h3>hb_ot_layout_feature_get_lookups ()</h3>
312 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
313 hb_ot_layout_feature_get_lookups (<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>,
314 <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>,
315 <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
316 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
317 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_count</code></em>,
318 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre>
321 <div class="refsect3">
322 <a name="idp23755552"></a><h4>Returns</h4>
327 <div class="refsect2">
328 <a name="hb-ot-layout-get-attach-points"></a><h3>hb_ot_layout_get_attach_points ()</h3>
329 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
330 hb_ot_layout_get_attach_points (<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>,
331 <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>,
332 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
333 <em class="parameter"><code>unsigned <span class="type">int</span> *point_count</code></em>,
334 <em class="parameter"><code>unsigned <span class="type">int</span> *point_array</code></em>);</pre>
337 <div class="refsect3">
338 <a name="idp23771216"></a><h4>Returns</h4>
343 <div class="refsect2">
344 <a name="hb-ot-layout-get-glyph-class"></a><h3>hb_ot_layout_get_glyph_class ()</h3>
345 <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>
346 hb_ot_layout_get_glyph_class (<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>,
347 <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>
350 <div class="refsect3">
351 <a name="idp23781312"></a><h4>Returns</h4>
356 <div class="refsect2">
357 <a name="hb-ot-layout-get-glyphs-in-class"></a><h3>hb_ot_layout_get_glyphs_in_class ()</h3>
358 <pre class="programlisting"><span class="returnvalue">void</span>
359 hb_ot_layout_get_glyphs_in_class (<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>,
360 <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>,
361 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
366 <div class="refsect2">
367 <a name="hb-ot-layout-get-ligature-carets"></a><h3>hb_ot_layout_get_ligature_carets ()</h3>
368 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
369 hb_ot_layout_get_ligature_carets (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>,
370 <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>,
371 <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>,
372 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
373 <em class="parameter"><code>unsigned <span class="type">int</span> *caret_count</code></em>,
374 <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>
377 <div class="refsect3">
378 <a name="idp23808736"></a><h4>Returns</h4>
383 <div class="refsect2">
384 <a name="hb-ot-layout-get-size-params"></a><h3>hb_ot_layout_get_size_params ()</h3>
385 <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>
386 hb_ot_layout_get_size_params (<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>,
387 <em class="parameter"><code>unsigned <span class="type">int</span> *design_size</code></em>,
388 <em class="parameter"><code>unsigned <span class="type">int</span> *subfamily_id</code></em>,
389 <em class="parameter"><code>unsigned <span class="type">int</span> *subfamily_name_id</code></em>,
390 <em class="parameter"><code>unsigned <span class="type">int</span> *range_start</code></em>,
391 <em class="parameter"><code>unsigned <span class="type">int</span> *range_end</code></em>);</pre>
394 <div class="refsect3">
395 <a name="idp23826208"></a><h4>Returns</h4>
400 <div class="refsect2">
401 <a name="hb-ot-layout-glyph-sequence-func-t"></a><h3>hb_ot_layout_glyph_sequence_func_t ()</h3>
402 <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>
403 <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"><span class="type">hb_font_t</span></a> *font</code></em>,
404 <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>,
405 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
406 <em class="parameter"><code>const <span class="type">hb_ot_layout_glyph_sequence_t</span> *sequence</code></em>,
407 <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
410 <div class="refsect3">
411 <a name="idp23842928"></a><h4>Returns</h4>
416 <div class="refsect2">
417 <a name="hb-ot-layout-has-glyph-classes"></a><h3>hb_ot_layout_has_glyph_classes ()</h3>
418 <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>
419 hb_ot_layout_has_glyph_classes (<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>
422 <div class="refsect3">
423 <a name="idp23851360"></a><h4>Returns</h4>
428 <div class="refsect2">
429 <a name="hb-ot-layout-has-positioning"></a><h3>hb_ot_layout_has_positioning ()</h3>
430 <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>
431 hb_ot_layout_has_positioning (<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>
434 <div class="refsect3">
435 <a name="idp23859792"></a><h4>Returns</h4>
440 <div class="refsect2">
441 <a name="hb-ot-layout-has-substitution"></a><h3>hb_ot_layout_has_substitution ()</h3>
442 <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>
443 hb_ot_layout_has_substitution (<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>
446 <div class="refsect3">
447 <a name="idp23868224"></a><h4>Returns</h4>
452 <div class="refsect2">
453 <a name="hb-ot-layout-language-find-feature"></a><h3>hb_ot_layout_language_find_feature ()</h3>
454 <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>
455 hb_ot_layout_language_find_feature (<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>,
456 <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>,
457 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
458 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
459 <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>,
460 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre>
463 <div class="refsect3">
464 <a name="idp23885344"></a><h4>Returns</h4>
469 <div class="refsect2">
470 <a name="hb-ot-layout-language-get-feature-indexes"></a><h3>hb_ot_layout_language_get_feature_indexes ()</h3>
471 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
472 hb_ot_layout_language_get_feature_indexes
473 (<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>,
474 <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>,
475 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
476 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
477 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
478 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
479 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_indexes</code></em>);</pre>
482 <div class="refsect3">
483 <a name="idp23904336"></a><h4>Returns</h4>
488 <div class="refsect2">
489 <a name="hb-ot-layout-language-get-feature-tags"></a><h3>hb_ot_layout_language_get_feature_tags ()</h3>
490 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
491 hb_ot_layout_language_get_feature_tags
492 (<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>,
493 <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>,
494 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
495 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
496 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
497 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
498 <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>
501 <div class="refsect3">
502 <a name="idp23923344"></a><h4>Returns</h4>
507 <div class="refsect2">
508 <a name="hb-ot-layout-language-get-required-feature"></a><h3>hb_ot_layout_language_get_required_feature ()</h3>
509 <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>
510 hb_ot_layout_language_get_required_feature
511 (<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>,
512 <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>,
513 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
514 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
515 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>,
516 <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>
519 <div class="refsect2">
520 <a name="hb-ot-layout-lookup-collect-glyphs"></a><h3>hb_ot_layout_lookup_collect_glyphs ()</h3>
521 <pre class="programlisting"><span class="returnvalue">void</span>
522 hb_ot_layout_lookup_collect_glyphs (<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>,
523 <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>,
524 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
525 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_before</code></em>,
526 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_input</code></em>,
527 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_after</code></em>,
528 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_output</code></em>);</pre>
533 <div class="refsect2">
534 <a name="hb-ot-layout-lookup-substitute-closure"></a><h3>hb_ot_layout_lookup_substitute_closure ()</h3>
535 <pre class="programlisting"><span class="returnvalue">void</span>
536 hb_ot_layout_lookup_substitute_closure
537 (<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>,
538 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
539 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre>
544 <div class="refsect2">
545 <a name="hb-ot-layout-lookup-would-substitute"></a><h3>hb_ot_layout_lookup_would_substitute ()</h3>
546 <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>
547 hb_ot_layout_lookup_would_substitute (<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>,
548 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
549 <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>,
550 <em class="parameter"><code>unsigned <span class="type">int</span> glyphs_length</code></em>,
551 <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>
554 <div class="refsect3">
555 <a name="idp23980784"></a><h4>Returns</h4>
560 <div class="refsect2">
561 <a name="hb-ot-layout-script-find-language"></a><h3>hb_ot_layout_script_find_language ()</h3>
562 <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>
563 hb_ot_layout_script_find_language (<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>,
564 <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>,
565 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
566 <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>,
567 <em class="parameter"><code>unsigned <span class="type">int</span> *language_index</code></em>);</pre>
570 <div class="refsect3">
571 <a name="idp24314880"></a><h4>Returns</h4>
576 <div class="refsect2">
577 <a name="hb-ot-layout-script-get-language-tags"></a><h3>hb_ot_layout_script_get_language_tags ()</h3>
578 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
579 hb_ot_layout_script_get_language_tags (<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>,
580 <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>,
581 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
582 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
583 <em class="parameter"><code>unsigned <span class="type">int</span> *language_count</code></em>,
584 <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>
587 <div class="refsect3">
588 <a name="idp24331840"></a><h4>Returns</h4>
593 <div class="refsect2">
594 <a name="hb-ot-layout-table-choose-script"></a><h3>hb_ot_layout_table_choose_script ()</h3>
595 <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>
596 hb_ot_layout_table_choose_script (<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>,
597 <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>,
598 <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>,
599 <em class="parameter"><code>unsigned <span class="type">int</span> *script_index</code></em>,
600 <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>
603 <div class="refsect3">
604 <a name="idp24347152"></a><h4>Returns</h4>
609 <div class="refsect2">
610 <a name="hb-ot-layout-table-find-script"></a><h3>hb_ot_layout_table_find_script ()</h3>
611 <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>
612 hb_ot_layout_table_find_script (<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>,
613 <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>,
614 <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>,
615 <em class="parameter"><code>unsigned <span class="type">int</span> *script_index</code></em>);</pre>
618 <div class="refsect3">
619 <a name="idp24360656"></a><h4>Returns</h4>
624 <div class="refsect2">
625 <a name="hb-ot-layout-table-get-feature-tags"></a><h3>hb_ot_layout_table_get_feature_tags ()</h3>
626 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
627 hb_ot_layout_table_get_feature_tags (<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>,
628 <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>,
629 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
630 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
631 <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>
634 <div class="refsect3">
635 <a name="idp24375904"></a><h4>Returns</h4>
640 <div class="refsect2">
641 <a name="hb-ot-layout-table-get-script-tags"></a><h3>hb_ot_layout_table_get_script_tags ()</h3>
642 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
643 hb_ot_layout_table_get_script_tags (<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>,
644 <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>,
645 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
646 <em class="parameter"><code>unsigned <span class="type">int</span> *script_count</code></em>,
647 <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>
650 <div class="refsect3">
651 <a name="idp24391392"></a><h4>Returns</h4>
656 <div class="refsect2">
657 <a name="hb-ot-layout-table-get-lookup-count"></a><h3>hb_ot_layout_table_get_lookup_count ()</h3>
658 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
659 hb_ot_layout_table_get_lookup_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>,
660 <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>
663 <div class="refsect2">
664 <a name="hb-ot-shape-plan-collect-lookups"></a><h3>hb_ot_shape_plan_collect_lookups ()</h3>
665 <pre class="programlisting"><span class="returnvalue">void</span>
666 hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>,
667 <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>,
668 <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre>
673 <div class="refsect1">
674 <a name="harfbuzz-hb-ot-layout.other_details"></a><h2>Types and Values</h2>
675 <div class="refsect2">
676 <a name="HB-OT-LAYOUT-DEFAULT-LANGUAGE-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX</h3>
677 <pre class="programlisting">#define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX 0xFFFFu
683 <div class="refsect2">
684 <a name="HB-OT-LAYOUT-NO-FEATURE-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_FEATURE_INDEX</h3>
685 <pre class="programlisting">#define HB_OT_LAYOUT_NO_FEATURE_INDEX 0xFFFFu
691 <div class="refsect2">
692 <a name="HB-OT-LAYOUT-NO-SCRIPT-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_SCRIPT_INDEX</h3>
693 <pre class="programlisting">#define HB_OT_LAYOUT_NO_SCRIPT_INDEX 0xFFFFu
699 <div class="refsect2">
700 <a name="HB-OT-TAG-GDEF:CAPS"></a><h3>HB_OT_TAG_GDEF</h3>
701 <pre class="programlisting">#define HB_OT_TAG_GDEF HB_TAG('G','D','E','F')
707 <div class="refsect2">
708 <a name="HB-OT-TAG-GPOS:CAPS"></a><h3>HB_OT_TAG_GPOS</h3>
709 <pre class="programlisting">#define HB_OT_TAG_GPOS HB_TAG('G','P','O','S')
715 <div class="refsect2">
716 <a name="HB-OT-TAG-GSUB:CAPS"></a><h3>HB_OT_TAG_GSUB</h3>
717 <pre class="programlisting">#define HB_OT_TAG_GSUB HB_TAG('G','S','U','B')
723 <div class="refsect2">
724 <a name="hb-ot-layout-glyph-class-t"></a><h3>enum hb_ot_layout_glyph_class_t</h3>
727 <div class="refsect3">
728 <a name="idp24443872"></a><h4>Members</h4>
729 <div class="informaltable"><table width="100%" border="0">
731 <col width="300px" class="enum_members_name">
732 <col class="enum_members_description">
733 <col width="200px" class="enum_members_annotations">
737 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-UNCLASSIFIED:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED</p></td>
738 <td class="enum_member_description"> </td>
739 <td class="enum_member_annotations"> </td>
742 <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>
743 <td class="enum_member_description"> </td>
744 <td class="enum_member_annotations"> </td>
747 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-LIGATURE:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE</p></td>
748 <td class="enum_member_description"> </td>
749 <td class="enum_member_annotations"> </td>
752 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-MARK:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_MARK</p></td>
753 <td class="enum_member_description"> </td>
754 <td class="enum_member_annotations"> </td>
757 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-COMPONENT:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT</p></td>
758 <td class="enum_member_description"> </td>
759 <td class="enum_member_annotations"> </td>
769 Generated by GTK-Doc V1.20.1</div>