1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Scripts and Languages</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.74.3">
7 <link rel="home" href="index.html" title="Pango Reference Manual">
8 <link rel="up" href="pango.html" title="Basic Pango Interfaces">
9 <link rel="prev" href="pango-Layout-Objects.html" title="Layout Objects">
10 <link rel="next" href="pango-Bidirectional-Text.html" title="Bidirectional Text">
11 <meta name="generator" content="GTK-Doc V1.11 (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="chapter" href="pango-hierarchy.html" title="Object Hierarchy">
18 <link rel="index" href="index-all.html" title="Index">
19 <link rel="index" href="index-deprecated.html" title="Index of deprecated symbols">
20 <link rel="index" href="index-1.2.html" title="Index of new symbols in 1.2">
21 <link rel="index" href="index-1.4.html" title="Index of new symbols in 1.4">
22 <link rel="index" href="index-1.6.html" title="Index of new symbols in 1.6">
23 <link rel="index" href="index-1.8.html" title="Index of new symbols in 1.8">
24 <link rel="index" href="index-1.10.html" title="Index of new symbols in 1.10">
25 <link rel="index" href="index-1.12.html" title="Index of new symbols in 1.12">
26 <link rel="index" href="index-1.14.html" title="Index of new symbols in 1.14">
27 <link rel="index" href="index-1.16.html" title="Index of new symbols in 1.16">
28 <link rel="index" href="index-1.18.html" title="Index of new symbols in 1.18">
29 <link rel="index" href="index-1.20.html" title="Index of new symbols in 1.20">
30 <link rel="index" href="index-1.22.html" title="Index of new symbols in 1.22">
31 <link rel="index" href="index-1.24.html" title="Index of new symbols in 1.24">
32 <link rel="index" href="index-1.26.html" title="Index of new symbols in 1.26">
34 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
35 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
37 <td><a accesskey="p" href="pango-Layout-Objects.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
38 <td><a accesskey="u" href="pango.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
39 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
40 <th width="100%" align="center">Pango Reference Manual</th>
41 <td><a accesskey="n" href="pango-Bidirectional-Text.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
43 <tr><td colspan="5" class="shortcuts">
44 <a href="#pango-Scripts-and-Languages.synopsis" class="shortcut">Top</a>
46 <a href="#pango-Scripts-and-Languages.description" class="shortcut">Description</a>
49 <div class="refentry" lang="en">
50 <a name="pango-Scripts-and-Languages"></a><div class="titlepage"></div>
51 <div class="refnamediv"><table width="100%"><tr>
53 <h2><span class="refentrytitle"><a name="pango-Scripts-and-Languages.top_of_page"></a>Scripts and Languages</span></h2>
54 <p>Scripts and Languages — Identifying writing systems and languages</p>
56 <td valign="top" align="right"></td>
58 <div class="refsynopsisdiv">
59 <a name="pango-Scripts-and-Languages.synopsis"></a><h2>Synopsis</h2>
60 <pre class="synopsis">
61 enum <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a>;
62 #define <a class="link" href="pango-Scripts-and-Languages.html#PANGO-TYPE-SCRIPT--CAPS" title="PANGO_TYPE_SCRIPT">PANGO_TYPE_SCRIPT</a>
63 <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a>;
64 <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> <a class="link" href="pango-Scripts-and-Languages.html#pango-script-for-unichar" title="pango_script_for_unichar ()">pango_script_for_unichar</a> (<a
65 href="http://library.gnome.org/devel/glib/unstable/glib-Unicode-Manipulation.html#gunichar"
67 <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> * <a class="link" href="pango-Scripts-and-Languages.html#pango-script-get-sample-language" title="pango_script_get_sample_language ()">pango_script_get_sample_language</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> script);
68 <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> * <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-new" title="pango_script_iter_new ()">pango_script_iter_new</a> (const char *text,
70 void <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-get-range" title="pango_script_iter_get_range ()">pango_script_iter_get_range</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> *iter,
71 G_CONST_RETURN char **start,
72 G_CONST_RETURN char **end,
73 <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> *script);
75 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
76 >gboolean</a> <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-next" title="pango_script_iter_next ()">pango_script_iter_next</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> *iter);
77 void <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-free" title="pango_script_iter_free ()">pango_script_iter_free</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> *iter);
78 <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a>;
79 #define <a class="link" href="pango-Scripts-and-Languages.html#PANGO-TYPE-LANGUAGE--CAPS" title="PANGO_TYPE_LANGUAGE">PANGO_TYPE_LANGUAGE</a>
80 <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> * <a class="link" href="pango-Scripts-and-Languages.html#pango-language-from-string" title="pango_language_from_string ()">pango_language_from_string</a> (const char *language);
81 const char * <a class="link" href="pango-Scripts-and-Languages.html#pango-language-to-string" title="pango_language_to_string ()">pango_language_to_string</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language);
83 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
84 >gboolean</a> <a class="link" href="pango-Scripts-and-Languages.html#pango-language-matches" title="pango_language_matches ()">pango_language_matches</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language,
85 const char *range_list);
87 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
88 >gboolean</a> <a class="link" href="pango-Scripts-and-Languages.html#pango-language-includes-script" title="pango_language_includes_script ()">pango_language_includes_script</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language,
89 <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> script);
90 const <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> * <a class="link" href="pango-Scripts-and-Languages.html#pango-language-get-scripts" title="pango_language_get_scripts ()">pango_language_get_scripts</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language,
92 <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> * <a class="link" href="pango-Scripts-and-Languages.html#pango-language-get-default" title="pango_language_get_default ()">pango_language_get_default</a> (void);
93 const char * <a class="link" href="pango-Scripts-and-Languages.html#pango-language-get-sample-string" title="pango_language_get_sample_string ()">pango_language_get_sample_string</a> (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language);
96 <div class="refsect1" lang="en">
97 <a name="pango-Scripts-and-Languages.description"></a><h2>Description</h2>
99 The functions in this section are used to identify the writing
100 system, or <em class="firstterm">script</em> of individual characters
101 and of ranges within a larger text string.
104 <div class="refsect1" lang="en">
105 <a name="pango-Scripts-and-Languages.details"></a><h2>Details</h2>
106 <div class="refsect2" lang="en">
107 <a name="PangoScript"></a><h3>enum PangoScript</h3>
108 <pre class="programlisting">typedef enum { /* ISO 15924 code */
109 PANGO_SCRIPT_INVALID_CODE = -1,
110 PANGO_SCRIPT_COMMON = 0, /* Zyyy */
111 PANGO_SCRIPT_INHERITED, /* Qaai */
112 PANGO_SCRIPT_ARABIC, /* Arab */
113 PANGO_SCRIPT_ARMENIAN, /* Armn */
114 PANGO_SCRIPT_BENGALI, /* Beng */
115 PANGO_SCRIPT_BOPOMOFO, /* Bopo */
116 PANGO_SCRIPT_CHEROKEE, /* Cher */
117 PANGO_SCRIPT_COPTIC, /* Qaac */
118 PANGO_SCRIPT_CYRILLIC, /* Cyrl (Cyrs) */
119 PANGO_SCRIPT_DESERET, /* Dsrt */
120 PANGO_SCRIPT_DEVANAGARI, /* Deva */
121 PANGO_SCRIPT_ETHIOPIC, /* Ethi */
122 PANGO_SCRIPT_GEORGIAN, /* Geor (Geon, Geoa) */
123 PANGO_SCRIPT_GOTHIC, /* Goth */
124 PANGO_SCRIPT_GREEK, /* Grek */
125 PANGO_SCRIPT_GUJARATI, /* Gujr */
126 PANGO_SCRIPT_GURMUKHI, /* Guru */
127 PANGO_SCRIPT_HAN, /* Hani */
128 PANGO_SCRIPT_HANGUL, /* Hang */
129 PANGO_SCRIPT_HEBREW, /* Hebr */
130 PANGO_SCRIPT_HIRAGANA, /* Hira */
131 PANGO_SCRIPT_KANNADA, /* Knda */
132 PANGO_SCRIPT_KATAKANA, /* Kana */
133 PANGO_SCRIPT_KHMER, /* Khmr */
134 PANGO_SCRIPT_LAO, /* Laoo */
135 PANGO_SCRIPT_LATIN, /* Latn (Latf, Latg) */
136 PANGO_SCRIPT_MALAYALAM, /* Mlym */
137 PANGO_SCRIPT_MONGOLIAN, /* Mong */
138 PANGO_SCRIPT_MYANMAR, /* Mymr */
139 PANGO_SCRIPT_OGHAM, /* Ogam */
140 PANGO_SCRIPT_OLD_ITALIC, /* Ital */
141 PANGO_SCRIPT_ORIYA, /* Orya */
142 PANGO_SCRIPT_RUNIC, /* Runr */
143 PANGO_SCRIPT_SINHALA, /* Sinh */
144 PANGO_SCRIPT_SYRIAC, /* Syrc (Syrj, Syrn, Syre) */
145 PANGO_SCRIPT_TAMIL, /* Taml */
146 PANGO_SCRIPT_TELUGU, /* Telu */
147 PANGO_SCRIPT_THAANA, /* Thaa */
148 PANGO_SCRIPT_THAI, /* Thai */
149 PANGO_SCRIPT_TIBETAN, /* Tibt */
150 PANGO_SCRIPT_CANADIAN_ABORIGINAL, /* Cans */
151 PANGO_SCRIPT_YI, /* Yiii */
152 PANGO_SCRIPT_TAGALOG, /* Tglg */
153 PANGO_SCRIPT_HANUNOO, /* Hano */
154 PANGO_SCRIPT_BUHID, /* Buhd */
155 PANGO_SCRIPT_TAGBANWA, /* Tagb */
157 /* Unicode-4.0 additions */
158 PANGO_SCRIPT_BRAILLE, /* Brai */
159 PANGO_SCRIPT_CYPRIOT, /* Cprt */
160 PANGO_SCRIPT_LIMBU, /* Limb */
161 PANGO_SCRIPT_OSMANYA, /* Osma */
162 PANGO_SCRIPT_SHAVIAN, /* Shaw */
163 PANGO_SCRIPT_LINEAR_B, /* Linb */
164 PANGO_SCRIPT_TAI_LE, /* Tale */
165 PANGO_SCRIPT_UGARITIC, /* Ugar */
167 /* Unicode-4.1 additions */
168 PANGO_SCRIPT_NEW_TAI_LUE, /* Talu */
169 PANGO_SCRIPT_BUGINESE, /* Bugi */
170 PANGO_SCRIPT_GLAGOLITIC, /* Glag */
171 PANGO_SCRIPT_TIFINAGH, /* Tfng */
172 PANGO_SCRIPT_SYLOTI_NAGRI, /* Sylo */
173 PANGO_SCRIPT_OLD_PERSIAN, /* Xpeo */
174 PANGO_SCRIPT_KHAROSHTHI, /* Khar */
176 /* Unicode-5.0 additions */
177 PANGO_SCRIPT_UNKNOWN, /* Zzzz */
178 PANGO_SCRIPT_BALINESE, /* Bali */
179 PANGO_SCRIPT_CUNEIFORM, /* Xsux */
180 PANGO_SCRIPT_PHOENICIAN, /* Phnx */
181 PANGO_SCRIPT_PHAGS_PA, /* Phag */
182 PANGO_SCRIPT_NKO, /* Nkoo */
184 /* Unicode-5.1 additions */
185 PANGO_SCRIPT_KAYAH_LI, /* Kali */
186 PANGO_SCRIPT_LEPCHA, /* Lepc */
187 PANGO_SCRIPT_REJANG, /* Rjng */
188 PANGO_SCRIPT_SUNDANESE, /* Sund */
189 PANGO_SCRIPT_SAURASHTRA, /* Saur */
190 PANGO_SCRIPT_CHAM, /* Cham */
191 PANGO_SCRIPT_OL_CHIKI, /* Olck */
192 PANGO_SCRIPT_VAI, /* Vaii */
193 PANGO_SCRIPT_CARIAN, /* Cari */
194 PANGO_SCRIPT_LYCIAN, /* Lyci */
195 PANGO_SCRIPT_LYDIAN /* Lydi */
199 The <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a> enumeration identifies different writing
200 systems. The values correspond to the names as defined in the
202 Note that new types may be added in the future. Applications should be ready
203 to handle unknown values. This enumeration is interchangeable with
205 href="http://library.gnome.org/devel/glib/unstable/glib-Unicode-Manipulation.html#GUnicodeScript"
206 ><span class="type">GUnicodeScript</span></a>. See <a class="ulink" href="http://www.unicode.org/reports/tr24/" target="_top">Unicode Standard Annex
207 #24: Script names</a>.
209 <div class="variablelist"><table border="0">
210 <col align="left" valign="top">
213 <td><p><a name="PANGO-SCRIPT-INVALID-CODE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_INVALID_CODE</code></span></p></td>
214 <td>a value never returned from <a class="link" href="pango-Scripts-and-Languages.html#pango-script-for-unichar" title="pango_script_for_unichar ()"><code class="function">pango_script_for_unichar()</code></a>
218 <td><p><a name="PANGO-SCRIPT-COMMON--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_COMMON</code></span></p></td>
219 <td>a character used by multiple different scripts
223 <td><p><a name="PANGO-SCRIPT-INHERITED--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_INHERITED</code></span></p></td>
224 <td>a mark glyph that takes its script from the
225 base glyph to which it is attached
229 <td><p><a name="PANGO-SCRIPT-ARABIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_ARABIC</code></span></p></td>
234 <td><p><a name="PANGO-SCRIPT-ARMENIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_ARMENIAN</code></span></p></td>
239 <td><p><a name="PANGO-SCRIPT-BENGALI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_BENGALI</code></span></p></td>
244 <td><p><a name="PANGO-SCRIPT-BOPOMOFO--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_BOPOMOFO</code></span></p></td>
249 <td><p><a name="PANGO-SCRIPT-CHEROKEE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CHEROKEE</code></span></p></td>
254 <td><p><a name="PANGO-SCRIPT-COPTIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_COPTIC</code></span></p></td>
259 <td><p><a name="PANGO-SCRIPT-CYRILLIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CYRILLIC</code></span></p></td>
264 <td><p><a name="PANGO-SCRIPT-DESERET--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_DESERET</code></span></p></td>
269 <td><p><a name="PANGO-SCRIPT-DEVANAGARI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_DEVANAGARI</code></span></p></td>
274 <td><p><a name="PANGO-SCRIPT-ETHIOPIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_ETHIOPIC</code></span></p></td>
279 <td><p><a name="PANGO-SCRIPT-GEORGIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_GEORGIAN</code></span></p></td>
284 <td><p><a name="PANGO-SCRIPT-GOTHIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_GOTHIC</code></span></p></td>
289 <td><p><a name="PANGO-SCRIPT-GREEK--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_GREEK</code></span></p></td>
294 <td><p><a name="PANGO-SCRIPT-GUJARATI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_GUJARATI</code></span></p></td>
299 <td><p><a name="PANGO-SCRIPT-GURMUKHI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_GURMUKHI</code></span></p></td>
304 <td><p><a name="PANGO-SCRIPT-HAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_HAN</code></span></p></td>
309 <td><p><a name="PANGO-SCRIPT-HANGUL--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_HANGUL</code></span></p></td>
314 <td><p><a name="PANGO-SCRIPT-HEBREW--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_HEBREW</code></span></p></td>
319 <td><p><a name="PANGO-SCRIPT-HIRAGANA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_HIRAGANA</code></span></p></td>
324 <td><p><a name="PANGO-SCRIPT-KANNADA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_KANNADA</code></span></p></td>
329 <td><p><a name="PANGO-SCRIPT-KATAKANA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_KATAKANA</code></span></p></td>
334 <td><p><a name="PANGO-SCRIPT-KHMER--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_KHMER</code></span></p></td>
339 <td><p><a name="PANGO-SCRIPT-LAO--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LAO</code></span></p></td>
344 <td><p><a name="PANGO-SCRIPT-LATIN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LATIN</code></span></p></td>
349 <td><p><a name="PANGO-SCRIPT-MALAYALAM--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_MALAYALAM</code></span></p></td>
354 <td><p><a name="PANGO-SCRIPT-MONGOLIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_MONGOLIAN</code></span></p></td>
359 <td><p><a name="PANGO-SCRIPT-MYANMAR--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_MYANMAR</code></span></p></td>
364 <td><p><a name="PANGO-SCRIPT-OGHAM--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_OGHAM</code></span></p></td>
369 <td><p><a name="PANGO-SCRIPT-OLD-ITALIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_OLD_ITALIC</code></span></p></td>
374 <td><p><a name="PANGO-SCRIPT-ORIYA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_ORIYA</code></span></p></td>
379 <td><p><a name="PANGO-SCRIPT-RUNIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_RUNIC</code></span></p></td>
384 <td><p><a name="PANGO-SCRIPT-SINHALA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_SINHALA</code></span></p></td>
389 <td><p><a name="PANGO-SCRIPT-SYRIAC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_SYRIAC</code></span></p></td>
394 <td><p><a name="PANGO-SCRIPT-TAMIL--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TAMIL</code></span></p></td>
399 <td><p><a name="PANGO-SCRIPT-TELUGU--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TELUGU</code></span></p></td>
404 <td><p><a name="PANGO-SCRIPT-THAANA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_THAANA</code></span></p></td>
409 <td><p><a name="PANGO-SCRIPT-THAI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_THAI</code></span></p></td>
414 <td><p><a name="PANGO-SCRIPT-TIBETAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TIBETAN</code></span></p></td>
419 <td><p><a name="PANGO-SCRIPT-CANADIAN-ABORIGINAL--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CANADIAN_ABORIGINAL</code></span></p></td>
420 <td> Canadian Aboriginal
424 <td><p><a name="PANGO-SCRIPT-YI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_YI</code></span></p></td>
429 <td><p><a name="PANGO-SCRIPT-TAGALOG--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TAGALOG</code></span></p></td>
434 <td><p><a name="PANGO-SCRIPT-HANUNOO--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_HANUNOO</code></span></p></td>
439 <td><p><a name="PANGO-SCRIPT-BUHID--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_BUHID</code></span></p></td>
444 <td><p><a name="PANGO-SCRIPT-TAGBANWA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TAGBANWA</code></span></p></td>
449 <td><p><a name="PANGO-SCRIPT-BRAILLE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_BRAILLE</code></span></p></td>
454 <td><p><a name="PANGO-SCRIPT-CYPRIOT--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CYPRIOT</code></span></p></td>
459 <td><p><a name="PANGO-SCRIPT-LIMBU--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LIMBU</code></span></p></td>
464 <td><p><a name="PANGO-SCRIPT-OSMANYA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_OSMANYA</code></span></p></td>
469 <td><p><a name="PANGO-SCRIPT-SHAVIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_SHAVIAN</code></span></p></td>
474 <td><p><a name="PANGO-SCRIPT-LINEAR-B--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LINEAR_B</code></span></p></td>
479 <td><p><a name="PANGO-SCRIPT-TAI-LE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TAI_LE</code></span></p></td>
484 <td><p><a name="PANGO-SCRIPT-UGARITIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_UGARITIC</code></span></p></td>
489 <td><p><a name="PANGO-SCRIPT-NEW-TAI-LUE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_NEW_TAI_LUE</code></span></p></td>
490 <td> New Tai Lue. Since 1.10
494 <td><p><a name="PANGO-SCRIPT-BUGINESE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_BUGINESE</code></span></p></td>
495 <td> Buginese. Since 1.10
499 <td><p><a name="PANGO-SCRIPT-GLAGOLITIC--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_GLAGOLITIC</code></span></p></td>
500 <td> Glagolitic. Since 1.10
504 <td><p><a name="PANGO-SCRIPT-TIFINAGH--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_TIFINAGH</code></span></p></td>
505 <td> Tifinagh. Since 1.10
509 <td><p><a name="PANGO-SCRIPT-SYLOTI-NAGRI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_SYLOTI_NAGRI</code></span></p></td>
510 <td> Syloti Nagri. Since 1.10
514 <td><p><a name="PANGO-SCRIPT-OLD-PERSIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_OLD_PERSIAN</code></span></p></td>
515 <td> Old Persian. Since 1.10
519 <td><p><a name="PANGO-SCRIPT-KHAROSHTHI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_KHAROSHTHI</code></span></p></td>
520 <td> Kharoshthi. Since 1.10
524 <td><p><a name="PANGO-SCRIPT-UNKNOWN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_UNKNOWN</code></span></p></td>
525 <td> an unassigned code point. Since 1.14
529 <td><p><a name="PANGO-SCRIPT-BALINESE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_BALINESE</code></span></p></td>
530 <td> Balinese. Since 1.14
534 <td><p><a name="PANGO-SCRIPT-CUNEIFORM--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CUNEIFORM</code></span></p></td>
535 <td> Cuneiform. Since 1.14
539 <td><p><a name="PANGO-SCRIPT-PHOENICIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_PHOENICIAN</code></span></p></td>
540 <td> Phoenician. Since 1.14
544 <td><p><a name="PANGO-SCRIPT-PHAGS-PA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_PHAGS_PA</code></span></p></td>
545 <td> Phags-pa. Since 1.14
549 <td><p><a name="PANGO-SCRIPT-NKO--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_NKO</code></span></p></td>
550 <td> N'Ko. Since 1.14
554 <td><p><a name="PANGO-SCRIPT-KAYAH-LI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_KAYAH_LI</code></span></p></td>
555 <td> Kayah Li. Since 1.20.1
559 <td><p><a name="PANGO-SCRIPT-LEPCHA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LEPCHA</code></span></p></td>
560 <td> Lepcha. Since 1.20.1
564 <td><p><a name="PANGO-SCRIPT-REJANG--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_REJANG</code></span></p></td>
565 <td> Rejang. Since 1.20.1
569 <td><p><a name="PANGO-SCRIPT-SUNDANESE--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_SUNDANESE</code></span></p></td>
570 <td> Sundanese. Since 1.20.1
574 <td><p><a name="PANGO-SCRIPT-SAURASHTRA--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_SAURASHTRA</code></span></p></td>
575 <td>Saurashtra. Since 1.20.1
579 <td><p><a name="PANGO-SCRIPT-CHAM--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CHAM</code></span></p></td>
580 <td> Cham. Since 1.20.1
584 <td><p><a name="PANGO-SCRIPT-OL-CHIKI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_OL_CHIKI</code></span></p></td>
585 <td> Ol Chiki. Since 1.20.1
589 <td><p><a name="PANGO-SCRIPT-VAI--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_VAI</code></span></p></td>
590 <td> Vai. Since 1.20.1
594 <td><p><a name="PANGO-SCRIPT-CARIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_CARIAN</code></span></p></td>
595 <td> Carian. Since 1.20.1
599 <td><p><a name="PANGO-SCRIPT-LYCIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LYCIAN</code></span></p></td>
600 <td> Lycian. Since 1.20.1
604 <td><p><a name="PANGO-SCRIPT-LYDIAN--CAPS"></a><span class="term"><code class="literal">PANGO_SCRIPT_LYDIAN</code></span></p></td>
605 <td> Lydian. Since 1.20.1
612 <div class="refsect2" lang="en">
613 <a name="PANGO-TYPE-SCRIPT--CAPS"></a><h3>PANGO_TYPE_SCRIPT</h3>
614 <pre class="programlisting">#define PANGO_TYPE_SCRIPT (pango_script_get_type())
618 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
619 ><span class="type">GObject</span></a> type for <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a>
623 <div class="refsect2" lang="en">
624 <a name="PangoScriptIter"></a><h3>PangoScriptIter</h3>
625 <pre class="programlisting">typedef struct _PangoScriptIter PangoScriptIter;</pre>
627 A <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a> is used to iterate through a string
628 and identify ranges in different scripts.</p>
633 <div class="refsect2" lang="en">
634 <a name="pango-script-for-unichar"></a><h3>pango_script_for_unichar ()</h3>
635 <pre class="programlisting"><a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> pango_script_for_unichar (<a
636 href="http://library.gnome.org/devel/glib/unstable/glib-Unicode-Manipulation.html#gunichar"
637 >gunichar</a> ch);</pre>
639 Looks up the <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a> for a particular character (as defined by
640 Unicode Standard Annex <span class="type">24</span>). No check is made for <em class="parameter"><code>ch</code></em> being a
641 valid Unicode character; if you pass in invalid character, the
645 As of Pango 1.18, this function simply returns the return value of
647 href="http://library.gnome.org/devel/glib/unstable/glib-Unicode-Manipulation.html#g-unichar-get-script"
648 ><code class="function">g_unichar_get_script()</code></a>.</p>
651 <div class="variablelist"><table border="0">
652 <col align="left" valign="top">
655 <td><p><span class="term"><em class="parameter"><code>ch</code></em> :</span></p></td>
656 <td> a Unicode character
660 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
661 <td> the <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a> for the character.
667 <p class="since">Since 1.4</p>
670 <div class="refsect2" lang="en">
671 <a name="pango-script-get-sample-language"></a><h3>pango_script_get_sample_language ()</h3>
672 <pre class="programlisting"><a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> * pango_script_get_sample_language (<a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> script);</pre>
674 Given a script, finds a language tag that is reasonably
675 representative of that script. This will usually be the
676 most widely spoken or used language written in that script:
677 for instance, the sample language for <a class="link" href="pango-Scripts-and-Languages.html#PANGO-SCRIPT-CYRILLIC--CAPS"><code class="literal">PANGO_SCRIPT_CYRILLIC</code></a>
678 is <code class="literal">ru</code> (Russian), the sample language
679 for <a class="link" href="pango-Scripts-and-Languages.html#PANGO-SCRIPT-ARABIC--CAPS"><code class="literal">PANGO_SCRIPT_ARABIC</code></a> is <code class="literal">ar</code>.
683 scripts, no sample language will be returned because there
684 is no language that is sufficiently representative. The best
685 example of this is <a class="link" href="pango-Scripts-and-Languages.html#PANGO-SCRIPT-HAN--CAPS"><code class="literal">PANGO_SCRIPT_HAN</code></a>, where various different
686 variants of written Chinese, Japanese, and Korean all use
687 significantly different sets of Han characters and forms
688 of shared characters. No sample language can be provided
689 for many historical scripts as well.
692 As of 1.18, this function checks the environment variables
693 PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
694 If one of them is set, it is parsed as a list of language tags
695 separated by colons or other separators. This function
696 will return the first language in the parsed list that Pango
697 believes may use <em class="parameter"><code>script</code></em> for writing. This last predicate
698 is tested using <a class="link" href="pango-Scripts-and-Languages.html#pango-language-includes-script" title="pango_language_includes_script ()"><code class="function">pango_language_includes_script()</code></a>. This can
699 be used to control Pango's font selection for non-primary
700 languages. For example, a PANGO_LANGUAGE enviroment variable
701 set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
702 instead of Arabic (ar) when a segment of Arabic text is found
703 in an otherwise non-Arabic text. The same trick can be used to
704 choose a default language for <a class="link" href="pango-Scripts-and-Languages.html#PANGO-SCRIPT-HAN--CAPS"><code class="literal">PANGO_SCRIPT_HAN</code></a> when setting
705 context language is not feasible.</p>
708 <div class="variablelist"><table border="0">
709 <col align="left" valign="top">
712 <td><p><span class="term"><em class="parameter"><code>script</code></em> :</span></p></td>
713 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a>
717 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
718 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> that is representative
720 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
721 ><code class="literal">NULL</code></a> if no such language exists.
727 <p class="since">Since 1.4</p>
730 <div class="refsect2" lang="en">
731 <a name="pango-script-iter-new"></a><h3>pango_script_iter_new ()</h3>
732 <pre class="programlisting"><a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> * pango_script_iter_new (const char *text,
735 Create a new <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a>, used to break a string of
736 Unicode into runs by text. No copy is made of <em class="parameter"><code>text</code></em>, so
737 the caller needs to make sure it remains valid until
738 the iterator is freed with <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-free" title="pango_script_iter_free ()"><code class="function">pango_script_iter_free()</code></a>.</p>
741 <div class="variablelist"><table border="0">
742 <col align="left" valign="top">
745 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
750 <td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
751 <td> length of <em class="parameter"><code>text</code></em>, or -1 if <em class="parameter"><code>text</code></em> is nul-terminated.
755 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
756 <td> the new script iterator, initialized
757 to point at the first range in the text, which should be
758 freed with <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-free" title="pango_script_iter_free ()"><code class="function">pango_script_iter_free()</code></a>. If the string is
759 empty, it will point at an empty range.
765 <p class="since">Since 1.4</p>
768 <div class="refsect2" lang="en">
769 <a name="pango-script-iter-get-range"></a><h3>pango_script_iter_get_range ()</h3>
770 <pre class="programlisting">void pango_script_iter_get_range (<a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> *iter,
771 G_CONST_RETURN char **start,
772 G_CONST_RETURN char **end,
773 <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> *script);</pre>
775 Gets information about the range to which <em class="parameter"><code>iter</code></em> currently points.
776 The range is the set of locations p where *start <= p < *end.
777 (That is, it doesn't include the character stored at *end)</p>
780 <div class="variablelist"><table border="0">
781 <col align="left" valign="top">
784 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
785 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a>
789 <td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
790 <td> location to store start position of the range, or <a
791 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
792 ><code class="literal">NULL</code></a>
796 <td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
797 <td> location to store end position of the range, or <a
798 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
799 ><code class="literal">NULL</code></a>
803 <td><p><span class="term"><em class="parameter"><code>script</code></em> :</span></p></td>
804 <td> location to store script for range, or <a
805 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
806 ><code class="literal">NULL</code></a>
811 <p class="since">Since 1.4</p>
814 <div class="refsect2" lang="en">
815 <a name="pango-script-iter-next"></a><h3>pango_script_iter_next ()</h3>
816 <pre class="programlisting"><a
817 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
818 >gboolean</a> pango_script_iter_next (<a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> *iter);</pre>
820 Advances a <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a> to the next range. If <em class="parameter"><code>iter</code></em>
821 is already at the end, it is left unchanged and <a
822 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
823 ><code class="literal">FALSE</code></a>
827 <div class="variablelist"><table border="0">
828 <col align="left" valign="top">
831 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
832 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a>
836 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
838 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
839 ><code class="literal">TRUE</code></a> if <em class="parameter"><code>iter</code></em> was successfully advanced.
845 <p class="since">Since 1.4</p>
848 <div class="refsect2" lang="en">
849 <a name="pango-script-iter-free"></a><h3>pango_script_iter_free ()</h3>
850 <pre class="programlisting">void pango_script_iter_free (<a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter">PangoScriptIter</a> *iter);</pre>
852 Frees a <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a> created with <a class="link" href="pango-Scripts-and-Languages.html#pango-script-iter-new" title="pango_script_iter_new ()"><code class="function">pango_script_iter_new()</code></a>.</p>
855 <div class="variablelist"><table border="0">
856 <col align="left" valign="top">
858 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
859 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoScriptIter" title="PangoScriptIter"><span class="type">PangoScriptIter</span></a>
863 <p class="since">Since 1.4</p>
866 <div class="refsect2" lang="en">
867 <a name="PangoLanguage"></a><h3>PangoLanguage</h3>
868 <pre class="programlisting">typedef struct _PangoLanguage PangoLanguage;</pre>
870 The <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> structure is used to
871 represent a language.
874 <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> pointers can be efficiently
875 copied and compared with each other.
879 <div class="refsect2" lang="en">
880 <a name="PANGO-TYPE-LANGUAGE--CAPS"></a><h3>PANGO_TYPE_LANGUAGE</h3>
881 <pre class="programlisting">#define PANGO_TYPE_LANGUAGE (pango_language_get_type ())
885 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
886 ><span class="type">GObject</span></a> type for <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a>.
890 <div class="refsect2" lang="en">
891 <a name="pango-language-from-string"></a><h3>pango_language_from_string ()</h3>
892 <pre class="programlisting"><a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> * pango_language_from_string (const char *language);</pre>
894 Take a RFC-3066 format language tag as a string and convert it to a
895 <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> pointer that can be efficiently copied (copy the
896 pointer) and compared with other language tags (compare the
900 This function first canonicalizes the string by converting it to
901 lowercase, mapping '_' to '-', and stripping all characters other
902 than letters and '-'.
905 Use <a class="link" href="pango-Scripts-and-Languages.html#pango-language-get-default" title="pango_language_get_default ()"><code class="function">pango_language_get_default()</code></a> if you want to get the <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> for
906 the current locale of the process.</p>
909 <div class="variablelist"><table border="0">
910 <col align="left" valign="top">
913 <td><p><span class="term"><em class="parameter"><code>language</code></em> :</span></p></td>
914 <td> a string representing a language tag, or <a
915 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
916 ><code class="literal">NULL</code></a>
920 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
921 <td> an opaque pointer to a <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> structure, or <a
922 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
923 ><code class="literal">NULL</code></a>
924 if <em class="parameter"><code>language</code></em> was <a
925 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
926 ><code class="literal">NULL</code></a>. The returned pointer will be valid
927 forever after, and should not be freed.
934 <div class="refsect2" lang="en">
935 <a name="pango-language-to-string"></a><h3>pango_language_to_string ()</h3>
936 <pre class="programlisting">const char * pango_language_to_string (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language);</pre>
938 Gets the RFC-3066 format string representing the given language tag.</p>
941 <div class="variablelist"><table border="0">
942 <col align="left" valign="top">
945 <td><p><span class="term"><em class="parameter"><code>language</code></em> :</span></p></td>
950 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
951 <td> a string representing the language tag. This is owned by
952 Pango and should not be freed.
959 <div class="refsect2" lang="en">
960 <a name="pango-language-matches"></a><h3>pango_language_matches ()</h3>
961 <pre class="programlisting"><a
962 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
963 >gboolean</a> pango_language_matches (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language,
964 const char *range_list);</pre>
966 Checks if a language tag matches one of the elements in a list of
967 language ranges. A language tag is considered to match a range
968 in the list if the range is '*', the range is exactly the tag,
969 or the range is a prefix of the tag, and the character after it
970 in the tag is '-'.</p>
973 <div class="variablelist"><table border="0">
974 <col align="left" valign="top">
977 <td><p><span class="term"><em class="parameter"><code>language</code></em> :</span></p></td>
978 <td> a language tag (see <a class="link" href="pango-Scripts-and-Languages.html#pango-language-from-string" title="pango_language_from_string ()"><code class="function">pango_language_from_string()</code></a>),
980 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
981 ><code class="literal">NULL</code></a> is allowed and matches nothing but '*'
985 <td><p><span class="term"><em class="parameter"><code>range_list</code></em> :</span></p></td>
986 <td> a list of language ranges, separated by ';', ':',
987 ',', or space characters.
988 Each element must either be '*', or a RFC 3066 language range
989 canonicalized as by <a class="link" href="pango-Scripts-and-Languages.html#pango-language-from-string" title="pango_language_from_string ()"><code class="function">pango_language_from_string()</code></a>
993 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
995 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
996 ><code class="literal">TRUE</code></a> if a match was found.
1003 <div class="refsect2" lang="en">
1004 <a name="pango-language-includes-script"></a><h3>pango_language_includes_script ()</h3>
1005 <pre class="programlisting"><a
1006 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
1007 >gboolean</a> pango_language_includes_script (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language,
1008 <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> script);</pre>
1010 Determines if <em class="parameter"><code>script</code></em> is one of the scripts used to
1011 write <em class="parameter"><code>language</code></em>. The returned value is conservative;
1012 if nothing is known about the language tag <em class="parameter"><code>language</code></em>,
1014 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
1015 ><code class="literal">TRUE</code></a> will be returned, since, as far as Pango knows,
1016 <em class="parameter"><code>script</code></em> might be used to write <em class="parameter"><code>language</code></em>.
1019 This routine is used in Pango's itemization process when
1020 determining if a supplied language tag is relevant to
1021 a particular section of text. It probably is not useful for
1022 applications in most circumstances.
1025 This function uses <a class="link" href="pango-Scripts-and-Languages.html#pango-language-get-scripts" title="pango_language_get_scripts ()"><code class="function">pango_language_get_scripts()</code></a> internally.</p>
1028 <div class="variablelist"><table border="0">
1029 <col align="left" valign="top">
1032 <td><p><span class="term"><em class="parameter"><code>language</code></em> :</span></p></td>
1033 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a>, or <a
1034 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1035 ><code class="literal">NULL</code></a>
1039 <td><p><span class="term"><em class="parameter"><code>script</code></em> :</span></p></td>
1040 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a>
1044 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1046 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
1047 ><code class="literal">TRUE</code></a> if <em class="parameter"><code>script</code></em> is one of the scripts used
1048 to write <em class="parameter"><code>language</code></em> or if nothing is known about <em class="parameter"><code>language</code></em>
1049 (including the case that <em class="parameter"><code>language</code></em> is <a
1050 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1051 ><code class="literal">NULL</code></a>),
1053 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE--CAPS"
1054 ><code class="literal">FALSE</code></a> otherwise.
1060 <p class="since">Since 1.4</p>
1063 <div class="refsect2" lang="en">
1064 <a name="pango-language-get-scripts"></a><h3>pango_language_get_scripts ()</h3>
1065 <pre class="programlisting">const <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript">PangoScript</a> * pango_language_get_scripts (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language,
1066 int *num_scripts);</pre>
1068 Determines the scripts used to to write <em class="parameter"><code>language</code></em>.
1069 If nothing is known about the language tag <em class="parameter"><code>language</code></em>,
1070 or if <em class="parameter"><code>language</code></em> is <a
1071 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1072 ><code class="literal">NULL</code></a>, then <a
1073 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1074 ><code class="literal">NULL</code></a> is returned.
1075 The list of scripts returned starts with the script that the
1076 language uses most and continues to the one it uses least.
1079 The value <em class="parameter"><code>num_script</code></em> points at will be set to the number
1080 of scripts in the returned array (or zero if <a
1081 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1082 ><code class="literal">NULL</code></a> is returned).
1085 Most languages use only one script for writing, but there are
1086 some that use two (Latin and Cyrillic for example), and a few
1087 use three (Japanese for example). Applications should not make
1088 any assumptions on the maximum number of scripts returned
1089 though, except that it is positive if the return value is not
1091 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1092 ><code class="literal">NULL</code></a>, and it is a small number.
1095 The <a class="link" href="pango-Scripts-and-Languages.html#pango-language-includes-script" title="pango_language_includes_script ()"><code class="function">pango_language_includes_script()</code></a> function uses this function
1099 <div class="variablelist"><table border="0">
1100 <col align="left" valign="top">
1103 <td><p><span class="term"><em class="parameter"><code>language</code></em> :</span></p></td>
1104 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a>, or <a
1105 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1106 ><code class="literal">NULL</code></a>
1110 <td><p><span class="term"><em class="parameter"><code>num_scripts</code></em> :</span></p></td>
1111 <td> location to return number of scripts, or <a
1112 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1113 ><code class="literal">NULL</code></a>
1117 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1118 <td> An array of <a class="link" href="pango-Scripts-and-Languages.html#PangoScript" title="enum PangoScript"><span class="type">PangoScript</span></a> values, with the
1119 number of entries in the array stored in <em class="parameter"><code>num_scripts</code></em>, or
1121 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1122 ><code class="literal">NULL</code></a> if Pango does not have any information about this
1123 particular language tag (also the case if <em class="parameter"><code>language</code></em> is <a
1124 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1125 ><code class="literal">NULL</code></a>).
1126 The returned array is owned by Pango and should not be modified
1133 <p class="since">Since 1.22</p>
1136 <div class="refsect2" lang="en">
1137 <a name="pango-language-get-default"></a><h3>pango_language_get_default ()</h3>
1138 <pre class="programlisting"><a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> * pango_language_get_default (void);</pre>
1140 Returns the <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a> for the current locale of the process.
1141 Note that this can change over the life of an application.
1144 On Unix systems, this is the return value is derived from
1145 <code class="literal">setlocale(LC_CTYPE, NULL)</code>, and the user can
1146 affect this through the environment variables LC_ALL, LC_CTYPE or
1147 LANG (checked in that order). The locale string typically is in
1148 the form lang_COUNTRY, where lang is an ISO-639 language code, and
1149 COUNTRY is an ISO-3166 country code. For instance, sv_FI for
1150 Swedish as written in Finland or pt_BR for Portuguese as written in
1154 On Windows, the C library does not use any such environment
1155 variables, and setting them won't affect the behavior of functions
1156 like <code class="function">ctime()</code>. The user sets the locale through the Regional Options
1157 in the Control Panel. The C library (in the <a
1158 href="http://library.gnome.org/devel/glib/unstable/glib-running.html#setlocale"
1159 ><code class="function">setlocale()</code></a> function)
1160 does not use country and language codes, but country and language
1161 names spelled out in English.
1162 However, this function does check the above environment
1163 variables, and does return a Unix-style locale string based on
1164 either said environment variables or the thread's current locale.
1167 Your application should call <code class="literal">setlocale(LC_ALL, "");</code>
1168 for the user settings to take effect. Gtk+ does this in its initialization
1169 functions automatically (by calling <a
1170 href="http://library.gnome.org/devel/gtk/unstable/gtk-General.html#gtk-set-locale"
1171 ><code class="function">gtk_set_locale()</code></a>).
1172 See <code class="literal">man setlocale</code> for more details.</p>
1175 <div class="variablelist"><table border="0">
1176 <col align="left" valign="top">
1178 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1179 <td> the default language as a <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a>, must not be
1185 <p class="since">Since 1.16</p>
1188 <div class="refsect2" lang="en">
1189 <a name="pango-language-get-sample-string"></a><h3>pango_language_get_sample_string ()</h3>
1190 <pre class="programlisting">const char * pango_language_get_sample_string (<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage">PangoLanguage</a> *language);</pre>
1192 Get a string that is representative of the characters needed to
1193 render a particular language.
1196 The sample text may be a pangram, but is not necessarily. It is chosen to
1197 be demonstrative of normal text in the language, as well as exposing font
1198 feature requirements unique to the language. It is suitable for use
1199 as sample text in a font selection dialog.
1202 If <em class="parameter"><code>language</code></em> is <a
1203 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1204 ><code class="literal">NULL</code></a>, the default language as found by
1205 <a class="link" href="pango-Scripts-and-Languages.html#pango-language-get-default" title="pango_language_get_default ()"><code class="function">pango_language_get_default()</code></a> is used.
1208 If Pango does not have a sample string for <em class="parameter"><code>language</code></em>, the classic
1209 "The quick brown fox..." is returned. This can be detected by
1210 comparing the returned pointer value to that returned for (non-existent)
1211 language code "xx". That is, compare to:
1213 <div class="informalexample"><pre class="programlisting">
1214 pango_language_get_sample_string (pango_language_from_string ("xx"))
1218 <div class="variablelist"><table border="0">
1219 <col align="left" valign="top">
1222 <td><p><span class="term"><em class="parameter"><code>language</code></em> :</span></p></td>
1223 <td> a <a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage" title="PangoLanguage"><span class="type">PangoLanguage</span></a>, or <a
1224 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
1225 ><code class="literal">NULL</code></a>
1229 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1230 <td> the sample string. This value is owned by Pango
1231 and should not be freed.
1239 <div class="footer">
1241 Generated by GTK-Doc V1.11</div>