~ubuntu-branches/ubuntu/karmic/pango1.0/karmic-security

« back to all changes in this revision

Viewing changes to docs/html/pango-OpenType-Font-Handling.html

Tags: upstream-1.15.4
ImportĀ upstreamĀ versionĀ 1.15.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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=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">
 
27
</head>
 
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">
 
30
<tr valign="middle">
 
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>
 
36
</tr>
 
37
<tr><td colspan="5" class="shortcuts"><nobr><a href="#top_of_page" class="shortcut">Top</a>
 
38
                  &#160;|&#160;
 
39
                  <a href="#desc" class="shortcut">Description</a></nobr></td></tr>
 
40
</table>
 
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>
 
44
<td valign="top">
 
45
<h2><span class="refentrytitle"><a name="top_of_page"></a>OpenType Font Handling</span></h2>
 
46
<p>OpenType Font Handling &#8212; Obtaining information from OpenType tables</p>
 
47
</td>
 
48
<td valign="top" align="right"></td>
 
49
</tr></table></div>
 
50
<div class="refsynopsisdiv">
 
51
<a name="synopsis"></a><h2>Synopsis</h2>
 
52
<pre class="synopsis">
 
53
 
 
54
 
 
55
 
 
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);
 
65
<a
 
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,
 
70
                                             <a
 
71
href="../glib/glib-Basic-Types.html#guint"
 
72
>guint</a> *script_index);
 
73
<a
 
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,
 
77
                                             <a
 
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,
 
81
                                             <a
 
82
href="../glib/glib-Basic-Types.html#guint"
 
83
>guint</a> *language_index,
 
84
                                             <a
 
85
href="../glib/glib-Basic-Types.html#guint"
 
86
>guint</a> *required_feature_index);
 
87
<a
 
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,
 
92
                                             <a
 
93
href="../glib/glib-Basic-Types.html#guint"
 
94
>guint</a> script_index,
 
95
                                             <a
 
96
href="../glib/glib-Basic-Types.html#guint"
 
97
>guint</a> language_index,
 
98
                                             <a
 
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,
 
105
                                             <a
 
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,
 
112
                                             <a
 
113
href="../glib/glib-Basic-Types.html#guint"
 
114
>guint</a> script_index,
 
115
                                             <a
 
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,
 
122
                                             <a
 
123
href="../glib/glib-Basic-Types.html#guint"
 
124
>guint</a> glyph,
 
125
                                             <a
 
126
href="../glib/glib-Basic-Types.html#guint"
 
127
>guint</a> properties,
 
128
                                             <a
 
129
href="../glib/glib-Basic-Types.html#guint"
 
130
>guint</a> cluster);
 
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,
 
132
                                             <a
 
133
href="../glib/glib-Basic-Types.html#gboolean"
 
134
>gboolean</a> rtl);
 
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,
 
137
                                             <a
 
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,
 
142
                                             int *n_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,
 
148
                                             <a
 
149
href="../glib/glib-Basic-Types.html#guint"
 
150
>guint</a> feature_index,
 
151
                                             <a
 
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);
 
158
</pre>
 
159
</div>
 
160
<div class="refsect1" lang="en">
 
161
<a name="desc"></a><h2>Description</h2>
 
162
<p>
 
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
 
165
shaping engines
 
166
</p>
 
167
</div>
 
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;
 
174
</pre>
 
175
<p>
 
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.
 
180
</p>
 
181
</div>
 
182
<hr>
 
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>
 
187
<p>
 
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>.
 
193
</p>
 
194
</div>
 
195
<hr>
 
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>
 
200
<p>
 
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>.
 
206
</p>
 
207
</div>
 
208
<hr>
 
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 {
 
213
  guint    glyph;
 
214
  guint    properties;
 
215
  guint    cluster;
 
216
  gushort  component;
 
217
  gushort  ligID;
 
218
  gushort  property_cache;    /* Internal */
 
219
} PangoOTGlyph;
 
220
</pre>
 
221
<p>
 
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.
 
225
</p>
 
226
<div class="variablelist"><table border="0">
 
227
<col align="left" valign="top">
 
