1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
<title>OpenType Font Handling</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
7
<link rel="start" href="index.html" title="Pango Reference Manual">
8
<link rel="up" href="lowlevel.html" title="Low Level Functionality">
9
<link rel="prev" href="PangoFcDecoder.html" title="PangoFcDecoder">
10
<link rel="next" href="pango-Coverage-Maps.html" title="Coverage Maps">
11
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="chapter" href="pango.html" title="Basic Pango Interfaces">
14
<link rel="chapter" href="rendering.html" title="Rendering with Pango">
15
<link rel="chapter" href="lowlevel.html" title="Low Level Functionality">
16
<link rel="chapter" href="tools.html" title="Pango Tools">
17
<link rel="index" href="ix01.html" title="Index">
18
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
19
<link rel="index" href="ix03.html" title="Index of new symbols in 1.2">
20
<link rel="index" href="ix04.html" title="Index of new symbols in 1.4">
21
<link rel="index" href="ix05.html" title="Index of new symbols in 1.6">
22
<link rel="index" href="ix06.html" title="Index of new symbols in 1.8">
23
<link rel="index" href="ix07.html" title="Index of new symbols in 1.10">
24
<link rel="index" href="ix08.html" title="Index of new symbols in 1.12">
25
<link rel="index" href="ix09.html" title="Index of new symbols in 1.14">
26
<link rel="index" href="ix10.html" title="Index of new symbols in 1.16">
28
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
29
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
31
<td><a accesskey="p" href="PangoFcDecoder.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
32
<td><a accesskey="u" href="lowlevel.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
33
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
34
<th width="100%" align="center">Pango Reference Manual</th>
35
<td><a accesskey="n" href="pango-Coverage-Maps.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
37
<tr><td colspan="5" class="shortcuts"><nobr><a href="#top_of_page" class="shortcut">Top</a>
39
<a href="#desc" class="shortcut">Description</a></nobr></td></tr>
41
<div class="refentry" lang="en">
42
<a name="pango-OpenType-Font-Handling"></a><div class="titlepage"></div>
43
<div class="refnamediv"><table width="100%"><tr>
45
<h2><span class="refentrytitle"><a name="top_of_page"></a>OpenType Font Handling</span></h2>
46
<p>OpenType Font Handling — Obtaining information from OpenType tables</p>
48
<td valign="top" align="right"></td>
50
<div class="refsynopsisdiv">
51
<a name="synopsis"></a><h2>Synopsis</h2>
52
<pre class="synopsis">
56
typedef <a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>;
57
<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a>;
58
<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a>;
59
<a href="pango-OpenType-Font-Handling.html#PangoOTGlyph">PangoOTGlyph</a>;
60
<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a>;
61
enum <a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a>;
62
#define <a href="pango-OpenType-Font-Handling.html#PANGO-OT-ALL-GLYPHS:CAPS">PANGO_OT_ALL_GLYPHS</a>
63
#define <a href="pango-OpenType-Font-Handling.html#PANGO-OT-DEFAULT-LANGUAGE:CAPS">PANGO_OT_DEFAULT_LANGUAGE</a>
64
<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a>* <a href="pango-OpenType-Font-Handling.html#pango-ot-info-get">pango_ot_info_get</a> (FT_Face face);
66
href="../glib/glib-Basic-Types.html#gboolean"
67
>gboolean</a> <a href="pango-OpenType-Font-Handling.html#pango-ot-info-find-script">pango_ot_info_find_script</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
68
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
69
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> script_tag,
71
href="../glib/glib-Basic-Types.html#guint"
72
>guint</a> *script_index);
74
href="../glib/glib-Basic-Types.html#gboolean"
75
>gboolean</a> <a href="pango-OpenType-Font-Handling.html#pango-ot-info-find-language">pango_ot_info_find_language</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
76
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
78
href="../glib/glib-Basic-Types.html#guint"
79
>guint</a> script_index,
80
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> language_tag,
82
href="../glib/glib-Basic-Types.html#guint"
83
>guint</a> *language_index,
85
href="../glib/glib-Basic-Types.html#guint"
86
>guint</a> *required_feature_index);
88
href="../glib/glib-Basic-Types.html#gboolean"
89
>gboolean</a> <a href="pango-OpenType-Font-Handling.html#pango-ot-info-find-feature">pango_ot_info_find_feature</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
90
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
91
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> feature_tag,
93
href="../glib/glib-Basic-Types.html#guint"
94
>guint</a> script_index,
96
href="../glib/glib-Basic-Types.html#guint"
97
>guint</a> language_index,
99
href="../glib/glib-Basic-Types.html#guint"
100
>guint</a> *feature_index);
101
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>* <a href="pango-OpenType-Font-Handling.html#pango-ot-info-list-scripts">pango_ot_info_list_scripts</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
102
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type);
103
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>* <a href="pango-OpenType-Font-Handling.html#pango-ot-info-list-languages">pango_ot_info_list_languages</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
104
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
106
href="../glib/glib-Basic-Types.html#guint"
107
>guint</a> script_index,
108
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> language_tag);
109
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>* <a href="pango-OpenType-Font-Handling.html#pango-ot-info-list-features">pango_ot_info_list_features</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
110
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
111
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> tag,
113
href="../glib/glib-Basic-Types.html#guint"
114
>guint</a> script_index,
116
href="../glib/glib-Basic-Types.html#guint"
117
>guint</a> language_index);
118
<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a>* <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-new">pango_ot_buffer_new</a> (<a href="PangoFcFont.html" title="PangoFcFont">PangoFcFont</a> *font);
119
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-destroy">pango_ot_buffer_destroy</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);
120
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-clear">pango_ot_buffer_clear</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);
121
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-add-glyph">pango_ot_buffer_add_glyph</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
123
href="../glib/glib-Basic-Types.html#guint"
126
href="../glib/glib-Basic-Types.html#guint"
127
>guint</a> properties,
129
href="../glib/glib-Basic-Types.html#guint"
131
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-set-rtl">pango_ot_buffer_set_rtl</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
133
href="../glib/glib-Basic-Types.html#gboolean"
135
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-set-zero-width-marks">pango_ot_buffer_set_zero_width_marks</a>
136
(<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
138
href="../glib/glib-Basic-Types.html#gboolean"
139
>gboolean</a> zero_width_marks);
140
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-get-glyphs">pango_ot_buffer_get_glyphs</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
141
<a href="pango-OpenType-Font-Handling.html#PangoOTGlyph">PangoOTGlyph</a> **glyphs,
143
void <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-output">pango_ot_buffer_output</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
144
<a href="pango-Glyph-Storage.html#PangoGlyphString">PangoGlyphString</a> *glyphs);
145
<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a>* <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-new">pango_ot_ruleset_new</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info);
146
void <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-add-feature">pango_ot_ruleset_add_feature</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a> *ruleset,
147
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
149
href="../glib/glib-Basic-Types.html#guint"
150
>guint</a> feature_index,
152
href="../glib/glib-Basic-Types.html#gulong"
153
>gulong</a> property_bit);
154
void <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-substitute">pango_ot_ruleset_substitute</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a> *ruleset,
155
<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);
156
void <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-position">pango_ot_ruleset_position</a> (<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a> *ruleset,
157
<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);
160
<div class="refsect1" lang="en">
161
<a name="desc"></a><h2>Description</h2>
163
Functions and macros in this section are used to implement the OpenType Layout
164
features and algorithms. These are mostly useful when writing Fontconfig-based
168
<div class="refsect1" lang="en">
169
<a name="details"></a><h2>Details</h2>
170
<div class="refsect2" lang="en">
171
<a name="id3181950"></a><h3>
172
<a name="PangoOTTag"></a>PangoOTTag</h3>
173
<a class="indexterm" name="id3181962"></a><pre class="programlisting">typedef guint32 PangoOTTag;
176
The <span class="type">PangoOTTag</span> typedef is used to represent TrueType and OpenType
177
four letter tags inside Pango. Use the <code class="function"><code class="function">FT_MAKE_TAG()</code></code> macro
178
defined in the FreeType2 header <code class="filename">freetype/freetype.h</code> to
179
create <span class="type">PangoOTTag</span>s manually.
183
<div class="refsect2" lang="en">
184
<a name="id3182008"></a><h3>
185
<a name="PangoOTInfo"></a>PangoOTInfo</h3>
186
<a class="indexterm" name="id3182020"></a><pre class="programlisting">typedef struct _PangoOTInfo PangoOTInfo;</pre>
188
The <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a> struct contains the various
189
tables associated with an OpenType font. It contains only private fields and
190
should only be accessed via the <code class="function">pango_ot_info_*</code> functions
191
which are documented below. To obtain a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>,
192
use <code class="function">pango_ot_info_new()</code>.
196
<div class="refsect2" lang="en">
197
<a name="id3182072"></a><h3>
198
<a name="PangoOTBuffer"></a>PangoOTBuffer</h3>
199
<a class="indexterm" name="id3182085"></a><pre class="programlisting">typedef struct _PangoOTBuffer PangoOTBuffer;</pre>
201
The <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a> structure is used to store strings of glyphs associated
202
with a <a href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a>, suitable for OpenType layout processing. It contains
203
only private fields and should only be accessed via the
204
<code class="function">pango_ot_buffer_*</code> functions which are documented below.
205
To obtain a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>, use <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-new"><code class="function">pango_ot_buffer_new()</code></a>.
209
<div class="refsect2" lang="en">
210
<a name="id3182146"></a><h3>
211
<a name="PangoOTGlyph"></a>PangoOTGlyph</h3>
212
<a class="indexterm" name="id3182159"></a><pre class="programlisting">typedef struct {
218
gushort property_cache; /* Internal */
222
The <a href="pango-OpenType-Font-Handling.html#PangoOTGlyph"><span class="type">PangoOTGlyph</span></a> structure represents a single glyph together with
223
information used for OpenType layout processing of the glyph.
224
It contains the following fields.
226
<div class="variablelist"><table border="0">
227
<col align="left" valign="top">
231
<span class="term"><a
232
href="../glib/glib-Basic-Types.html#guint"
233
>guint</a> <em class="structfield"><code>glyph</code></em>;</span></td>
234
<td>the glyph itself.
239
<span class="term"><a
240
href="../glib/glib-Basic-Types.html#guint"
241
>guint</a> <em class="structfield"><code>properties</code></em>;</span></td>
242
<td>the properties value, identifying which features should be
243
applied on this glyph. See <code class="function">pango_ruleset_add_feature()</code>.
248
<span class="term"><a
249
href="../glib/glib-Basic-Types.html#guint"
250
>guint</a> <em class="structfield"><code>cluster</code></em>;</span></td>
251
<td>the cluster that this glyph belongs to.
256
<span class="term"><a
257
href="../glib/glib-Basic-Types.html#gushort"
258
>gushort</a> <em class="structfield"><code>component</code></em>;</span></td>
259
<td>a component value, set by the OpenType layout engine.
264
<span class="term"><a
265
href="../glib/glib-Basic-Types.html#gushort"
266
>gushort</a> <em class="structfield"><code>ligID</code></em>;</span></td>
267
<td>a ligature index value, set by the OpenType layout engine.
272
<span class="term"><a
273
href="../glib/glib-Basic-Types.html#gushort"
274
>gushort</a> <em class="structfield"><code>property_cache</code></em>;</span></td>
275
<td>for internal use.
283
<div class="refsect2" lang="en">
284
<a name="id3182331"></a><h3>
285
<a name="PangoOTRuleset"></a>PangoOTRuleset</h3>
286
<a class="indexterm" name="id3182344"></a><pre class="programlisting">typedef struct _PangoOTRuleset PangoOTRuleset;</pre>
288
The <span class="type">PangoOTRuleSet</span> structure holds a
289
set of features selected from the tables in an OpenType font.
290
(A feature is an operation such as adjusting glyph positioning
291
that should be applied to a text feature such as a certain
292
type of accent.) A <span class="type">PangoOTRuleSet</span>
293
is created with <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-new"><code class="function">pango_ot_ruleset_new()</code></a>, features are added
294
to it with <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-add-feature"><code class="function">pango_ot_ruleset_add_feature()</code></a>, then it is
295
applied to a <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> with <code class="function">pango_ot_ruleset_shape()</code>.
299
<div class="refsect2" lang="en">
300
<a name="id3182426"></a><h3>
301
<a name="PangoOTTableType"></a>enum PangoOTTableType</h3>
302
<a class="indexterm" name="id3182439"></a><pre class="programlisting">typedef enum
309
The <span class="type">PangoOTTableType</span> enumeration values are used to
310
identify the various OpenType tables in the
311
<code class="function">pango_ot_info_*</code> functions.
313
<div class="variablelist"><table border="0">
314
<col align="left" valign="top">
318
<span class="term"><a name="PANGO-OT-TABLE-GSUB:CAPS"></a><code class="literal">PANGO_OT_TABLE_GSUB</code></span></td>
324
<span class="term"><a name="PANGO-OT-TABLE-GPOS:CAPS"></a><code class="literal">PANGO_OT_TABLE_GPOS</code></span></td>
333
<div class="refsect2" lang="en">
334
<a name="id3182516"></a><h3>
335
<a name="PANGO-OT-ALL-GLYPHS:CAPS"></a>PANGO_OT_ALL_GLYPHS</h3>
336
<a class="indexterm" name="id3182529"></a><pre class="programlisting">#define PANGO_OT_ALL_GLYPHS ((guint)0xFFFF)
339
This is used as the property bit in <a href="pango-OpenType-Font-Handling.html#pango-ot-ruleset-add-feature"><code class="function">pango_ot_ruleset_add_feature()</code></a> when a
340
feature should be applied to all glyphs.
344
<div class="refsect2" lang="en">
345
<a name="id3182558"></a><h3>
346
<a name="PANGO-OT-DEFAULT-LANGUAGE:CAPS"></a>PANGO_OT_DEFAULT_LANGUAGE</h3>
347
<a class="indexterm" name="id3182572"></a><pre class="programlisting">#define PANGO_OT_DEFAULT_LANGUAGE ((guint)0xFFFF)
350
This is used as the language index in <a href="pango-OpenType-Font-Handling.html#pango-ot-info-find-feature"><code class="function">pango_ot_info_find_feature()</code></a> when a
351
the default language system of the script is desired.
355
<div class="refsect2" lang="en">
356
<a name="id3182600"></a><h3>
357
<a name="pango-ot-info-get"></a>pango_ot_info_get ()</h3>
358
<a class="indexterm" name="id3182615"></a><pre class="programlisting"><a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a>* pango_ot_info_get (FT_Face face);</pre>
360
Returns the <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a> structure for the given FreeType font.</p>
364
<div class="variablelist"><table border="0">
365
<col align="left" valign="top">
369
<span class="term"><em class="parameter"><code>face</code></em> :</span></td>
370
<td> a <span class="type">FT_Face</span>.
375
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
376
<td> the <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a> for <em class="parameter"><code>face</code></em>. This object will have
377
the same lifetime as <em class="parameter"><code>face</code></em>.
387
<div class="refsect2" lang="en">
388
<a name="id3182712"></a><h3>
389
<a name="pango-ot-info-find-script"></a>pango_ot_info_find_script ()</h3>
390
<a class="indexterm" name="id3182726"></a><pre class="programlisting"><a
391
href="../glib/glib-Basic-Types.html#gboolean"
392
>gboolean</a> pango_ot_info_find_script (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
393
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
394
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> script_tag,
396
href="../glib/glib-Basic-Types.html#guint"
397
>guint</a> *script_index);</pre>
399
Finds the index of a script.</p>
403
<div class="variablelist"><table border="0">
404
<col align="left" valign="top">
408
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
409
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
414
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
415
<td> the table type to obtain information about.
420
<span class="term"><em class="parameter"><code>script_tag</code></em> :</span></td>
421
<td> the tag of the script to find.
426
<span class="term"><em class="parameter"><code>script_index</code></em> :</span></td>
427
<td> location to store the index of the script, or <a
428
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
429
><code class="literal">NULL</code></a>.
434
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
436
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
437
><code class="literal">TRUE</code></a> if the script was found.
444
<div class="refsect2" lang="en">
445
<a name="id3182880"></a><h3>
446
<a name="pango-ot-info-find-language"></a>pango_ot_info_find_language ()</h3>
447
<a class="indexterm" name="id3182894"></a><pre class="programlisting"><a
448
href="../glib/glib-Basic-Types.html#gboolean"
449
>gboolean</a> pango_ot_info_find_language (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
450
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
452
href="../glib/glib-Basic-Types.html#guint"
453
>guint</a> script_index,
454
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> language_tag,
456
href="../glib/glib-Basic-Types.html#guint"
457
>guint</a> *language_index,
459
href="../glib/glib-Basic-Types.html#guint"
460
>guint</a> *required_feature_index);</pre>
462
Finds the index of a language and its required feature index.</p>
466
<div class="variablelist"><table border="0">
467
<col align="left" valign="top">
471
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
472
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
477
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
478
<td> the table type to obtain information about.
483
<span class="term"><em class="parameter"><code>script_index</code></em> :</span></td>
484
<td> the index of the script whose languages are searched.
489
<span class="term"><em class="parameter"><code>language_tag</code></em> :</span></td>
490
<td> the tag of the language to find.
495
<span class="term"><em class="parameter"><code>language_index</code></em> :</span></td>
496
<td> location to store the index of the language, or <a
497
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
498
><code class="literal">NULL</code></a>.
503
<span class="term"><em class="parameter"><code>required_feature_index</code></em> :</span></td>
504
<td> location to store the required feature index of
506
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
507
><code class="literal">NULL</code></a>.
512
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
514
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
515
><code class="literal">TRUE</code></a> if the language was found.
522
<div class="refsect2" lang="en">
523
<a name="id3183105"></a><h3>
524
<a name="pango-ot-info-find-feature"></a>pango_ot_info_find_feature ()</h3>
525
<a class="indexterm" name="id3183119"></a><pre class="programlisting"><a
526
href="../glib/glib-Basic-Types.html#gboolean"
527
>gboolean</a> pango_ot_info_find_feature (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
528
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
529
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> feature_tag,
531
href="../glib/glib-Basic-Types.html#guint"
532
>guint</a> script_index,
534
href="../glib/glib-Basic-Types.html#guint"
535
>guint</a> language_index,
537
href="../glib/glib-Basic-Types.html#guint"
538
>guint</a> *feature_index);</pre>
540
Finds the index of a feature.</p>
544
<div class="variablelist"><table border="0">
545
<col align="left" valign="top">
549
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
550
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
555
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
556
<td> the table type to obtain information about.
561
<span class="term"><em class="parameter"><code>feature_tag</code></em> :</span></td>
562
<td> the tag of the feature to find.
567
<span class="term"><em class="parameter"><code>script_index</code></em> :</span></td>
568
<td> the index of the script.
573
<span class="term"><em class="parameter"><code>language_index</code></em> :</span></td>
574
<td> the index of the language whose features are searched,
575
or <a href="pango-OpenType-Font-Handling.html#PANGO-OT-DEFAULT-LANGUAGE:CAPS"><code class="literal">PANGO_OT_DEFAULT_LANGUAGE</code></a> to use the default language of the script.
580
<span class="term"><em class="parameter"><code>feature_index</code></em> :</span></td>
581
<td> location to store the index of the feature, or <a
582
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
583
><code class="literal">NULL</code></a>.
588
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
590
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
591
><code class="literal">TRUE</code></a> if the feature was found.
598
<div class="refsect2" lang="en">
599
<a name="id3183331"></a><h3>
600
<a name="pango-ot-info-list-scripts"></a>pango_ot_info_list_scripts ()</h3>
601
<a class="indexterm" name="id3183344"></a><pre class="programlisting"><a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>* pango_ot_info_list_scripts (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
602
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type);</pre>
604
Obtains the list of available scripts.</p>
608
<div class="variablelist"><table border="0">
609
<col align="left" valign="top">
613
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
614
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
619
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
620
<td> the table type to obtain information about.
625
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
626
<td> a newly-allocated array containing the tags of the
634
<div class="refsect2" lang="en">
635
<a name="id3183436"></a><h3>
636
<a name="pango-ot-info-list-languages"></a>pango_ot_info_list_languages ()</h3>
637
<a class="indexterm" name="id3183449"></a><pre class="programlisting"><a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>* pango_ot_info_list_languages (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
638
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
640
href="../glib/glib-Basic-Types.html#guint"
641
>guint</a> script_index,
642
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> language_tag);</pre>
644
Obtains the list of available languages for a given script.</p>
648
<div class="variablelist"><table border="0">
649
<col align="left" valign="top">
653
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
654
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
659
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
660
<td> the table type to obtain information about.
665
<span class="term"><em class="parameter"><code>script_index</code></em> :</span></td>
666
<td> the index of the script to list languages for.
671
<span class="term"><em class="parameter"><code>language_tag</code></em> :</span></td>
672
<td> unused parameter.
677
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
678
<td> a newly-allocated array containing the tags of the
686
<div class="refsect2" lang="en">
687
<a name="id3183586"></a><h3>
688
<a name="pango-ot-info-list-features"></a>pango_ot_info_list_features ()</h3>
689
<a class="indexterm" name="id3183600"></a><pre class="programlisting"><a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a>* pango_ot_info_list_features (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info,
690
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
691
<a href="pango-OpenType-Font-Handling.html#PangoOTTag">PangoOTTag</a> tag,
693
href="../glib/glib-Basic-Types.html#guint"
694
>guint</a> script_index,
696
href="../glib/glib-Basic-Types.html#guint"
697
>guint</a> language_index);</pre>
699
Obtains the list of features for the given language of the given script.</p>
703
<div class="variablelist"><table border="0">
704
<col align="left" valign="top">
708
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
709
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
714
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
715
<td> the table type to obtain information about.
720
<span class="term"><em class="parameter"><code>tag</code></em> :</span></td>
721
<td> unused parameter.
726
<span class="term"><em class="parameter"><code>script_index</code></em> :</span></td>
727
<td> the index of the script to obtain information about.
732
<span class="term"><em class="parameter"><code>language_index</code></em> :</span></td>
733
<td> the index of the language to list features for, or
734
<a href="pango-OpenType-Font-Handling.html#PANGO-OT-DEFAULT-LANGUAGE:CAPS"><code class="literal">PANGO_OT_DEFAULT_LANGUAGE</code></a>, to list features for the default
735
language of the script.
740
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
741
<td> a newly-allocated array containing the tags of the
749
<div class="refsect2" lang="en">
750
<a name="id3183771"></a><h3>
751
<a name="pango-ot-buffer-new"></a>pango_ot_buffer_new ()</h3>
752
<a class="indexterm" name="id3183787"></a><pre class="programlisting"><a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a>* pango_ot_buffer_new (<a href="PangoFcFont.html" title="PangoFcFont">PangoFcFont</a> *font);</pre>
754
Creates a new <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a> for the given OpenType font.</p>
758
<div class="variablelist"><table border="0">
759
<col align="left" valign="top">
763
<span class="term"><em class="parameter"><code>font</code></em> :</span></td>
764
<td> a <a href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a>
769
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
770
<td> the newly allocated <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>, which should
771
be freed with <a href="pango-OpenType-Font-Handling.html#pango-ot-buffer-destroy"><code class="function">pango_ot_buffer_destroy()</code></a>.
781
<div class="refsect2" lang="en">
782
<a name="id3183887"></a><h3>
783
<a name="pango-ot-buffer-destroy"></a>pango_ot_buffer_destroy ()</h3>
784
<a class="indexterm" name="id3183902"></a><pre class="programlisting">void pango_ot_buffer_destroy (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);</pre>
786
Destroys a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a> and free all associated memory.</p>
790
<div class="variablelist"><table border="0">
791
<col align="left" valign="top">
794
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
795
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
803
<div class="refsect2" lang="en">
804
<a name="id3183974"></a><h3>
805
<a name="pango-ot-buffer-clear"></a>pango_ot_buffer_clear ()</h3>
806
<a class="indexterm" name="id3183989"></a><pre class="programlisting">void pango_ot_buffer_clear (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);</pre>
808
Empties a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>, make it ready to add glyphs to.</p>
812
<div class="variablelist"><table border="0">
813
<col align="left" valign="top">
816
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
817
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
825
<div class="refsect2" lang="en">
826
<a name="id3184060"></a><h3>
827
<a name="pango-ot-buffer-add-glyph"></a>pango_ot_buffer_add_glyph ()</h3>
828
<a class="indexterm" name="id3184076"></a><pre class="programlisting">void pango_ot_buffer_add_glyph (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
830
href="../glib/glib-Basic-Types.html#guint"
833
href="../glib/glib-Basic-Types.html#guint"
834
>guint</a> properties,
836
href="../glib/glib-Basic-Types.html#guint"
837
>guint</a> cluster);</pre>
839
Appends a glyph to a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>, with <em class="parameter"><code>properties</code></em> identifying which
840
features should be applied on this glyph. See <code class="function">pango_ruleset_add_feature()</code>.</p>
844
<div class="variablelist"><table border="0">
845
<col align="left" valign="top">
849
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
850
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
855
<span class="term"><em class="parameter"><code>glyph</code></em> :</span></td>
856
<td> the glyph index to add, like a <a href="pango-Glyph-Storage.html#PangoGlyph"><span class="type">PangoGlyph</span></a>
861
<span class="term"><em class="parameter"><code>properties</code></em> :</span></td>
862
<td> the glyph properties
867
<span class="term"><em class="parameter"><code>cluster</code></em> :</span></td>
868
<td> the cluster that this glyph belongs to
877
<div class="refsect2" lang="en">
878
<a name="id3184238"></a><h3>
879
<a name="pango-ot-buffer-set-rtl"></a>pango_ot_buffer_set_rtl ()</h3>
880
<a class="indexterm" name="id3184253"></a><pre class="programlisting">void pango_ot_buffer_set_rtl (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
882
href="../glib/glib-Basic-Types.html#gboolean"
883
>gboolean</a> rtl);</pre>
885
Sets whether glyphs will be rendered right-to-left. This setting
886
is needed for proper horizontal positioning of right-to-left scripts.</p>
890
<div class="variablelist"><table border="0">
891
<col align="left" valign="top">
895
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
896
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
901
<span class="term"><em class="parameter"><code>rtl</code></em> :</span></td>
903
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
904
><code class="literal">TRUE</code></a> for right-to-left text
913
<div class="refsect2" lang="en">
914
<a name="id3184350"></a><h3>
915
<a name="pango-ot-buffer-set-zero-width-marks"></a>pango_ot_buffer_set_zero_width_marks ()</h3>
916
<a class="indexterm" name="id3184366"></a><pre class="programlisting">void pango_ot_buffer_set_zero_width_marks
917
(<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
919
href="../glib/glib-Basic-Types.html#gboolean"
920
>gboolean</a> zero_width_marks);</pre>
922
Sets whether characters with a mark class should be forced to zero width.
923
This setting is needed for proper positioning of Arabic accents,
924
but will produce incorrect results with standard OpenType Indic
929
<div class="variablelist"><table border="0">
930
<col align="left" valign="top">
934
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
935
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
940
<span class="term"><em class="parameter"><code>zero_width_marks</code></em> :</span></td>
942
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
943
><code class="literal">TRUE</code></a> if characters with a mark class should
944
be forced to zero width.
953
<div class="refsect2" lang="en">
954
<a name="id3184466"></a><h3>
955
<a name="pango-ot-buffer-get-glyphs"></a>pango_ot_buffer_get_glyphs ()</h3>
956
<a class="indexterm" name="id3184482"></a><pre class="programlisting">void pango_ot_buffer_get_glyphs (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
957
<a href="pango-OpenType-Font-Handling.html#PangoOTGlyph">PangoOTGlyph</a> **glyphs,
958
int *n_glyphs);</pre>
960
Gets the glyph array contained in a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>. The glyphs are
961
owned by the buffer and should not be freed, and are only valid as long
962
as buffer is not modified.</p>
966
<div class="variablelist"><table border="0">
967
<col align="left" valign="top">
971
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
972
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
977
<span class="term"><em class="parameter"><code>glyphs</code></em> :</span></td>
978
<td> location to store the array of glyphs, or <a
979
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
980
><code class="literal">NULL</code></a>
985
<span class="term"><em class="parameter"><code>n_glyphs</code></em> :</span></td>
986
<td> location to store the number of glyphs, or <a
987
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
988
><code class="literal">NULL</code></a>
997
<div class="refsect2" lang="en">
998
<a name="id3184619"></a><h3>
999
<a name="pango-ot-buffer-output"></a>pango_ot_buffer_output ()</h3>
1000
<a class="indexterm" name="id3184634"></a><pre class="programlisting">void pango_ot_buffer_output (<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer,
1001
<a href="pango-Glyph-Storage.html#PangoGlyphString">PangoGlyphString</a> *glyphs);</pre>
1003
Exports the glyphs in a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a> into a <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>. This is
1004
typically used after the OpenType layout processing is over, to convert the
1005
resulting glyphs into a generic Pango glyph string.</p>
1009
<div class="variablelist"><table border="0">
1010
<col align="left" valign="top">
1014
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
1015
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
1020
<span class="term"><em class="parameter"><code>glyphs</code></em> :</span></td>
1021
<td> a <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>
1030
<div class="refsect2" lang="en">
1031
<a name="id3184746"></a><h3>
1032
<a name="pango-ot-ruleset-new"></a>pango_ot_ruleset_new ()</h3>
1033
<a class="indexterm" name="id3184759"></a><pre class="programlisting"><a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a>* pango_ot_ruleset_new (<a href="pango-OpenType-Font-Handling.html#PangoOTInfo">PangoOTInfo</a> *info);</pre>
1035
Creates a new <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a> for the given OpenType info.</p>
1039
<div class="variablelist"><table border="0">
1040
<col align="left" valign="top">
1044
<span class="term"><em class="parameter"><code>info</code></em> :</span></td>
1045
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
1050
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
1051
<td> the newly allocated <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>, which
1052
should be freed with <a
1053
href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"
1054
><code class="function">g_object_unref()</code></a>.
1061
<div class="refsect2" lang="en">
1062
<a name="id3184855"></a><h3>
1063
<a name="pango-ot-ruleset-add-feature"></a>pango_ot_ruleset_add_feature ()</h3>
1064
<a class="indexterm" name="id3184869"></a><pre class="programlisting">void pango_ot_ruleset_add_feature (<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a> *ruleset,
1065
<a href="pango-OpenType-Font-Handling.html#PangoOTTableType">PangoOTTableType</a> table_type,
1067
href="../glib/glib-Basic-Types.html#guint"
1068
>guint</a> feature_index,
1070
href="../glib/glib-Basic-Types.html#gulong"
1071
>gulong</a> property_bit);</pre>
1073
Adds a feature to the ruleset.</p>
1077
<div class="variablelist"><table border="0">
1078
<col align="left" valign="top">
1082
<span class="term"><em class="parameter"><code>ruleset</code></em> :</span></td>
1083
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>.
1088
<span class="term"><em class="parameter"><code>table_type</code></em> :</span></td>
1089
<td> the table type to add a feature to.
1094
<span class="term"><em class="parameter"><code>feature_index</code></em> :</span></td>
1095
<td> the index of the feature to add.
1100
<span class="term"><em class="parameter"><code>property_bit</code></em> :</span></td>
1101
<td> the property bit to use for this feature. Used to identify
1102
the glyphs that this feature should be applied to, or
1103
<a href="pango-OpenType-Font-Handling.html#PANGO-OT-ALL-GLYPHS:CAPS"><code class="literal">PANGO_OT_ALL_GLYPHS</code></a> if it should be applied to all glyphs.
1110
<div class="refsect2" lang="en">
1111
<a name="id3185008"></a><h3>
1112
<a name="pango-ot-ruleset-substitute"></a>pango_ot_ruleset_substitute ()</h3>
1113
<a class="indexterm" name="id3185023"></a><pre class="programlisting">void pango_ot_ruleset_substitute (<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a> *ruleset,
1114
<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);</pre>
1116
Performs the OpenType GSUB substitution on <em class="parameter"><code>buffer</code></em> using the features
1117
in <em class="parameter"><code>ruleset</code></em></p>
1121
<div class="variablelist"><table border="0">
1122
<col align="left" valign="top">
1126
<span class="term"><em class="parameter"><code>ruleset</code></em> :</span></td>
1127
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>.
1132
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
1133
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>.
1142
<div class="refsect2" lang="en">
1143
<a name="id3185126"></a><h3>
1144
<a name="pango-ot-ruleset-position"></a>pango_ot_ruleset_position ()</h3>
1145
<a class="indexterm" name="id3185143"></a><pre class="programlisting">void pango_ot_ruleset_position (<a href="pango-OpenType-Font-Handling.html#PangoOTRuleset">PangoOTRuleset</a> *ruleset,
1146
<a href="pango-OpenType-Font-Handling.html#PangoOTBuffer">PangoOTBuffer</a> *buffer);</pre>
1148
Performs the OpenType GPOS positioning on <em class="parameter"><code>buffer</code></em> using the features
1149
in <em class="parameter"><code>ruleset</code></em></p>
1153
<div class="variablelist"><table border="0">
1154
<col align="left" valign="top">
1158
<span class="term"><em class="parameter"><code>ruleset</code></em> :</span></td>
1159
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>.
1164
<span class="term"><em class="parameter"><code>buffer</code></em> :</span></td>
1165
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>.