ce6c42030778210d51c312bf81d1dd8e0b6ac0f9
[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 V1.79.1">
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.25 (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><span id="nav_hierarchy">  <span class="dim">|</span> 
19                   <a href="#harfbuzz-hb-ot-layout.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20 </td>
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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23 <td><a accesskey="p" href="harfbuzz-hb-ot-font.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24 <td><a accesskey="n" href="harfbuzz-hb-ot-math.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25 </tr></table>
26 <div class="refentry">
27 <a name="harfbuzz-hb-ot-layout"></a><div class="titlepage"></div>
28 <div class="refnamediv"><table width="100%"><tr>
29 <td valign="top">
30 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-layout.top_of_page"></a>hb-ot-layout</span></h2>
31 <p>hb-ot-layout — OpenType Layout</p>
32 </td>
33 <td class="gallery_image" valign="top" align="right"></td>
34 </tr></table></div>
35 <div class="refsect1">
36 <a name="harfbuzz-hb-ot-layout.functions"></a><h2>Functions</h2>
37 <div class="informaltable"><table class="informaltable" width="100%" border="0">
38 <colgroup>
39 <col width="150px" class="functions_return">
40 <col class="functions_name">
41 </colgroup>
42 <tbody>
43 <tr>
44 <td class="function_type">
45 <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a>
46 </td>
47 <td class="function_name">
48 <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>
49 </td>
50 </tr>
51 <tr>
52 <td class="function_type">
53 <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a>
54 </td>
55 <td class="function_name">
56 <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>
57 </td>
58 </tr>
59 <tr>
60 <td class="function_type">
61 <span class="returnvalue">void</span>
62 </td>
63 <td class="function_name">
64 <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>
65 </td>
66 </tr>
67 <tr>
68 <td class="function_type">
69 <span class="returnvalue">void</span>
70 </td>
71 <td class="function_name">
72 <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>
73 </td>
74 </tr>
75 <tr>
76 <td class="function_type">
77 <span class="returnvalue">void</span>
78 </td>
79 <td class="function_name">
80 <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>
81 </td>
82 </tr>
83 <tr>
84 <td class="function_type">
85 <span class="returnvalue">void</span>
86 </td>
87 <td class="function_name">
88 <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>
89 </td>
90 </tr>
91 <tr>
92 <td class="function_type">unsigned <span class="returnvalue">int</span>
93 </td>
94 <td class="function_name">
95 <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>
96 </td>
97 </tr>
98 <tr>
99 <td class="function_type">unsigned <span class="returnvalue">int</span>
100 </td>
101 <td class="function_name">
102 <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>
103 </td>
104 </tr>
105 <tr>
106 <td class="function_type">
107 <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>
109 <td class="function_name">
110 <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>
111 </td>
112 </tr>
113 <tr>
114 <td class="function_type">unsigned <span class="returnvalue">int</span>
115 </td>
116 <td class="function_name">
117 <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>
118 </td>
119 </tr>
120 <tr>
121 <td class="function_type">unsigned <span class="returnvalue">int</span>
122 </td>
123 <td class="function_name">
124 <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>
125 </td>
126 </tr>
127 <tr>
128 <td class="function_type">
129 <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="returnvalue">hb_ot_layout_glyph_class_t</span></a>
130 </td>
131 <td class="function_name">
132 <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>
133 </td>
134 </tr>
135 <tr>
136 <td class="function_type">
137 <span class="returnvalue">void</span>
138 </td>
139 <td class="function_name">
140 <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>
141 </td>
142 </tr>
143 <tr>
144 <td class="function_type">unsigned <span class="returnvalue">int</span>
145 </td>
146 <td class="function_name">
147 <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>
148 </td>
149 </tr>
150 <tr>
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>
153 </td>
154 <td class="function_name">
155 <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>
156 </td>
157 </tr>
158 <tr>
159 <td class="function_type">
160 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
161 </td>
162 <td class="function_name">
163 <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>
164 </td>
165 </tr>
166 <tr>
167 <td class="function_type">
168 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
169 </td>
170 <td class="function_name">
171 <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>
172 </td>
173 </tr>
174 <tr>
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>
177 </td>
178 <td class="function_name">
179 <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>
180 </td>
181 </tr>
182 <tr>
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>
185 </td>
186 <td class="function_name">
187 <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>
188 </td>
189 </tr>
190 <tr>
191 <td class="function_type">
192 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
193 </td>
194 <td class="function_name">
195 <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>
196 </td>
197 </tr>
198 <tr>
199 <td class="function_type">unsigned <span class="returnvalue">int</span>
200 </td>
201 <td class="function_name">
202 <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>
203 </td>
204 </tr>
205 <tr>
206 <td class="function_type">unsigned <span class="returnvalue">int</span>
207 </td>
208 <td class="function_name">
209 <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>
210 </td>
211 </tr>
212 <tr>
213 <td class="function_type">
214 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
215 </td>
216 <td class="function_name">
217 <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>
218 </td>
219 </tr>
220 <tr>
221 <td class="function_type">
222 <span class="returnvalue">void</span>
223 </td>
224 <td class="function_name">
225 <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>
226 </td>
227 </tr>
228 <tr>
229 <td class="function_type">
230 <span class="returnvalue">void</span>
231 </td>
232 <td class="function_name">
233 <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>
234 </td>
235 </tr>
236 <tr>
237 <td class="function_type">
238 <span class="returnvalue">void</span>
239 </td>
240 <td class="function_name">
241 <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>
242 </td>
243 </tr>
244 <tr>
245 <td class="function_type">
246 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
247 </td>
248 <td class="function_name">
249 <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>
250 </td>
251 </tr>
252 <tr>
253 <td class="function_type">unsigned <span class="returnvalue">int</span>
254 </td>
255 <td class="function_name">
256 <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>
257 </td>
258 </tr>
259 <tr>
260 <td class="function_type">
261 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
262 </td>
263 <td class="function_name">
264 <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>
265 </td>
266 </tr>
267 <tr>
268 <td class="function_type">
269 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
270 </td>
271 <td class="function_name">
272 <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>
273 </td>
274 </tr>
275 <tr>
276 <td class="function_type">unsigned <span class="returnvalue">int</span>
277 </td>
278 <td class="function_name">
279 <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>
280 </td>
281 </tr>
282 <tr>
283 <td class="function_type">unsigned <span class="returnvalue">int</span>
284 </td>
285 <td class="function_name">
286 <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>
287 </td>
288 </tr>
289 <tr>
290 <td class="function_type">unsigned <span class="returnvalue">int</span>
291 </td>
292 <td class="function_name">
293 <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>
294 </td>
295 </tr>
296 <tr>
297 <td class="function_type">
298 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
299 </td>
300 <td class="function_name">
301 <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>
302 </td>
303 </tr>
304 <tr>
305 <td class="function_type">
306 <span class="returnvalue">void</span>
307 </td>
308 <td class="function_name">
309 <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>
310 </td>
311 </tr>
312 <tr>
313 <td class="function_type">
314 <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a>
315 </td>
316 <td class="function_name">
317 <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>
318 </td>
319 </tr>
320 </tbody>
321 </table></div>
322 </div>
323 <div class="refsect1">
324 <a name="harfbuzz-hb-ot-layout.other"></a><h2>Types and Values</h2>
325 <div class="informaltable"><table class="informaltable" width="100%" border="0">
326 <colgroup>
327 <col width="150px" class="name">
328 <col class="description">
329 </colgroup>
330 <tbody>
331 <tr>
332 <td class="define_keyword">#define</td>
333 <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>
334 </tr>
335 <tr>
336 <td class="define_keyword">#define</td>
337 <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>
338 </tr>
339 <tr>
340 <td class="define_keyword">#define</td>
341 <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>
342 </tr>
343 <tr>
344 <td class="define_keyword">#define</td>
345 <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>
346 </tr>
347 <tr>
348 <td class="define_keyword">#define</td>
349 <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>
350 </tr>
351 <tr>
352 <td class="define_keyword">#define</td>
353 <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>
354 </tr>
355 <tr>
356 <td class="define_keyword">#define</td>
357 <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>
358 </tr>
359 <tr>
360 <td class="define_keyword">#define</td>
361 <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>
362 </tr>
363 <tr>
364 <td class="define_keyword">#define</td>
365 <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>
366 </tr>
367 <tr>
368 <td class="define_keyword">#define</td>
369 <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>
370 </tr>
371 <tr>
372 <td class="define_keyword">#define</td>
373 <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>
374 </tr>
375 <tr>
376 <td class="define_keyword">#define</td>
377 <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>
378 </tr>
379 <tr>
380 <td class="define_keyword">#define</td>
381 <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>
382 </tr>
383 <tr>
384 <td class="datatype_keyword">enum</td>
385 <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>
386 </tr>
387 </tbody>
388 </table></div>
389 </div>
390 <div class="refsect1">
391 <a name="harfbuzz-hb-ot-layout.object-hierarchy"></a><h2>Object Hierarchy</h2>
392 <pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
393     <span class="lineart">╰──</span> hb_ot_layout_glyph_class_t
394 </pre>
395 </div>
396 <div class="refsect1">
397 <a name="harfbuzz-hb-ot-layout.includes"></a><h2>Includes</h2>
398 <pre class="synopsis">#include &lt;hb-ot.h&gt;
399 </pre>
400 </div>
401 <div class="refsect1">
402 <a name="harfbuzz-hb-ot-layout.description"></a><h2>Description</h2>
403 <p>Functions for querying OpenType Layout features in the font face.</p>
404 </div>
405 <div class="refsect1">
406 <a name="harfbuzz-hb-ot-layout.functions_details"></a><h2>Functions</h2>
407 <div class="refsect2">
408 <a name="hb-ot-tag-to-language"></a><h3>hb_ot_tag_to_language ()</h3>
409 <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>
410 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>
411 <div class="refsect3">
412 <a name="hb-ot-tag-to-language.returns"></a><h4>Returns</h4>
413 <p>. </p>
414 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
415 </div>
416 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
417 </div>
418 <hr>
419 <div class="refsect2">
420 <a name="hb-ot-tag-to-script"></a><h3>hb_ot_tag_to_script ()</h3>
421 <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>
422 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>
423 </div>
424 <hr>
425 <div class="refsect2">
426 <a name="hb-ot-tags-from-script-and-language"></a><h3>hb_ot_tags_from_script_and_language ()</h3>
427 <pre class="programlisting"><span class="returnvalue">void</span>
428 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>,
429                                      <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>,
430                                      <em class="parameter"><code>unsigned <span class="type">int</span> *script_count</code></em>,
431                                      <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>,
432                                      <em class="parameter"><code>unsigned <span class="type">int</span> *language_count</code></em>,
433                                      <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>
434 <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>
435 <div class="refsect3">
436 <a name="hb-ot-tags-from-script-and-language.parameters"></a><h4>Parameters</h4>
437 <div class="informaltable"><table class="informaltable" width="100%" border="0">
438 <colgroup>
439 <col width="150px" class="parameters_name">
440 <col class="parameters_description">
441 <col width="200px" class="parameters_annotations">
442 </colgroup>
443 <tbody>
444 <tr>
445 <td class="parameter_name"><p>script</p></td>
446 <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>
447 <td class="parameter_annotations"> </td>
448 </tr>
449 <tr>
450 <td class="parameter_name"><p>language</p></td>
451 <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>
452 <td class="parameter_annotations"> </td>
453 </tr>
454 <tr>
455 <td class="parameter_name"><p>script_count</p></td>
456 <td class="parameter_description"><p> maximum number of script tags to retrieve (IN)
457 and actual number of script tags retrieved (OUT). </p></td>
458 <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>
459 </tr>
460 <tr>
461 <td class="parameter_name"><p>script_tags</p></td>
462 <td class="parameter_description"><p> array of size at least <em class="parameter"><code>script_count</code></em>
463 to store the
464 script tag results. </p></td>
465 <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>
466 </tr>
467 <tr>
468 <td class="parameter_name"><p>language_count</p></td>
469 <td class="parameter_description"><p> maximum number of language tags to retrieve
470 (IN) and actual number of language tags retrieved (OUT). </p></td>
471 <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>
472 </tr>
473 <tr>
474 <td class="parameter_name"><p>language_tags</p></td>
475 <td class="parameter_description"><p> array of size at least <em class="parameter"><code>language_count</code></em>
476 to store
477 the language tag results. </p></td>
478 <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>
479 </tr>
480 </tbody>
481 </table></div>
482 </div>
483 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
484 </div>
485 <hr>
486 <div class="refsect2">
487 <a name="hb-ot-tags-to-script-and-language"></a><h3>hb_ot_tags_to_script_and_language ()</h3>
488 <pre class="programlisting"><span class="returnvalue">void</span>
489 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>,
490                                    <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>,
491                                    <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>,
492                                    <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>
493 <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
494 <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a>.</p>
495 <div class="refsect3">
496 <a name="hb-ot-tags-to-script-and-language.parameters"></a><h4>Parameters</h4>
497 <div class="informaltable"><table class="informaltable" width="100%" border="0">
498 <colgroup>
499 <col width="150px" class="parameters_name">
500 <col class="parameters_description">
501 <col width="200px" class="parameters_annotations">
502 </colgroup>
503 <tbody>
504 <tr>
505 <td class="parameter_name"><p>script_tag</p></td>
506 <td class="parameter_description"><p>a script tag</p></td>
507 <td class="parameter_annotations"> </td>
508 </tr>
509 <tr>
510 <td class="parameter_name"><p>language_tag</p></td>
511 <td class="parameter_description"><p>a language tag</p></td>
512 <td class="parameter_annotations"> </td>
513 </tr>
514 <tr>
515 <td class="parameter_name"><p>script</p></td>
516 <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>
517 (OUT). </p></td>
518 <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>
519 </tr>
520 <tr>
521 <td class="parameter_name"><p>language</p></td>
522 <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>
523 and
524 <em class="parameter"><code>language_tag</code></em>
525 (OUT). </p></td>
526 <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>
527 </tr>
528 </tbody>
529 </table></div>
530 </div>
531 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
532 </div>
533 <hr>
534 <div class="refsect2">
535 <a name="hb-ot-layout-collect-lookups"></a><h3>hb_ot_layout_collect_lookups ()</h3>
536 <pre class="programlisting"><span class="returnvalue">void</span>
537 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>,
538                               <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>,
539                               <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>,
540                               <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>,
541                               <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>,
542                               <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>
543 <p class="since">Since: <a class="link" href="api-index-0-9-8.html#api-index-0.9.8">0.9.8</a></p>
544 </div>
545 <hr>
546 <div class="refsect2">
547 <a name="hb-ot-layout-collect-features"></a><h3>hb_ot_layout_collect_features ()</h3>
548 <pre class="programlisting"><span class="returnvalue">void</span>
549 hb_ot_layout_collect_features (<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>,
550                                <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>,
551                                <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>,
552                                <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>,
553                                <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>,
554                                <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *feature_indexes</code></em>);</pre>
555 <p class="since">Since: <a class="link" href="api-index-1-8-5.html#api-index-1.8.5">1.8.5</a></p>
556 </div>
557 <hr>
558 <div class="refsect2">
559 <a name="hb-ot-layout-feature-get-characters"></a><h3>hb_ot_layout_feature_get_characters ()</h3>
560 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
561 hb_ot_layout_feature_get_characters (<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>,
562                                      <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>,
563                                      <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
564                                      <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
565                                      <em class="parameter"><code>unsigned <span class="type">int</span> *char_count</code></em>,
566                                      <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>
567 <p>Fetches characters listed by designer under feature parameters for "Character
568 Variant" ("cvXX") features.</p>
569 <div class="refsect3">
570 <a name="hb-ot-layout-feature-get-characters.parameters"></a><h4>Parameters</h4>
571 <div class="informaltable"><table class="informaltable" width="100%" border="0">
572 <colgroup>
573 <col width="150px" class="parameters_name">
574 <col class="parameters_description">
575 <col width="200px" class="parameters_annotations">
576 </colgroup>
577 <tbody>
578 <tr>
579 <td class="parameter_name"><p>face</p></td>
580 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td>
581 <td class="parameter_annotations"> </td>
582 </tr>
583 <tr>
584 <td class="parameter_name"><p>table_tag</p></td>
585 <td class="parameter_description"><p>table tag to query, "GSUB" or "GPOS".</p></td>
586 <td class="parameter_annotations"> </td>
587 </tr>
588 <tr>
589 <td class="parameter_name"><p>feature_index</p></td>
590 <td class="parameter_description"><p>index of feature to query.</p></td>
591 <td class="parameter_annotations"> </td>
592 </tr>
593 <tr>
594 <td class="parameter_name"><p>start_offset</p></td>
595 <td class="parameter_description"><p>In case the resulting char_count was equal to its input value, there
596 is a chance there were more characters on the tag so this API can be
597 called with an offset till resulting char_count gets to a number
598 lower than input buffer (or consider using just a bigger buffer for
599 one shot copying).</p></td>
600 <td class="parameter_annotations"> </td>
601 </tr>
602 <tr>
603 <td class="parameter_name"><p>char_count</p></td>
604 <td class="parameter_description"><p> The count of characters for which this feature
605 provides glyph variants. (May be zero.). </p></td>
606 <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>
607 </tr>
608 <tr>
609 <td class="parameter_name"><p>characters</p></td>
610 <td class="parameter_description"><p> A buffer pointer. The Unicode codepoints
611 of the characters for which this feature provides glyph variants. </p></td>
612 <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>
613 </tr>
614 </tbody>
615 </table></div>
616 </div>
617 <div class="refsect3">
618 <a name="hb-ot-layout-feature-get-characters.returns"></a><h4>Returns</h4>
619 <p> Number of total sample characters in the cvXX feature.</p>
620 </div>
621 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
622 </div>
623 <hr>
624 <div class="refsect2">
625 <a name="hb-ot-layout-feature-get-lookups"></a><h3>hb_ot_layout_feature_get_lookups ()</h3>
626 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
627 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>,
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> feature_index</code></em>,
630                                   <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
631                                   <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_count</code></em>,
632                                   <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre>
633 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
634 </div>
635 <hr>
636 <div class="refsect2">
637 <a name="hb-ot-layout-feature-get-name-ids"></a><h3>hb_ot_layout_feature_get_name_ids ()</h3>
638 <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>
639 hb_ot_layout_feature_get_name_ids (<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>,
640                                    <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>,
641                                    <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
642                                    <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>,
643                                    <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>,
644                                    <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>,
645                                    <em class="parameter"><code>unsigned <span class="type">int</span> *num_named_parameters</code></em>,
646                                    <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>
647 <p>Fetches name indices from feature parameters for "Stylistic Set" ('ssXX') or
648 "Character Variant" ('cvXX') features.</p>
649 <div class="refsect3">
650 <a name="hb-ot-layout-feature-get-name-ids.parameters"></a><h4>Parameters</h4>
651 <div class="informaltable"><table class="informaltable" width="100%" border="0">
652 <colgroup>
653 <col width="150px" class="parameters_name">
654 <col class="parameters_description">
655 <col width="200px" class="parameters_annotations">
656 </colgroup>
657 <tbody>
658 <tr>
659 <td class="parameter_name"><p>face</p></td>
660 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td>
661 <td class="parameter_annotations"> </td>
662 </tr>
663 <tr>
664 <td class="parameter_name"><p>table_tag</p></td>
665 <td class="parameter_description"><p>table tag to query, "GSUB" or "GPOS".</p></td>
666 <td class="parameter_annotations"> </td>
667 </tr>
668 <tr>
669 <td class="parameter_name"><p>feature_index</p></td>
670 <td class="parameter_description"><p>index of feature to query.</p></td>
671 <td class="parameter_annotations"> </td>
672 </tr>
673 <tr>
674 <td class="parameter_name"><p>label_id</p></td>
675 <td class="parameter_description"><p> The ‘name’ table name ID that specifies a string
676 for a user-interface label for this 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>tooltip_id</p></td>
681 <td class="parameter_description"><p> The ‘name’ table name ID that specifies a string
682 that an application can use for tooltip text for this
683 feature. (May be NULL.). </p></td>
684 <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>
685 </tr>
686 <tr>
687 <td class="parameter_name"><p>sample_id</p></td>
688 <td class="parameter_description"><p> The ‘name’ table name ID that specifies sample text
689 that illustrates the effect of this feature. (May be NULL.). </p></td>
690 <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
691 </tr>
692 <tr>
693 <td class="parameter_name"><p>num_named_parameters</p></td>
694 <td class="parameter_description"><p>  Number of named parameters. (May be 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 <tr>
698 <td class="parameter_name"><p>first_param_id</p></td>
699 <td class="parameter_description"><p> The first ‘name’ table name ID used to specify
700 strings for user-interface labels for the feature
701 parameters. (Must be zero if numParameters is zero.). </p></td>
702 <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>
703 </tr>
704 </tbody>
705 </table></div>
706 </div>
707 <div class="refsect3">
708 <a name="hb-ot-layout-feature-get-name-ids.returns"></a><h4>Returns</h4>
709 <p> true if data found, false otherwise</p>
710 </div>
711 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
712 </div>
713 <hr>
714 <div class="refsect2">
715 <a name="hb-ot-layout-feature-with-variations-get-lookups"></a><h3>hb_ot_layout_feature_with_variations_get_lookups ()</h3>
716 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
717 hb_ot_layout_feature_with_variations_get_lookups
718                                (<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>,
719                                 <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>,
720                                 <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>,
721                                 <em class="parameter"><code>unsigned <span class="type">int</span> variations_index</code></em>,
722                                 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
723                                 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_count</code></em>,
724                                 <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre>
725 </div>
726 <hr>
727 <div class="refsect2">
728 <a name="hb-ot-layout-get-attach-points"></a><h3>hb_ot_layout_get_attach_points ()</h3>
729 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
730 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>,
731                                 <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>,
732                                 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
733                                 <em class="parameter"><code>unsigned <span class="type">int</span> *point_count</code></em>,
734                                 <em class="parameter"><code>unsigned <span class="type">int</span> *point_array</code></em>);</pre>
735 </div>
736 <hr>
737 <div class="refsect2">
738 <a name="hb-ot-layout-get-glyph-class"></a><h3>hb_ot_layout_get_glyph_class ()</h3>
739 <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>
740 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>,
741                               <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>
742 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
743 </div>
744 <hr>
745 <div class="refsect2">
746 <a name="hb-ot-layout-get-glyphs-in-class"></a><h3>hb_ot_layout_get_glyphs_in_class ()</h3>
747 <pre class="programlisting"><span class="returnvalue">void</span>
748 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>,
749                                   <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>,
750                                   <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>
751 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
752 </div>
753 <hr>
754 <div class="refsect2">
755 <a name="hb-ot-layout-get-ligature-carets"></a><h3>hb_ot_layout_get_ligature_carets ()</h3>
756 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
757 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>,
758                                   <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>,
759                                   <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>,
760                                   <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
761                                   <em class="parameter"><code>unsigned <span class="type">int</span> *caret_count</code></em>,
762                                   <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>
763 </div>
764 <hr>
765 <div class="refsect2">
766 <a name="hb-ot-layout-get-size-params"></a><h3>hb_ot_layout_get_size_params ()</h3>
767 <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>
768 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>,
769                               <em class="parameter"><code>unsigned <span class="type">int</span> *design_size</code></em>,
770                               <em class="parameter"><code>unsigned <span class="type">int</span> *subfamily_id</code></em>,
771                               <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>,
772                               <em class="parameter"><code>unsigned <span class="type">int</span> *range_start</code></em>,
773                               <em class="parameter"><code>unsigned <span class="type">int</span> *range_end</code></em>);</pre>
774 <p class="since">Since: <a class="link" href="api-index-0-9-10.html#api-index-0.9.10">0.9.10</a></p>
775 </div>
776 <hr>
777 <div class="refsect2">
778 <a name="hb-ot-layout-glyph-sequence-func-t"></a><h3>hb_ot_layout_glyph_sequence_func_t ()</h3>
779 <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>
780 <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>,
781                                        <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>,
782                                        <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
783                                        <em class="parameter"><code>const <span class="type">hb_ot_layout_glyph_sequence_t</span> *sequence</code></em>,
784                                        <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre>
785 </div>
786 <hr>
787 <div class="refsect2">
788 <a name="hb-ot-layout-has-glyph-classes"></a><h3>hb_ot_layout_has_glyph_classes ()</h3>
789 <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>
790 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>
791 </div>
792 <hr>
793 <div class="refsect2">
794 <a name="hb-ot-layout-has-positioning"></a><h3>hb_ot_layout_has_positioning ()</h3>
795 <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>
796 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>
797 </div>
798 <hr>
799 <div class="refsect2">
800 <a name="hb-ot-layout-has-substitution"></a><h3>hb_ot_layout_has_substitution ()</h3>
801 <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>
802 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>
803 </div>
804 <hr>
805 <div class="refsect2">
806 <a name="hb-ot-layout-language-find-feature"></a><h3>hb_ot_layout_language_find_feature ()</h3>
807 <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>
808 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>,
809                                     <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>,
810                                     <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
811                                     <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
812                                     <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>,
813                                     <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre>
814 </div>
815 <hr>
816 <div class="refsect2">
817 <a name="hb-ot-layout-language-get-feature-indexes"></a><h3>hb_ot_layout_language_get_feature_indexes ()</h3>
818 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
819 hb_ot_layout_language_get_feature_indexes
820                                (<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>,
821                                 <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>,
822                                 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
823                                 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
824                                 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
825                                 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
826                                 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_indexes</code></em>);</pre>
827 </div>
828 <hr>
829 <div class="refsect2">
830 <a name="hb-ot-layout-language-get-feature-tags"></a><h3>hb_ot_layout_language_get_feature_tags ()</h3>
831 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
832 hb_ot_layout_language_get_feature_tags
833                                (<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>,
834                                 <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>,
835                                 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
836                                 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
837                                 <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
838                                 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</code></em>,
839                                 <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>
840 </div>
841 <hr>
842 <div class="refsect2">
843 <a name="hb-ot-layout-language-get-required-feature"></a><h3>hb_ot_layout_language_get_required_feature ()</h3>
844 <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>
845 hb_ot_layout_language_get_required_feature
846                                (<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>,
847                                 <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>,
848                                 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
849                                 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
850                                 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>,
851                                 <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>
852 <p class="since">Since: <a class="link" href="api-index-0-9-30.html#api-index-0.9.30">0.9.30</a></p>
853 </div>
854 <hr>
855 <div class="refsect2">
856 <a name="hb-ot-layout-lookup-collect-glyphs"></a><h3>hb_ot_layout_lookup_collect_glyphs ()</h3>
857 <pre class="programlisting"><span class="returnvalue">void</span>
858 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>,
859                                     <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>,
860                                     <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
861                                     <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>,
862                                     <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>,
863                                     <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>,
864                                     <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>
865 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
866 </div>
867 <hr>
868 <div class="refsect2">
869 <a name="hb-ot-layout-lookup-substitute-closure"></a><h3>hb_ot_layout_lookup_substitute_closure ()</h3>
870 <pre class="programlisting"><span class="returnvalue">void</span>
871 hb_ot_layout_lookup_substitute_closure
872                                (<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>,
873                                 <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
874                                 <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>
875 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
876 </div>
877 <hr>
878 <div class="refsect2">
879 <a name="hb-ot-layout-lookups-substitute-closure"></a><h3>hb_ot_layout_lookups_substitute_closure ()</h3>
880 <pre class="programlisting"><span class="returnvalue">void</span>
881 hb_ot_layout_lookups_substitute_closure
882                                (<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>,
883                                 <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookups</code></em>,
884                                 <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>
885 <p>Compute the transitive closure of glyphs needed for all of the
886 provided lookups.</p>
887 <p class="since">Since: <a class="link" href="api-index-1-8-1.html#api-index-1.8.1">1.8.1</a></p>
888 </div>
889 <hr>
890 <div class="refsect2">
891 <a name="hb-ot-layout-lookup-would-substitute"></a><h3>hb_ot_layout_lookup_would_substitute ()</h3>
892 <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>
893 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>,
894                                       <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>,
895                                       <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>,
896                                       <em class="parameter"><code>unsigned <span class="type">int</span> glyphs_length</code></em>,
897                                       <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>
898 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
899 </div>
900 <hr>
901 <div class="refsect2">
902 <a name="hb-ot-layout-script-get-language-tags"></a><h3>hb_ot_layout_script_get_language_tags ()</h3>
903 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
904 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>,
905                                        <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>,
906                                        <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
907                                        <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
908                                        <em class="parameter"><code>unsigned <span class="type">int</span> *language_count</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> *language_tags</code></em>);</pre>
910 </div>
911 <hr>
912 <div class="refsect2">
913 <a name="hb-ot-layout-script-select-language"></a><h3>hb_ot_layout_script_select_language ()</h3>
914 <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>
915 hb_ot_layout_script_select_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>,
916                                      <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>,
917                                      <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
918                                      <em class="parameter"><code>unsigned <span class="type">int</span> language_count</code></em>,
919                                      <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>,
920                                      <em class="parameter"><code>unsigned <span class="type">int</span> *language_index</code></em>);</pre>
921 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
922 </div>
923 <hr>
924 <div class="refsect2">
925 <a name="hb-ot-layout-table-find-feature-variations"></a><h3>hb_ot_layout_table_find_feature_variations ()</h3>
926 <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>
927 hb_ot_layout_table_find_feature_variations
928                                (<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>,
929                                 <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>,
930                                 <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>,
931                                 <em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>,
932                                 <em class="parameter"><code>unsigned <span class="type">int</span> *variations_index</code></em>);</pre>
933 </div>
934 <hr>
935 <div class="refsect2">
936 <a name="hb-ot-layout-table-get-feature-tags"></a><h3>hb_ot_layout_table_get_feature_tags ()</h3>
937 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
938 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>,
939                                      <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>,
940                                      <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
941                                      <em class="parameter"><code>unsigned <span class="type">int</span> *feature_count</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> *feature_tags</code></em>);</pre>
943 </div>
944 <hr>
945 <div class="refsect2">
946 <a name="hb-ot-layout-table-get-script-tags"></a><h3>hb_ot_layout_table_get_script_tags ()</h3>
947 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
948 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>,
949                                     <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>,
950                                     <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>,
951                                     <em class="parameter"><code>unsigned <span class="type">int</span> *script_count</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> *script_tags</code></em>);</pre>
953 </div>
954 <hr>
955 <div class="refsect2">
956 <a name="hb-ot-layout-table-get-lookup-count"></a><h3>hb_ot_layout_table_get_lookup_count ()</h3>
957 <pre class="programlisting">unsigned <span class="returnvalue">int</span>
958 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>,
959                                      <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>
960 <p class="since">Since: <a class="link" href="api-index-0-9-22.html#api-index-0.9.22">0.9.22</a></p>
961 </div>
962 <hr>
963 <div class="refsect2">
964 <a name="hb-ot-layout-table-select-script"></a><h3>hb_ot_layout_table_select_script ()</h3>
965 <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>
966 hb_ot_layout_table_select_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>,
967                                   <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>,
968                                   <em class="parameter"><code>unsigned <span class="type">int</span> script_count</code></em>,
969                                   <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>,
970                                   <em class="parameter"><code>unsigned <span class="type">int</span> *script_index</code></em>,
971                                   <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>
972 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
973 </div>
974 <hr>
975 <div class="refsect2">
976 <a name="hb-ot-shape-plan-collect-lookups"></a><h3>hb_ot_shape_plan_collect_lookups ()</h3>
977 <pre class="programlisting"><span class="returnvalue">void</span>
978 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>,
979                                   <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>,
980                                   <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>
981 <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p>
982 </div>
983 <hr>
984 <div class="refsect2">
985 <a name="hb-ot-layout-language-get-required-feature-index"></a><h3>hb_ot_layout_language_get_required_feature_index ()</h3>
986 <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>
987 hb_ot_layout_language_get_required_feature_index
988                                (<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>,
989                                 <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>,
990                                 <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>,
991                                 <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>,
992                                 <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre>
993 </div>
994 </div>
995 <div class="refsect1">
996 <a name="harfbuzz-hb-ot-layout.other_details"></a><h2>Types and Values</h2>
997 <div class="refsect2">
998 <a name="HB-OT-MAX-TAGS-PER-LANGUAGE:CAPS"></a><h3>HB_OT_MAX_TAGS_PER_LANGUAGE</h3>
999 <pre class="programlisting">#define HB_OT_MAX_TAGS_PER_LANGUAGE 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-MAX-TAGS-PER-SCRIPT:CAPS"></a><h3>HB_OT_MAX_TAGS_PER_SCRIPT</h3>
1006 <pre class="programlisting">#define HB_OT_MAX_TAGS_PER_SCRIPT 3u
1007 </pre>
1008 <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p>
1009 </div>
1010 <hr>
1011 <div class="refsect2">
1012 <a name="HB-OT-TAG-DEFAULT-LANGUAGE:CAPS"></a><h3>HB_OT_TAG_DEFAULT_LANGUAGE</h3>
1013 <pre class="programlisting">#define HB_OT_TAG_DEFAULT_LANGUAGE HB_TAG ('d', 'f', 'l', 't')
1014 </pre>
1015 </div>
1016 <hr>
1017 <div class="refsect2">
1018 <a name="HB-OT-TAG-DEFAULT-SCRIPT:CAPS"></a><h3>HB_OT_TAG_DEFAULT_SCRIPT</h3>
1019 <pre class="programlisting">#define HB_OT_TAG_DEFAULT_SCRIPT HB_TAG ('D', 'F', 'L', 'T')
1020 </pre>
1021 </div>
1022 <hr>
1023 <div class="refsect2">
1024 <a name="HB-OT-LAYOUT-DEFAULT-LANGUAGE-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX</h3>
1025 <pre class="programlisting">#define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX 0xFFFFu
1026 </pre>
1027 </div>
1028 <hr>
1029 <div class="refsect2">
1030 <a name="HB-OT-LAYOUT-NO-FEATURE-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_FEATURE_INDEX</h3>
1031 <pre class="programlisting">#define HB_OT_LAYOUT_NO_FEATURE_INDEX               0xFFFFu
1032 </pre>
1033 </div>
1034 <hr>
1035 <div class="refsect2">
1036 <a name="HB-OT-LAYOUT-NO-SCRIPT-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_SCRIPT_INDEX</h3>
1037 <pre class="programlisting">#define HB_OT_LAYOUT_NO_SCRIPT_INDEX                0xFFFFu
1038 </pre>
1039 </div>
1040 <hr>
1041 <div class="refsect2">
1042 <a name="HB-OT-LAYOUT-NO-VARIATIONS-INDEX:CAPS"></a><h3>HB_OT_LAYOUT_NO_VARIATIONS_INDEX</h3>
1043 <pre class="programlisting">#define HB_OT_LAYOUT_NO_VARIATIONS_INDEX 0xFFFFFFFFu
1044 </pre>
1045 </div>
1046 <hr>
1047 <div class="refsect2">
1048 <a name="HB-OT-TAG-BASE:CAPS"></a><h3>HB_OT_TAG_BASE</h3>
1049 <pre class="programlisting">#define HB_OT_TAG_BASE HB_TAG('B','A','S','E')
1050 </pre>
1051 </div>
1052 <hr>
1053 <div class="refsect2">
1054 <a name="HB-OT-TAG-GDEF:CAPS"></a><h3>HB_OT_TAG_GDEF</h3>
1055 <pre class="programlisting">#define HB_OT_TAG_GDEF HB_TAG('G','D','E','F')
1056 </pre>
1057 </div>
1058 <hr>
1059 <div class="refsect2">
1060 <a name="HB-OT-TAG-GPOS:CAPS"></a><h3>HB_OT_TAG_GPOS</h3>
1061 <pre class="programlisting">#define HB_OT_TAG_GPOS HB_TAG('G','P','O','S')
1062 </pre>
1063 </div>
1064 <hr>
1065 <div class="refsect2">
1066 <a name="HB-OT-TAG-GSUB:CAPS"></a><h3>HB_OT_TAG_GSUB</h3>
1067 <pre class="programlisting">#define HB_OT_TAG_GSUB HB_TAG('G','S','U','B')
1068 </pre>
1069 </div>
1070 <hr>
1071 <div class="refsect2">
1072 <a name="HB-OT-TAG-JSTF:CAPS"></a><h3>HB_OT_TAG_JSTF</h3>
1073 <pre class="programlisting">#define HB_OT_TAG_JSTF HB_TAG('J','S','T','F')
1074 </pre>
1075 </div>
1076 <hr>
1077 <div class="refsect2">
1078 <a name="hb-ot-layout-glyph-class-t"></a><h3>enum hb_ot_layout_glyph_class_t</h3>
1079 <div class="refsect3">
1080 <a name="hb-ot-layout-glyph-class-t.members"></a><h4>Members</h4>
1081 <div class="informaltable"><table class="informaltable" width="100%" border="0">
1082 <colgroup>
1083 <col width="300px" class="enum_members_name">
1084 <col class="enum_members_description">
1085 <col width="200px" class="enum_members_annotations">
1086 </colgroup>
1087 <tbody>
1088 <tr>
1089 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-UNCLASSIFIED:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED</p></td>
1090 <td> </td>
1091 <td> </td>
1092 </tr>
1093 <tr>
1094 <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>
1095 <td> </td>
1096 <td> </td>
1097 </tr>
1098 <tr>
1099 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-LIGATURE:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE</p></td>
1100 <td> </td>
1101 <td> </td>
1102 </tr>
1103 <tr>
1104 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-MARK:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_MARK</p></td>
1105 <td> </td>
1106 <td> </td>
1107 </tr>
1108 <tr>
1109 <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-COMPONENT:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT</p></td>
1110 <td> </td>
1111 <td> </td>
1112 </tr>
1113 </tbody>
1114 </table></div>
1115 </div>
1116 </div>
1117 </div>
1118 </div>
1119 <div class="footer">
1120 <hr>Generated by GTK-Doc V1.25</div>
1121 </body>
1122 </html>