228
<tbody>
 
229
<tr>
 
230
<td>
 
231
<span class="term"><a
 
232
href="../glib/glib-Basic-Types.html#guint"
 
233
>guint</a>&#160;<em class="structfield"><code>glyph</code></em>;</span></td>
 
234
<td>the glyph itself.
 
235
</td>
 
236
</tr>
 
237
<tr>
 
238
<td>
 
239
<span class="term"><a
 
240
href="../glib/glib-Basic-Types.html#guint"
 
241
>guint</a>&#160;<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>.
 
244
</td>
 
245
</tr>
 
246
<tr>
 
247
<td>
 
248
<span class="term"><a
 
249
href="../glib/glib-Basic-Types.html#guint"
 
250
>guint</a>&#160;<em class="structfield"><code>cluster</code></em>;</span></td>
 
251
<td>the cluster that this glyph belongs to.
 
252
</td>
 
253
</tr>
 
254
<tr>
 
255
<td>
 
256
<span class="term"><a
 
257
href="../glib/glib-Basic-Types.html#gushort"
 
258
>gushort</a>&#160;<em class="structfield"><code>component</code></em>;</span></td>
 
259
<td>a component value, set by the OpenType layout engine.
 
260
</td>
 
261
</tr>
 
262
<tr>
 
263
<td>
 
264
<span class="term"><a
 
265
href="../glib/glib-Basic-Types.html#gushort"
 
266
>gushort</a>&#160;<em class="structfield"><code>ligID</code></em>;</span></td>
 
267
<td>a ligature index value, set by the OpenType layout engine.
 
268
</td>
 
269
</tr>
 
270
<tr>
 
271
<td>
 
272
<span class="term"><a
 
273
href="../glib/glib-Basic-Types.html#gushort"
 
274
>gushort</a>&#160;<em class="structfield"><code>property_cache</code></em>;</span></td>
 
275
<td>for internal use.
 
276
 
 
277
</td>
 
278
</tr>
 
279
</tbody>
 
280
</table></div>
 
281
</div>
 
282
<hr>
 
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>
 
287
<p>
 
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>.
 
296
</p>
 
297
</div>
 
298
<hr>
 
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
 
303
{
 
304
  PANGO_OT_TABLE_GSUB,
 
305
  PANGO_OT_TABLE_GPOS
 
306
} PangoOTTableType;
 
307
</pre>
 
308
<p>
 
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.
 
312
</p>
 
313
<div class="variablelist"><table border="0">
 
314
<col align="left" valign="top">
 
315
<tbody>
 
316
<tr>
 
317
<td>
 
318
<span class="term"><a name="PANGO-OT-TABLE-GSUB:CAPS"></a><code class="literal">PANGO_OT_TABLE_GSUB</code></span></td>
 
319
<td>The GSUB table.
 
320
</td>
 
321
</tr>
 
322
<tr>
 
323
<td>
 
324
<span class="term"><a name="PANGO-OT-TABLE-GPOS:CAPS"></a><code class="literal">PANGO_OT_TABLE_GPOS</code></span></td>
 
325
<td>The GPOS table.
 
326
 
 
327
</td>
 
328
</tr>
 
329
</tbody>
 
330
</table></div>
 
331
</div>
 
332
<hr>
 
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)
 
337
</pre>
 
338
<p>
 
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.
 
341
</p>
 
342
</div>
 
343
<hr>
 
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)
 
348
</pre>
 
349
<p>
 
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.
 
352
</p>
 
353
</div>
 
354
<hr>
 
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>
 
359
<p>
 
360
Returns the <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a> structure for the given FreeType font.</p>
 
361
<p>
 
362
 
 
363
</p>
 
364
<div class="variablelist"><table border="0">
 
365
<col align="left" valign="top">
 
366
<tbody>
 
367
<tr>
 
368
<td>
 
369
<span class="term"><em class="parameter"><code>face</code></em>&#160;:</span></td>
 
370
<td> a <span class="type">FT_Face</span>.
 
371
</td>
 
372
</tr>
 
373
<tr>
 
374
<td>
 
