<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="pango-Scripts-and-Languages">
<refmeta>
<refentrytitle role="top_of_page" id="pango-Scripts-and-Languages.top_of_page">Scripts and Languages</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>PANGO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Scripts and Languages</refname>
<refpurpose>Identifying writing systems and languages</refpurpose>
</refnamediv>

<refsect1 id="pango-Scripts-and-Languages.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_return" colwidth="150px"/>
<colspec colname="functions_name"/>
<tbody>
<row><entry role="function_type"><link linkend="PangoScript"><returnvalue>PangoScript</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-script-for-unichar">pango_script_for_unichar</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoLanguage"><returnvalue>PangoLanguage</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-script-get-sample-language">pango_script_get_sample_language</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoScriptIter"><returnvalue>PangoScriptIter</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-script-iter-new">pango_script_iter_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-script-iter-get-range">pango_script_iter_get_range</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-script-iter-next">pango_script_iter_next</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-script-iter-free">pango_script_iter_free</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoLanguage"><returnvalue>PangoLanguage</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-language-from-string">pango_language_from_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-language-to-string">pango_language_to_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-language-matches">pango_language_matches</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-language-includes-script">pango_language_includes_script</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="PangoScript"><returnvalue>PangoScript</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-language-get-scripts">pango_language_get_scripts</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoLanguage"><returnvalue>PangoLanguage</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-language-get-default">pango_language_get_default</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-language-get-sample-string">pango_language_get_sample_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="PangoScriptIter"/><anchor id="PangoLanguage"/><refsect1 id="pango-Scripts-and-Languages.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="name" colwidth="150px"/>
<colspec colname="description"/>
<tbody>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoScript">PangoScript</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-TYPE-SCRIPT:CAPS">PANGO_TYPE_SCRIPT</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoScriptIter-struct">PangoScriptIter</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoLanguage-struct">PangoLanguage</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-TYPE-LANGUAGE:CAPS">PANGO_TYPE_LANGUAGE</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="pango-Scripts-and-Languages.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GBoxed">GBoxed</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoLanguage
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoScriptIter
    <link linkend="GEnum">GEnum</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoScript
</screen>
</refsect1>


<refsect1 id="pango-Scripts-and-Languages.description" role="desc">
<title role="desc.title">Description</title>
<para>The functions in this section are used to identify the writing
system, or <firstterm>script</firstterm> of individual characters
and of ranges within a larger text string.</para>

