Imported Upstream version 2.4.0
[platform/upstream/harfbuzz.git] / docs / html / harfbuzz-hb-ot-layout.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>hb-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">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18                   <a href="#harfbuzz-hb-ot-layout.description" class="shortcut">Description</a></span>
19 </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="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>
24 </tr></table>
25 <div class="refentry">
26 <a name="harfbuzz-hb-ot-layout"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
29 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-layout.top_of_page"></a>hb-ot-layout</span></h2>
30 <p>hb-ot-layout — OpenType Layout</p>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
34 <div class="refsect1">
35 <a name="harfbuzz-hb-ot-layout.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
37 <colgroup>
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
40 </colgroup>
41 <tbody>
42 <tr>
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>
45 </td>
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>
48 </td>
49 </tr>
50 <tr>
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>
53 </td>
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>
56 </td>
57 </tr>
58 <tr>
59 <td class="function_type">
60 <span class="returnvalue">void</span>
61 </td>
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>
64 </td>
65 </tr>
66 <tr>
67 <td class="function_type">
68 <span class="returnvalue">void</span>
69 </td>
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>
72 </td>
73 </tr>
74 <tr>
75 <td class="function_type">
76 <span class="returnvalue">void</span>
77 </td>
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>
80 </td>
81 </tr>
82 <tr>
83 <td class="function_type">
84 <span class="returnvalue">void</span>
85 </td>
86 <td class="function_name">
87 <a class="link" href="harfbuzz-hb-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>
88 </td>
89 </tr>
90 <tr>
91 <td class="function_type">unsigned <span class="returnvalue">int</span>
92 </td>
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>
95 </td>
96 </tr>
97 <tr>
98 <td class="function_type">unsigned <span class="returnvalue">int</span>
99 </td>
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>
102 </td>
103 </tr>
104 <tr>
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>
107 </td>
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>
110 </td>
111 </tr>
112 <tr>
113 <td class="function_type">unsigned <span class="returnvalue">int</span>
114 </td>
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>
117 </td>
118 </tr>
119 <tr>
120 <td class="function_type">unsigned <span class="returnvalue">int</span>
121 </td>
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>
124 </td>
125 </tr>
126 <tr>
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>
129 </td>
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>
132 </td>
133 </tr>
134 <tr>
135 <td class="function_type">
136 <span class="returnvalue">void</span>
137 </td>
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>
140 </td>
141 </tr>
142 <tr>
143 <td class="function_type">unsigned <span class="returnvalue">int</span>
144 </td>
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>
147 </td>
148 </tr>
149 <tr>
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>
152 </td>
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>
155 </td>
156 </tr>
157 <tr>
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>
160 </td>
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>
163 </td>
164 </tr>
165 <tr>
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>
168 </td>
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>
171 </td>
172 </tr>
173 <tr>
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>
176 </td>
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>
179 </td>
180 </tr>
181 <tr>
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>
184 </td>
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>
187 </td>
188 </tr>
189 <tr>
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>
192 </td>
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>
195 </td>
196 </tr>
197 <tr>
198 <td class="function_type">unsigned <span class="returnvalue">int</span>
199 </td>
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>
202 </td>
203 </tr>
204 <tr>
205 <td class="function_type">unsigned <span class="returnvalue">int</span>
206 </td>
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>
209 </td>
210 </tr>
211 <tr>
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>
214 </td>
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>
217 </td>
218 </tr>
219 <tr>
220 <td class="function_type">
221 <span class="returnvalue">void</span>
222 </td>
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>
225 </td>
226 </tr>
227 <tr>
228 <td class="function_type">
229 <span class="returnvalue">void</span>
230 </td>
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>
233 </td>
234 </tr>
235 <tr>
236 <td class="function_type">
237 <span class="returnvalue">void</span>
238 </td>
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>
241 </td>
242 </tr>
243 <tr>
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>
246 </td>
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>
249 </td>
250 </tr>
251 <tr>
252 <td class="function_type">unsigned <span class="returnvalue">int</span>
253 </td>
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>
256 </td>
257 </tr>
258 <tr>
259 <td class="function_type">
260 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
261 </td>
262 <td class="function_name">
263 <a class="link" href="harfbuzz-hb-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>
264 </td>
265 </tr>
266 <tr>
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>
269 </td>
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>
272 </td>
273 </tr>
274 <tr>
275 <td class="function_type">unsigned <span class="returnvalue">int</span>
276 </td>
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>
279 </td>
280 </tr>
281 <tr>
282 <td class="function_type">unsigned <span class="returnvalue">int</span>
283 </td>
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>
286 </td>
287 </tr>
288 <tr>
289 <td class="function_type">unsigned <span class="returnvalue">int</span>
290 </td>
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>
293 </td>
294 </tr>
295 <tr>
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>
298 </td>
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>
301 </td>
302 </tr>
303 <tr>
304 <td class="function_type">
305 <span class="returnvalue">void</span>
306 </td>
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>
309 </td>
310 </tr>
311 <tr>
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>
314 </td>
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>
317 </td>
318 </tr>
319 </tbody>
320 </table></div>
321 </div>
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">
325 <colgroup>
326 <col width="150px" class="name">
327 <col class="description">
328 </colgroup>
329 <tbody>
330 <tr>
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>
333 </tr>
334 <tr>
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>
337 </tr>
338 <tr>
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>
341 </tr>
342 <tr>
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>
345 </tr>
346 <tr>
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>
349 </tr>
350 <tr>
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>
353 </tr>
354 <tr>
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>
357 </tr>
358 <tr>
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>
361 </tr>
362 <tr>
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>
365 </tr>
366 <tr>
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>
369 </tr>
370 <tr>
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>
373 </tr>
374 <tr>
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>
377 </tr>
378 <tr>
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>
381 </tr>
382 <tr>
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>
385 </tr>
386 </tbody>
387 </table></div>
388 </div>
389 <div class="refsect1">
390 <a name="harfbuzz-hb-ot-layout.includes"></a><h2>Includes</h2>
391 <pre class="synopsis">#include &lt;hb-ot.h&gt;
392 </pre>
393 </div>
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>
397 </div>
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>
406 <p>. </p>
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>
408 </div>
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>
410 </div>
411 <hr>
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>
416 </div>
417 <hr>
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">
431 <colgroup>
432 <col width="150px" class="parameters_name">
433 <col class="parameters_description">
434 <col width="200px" class="parameters_annotations">
435 </colgroup>
436 <tbody>
437 <tr>
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>
441 </tr>
442 <tr>
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>
446 </tr>
447 <tr>
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>
452 </tr>
453 <tr>
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>
456 to store the
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>
459 </tr>
460 <tr>
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>
465 </tr>
466 <tr>
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>
469 to store
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>
472 </tr>
473 </tbody>
474 </table></div>
475 </div>
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>
477 </div>
478 <hr>
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">
491 <colgroup>
492 <col width="150px" class="parameters_name">
493 <col class="parameters_description">
494 <col width="200px" class="parameters_annotations">
495 </colgroup>
496 <tbody>
497 <tr>
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>
501 </tr>
502 <tr>
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>
506 </tr>
507 <tr>
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>
510 (OUT). </p></td>
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>
512 </tr>
513 <tr>
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>
516 and
517 <em class="parameter"><code>language_tag</code></em>
518 (OUT). </p></td>
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>
520 </tr>
521 </tbody>
522 </table></div>
523 </div>
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>
525 </div>
526 <hr>
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>
537 </div>
538 <hr>
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>
549 </div>
550 <hr>
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">
565 <colgroup>
566 <col width="150px" class="parameters_name">
567 <col class="parameters_description">
568 <col width="200px" class="parameters_annotations">
569 </colgroup>
570 <tbody>
571 <tr>
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>
575 </tr>
576 <tr>
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>
580 </tr>
581 <tr>
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>
585 </tr>
586 <tr>
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>
594 </tr>
595 <tr>
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>
600 </tr>
601 <tr>
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>
606 </tr>
607 </tbody>
608 </table></div>
609 </div>
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>
613 </div>
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>
615 </div>
616 <hr>
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>
627 </div>
628 <hr>
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">
645 <colgroup>
646 <col width="150px" class="parameters_name">
647 <col class="parameters_description">
648 <col width="200px" class="parameters_annotations">
649 </colgroup>
650 <tbody>
651 <tr>
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>
655 </tr>
656 <tr>
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>
660 </tr>
661 <tr>
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>
665 </tr>
666 <tr>
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>
671 </tr>
672 <tr>
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>
678 </tr>
679 <tr>
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>
684 </tr>
685 <tr>
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>
689 </tr>
690 <tr>
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>
696 </tr>
697 </tbody>
698 </table></div>
699 </div>
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>
703 </div>
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>
705 </div>
706 <hr>
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>
718 </div>
719 <hr>
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>
728 </div>
729 <hr>
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>
736 </div>
737 <hr>
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>
745 </div>
746 <hr>
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>
756 </div>
757 <hr>
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>
768 </div>
769 <hr>
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>
778 </div>
779 <hr>
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>
784 </div>
785 <hr>
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>
790 </div>
791 <hr>
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>
796 </div>
797 <hr>
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>
807 </div>
808 <hr>
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>
820 </div>
821 <hr>
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>
833 </div>
834 <hr>
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>
846 </div>
847 <hr>
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>
859 </div>
860 <hr>
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>
869 </div>
870 <hr>
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>
881 </div>
882 <hr>
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>
892 </div>
893 <hr>
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>
903 </div>
904 <hr>
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>
915 </div>
916 <hr>
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>
926 </div>
927 <hr>
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>
936 </div>
937 <hr>
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>
946 </div>
947 <hr>
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>
954 </div>
955 <hr>
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>
966 </div>
967 <hr>
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>
975 </div>
976 <hr>
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>
986 </div>
987 </div>
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
993 </pre>
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>
995 </div>
996 <hr>
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
1000 </pre>
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>
1002 </div>
1003 <hr>
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')
1007 </pre>
1008 </div>
1009 <hr>
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')
1013 </pre>
1014 </div>
1015 <hr>
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
1019 </pre>
1020 </div>
1021 <hr>
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
1025 </pre>
1026 </div>
1027 <hr>
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
1031 </pre>
1032 </div>
1033 <hr>
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
1037 </pre>
1038 </div>
1039 <hr>
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')
1043 </pre>
1044 </div>
1045 <hr>
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')
1049 </pre>
1050 </div>
1051 <hr>
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')
1055 </pre>
1056 </div>
1057 <hr>
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')
1061 </pre>
1062 </div>
1063 <hr>
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')
1067 </pre>
1068 </div>
1069 <hr>
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">
1075 <colgroup>
1076 <col width="300px" class="enum_members_name">
1077 <col class="enum_members_description">
1078 <col width="200px" class="enum_members_annotations">
1079 </colgroup>
1080 <tbody>
1081 <tr>
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>
1083 <td> </td>
1084 <td> </td>
1085 </tr>
1086 <tr>
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>
1088 <td> </td>
1089 <td> </td>
1090 </tr>
1091 <tr>
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>
1093 <td> </td>
1094 <td> </td>
1095 </tr>
1096 <tr>
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>
1098 <td> </td>
1099 <td> </td>
1100 </tr>
1101 <tr>
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>
1103 <td> </td>
1104 <td> </td>
1105 </tr>
1106 </tbody>
1107 </table></div>
1108 </div>
1109 </div>
1110 </div>
1111 </div>
1112 <div class="footer">
1113 <hr>Generated by GTK-Doc V1.29</div>
1114 </body>
1115 </html>