375
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</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>.
 
378
 
 
379
</td>
 
380
</tr>
 
381
</tbody>
 
382
</table></div>
 
383
<p>Since  1.2
 
384
</p>
 
385
</div>
 
386
<hr>
 
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,
 
395
                                             <a
 
396
href="../glib/glib-Basic-Types.html#guint"
 
397
>guint</a> *script_index);</pre>
 
398
<p>
 
399
Finds the index of a script.</p>
 
400
<p>
 
401
 
 
402
</p>
 
403
<div class="variablelist"><table border="0">
 
404
<col align="left" valign="top">
 
405
<tbody>
 
406
<tr>
 
407
<td>
 
408
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
409
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
410
</td>
 
411
</tr>
 
412
<tr>
 
413
<td>
 
414
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
415
<td> the table type to obtain information about.
 
416
</td>
 
417
</tr>
 
418
<tr>
 
419
<td>
 
420
<span class="term"><em class="parameter"><code>script_tag</code></em>&#160;:</span></td>
 
421
<td> the tag of the script to find.
 
422
</td>
 
423
</tr>
 
424
<tr>
 
425
<td>
 
426
<span class="term"><em class="parameter"><code>script_index</code></em>&#160;:</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>.
 
430
</td>
 
431
</tr>
 
432
<tr>
 
433
<td>
 
434
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
435
<td> <a
 
436
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
 
437
><code class="literal">TRUE</code></a> if the script was found.
 
438
</td>
 
439
</tr>
 
440
</tbody>
 
441
</table></div>
 
442
</div>
 
443
<hr>
 
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,
 
451
                                             <a
 
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,
 
455
                                             <a
 
456
href="../glib/glib-Basic-Types.html#guint"
 
457
>guint</a> *language_index,
 
458
                                             <a
 
459
href="../glib/glib-Basic-Types.html#guint"
 
460
>guint</a> *required_feature_index);</pre>
 
461
<p>
 
462
Finds the index of a language and its required feature index.</p>
 
463
<p>
 
464
 
 
465
</p>
 
466
<div class="variablelist"><table border="0">
 
467
<col align="left" valign="top">
 
468
<tbody>
 
469
<tr>
 
470
<td>
 
471
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
472
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
473
</td>
 
474
</tr>
 
475
<tr>
 
476
<td>
 
477
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
478
<td> the table type to obtain information about.
 
479
</td>
 
480
</tr>
 
481
<tr>
 
482
<td>
 
483
<span class="term"><em class="parameter"><code>script_index</code></em>&#160;:</span></td>
 
484
<td> the index of the script whose languages are searched.
 
485
</td>
 
486
</tr>
 
487
<tr>
 
488
<td>
 
489
<span class="term"><em class="parameter"><code>language_tag</code></em>&#160;:</span></td>
 
490
<td> the tag of the language to find.
 
491
</td>
 
492
</tr>
 
493
<tr>
 
494
<td>
 
495
<span class="term"><em class="parameter"><code>language_index</code></em>&#160;:</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>.
 
499
</td>
 
500
</tr>
 
501
<tr>
 
502
<td>
 
503
<span class="term"><em class="parameter"><code>required_feature_index</code></em>&#160;:</span></td>
 
504
<td> location to store the required feature index of
 
505
   the language, or <a
 
506
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
 
507
><code class="literal">NULL</code></a>.
 
508
</td>
 
509
</tr>
 
510
<tr>
 
511
<td>
 
512
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
513
<td> <a
 
514
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
 
515
><code class="literal">TRUE</code></a> if the language was found.
 
516
</td>
 
517
</tr>
 
518
</tbody>
 
519
</table></div>
 
520
</div>
 
521
<hr>
 
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,
 
530
                                             <a
 
531
href="../glib/glib-Basic-Types.html#guint"
 
532
>guint</a> script_index,
 
533
                                             <a
 
534
href="../glib/glib-Basic-Types.html#guint"
 
535
>guint</a> language_index,
 
536
                                             <a
 
537
href="../glib/glib-Basic-Types.html#guint"
 
538
>guint</a> *feature_index);</pre>
 