</refsect1>
<refsect1 id="pango-Scripts-and-Languages.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="pango-script-for-unichar" role="function" condition="deprecated:1.44. Use g_unichar_get_script()|since:1.4">
<title>pango_script_for_unichar&#160;()</title>
<indexterm zone="pango-script-for-unichar" role="deprecated"><primary>pango_script_for_unichar</primary></indexterm><indexterm zone="pango-script-for-unichar" role="1.4"><primary>pango_script_for_unichar</primary></indexterm>
<programlisting language="C"><link linkend="PangoScript"><returnvalue>PangoScript</returnvalue></link>
pango_script_for_unichar (<parameter><link linkend="gunichar"><type>gunichar</type></link> ch</parameter>);</programlisting>
<warning><para><literal>pango_script_for_unichar</literal> has been deprecated since version 1.44. and should not be used in newly-written code.</para> <para>Use <link linkend="g-unichar-get-script"><function>g_unichar_get_script()</function></link></para>
</warning>
<para>Looks up the script for a particular character (as defined by
Unicode Standard Annex #24). No check is made for <parameter>ch</parameter>
 being a
valid Unicode character; if you pass in invalid character, the
result is undefined.</para>
<para>Note that while the return type of this function is declared
as PangoScript, as of Pango 1.18, this function simply returns
the return value of <link linkend="g-unichar-get-script"><function>g_unichar_get_script()</function></link>. Callers must be
prepared to handle unknown values.</para>
<refsect3 id="pango-script-for-unichar.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>ch</para></entry>
<entry role="parameter_description"><para>a Unicode character</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-script-for-unichar.returns" role="returns">
<title>Returns</title>
<para> the <link linkend="PangoScript"><type>PangoScript</type></link> for the character.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-script-get-sample-language" role="function" condition="since:1.4">
<title>pango_script_get_sample_language&#160;()</title>
<indexterm zone="pango-script-get-sample-language" role="1.4"><primary>pango_script_get_sample_language</primary></indexterm>
<programlisting language="C"><link linkend="PangoLanguage"><returnvalue>PangoLanguage</returnvalue></link>&#160;*
pango_script_get_sample_language (<parameter><link linkend="PangoScript"><type>PangoScript</type></link> script</parameter>);</programlisting>
<para>Given a script, finds a language tag that is reasonably
representative of that script. This will usually be the
most widely spoken or used language written in that script:
for instance, the sample language for <link linkend="PANGO-SCRIPT-CYRILLIC:CAPS"><literal>PANGO_SCRIPT_CYRILLIC</literal></link>
is <literal>ru</literal> (Russian), the sample language
for <link linkend="PANGO-SCRIPT-ARABIC:CAPS"><literal>PANGO_SCRIPT_ARABIC</literal></link> is <literal>ar</literal>.</para>
<para>For some
scripts, no sample language will be returned because there
is no language that is sufficiently representative. The best
example of this is <link linkend="PANGO-SCRIPT-HAN:CAPS"><literal>PANGO_SCRIPT_HAN</literal></link>, where various different
variants of written Chinese, Japanese, and Korean all use
significantly different sets of Han characters and forms
of shared characters. No sample language can be provided
for many historical scripts as well.</para>
<para>As of 1.18, this function checks the environment variables
PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
If one of them is set, it is parsed as a list of language tags
separated by colons or other separators.  This function
will return the first language in the parsed list that Pango
believes may use <parameter>script</parameter>
 for writing.  This last predicate
is tested using <link linkend="pango-language-includes-script"><function>pango_language_includes_script()</function></link>.  This can
be used to control Pango's font selection for non-primary
languages.  For example, a PANGO_LANGUAGE enviroment variable
set to "en:fa" makes Pango choose fonts suitable for Persian (fa) 
instead of Arabic (ar) when a segment of Arabic text is found
in an otherwise non-Arabic text.  The same trick can be used to
choose a default language for <link linkend="PANGO-SCRIPT-HAN:CAPS"><literal>PANGO_SCRIPT_HAN</literal></link> when setting
context language is not feasible.</para>
<refsect3 id="pango-script-get-sample-language.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>script</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoScript"><type>PangoScript</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-script-get-sample-language.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="PangoLanguage"><type>PangoLanguage</type></link> that is representative
of the script, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no such language exists. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-script-iter-new" role="function" condition="since:1.4">
<title>pango_script_iter_new&#160;()</title>
<indexterm zone="pango-script-iter-new" role="1.4"><primary>pango_script_iter_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoScriptIter"><returnvalue>PangoScriptIter</returnvalue></link>&#160;*
pango_script_iter_new (<parameter>const <link linkend="char"><type>char</type></link> *text</parameter>,
                       <parameter><link linkend="int"><type>int</type></link> length</parameter>);</programlisting>
<para>Create a new <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link>, used to break a string of
Unicode text into runs by Unicode script. No copy is made of
<parameter>text</parameter>
, so the caller needs to make sure it remains valid until
the iterator is freed with <link linkend="pango-script-iter-free"><function>pango_script_iter_free()</function></link>.</para>
<refsect3 id="pango-script-iter-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>text</para></entry>
<entry role="parameter_description"><para>a UTF-8 string</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>length</para></entry>
<entry role="parameter_description"><para>length of <parameter>text</parameter>
, or -1 if <parameter>text</parameter>
is nul-terminated.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-script-iter-new.returns" role="returns">
<title>Returns</title>
<para> the new script iterator, initialized
to point at the first range in the text, which should be
freed with <link linkend="pango-script-iter-free"><function>pango_script_iter_free()</function></link>. If the string is
empty, it will point at an empty range.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-script-iter-get-range" role="function" condition="since:1.4">
<title>pango_script_iter_get_range&#160;()</title>
<indexterm zone="pango-script-iter-get-range" role="1.4"><primary>pango_script_iter_get_range</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_script_iter_get_range (<parameter><link linkend="PangoScriptIter"><type>PangoScriptIter</type></link> *iter</parameter>,
                             <parameter>const <link linkend="char"><type>char</type></link> **start</parameter>,
                             <parameter>const <link linkend="char"><type>char</type></link> **end</parameter>,
                             <parameter><link linkend="PangoScript"><type>PangoScript</type></link> *script</parameter>);</programlisting>
<para>Gets information about the range to which <parameter>iter</parameter>
 currently points.
The range is the set of locations p where *start &lt;= p &lt; *end.
(That is, it doesn't include the character stored at *end)</para>
<para>Note that while the type of the <parameter>script</parameter>
 argument is declared
as PangoScript, as of Pango 1.18, this function simply returns
GUnicodeScript values. Callers must be prepared to handle unknown
values.</para>
<refsect3 id="pango-script-iter-get-range.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start</para></entry>
<entry role="parameter_description"><para>location to store start position of the range, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>location to store end position of the range, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>script</para></entry>
<entry role="parameter_description"><para>location to store script for range, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-script-iter-next" role="function" condition="since:1.4">
<title>pango_script_iter_next&#160;()</title>
<indexterm zone="pango-script-iter-next" role="1.4"><primary>pango_script_iter_next</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_script_iter_next (<parameter><link linkend="PangoScriptIter"><type>PangoScriptIter</type></link> *iter</parameter>);</programlisting>
<para>Advances a <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link> to the next range. If <parameter>iter</parameter>

is already at the end, it is left unchanged and <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
is returned.</para>
<refsect3 id="pango-script-iter-next.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-script-iter-next.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>iter</parameter>
was successfully advanced.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-script-iter-free" role="function" condition="since:1.4">
<title>pango_script_iter_free&#160;()</title>
<indexterm zone="pango-script-iter-free" role="1.4"><primary>pango_script_iter_free</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_script_iter_free (<parameter><link linkend="PangoScriptIter"><type>PangoScriptIter</type></link> *iter</parameter>);</programlisting>
<para>Frees a <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link> created with <link linkend="pango-script-iter-new"><function>pango_script_iter_new()</function></link>.</para>
<refsect3 id="pango-script-iter-free.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-language-from-string" role="function">
<title>pango_language_from_string&#160;()</title>
<indexterm zone="pango-language-from-string"><primary>pango_language_from_string</primary></indexterm>
<programlisting language="C"><link linkend="PangoLanguage"><returnvalue>PangoLanguage</returnvalue></link>&#160;*
pango_language_from_string (<parameter>const <link linkend="char"><type>char</type></link> *language</parameter>);</programlisting>
<para>Take a RFC-3066 format language tag as a string and convert it to a
<link linkend="PangoLanguage"><type>PangoLanguage</type></link> pointer that can be efficiently copied (copy the
pointer) and compared with other language tags (compare the
pointer.)</para>
<para>This function first canonicalizes the string by converting it to
lowercase, mapping '_' to '-', and stripping all characters other
than letters and '-'.</para>
<para>Use <link linkend="pango-language-get-default"><function>pango_language_get_default()</function></link> if you want to get the <link linkend="PangoLanguage"><type>PangoLanguage</type></link> for
the current locale of the process.</para>
<refsect3 id="pango-language-from-string.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a string representing a language tag, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-language-from-string.returns" role="returns">
<title>Returns</title>
<para>an opaque pointer to a
<link linkend="PangoLanguage"><type>PangoLanguage</type></link> structure, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>language</parameter>
was
<link linkend="NULL:CAPS"><literal>NULL</literal></link>.  The returned pointer will be valid forever
after, and should not be freed. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-language-to-string" role="function">
<title>pango_language_to_string&#160;()</title>
<indexterm zone="pango-language-to-string"><primary>pango_language_to_string</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_language_to_string (<parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>);</programlisting>
<para>Gets the RFC-3066 format string representing the given language tag.</para>
<refsect3 id="pango-language-to-string.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a language tag.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-language-to-string.returns" role="returns">
<title>Returns</title>
<para> a string representing the language tag.  This is owned by
Pango and should not be freed.</para>
</refsect3></refsect2>
<refsect2 id="pango-language-matches" role="function">
<title>pango_language_matches&#160;()</title>
<indexterm zone="pango-language-matches"><primary>pango_language_matches</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_language_matches (<parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>,
                        <parameter>const <link linkend="char"><type>char</type></link> *range_list</parameter>);</programlisting>
<para>Checks if a language tag matches one of the elements in a list of
language ranges. A language tag is considered to match a range
in the list if the range is '*', the range is exactly the tag,
or the range is a prefix of the tag, and the character after it
in the tag is '-'.</para>
<refsect3 id="pango-language-matches.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a language tag (see <link linkend="pango-language-from-string"><function>pango_language_from_string()</function></link>),
<link linkend="NULL:CAPS"><literal>NULL</literal></link> is allowed and matches nothing but '*'. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>range_list</para></entry>
<entry role="parameter_description"><para>a list of language ranges, separated by ';', ':',
',', or space characters.
Each element must either be '*', or a RFC 3066 language range
canonicalized as by <link linkend="pango-language-from-string"><function>pango_language_from_string()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-language-matches.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if a match was found.</para>
</refsect3></refsect2>
<refsect2 id="pango-language-includes-script" role="function" condition="since:1.4">
<title>pango_language_includes_script&#160;()</title>
<indexterm zone="pango-language-includes-script" role="1.4"><primary>pango_language_includes_script</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_language_includes_script (<parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>,
                                <parameter><link linkend="PangoScript"><type>PangoScript</type></link> script</parameter>);</programlisting>
<para>Determines if <parameter>script</parameter>
 is one of the scripts used to
write <parameter>language</parameter>
. The returned value is conservative;
if nothing is known about the language tag <parameter>language</parameter>
,
<link linkend="TRUE:CAPS"><literal>TRUE</literal></link> will be returned, since, as far as Pango knows,
<parameter>script</parameter>
 might be used to write <parameter>language</parameter>
.</para>
<para>This routine is used in Pango's itemization process when
determining if a supplied language tag is relevant to
a particular section of text. It probably is not useful for
applications in most circumstances.</para>
<para>This function uses <link linkend="pango-language-get-scripts"><function>pango_language_get_scripts()</function></link> internally.</para>
<refsect3 id="pango-language-includes-script.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoLanguage"><type>PangoLanguage</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>script</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoScript"><type>PangoScript</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-language-includes-script.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>script</parameter>
is one of the scripts used
to write <parameter>language</parameter>
or if nothing is known about <parameter>language</parameter>
(including the case that <parameter>language</parameter>
is <link linkend="NULL:CAPS"><literal>NULL</literal></link>),
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-language-get-scripts" role="function" condition="since:1.22">
<title>pango_language_get_scripts&#160;()</title>
<indexterm zone="pango-language-get-scripts" role="1.22"><primary>pango_language_get_scripts</primary></indexterm>
<programlisting language="C">const <link linkend="PangoScript"><returnvalue>PangoScript</returnvalue></link>&#160;*
pango_language_get_scripts (<parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>,
                            <parameter><link linkend="int"><type>int</type></link> *num_scripts</parameter>);</programlisting>
<para>Determines the scripts used to to write <parameter>language</parameter>
.
If nothing is known about the language tag <parameter>language</parameter>
,
or if <parameter>language</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then <link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned.
The list of scripts returned starts with the script that the
language uses most and continues to the one it uses least.</para>
<para>The value <parameter>num_script</parameter>
 points at will be set to the number
of scripts in the returned array (or zero if <link linkend="NULL:CAPS"><literal>NULL</literal></link> is returned).</para>
<para>Most languages use only one script for writing, but there are
some that use two (Latin and Cyrillic for example), and a few
use three (Japanese for example).  Applications should not make
any assumptions on the maximum number of scripts returned
though, except that it is positive if the return value is not
<link linkend="NULL:CAPS"><literal>NULL</literal></link>, and it is a small number.</para>
<para>The <link linkend="pango-language-includes-script"><function>pango_language_includes_script()</function></link> function uses this function
internally.</para>
<para>Note: while the return value is declared as PangoScript, the
returned values are from the GUnicodeScript enumeration, which
may have more values. Callers need to handle unknown values.</para>
<refsect3 id="pango-language-get-scripts.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoLanguage"><type>PangoLanguage</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>num_scripts</para></entry>
<entry role="parameter_description"><para>location to return number of scripts,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out caller-allocates</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-language-get-scripts.returns" role="returns">
<title>Returns</title>
<para>An array of
<link linkend="PangoScript"><type>PangoScript</type></link> values, with the number of entries in the array stored
in <parameter>num_scripts</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if Pango does not have any information
about this particular language tag (also the case if <parameter>language</parameter>
is
<link linkend="NULL:CAPS"><literal>NULL</literal></link>).  The returned array is owned by Pango and should not be
modified or freed. </para>
<para><emphasis role="annotation">[<acronym>array</acronym> length=num_scripts][<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.22">1.22</link></para></refsect2>
<refsect2 id="pango-language-get-default" role="function" condition="since:1.16">
<title>pango_language_get_default&#160;()</title>
<indexterm zone="pango-language-get-default" role="1.16"><primary>pango_language_get_default</primary></indexterm>
<programlisting language="C"><link linkend="PangoLanguage"><returnvalue>PangoLanguage</returnvalue></link>&#160;*
pango_language_get_default (<parameter><type>void</type></parameter>);</programlisting>
<para>Returns the <link linkend="PangoLanguage"><type>PangoLanguage</type></link> for the current locale of the process.
Note that this can change over the life of an application.</para>
<para>On Unix systems, this is the return value is derived from
<literal>setlocale(LC_CTYPE, NULL)</literal>, and the user can
affect this through the environment variables LC_ALL, LC_CTYPE or
LANG (checked in that order). The locale string typically is in
the form lang_COUNTRY, where lang is an ISO-639 language code, and
COUNTRY is an ISO-3166 country code. For instance, sv_FI for
Swedish as written in Finland or pt_BR for Portuguese as written in
Brazil.</para>
<para>On Windows, the C library does not use any such environment
variables, and setting them won't affect the behavior of functions
like <link linkend="ctime"><function>ctime()</function></link>. The user sets the locale through the Regional Options
in the Control Panel. The C library (in the <link linkend="setlocale"><function>setlocale()</function></link> function)
does not use country and language codes, but country and language
names spelled out in English.
However, this function does check the above environment
variables, and does return a Unix-style locale string based on
either said environment variables or the thread's current locale.</para>
<para>Your application should call <literal>setlocale(LC_ALL, "");</literal>
for the user settings to take effect.  Gtk+ does this in its initialization
functions automatically (by calling <link linkend="gtk-set-locale"><function>gtk_set_locale()</function></link>).
See <literal>man setlocale</literal> for more details.</para>
<refsect3 id="pango-language-get-default.returns" role="returns">
<title>Returns</title>
<para>the default language as a
<link linkend="PangoLanguage"><type>PangoLanguage</type></link>, must not be freed. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2>
<refsect2 id="pango-language-get-sample-string" role="function">
<title>pango_language_get_sample_string&#160;()</title>
<indexterm zone="pango-language-get-sample-string"><primary>pango_language_get_sample_string</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_language_get_sample_string (<parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>);</programlisting>
<para>Get a string that is representative of the characters needed to
render a particular language.</para>
<para>The sample text may be a pangram, but is not necessarily.  It is chosen to
be demonstrative of normal text in the language, as well as exposing font
feature requirements unique to the language.  It is suitable for use
as sample text in a font selection dialog.</para>
<para>If <parameter>language</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the default language as found by
<link linkend="pango-language-get-default"><function>pango_language_get_default()</function></link> is used.</para>
<para>If Pango does not have a sample string for <parameter>language</parameter>
, the classic
"The quick brown fox..." is returned.  This can be detected by
comparing the returned pointer value to that returned for (non-existent)
language code "xx".  That is, compare to:</para>
<informalexample><programlisting>
pango_language_get_sample_string (pango_language_from_string ("xx"))
</programlisting></informalexample>
<refsect3 id="pango-language-get-sample-string.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoLanguage"><type>PangoLanguage</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-language-get-sample-string.returns" role="returns">
<title>Returns</title>
<para> the sample string. This value is owned by Pango
and should not be freed.</para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="pango-Scripts-and-Languages.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="PangoScript" role="enum">
<title>enum PangoScript</title>
<indexterm zone="PangoScript"><primary>PangoScript</primary></indexterm>
<para>The <link linkend="PangoScript"><type>PangoScript</type></link> enumeration identifies different writing
systems. The values correspond to the names as defined in the
Unicode standard. See <ulink
url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex
<link linkend="24"><type>24</type></link>: Script names</ulink>.</para>
<para>Note that this enumeration is deprecated and will not be updated
to include values in newer versions of the Unicode standard.
Applications should use the GUnicodeScript enumeration instead,
whose values are interchangeable with PangoScript.</para>
<refsect3 id="PangoScript.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-INVALID-CODE:CAPS">PANGO_SCRIPT_INVALID_CODE</para></entry>
<entry role="enum_member_description"><para>a value never returned from <link linkend="pango-script-for-unichar"><function>pango_script_for_unichar()</function></link></para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-COMMON:CAPS">PANGO_SCRIPT_COMMON</para></entry>
<entry role="enum_member_description"><para>a character used by multiple different scripts</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-INHERITED:CAPS">PANGO_SCRIPT_INHERITED</para></entry>
<entry role="enum_member_description"><para>a mark glyph that takes its script from the
base glyph to which it is attached</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-ARABIC:CAPS">PANGO_SCRIPT_ARABIC</para></entry>
<entry role="enum_member_description"><para>Arabic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-ARMENIAN:CAPS">PANGO_SCRIPT_ARMENIAN</para></entry>
<entry role="enum_member_description"><para>Armenian</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BENGALI:CAPS">PANGO_SCRIPT_BENGALI</para></entry>
<entry role="enum_member_description"><para>Bengali</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BOPOMOFO:CAPS">PANGO_SCRIPT_BOPOMOFO</para></entry>
<entry role="enum_member_description"><para>Bopomofo</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CHEROKEE:CAPS">PANGO_SCRIPT_CHEROKEE</para></entry>
<entry role="enum_member_description"><para>Cherokee</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-COPTIC:CAPS">PANGO_SCRIPT_COPTIC</para></entry>
<entry role="enum_member_description"><para>Coptic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CYRILLIC:CAPS">PANGO_SCRIPT_CYRILLIC</para></entry>
<entry role="enum_member_description"><para>Cyrillic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-DESERET:CAPS">PANGO_SCRIPT_DESERET</para></entry>
<entry role="enum_member_description"><para>Deseret</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-DEVANAGARI:CAPS">PANGO_SCRIPT_DEVANAGARI</para></entry>
<entry role="enum_member_description"><para>Devanagari</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-ETHIOPIC:CAPS">PANGO_SCRIPT_ETHIOPIC</para></entry>
<entry role="enum_member_description"><para>Ethiopic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GEORGIAN:CAPS">PANGO_SCRIPT_GEORGIAN</para></entry>
<entry role="enum_member_description"><para>Georgian</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GOTHIC:CAPS">PANGO_SCRIPT_GOTHIC</para></entry>
<entry role="enum_member_description"><para>Gothic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GREEK:CAPS">PANGO_SCRIPT_GREEK</para></entry>
<entry role="enum_member_description"><para>Greek</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GUJARATI:CAPS">PANGO_SCRIPT_GUJARATI</para></entry>
<entry role="enum_member_description"><para>Gujarati</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GURMUKHI:CAPS">PANGO_SCRIPT_GURMUKHI</para></entry>
<entry role="enum_member_description"><para>Gurmukhi</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-HAN:CAPS">PANGO_SCRIPT_HAN</para></entry>
<entry role="enum_member_description"><para>Han</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-HANGUL:CAPS">PANGO_SCRIPT_HANGUL</para></entry>
<entry role="enum_member_description"><para>Hangul</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-HEBREW:CAPS">PANGO_SCRIPT_HEBREW</para></entry>
<entry role="enum_member_description"><para>Hebrew</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-HIRAGANA:CAPS">PANGO_SCRIPT_HIRAGANA</para></entry>
<entry role="enum_member_description"><para>Hiragana</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KANNADA:CAPS">PANGO_SCRIPT_KANNADA</para></entry>
<entry role="enum_member_description"><para>Kannada</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KATAKANA:CAPS">PANGO_SCRIPT_KATAKANA</para></entry>
<entry role="enum_member_description"><para>Katakana</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KHMER:CAPS">PANGO_SCRIPT_KHMER</para></entry>
<entry role="enum_member_description"><para>Khmer</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LAO:CAPS">PANGO_SCRIPT_LAO</para></entry>
<entry role="enum_member_description"><para>Lao</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LATIN:CAPS">PANGO_SCRIPT_LATIN</para></entry>
<entry role="enum_member_description"><para>Latin</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MALAYALAM:CAPS">PANGO_SCRIPT_MALAYALAM</para></entry>
<entry role="enum_member_description"><para>Malayalam</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MONGOLIAN:CAPS">PANGO_SCRIPT_MONGOLIAN</para></entry>
<entry role="enum_member_description"><para>Mongolian</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MYANMAR:CAPS">PANGO_SCRIPT_MYANMAR</para></entry>
<entry role="enum_member_description"><para>Myanmar</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OGHAM:CAPS">PANGO_SCRIPT_OGHAM</para></entry>
<entry role="enum_member_description"><para>Ogham</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OLD-ITALIC:CAPS">PANGO_SCRIPT_OLD_ITALIC</para></entry>
<entry role="enum_member_description"><para>Old Italic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-ORIYA:CAPS">PANGO_SCRIPT_ORIYA</para></entry>
<entry role="enum_member_description"><para>Oriya</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-RUNIC:CAPS">PANGO_SCRIPT_RUNIC</para></entry>
<entry role="enum_member_description"><para>Runic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SINHALA:CAPS">PANGO_SCRIPT_SINHALA</para></entry>
<entry role="enum_member_description"><para>Sinhala</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SYRIAC:CAPS">PANGO_SCRIPT_SYRIAC</para></entry>
<entry role="enum_member_description"><para>Syriac</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TAMIL:CAPS">PANGO_SCRIPT_TAMIL</para></entry>
<entry role="enum_member_description"><para>Tamil</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TELUGU:CAPS">PANGO_SCRIPT_TELUGU</para></entry>
<entry role="enum_member_description"><para>Telugu</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-THAANA:CAPS">PANGO_SCRIPT_THAANA</para></entry>
<entry role="enum_member_description"><para>Thaana</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-THAI:CAPS">PANGO_SCRIPT_THAI</para></entry>
<entry role="enum_member_description"><para>Thai</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TIBETAN:CAPS">PANGO_SCRIPT_TIBETAN</para></entry>
<entry role="enum_member_description"><para>Tibetan</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CANADIAN-ABORIGINAL:CAPS">PANGO_SCRIPT_CANADIAN_ABORIGINAL</para></entry>
<entry role="enum_member_description"><para>Canadian Aboriginal</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-YI:CAPS">PANGO_SCRIPT_YI</para></entry>
<entry role="enum_member_description"><para>Yi</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TAGALOG:CAPS">PANGO_SCRIPT_TAGALOG</para></entry>
<entry role="enum_member_description"><para>Tagalog</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-HANUNOO:CAPS">PANGO_SCRIPT_HANUNOO</para></entry>
<entry role="enum_member_description"><para>Hanunoo</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BUHID:CAPS">PANGO_SCRIPT_BUHID</para></entry>
<entry role="enum_member_description"><para>Buhid</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TAGBANWA:CAPS">PANGO_SCRIPT_TAGBANWA</para></entry>
<entry role="enum_member_description"><para>Tagbanwa</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BRAILLE:CAPS">PANGO_SCRIPT_BRAILLE</para></entry>
<entry role="enum_member_description"><para>Braille</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CYPRIOT:CAPS">PANGO_SCRIPT_CYPRIOT</para></entry>
<entry role="enum_member_description"><para>Cypriot</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LIMBU:CAPS">PANGO_SCRIPT_LIMBU</para></entry>
<entry role="enum_member_description"><para>Limbu</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OSMANYA:CAPS">PANGO_SCRIPT_OSMANYA</para></entry>
<entry role="enum_member_description"><para>Osmanya</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SHAVIAN:CAPS">PANGO_SCRIPT_SHAVIAN</para></entry>
<entry role="enum_member_description"><para>Shavian</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LINEAR-B:CAPS">PANGO_SCRIPT_LINEAR_B</para></entry>
<entry role="enum_member_description"><para>Linear B</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TAI-LE:CAPS">PANGO_SCRIPT_TAI_LE</para></entry>
<entry role="enum_member_description"><para>Tai Le</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-UGARITIC:CAPS">PANGO_SCRIPT_UGARITIC</para></entry>
<entry role="enum_member_description"><para>Ugaritic</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-NEW-TAI-LUE:CAPS">PANGO_SCRIPT_NEW_TAI_LUE</para></entry>
<entry role="enum_member_description"><para>New Tai Lue. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BUGINESE:CAPS">PANGO_SCRIPT_BUGINESE</para></entry>
<entry role="enum_member_description"><para>Buginese. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GLAGOLITIC:CAPS">PANGO_SCRIPT_GLAGOLITIC</para></entry>
<entry role="enum_member_description"><para>Glagolitic. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TIFINAGH:CAPS">PANGO_SCRIPT_TIFINAGH</para></entry>
<entry role="enum_member_description"><para>Tifinagh. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SYLOTI-NAGRI:CAPS">PANGO_SCRIPT_SYLOTI_NAGRI</para></entry>
<entry role="enum_member_description"><para>Syloti Nagri. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OLD-PERSIAN:CAPS">PANGO_SCRIPT_OLD_PERSIAN</para></entry>
<entry role="enum_member_description"><para>Old Persian. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KHAROSHTHI:CAPS">PANGO_SCRIPT_KHAROSHTHI</para></entry>
<entry role="enum_member_description"><para>Kharoshthi. Since 1.10</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-UNKNOWN:CAPS">PANGO_SCRIPT_UNKNOWN</para></entry>
<entry role="enum_member_description"><para>an unassigned code point. Since 1.14</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BALINESE:CAPS">PANGO_SCRIPT_BALINESE</para></entry>
<entry role="enum_member_description"><para>Balinese. Since 1.14</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CUNEIFORM:CAPS">PANGO_SCRIPT_CUNEIFORM</para></entry>
<entry role="enum_member_description"><para>Cuneiform. Since 1.14</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-PHOENICIAN:CAPS">PANGO_SCRIPT_PHOENICIAN</para></entry>
<entry role="enum_member_description"><para>Phoenician. Since 1.14</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-PHAGS-PA:CAPS">PANGO_SCRIPT_PHAGS_PA</para></entry>
<entry role="enum_member_description"><para>Phags-pa. Since 1.14</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-NKO:CAPS">PANGO_SCRIPT_NKO</para></entry>
<entry role="enum_member_description"><para>N'Ko. Since 1.14</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KAYAH-LI:CAPS">PANGO_SCRIPT_KAYAH_LI</para></entry>
<entry role="enum_member_description"><para>Kayah Li. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LEPCHA:CAPS">PANGO_SCRIPT_LEPCHA</para></entry>
<entry role="enum_member_description"><para>Lepcha. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-REJANG:CAPS">PANGO_SCRIPT_REJANG</para></entry>
<entry role="enum_member_description"><para>Rejang. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SUNDANESE:CAPS">PANGO_SCRIPT_SUNDANESE</para></entry>
<entry role="enum_member_description"><para>Sundanese. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SAURASHTRA:CAPS">PANGO_SCRIPT_SAURASHTRA</para></entry>
<entry role="enum_member_description"><para>Saurashtra. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CHAM:CAPS">PANGO_SCRIPT_CHAM</para></entry>
<entry role="enum_member_description"><para>Cham. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OL-CHIKI:CAPS">PANGO_SCRIPT_OL_CHIKI</para></entry>
<entry role="enum_member_description"><para>Ol Chiki. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-VAI:CAPS">PANGO_SCRIPT_VAI</para></entry>
<entry role="enum_member_description"><para>Vai. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CARIAN:CAPS">PANGO_SCRIPT_CARIAN</para></entry>
<entry role="enum_member_description"><para>Carian. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LYCIAN:CAPS">PANGO_SCRIPT_LYCIAN</para></entry>
<entry role="enum_member_description"><para>Lycian. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LYDIAN:CAPS">PANGO_SCRIPT_LYDIAN</para></entry>
<entry role="enum_member_description"><para>Lydian. Since 1.20.1</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BATAK:CAPS">PANGO_SCRIPT_BATAK</para></entry>
<entry role="enum_member_description"><para>Batak. Since 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BRAHMI:CAPS">PANGO_SCRIPT_BRAHMI</para></entry>
<entry role="enum_member_description"><para>Brahmi. Since 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MANDAIC:CAPS">PANGO_SCRIPT_MANDAIC</para></entry>
<entry role="enum_member_description"><para>Mandaic. Since 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CHAKMA:CAPS">PANGO_SCRIPT_CHAKMA</para></entry>
<entry role="enum_member_description"><para>Chakma. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MEROITIC-CURSIVE:CAPS">PANGO_SCRIPT_MEROITIC_CURSIVE</para></entry>
<entry role="enum_member_description"><para>Meroitic Cursive. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MEROITIC-HIEROGLYPHS:CAPS">PANGO_SCRIPT_MEROITIC_HIEROGLYPHS</para></entry>
<entry role="enum_member_description"><para>Meroitic Hieroglyphs. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MIAO:CAPS">PANGO_SCRIPT_MIAO</para></entry>
<entry role="enum_member_description"><para>Miao. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SHARADA:CAPS">PANGO_SCRIPT_SHARADA</para></entry>
<entry role="enum_member_description"><para>Sharada. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SORA-SOMPENG:CAPS">PANGO_SCRIPT_SORA_SOMPENG</para></entry>
<entry role="enum_member_description"><para>Sora Sompeng. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TAKRI:CAPS">PANGO_SCRIPT_TAKRI</para></entry>
<entry role="enum_member_description"><para>Takri. Since: 1.32</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-BASSA-VAH:CAPS">PANGO_SCRIPT_BASSA_VAH</para></entry>
<entry role="enum_member_description"><para>Bassa. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-CAUCASIAN-ALBANIAN:CAPS">PANGO_SCRIPT_CAUCASIAN_ALBANIAN</para></entry>
<entry role="enum_member_description"><para>Caucasian Albanian. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-DUPLOYAN:CAPS">PANGO_SCRIPT_DUPLOYAN</para></entry>
<entry role="enum_member_description"><para>Duployan. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-ELBASAN:CAPS">PANGO_SCRIPT_ELBASAN</para></entry>
<entry role="enum_member_description"><para>Elbasan. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-GRANTHA:CAPS">PANGO_SCRIPT_GRANTHA</para></entry>
<entry role="enum_member_description"><para>Grantha. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KHOJKI:CAPS">PANGO_SCRIPT_KHOJKI</para></entry>
<entry role="enum_member_description"><para>Kjohki. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-KHUDAWADI:CAPS">PANGO_SCRIPT_KHUDAWADI</para></entry>
<entry role="enum_member_description"><para>Khudawadi, Sindhi. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-LINEAR-A:CAPS">PANGO_SCRIPT_LINEAR_A</para></entry>
<entry role="enum_member_description"><para>Linear A. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MAHAJANI:CAPS">PANGO_SCRIPT_MAHAJANI</para></entry>
<entry role="enum_member_description"><para>Mahajani. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MANICHAEAN:CAPS">PANGO_SCRIPT_MANICHAEAN</para></entry>
<entry role="enum_member_description"><para>Manichaean. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MENDE-KIKAKUI:CAPS">PANGO_SCRIPT_MENDE_KIKAKUI</para></entry>
<entry role="enum_member_description"><para>Mende Kikakui. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MODI:CAPS">PANGO_SCRIPT_MODI</para></entry>
<entry role="enum_member_description"><para>Modi. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MRO:CAPS">PANGO_SCRIPT_MRO</para></entry>
<entry role="enum_member_description"><para>Mro. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-NABATAEAN:CAPS">PANGO_SCRIPT_NABATAEAN</para></entry>
<entry role="enum_member_description"><para>Nabataean. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OLD-NORTH-ARABIAN:CAPS">PANGO_SCRIPT_OLD_NORTH_ARABIAN</para></entry>
<entry role="enum_member_description"><para>Old North Arabian. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OLD-PERMIC:CAPS">PANGO_SCRIPT_OLD_PERMIC</para></entry>
<entry role="enum_member_description"><para>Old Permic. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-PAHAWH-HMONG:CAPS">PANGO_SCRIPT_PAHAWH_HMONG</para></entry>
<entry role="enum_member_description"><para>Pahawh Hmong. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-PALMYRENE:CAPS">PANGO_SCRIPT_PALMYRENE</para></entry>
<entry role="enum_member_description"><para>Palmyrene. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-PAU-CIN-HAU:CAPS">PANGO_SCRIPT_PAU_CIN_HAU</para></entry>
<entry role="enum_member_description"><para>Pau Cin Hau. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-PSALTER-PAHLAVI:CAPS">PANGO_SCRIPT_PSALTER_PAHLAVI</para></entry>
<entry role="enum_member_description"><para>Psalter Pahlavi. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SIDDHAM:CAPS">PANGO_SCRIPT_SIDDHAM</para></entry>
<entry role="enum_member_description"><para>Siddham. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-TIRHUTA:CAPS">PANGO_SCRIPT_TIRHUTA</para></entry>
<entry role="enum_member_description"><para>Tirhuta. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-WARANG-CITI:CAPS">PANGO_SCRIPT_WARANG_CITI</para></entry>
<entry role="enum_member_description"><para>Warang Citi. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-AHOM:CAPS">PANGO_SCRIPT_AHOM</para></entry>
<entry role="enum_member_description"><para>Ahom. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-ANATOLIAN-HIEROGLYPHS:CAPS">PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS</para></entry>
<entry role="enum_member_description"><para>Anatolian Hieroglyphs. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-HATRAN:CAPS">PANGO_SCRIPT_HATRAN</para></entry>
<entry role="enum_member_description"><para>Hatran. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-MULTANI:CAPS">PANGO_SCRIPT_MULTANI</para></entry>
<entry role="enum_member_description"><para>Multani. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-OLD-HUNGARIAN:CAPS">PANGO_SCRIPT_OLD_HUNGARIAN</para></entry>
<entry role="enum_member_description"><para>Old Hungarian. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SCRIPT-SIGNWRITING:CAPS">PANGO_SCRIPT_SIGNWRITING</para></entry>
<entry role="enum_member_description"><para>Signwriting. Since: 1.40</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PANGO-TYPE-SCRIPT:CAPS" role="macro">
<title>PANGO_TYPE_SCRIPT</title>
<indexterm zone="PANGO-TYPE-SCRIPT:CAPS"><primary>PANGO_TYPE_SCRIPT</primary></indexterm>
<programlisting language="C">#define PANGO_TYPE_SCRIPT (pango_script_get_type ())
</programlisting>
</refsect2>
<refsect2 id="PangoScriptIter-struct" role="struct">
<title>PangoScriptIter</title>
<indexterm zone="PangoScriptIter-struct"><primary>PangoScriptIter</primary></indexterm>
<programlisting language="C">typedef struct _PangoScriptIter PangoScriptIter;</programlisting>
<para>A <link linkend="PangoScriptIter"><type>PangoScriptIter</type></link> is used to iterate through a string
and identify ranges in different scripts.</para>
</refsect2>
<refsect2 id="PangoLanguage-struct" role="struct">
<title>PangoLanguage</title>
<indexterm zone="PangoLanguage-struct"><primary>PangoLanguage</primary></indexterm>
<programlisting language="C">typedef struct _PangoLanguage PangoLanguage;</programlisting>
<para>The <link linkend="PangoLanguage"><type>PangoLanguage</type></link> structure is used to
represent a language.</para>
<para><link linkend="PangoLanguage"><type>PangoLanguage</type></link> pointers can be efficiently
copied and compared with each other.</para>
</refsect2>
<refsect2 id="PANGO-TYPE-LANGUAGE:CAPS" role="macro">
<title>PANGO_TYPE_LANGUAGE</title>
<indexterm zone="PANGO-TYPE-LANGUAGE:CAPS"><primary>PANGO_TYPE_LANGUAGE</primary></indexterm>
<programlisting language="C">#define PANGO_TYPE_LANGUAGE (pango_language_get_type ())
</programlisting>
<para>The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoLanguage"><type>PangoLanguage</type></link>.</para>
</refsect2>

</refsect1>

</refentry>