539
<p>
 
540
Finds the index of a feature.</p>
 
541
<p>
 
542
 
 
543
</p>
 
544
<div class="variablelist"><table border="0">
 
545
<col align="left" valign="top">
 
546
<tbody>
 
547
<tr>
 
548
<td>
 
549
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
550
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
551
</td>
 
552
</tr>
 
553
<tr>
 
554
<td>
 
555
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
556
<td> the table type to obtain information about.
 
557
</td>
 
558
</tr>
 
559
<tr>
 
560
<td>
 
561
<span class="term"><em class="parameter"><code>feature_tag</code></em>&#160;:</span></td>
 
562
<td> the tag of the feature to find.
 
563
</td>
 
564
</tr>
 
565
<tr>
 
566
<td>
 
567
<span class="term"><em class="parameter"><code>script_index</code></em>&#160;:</span></td>
 
568
<td> the index of the script.
 
569
</td>
 
570
</tr>
 
571
<tr>
 
572
<td>
 
573
<span class="term"><em class="parameter"><code>language_index</code></em>&#160;:</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.
 
576
</td>
 
577
</tr>
 
578
<tr>
 
579
<td>
 
580
<span class="term"><em class="parameter"><code>feature_index</code></em>&#160;:</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>.
 
584
</td>
 
585
</tr>
 
586
<tr>
 
587
<td>
 
588
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
589
<td> <a
 
590
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
 
591
><code class="literal">TRUE</code></a> if the feature was found.
 
592
</td>
 
593
</tr>
 
594
</tbody>
 
595
</table></div>
 
596
</div>
 
597
<hr>
 
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>
 
603
<p>
 
604
Obtains the list of available scripts.</p>
 
605
<p>
 
606
 
 
607
</p>
 
608
<div class="variablelist"><table border="0">
 
609
<col align="left" valign="top">
 
610
<tbody>
 
611
<tr>
 
612
<td>
 
613
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
614
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
615
</td>
 
616
</tr>
 
617
<tr>
 
618
<td>
 
619
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
620
<td> the table type to obtain information about.
 
621
</td>
 
622
</tr>
 
623
<tr>
 
624
<td>
 
625
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
626
<td> a newly-allocated array containing the tags of the
 
627
  available scripts.
 
628
</td>
 
629
</tr>
 
630
</tbody>
 
631
</table></div>
 
632
</div>
 
633
<hr>
 
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,
 
639
                                             <a
 
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>
 
643
<p>
 
644
Obtains the list of available languages for a given script.</p>
 
645
<p>
 
646
 
 
647
</p>
 
648
<div class="variablelist"><table border="0">
 
649
<col align="left" valign="top">
 
650
<tbody>
 
651
<tr>
 
652
<td>
 
653
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
654
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
655
</td>
 
656
</tr>
 
657
<tr>
 
658
<td>
 
659
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
660
<td> the table type to obtain information about.
 
661
</td>
 
662
</tr>
 
663
<tr>
 
664
<td>
 
665
<span class="term"><em class="parameter"><code>script_index</code></em>&#160;:</span></td>
 
666
<td> the index of the script to list languages for.
 
667
</td>
 
668
</tr>
 
669
<tr>
 
670
<td>
 
671
<span class="term"><em class="parameter"><code>language_tag</code></em>&#160;:</span></td>
 
672
<td> unused parameter.
 
673
</td>
 
674
</tr>
 
675
<tr>
 
676
<td>
 
677
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
678
<td> a newly-allocated array containing the tags of the
 
679
  available languages.
 
680
</td>
 
681
</tr>
 
682
</tbody>
 
683
</table></div>
 
684
</div>
 
685
<hr>
 
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,
 
692
                                             <a
 
693
href="../glib/glib-Basic-Types.html#guint"
 
694
>guint</a> script_index,
 
695
                                             <a
 
696
href="../glib/glib-Basic-Types.html#guint"
 
697
>guint</a> language_index);</pre>
 
698
<p>
 
699
Obtains the list of features for the given language of the given script.</p>
 
700
<p>
 
701
 
 
702
</p>
 
703
<div class="variablelist"><table border="0">
 
704
<col align="left" valign="top">
 
705
<tbody>
 
706
<tr>
 
707
<td>
 
708
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
709
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
710
</td>
 
711
</tr>
 
712
<tr>
 
713
<td>
 
714
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
715
<td> the table type to obtain information about.
 
716
</td>
 
717
</tr>
 
718
<tr>
 
719
<td>
 
720
<span class="term"><em class="parameter"><code>tag</code></em>&#160;:</span></td>
 
721
<td> unused parameter.
 
722
</td>
 
723
</tr>
 
724
<tr>
 
725
<td>
 
726
<span class="term"><em class="parameter"><code>script_index</code></em>&#160;:</span></td>
 
727
<td> the index of the script to obtain information about.
 
728
</td>
 
729
</tr>
 
730
<tr>
 
731
<td>
 
732
<span class="term"><em class="parameter"><code>language_index</code></em>&#160;:</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.
 
736
</td>
 
737
</tr>
 
738
<tr>
 
739
<td>
 
740
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
 
741
<td> a newly-allocated array containing the tags of the
 
742
available features.
 
743
</td>
 
744
</tr>
 
745
</tbody>
 
746
</table></div>
 
747
</div>
 
748
<hr>
 
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>
 
753
<p>
 
754
Creates a new <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a> for the given OpenType font.</p>
 
755
<p>
 
756
 
 
757
</p>
 
758
<div class="variablelist"><table border="0">
 
759
<col align="left" valign="top">
 
760
<tbody>
 
761
<tr>
 
762
<td>
 
763
<span class="term"><em class="parameter"><code>font</code></em>&#160;:</span></td>
 
764
<td> a <a href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a>
 
765
</td>
 
766
</tr>
 
767
<tr>
 
768
<td>
 
769
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</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>.
 
772
 
 
773
</td>
 
774
</tr>
 
775
</tbody>
 
776
</table></div>
 
777
<p>Since  1.4
 
778
</p>
 
779
</div>
 
780
<hr>
 
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>
 
785
<p>
 
786
Destroys a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a> and free all associated memory.</p>
 
787
<p>
 
788
 
 
789
</p>
 
790
<div class="variablelist"><table border="0">
 
791
<col align="left" valign="top">
 
792
<tbody><tr>
 
793
<td>
 
794
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
795
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
796
</td>
 
797
</tr></tbody>
 
798
</table></div>
 
799
<p>Since  1.4
 
800
</p>
 
801
</div>
 
802
<hr>
 
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>
 
807
<p>
 
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>
 
809
<p>
 
810
 
 
811
</p>
 
812
<div class="variablelist"><table border="0">
 
813
<col align="left" valign="top">
 
814
<tbody><tr>
 
815
<td>
 
816
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
817
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
818
</td>
 
819
</tr></tbody>
 
820
</table></div>
 
821
<p>Since  1.4
 
822
</p>
 
823
</div>
 
824
<hr>
 
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,
 
829
                                             <a
 
830
href="../glib/glib-Basic-Types.html#guint"
 
831
>guint</a> glyph,
 
832
                                             <a
 
833
href="../glib/glib-Basic-Types.html#guint"
 
834
>guint</a> properties,
 
835
                                             <a
 
836
href="../glib/glib-Basic-Types.html#guint"
 
837
>guint</a> cluster);</pre>
 
838
<p>
 
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>
 
841
<p>
 
842
 
 
843
</p>
 
844
<div class="variablelist"><table border="0">
 
845
<col align="left" valign="top">
 
846
<tbody>
 
847
<tr>
 
848
<td>
 
849
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
850
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
851
</td>
 
852
</tr>
 
853
<tr>
 
854
<td>
 
855
<span class="term"><em class="parameter"><code>glyph</code></em>&#160;:</span></td>
 
856
<td> the glyph index to add, like a <a href="pango-Glyph-Storage.html#PangoGlyph"><span class="type">PangoGlyph</span></a>
 
857
</td>
 
858
</tr>
 
859
<tr>
 
860
<td>
 
861
<span class="term"><em class="parameter"><code>properties</code></em>&#160;:</span></td>
 
862
<td> the glyph properties
 
863
</td>
 
864
</tr>
 
865
<tr>
 
866
<td>
 
867
<span class="term"><em class="parameter"><code>cluster</code></em>&#160;:</span></td>
 
868
<td> the cluster that this glyph belongs to
 
869
</td>
 
870
</tr>
 
871
</tbody>
 
872
</table></div>
 
873
<p>Since  1.4
 
874
</p>
 
875
</div>
 
876
<hr>
 
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,
 
881
                                             <a
 
882
href="../glib/glib-Basic-Types.html#gboolean"
 
883
>gboolean</a> rtl);</pre>
 
884
<p>
 
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>
 
887
<p>
 
888
 
 
889
</p>
 
890
<div class="variablelist"><table border="0">
 
891
<col align="left" valign="top">
 
892
<tbody>
 
893
<tr>
 
894
<td>
 
895
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
896
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
897
</td>
 
898
</tr>
 
899
<tr>
 
900
<td>
 
901
<span class="term"><em class="parameter"><code>rtl</code></em>&#160;:</span></td>
 
902
<td> <a
 
903
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
 
904
><code class="literal">TRUE</code></a> for right-to-left text
 
905
</td>
 
906
</tr>
 
907
</tbody>
 
908
</table></div>
 
909
<p>Since  1.4
 
910
</p>
 
911
</div>
 
912
<hr>
 
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,
 
918
                                             <a
 
919
href="../glib/glib-Basic-Types.html#gboolean"
 
920
>gboolean</a> zero_width_marks);</pre>
 
921
<p>
 
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
 
925
fonts.</p>
 
926
<p>
 
927
 
 
928
</p>
 
929
<div class="variablelist"><table border="0">
 
930
<col align="left" valign="top">
 
931
<tbody>
 
932
<tr>
 
933
<td>
 
934
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
935
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
936
</td>
 
937
</tr>
 
938
<tr>
 
939
<td>
 
940
<span class="term"><em class="parameter"><code>zero_width_marks</code></em>&#160;:</span></td>
 
941
<td> <a
 
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.
 
945
</td>
 
946
</tr>
 
947
</tbody>
 
948
</table></div>
 
949
<p>Since  1.6
 
950
</p>
 
951
</div>
 
952
<hr>
 
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>
 
959
<p>
 
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>
 
963
<p>
 
964
 
 
965
</p>
 
966
<div class="variablelist"><table border="0">
 
967
<col align="left" valign="top">
 
968
<tbody>
 
969
<tr>
 
970
<td>
 
971
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
972
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
973
</td>
 
974
</tr>
 
975
<tr>
 
976
<td>
 
977
<span class="term"><em class="parameter"><code>glyphs</code></em>&#160;:</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>
 
981
</td>
 
982
</tr>
 
983
<tr>
 
984
<td>
 
985
<span class="term"><em class="parameter"><code>n_glyphs</code></em>&#160;:</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>
 
989
</td>
 
990
</tr>
 
991
</tbody>
 
992
</table></div>
 
993
<p>Since  1.4
 
994
</p>
 
995
</div>
 
996
<hr>
 
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>
 
1002
<p>
 
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>
 
1006
<p>
 
1007
 
 
1008
</p>
 
1009
<div class="variablelist"><table border="0">
 
1010
<col align="left" valign="top">
 
1011
<tbody>
 
1012
<tr>
 
1013
<td>
 
1014
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
1015
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>
 
1016
</td>
 
1017
</tr>
 
1018
<tr>
 
1019
<td>
 
1020
<span class="term"><em class="parameter"><code>glyphs</code></em>&#160;:</span></td>
 
1021
<td> a <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>
 
1022
</td>
 
1023
</tr>
 
1024
</tbody>
 
1025
</table></div>
 
1026
<p>Since  1.4
 
1027
</p>
 
1028
</div>
 
1029
<hr>
 
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>
 
1034
<p>
 
1035
Creates a new <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a> for the given OpenType info.</p>
 
1036
<p>
 
1037
 
 
1038
</p>
 
1039
<div class="variablelist"><table border="0">
 
1040
<col align="left" valign="top">
 
1041
<tbody>
 
1042
<tr>
 
1043
<td>
 
1044
<span class="term"><em class="parameter"><code>info</code></em>&#160;:</span></td>
 
1045
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTInfo"><span class="type">PangoOTInfo</span></a>.
 
1046
</td>
 
1047
</tr>
 
1048
<tr>
 
1049
<td>
 
1050
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</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>.
 
1055
</td>
 
1056
</tr>
 
1057
</tbody>
 
1058
</table></div>
 
1059
</div>
 
1060
<hr>
 
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,
 
1066
                                             <a
 
1067
href="../glib/glib-Basic-Types.html#guint"
 
1068
>guint</a> feature_index,
 
1069
                                             <a
 
1070
href="../glib/glib-Basic-Types.html#gulong"
 
1071
>gulong</a> property_bit);</pre>
 
1072
<p>
 
1073
Adds a feature to the ruleset.</p>
 
1074
<p>
 
1075
 
 
1076
</p>
 
1077
<div class="variablelist"><table border="0">
 
1078
<col align="left" valign="top">
 
1079
<tbody>
 
1080
<tr>
 
1081
<td>
 
1082
<span class="term"><em class="parameter"><code>ruleset</code></em>&#160;:</span></td>
 
1083
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>.
 
1084
</td>
 
1085
</tr>
 
1086
<tr>
 
1087
<td>
 
1088
<span class="term"><em class="parameter"><code>table_type</code></em>&#160;:</span></td>
 
1089
<td> the table type to add a feature to.
 
1090
</td>
 
1091
</tr>
 
1092
<tr>
 
1093
<td>
 
1094
<span class="term"><em class="parameter"><code>feature_index</code></em>&#160;:</span></td>
 
1095
<td> the index of the feature to add.
 
1096
</td>
 
1097
</tr>
 
1098
<tr>
 
1099
<td>
 
1100
<span class="term"><em class="parameter"><code>property_bit</code></em>&#160;:</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.
 
1104
</td>
 
1105
</tr>
 
1106
</tbody>
 
1107
</table></div>
 
1108
</div>
 
1109
<hr>
 
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>
 
1115
<p>
 
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>
 
1118
<p>
 
1119
 
 
1120
</p>
 
1121
<div class="variablelist"><table border="0">
 
1122
<col align="left" valign="top">
 
1123
<tbody>
 
1124
<tr>
 
1125
<td>
 
1126
<span class="term"><em class="parameter"><code>ruleset</code></em>&#160;:</span></td>
 
1127
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>.
 
1128
</td>
 
1129
</tr>
 
1130
<tr>
 
1131
<td>
 
1132
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
1133
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>.
 
1134
</td>
 
1135
</tr>
 
1136
</tbody>
 
1137
</table></div>
 
1138
<p>Since  1.4
 
1139
</p>
 
1140
</div>
 
1141
<hr>
 
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>
 
1147
<p>
 
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>
 
1150
<p>
 
1151
 
 
1152
</p>
 
1153
<div class="variablelist"><table border="0">
 
1154
<col align="left" valign="top">
 
1155
<tbody>
 
1156
<tr>
 
1157
<td>
 
1158
<span class="term"><em class="parameter"><code>ruleset</code></em>&#160;:</span></td>
 
1159
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTRuleset"><span class="type">PangoOTRuleset</span></a>.
 
1160
</td>
 
1161
</tr>
 
1162
<tr>
 
1163
<td>
 
1164
<span class="term"><em class="parameter"><code>buffer</code></em>&#160;:</span></td>
 
1165
<td> a <a href="pango-OpenType-Font-Handling.html#PangoOTBuffer"><span class="type">PangoOTBuffer</span></a>.
 
1166
</td>
 
1167
</tr>
 
1168
</tbody>
 
1169
</table></div>
 
1170
<p>Since  1.4
 
1171
</p>
 
1172
</div>
 
1173
</div>
 
1174
</div>
 
1175
</body>
 
1176
</html>