<?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-Text-Attributes">
<refmeta>
<refentrytitle role="top_of_page" id="pango-Text-Attributes.top_of_page">Attributes</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>PANGO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Attributes</refname>
<refpurpose>Font and other attributes for annotating text</refpurpose>
</refnamediv>

<refsect1 id="pango-Text-Attributes.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="PangoAttrType"><returnvalue>PangoAttrType</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-attr-type-register">pango_attr_type_register</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-attr-type-get-name">pango_attr_type_get_name</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-attribute-init">pango_attribute_init</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attribute-copy">pango_attribute_copy</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-attribute-equal">pango_attribute_equal</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-attribute-destroy">pango_attribute_destroy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-language-new">pango_attr_language_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-family-new">pango_attr_family_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-style-new">pango_attr_style_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-variant-new">pango_attr_variant_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-stretch-new">pango_attr_stretch_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-weight-new">pango_attr_weight_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-size-new">pango_attr_size_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-size-new-absolute">pango_attr_size_new_absolute</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-font-desc-new">pango_attr_font_desc_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-foreground-new">pango_attr_foreground_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-background-new">pango_attr_background_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-strikethrough-new">pango_attr_strikethrough_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-strikethrough-color-new">pango_attr_strikethrough_color_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-underline-new">pango_attr_underline_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-underline-color-new">pango_attr_underline_color_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-shape-new">pango_attr_shape_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-shape-new-with-data">pango_attr_shape_new_with_data</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gpointer"><returnvalue>gpointer</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="PangoAttrDataCopyFunc">*PangoAttrDataCopyFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-scale-new">pango_attr_scale_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-rise-new">pango_attr_rise_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-letter-spacing-new">pango_attr_letter_spacing_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-fallback-new">pango_attr_fallback_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-gravity-new">pango_attr_gravity_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-gravity-hint-new">pango_attr_gravity_hint_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-font-features-new">pango_attr_font_features_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-foreground-alpha-new">pango_attr_foreground_alpha_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-background-alpha-new">pango_attr_background_alpha_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-allow-breaks-new">pango_attr_allow_breaks_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-insert-hyphens-new">pango_attr_insert_hyphens_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-show-new">pango_attr_show_new</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-color-parse">pango_color_parse</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoColor"><returnvalue>PangoColor</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-color-copy">pango_color_copy</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-color-free">pango_color_free</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-color-to-string">pango_color_to_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-list-new">pango_attr_list_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-list-ref">pango_attr_list_ref</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-attr-list-unref">pango_attr_list_unref</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-list-copy">pango_attr_list_copy</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-attr-list-insert">pango_attr_list_insert</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-attr-list-insert-before">pango_attr_list_insert_before</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-attr-list-change">pango_attr_list_change</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-attr-list-splice">pango_attr_list_splice</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-list-filter">pango_attr_list_filter</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-attr-list-update">pango_attr_list_update</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"><phrase role="c_punctuation">(</phrase><link linkend="PangoAttrFilterFunc">*PangoAttrFilterFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GSList"><returnvalue>GSList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-list-get-attributes">pango_attr_list_get_attributes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttrIterator"><returnvalue>PangoAttrIterator</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-list-get-iterator">pango_attr_list_get_iterator</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttrIterator"><returnvalue>PangoAttrIterator</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-iterator-copy">pango_attr_iterator_copy</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-attr-iterator-next">pango_attr_iterator_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-attr-iterator-range">pango_attr_iterator_range</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-iterator-get">pango_attr_iterator_get</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-attr-iterator-get-font">pango_attr_iterator_get_font</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GSList"><returnvalue>GSList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-attr-iterator-get-attrs">pango_attr_iterator_get_attrs</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-attr-iterator-destroy">pango_attr_iterator_destroy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="PangoAttribute"/><anchor id="PangoColor"/><anchor id="PangoAttrList"/><anchor id="PangoAttrIterator"/><refsect1 id="pango-Text-Attributes.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="PangoAttrType">PangoAttrType</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-TYPE-ATTR-TYPE:CAPS">PANGO_TYPE_ATTR_TYPE</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrClass">PangoAttrClass</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttribute-struct">PangoAttribute</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-ATTR-INDEX-FROM-TEXT-BEGINNING:CAPS">PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-ATTR-INDEX-TO-TEXT-END:CAPS">PANGO_ATTR_INDEX_TO_TEXT_END</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrString">PangoAttrString</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrLanguage">PangoAttrLanguage</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrColor">PangoAttrColor</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrInt">PangoAttrInt</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrFloat">PangoAttrFloat</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrFontDesc">PangoAttrFontDesc</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrShape">PangoAttrShape</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrSize">PangoAttrSize</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoAttrFontFeatures">PangoAttrFontFeatures</link></entry></row>

<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoUnderline">PangoUnderline</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-TYPE-UNDERLINE:CAPS">PANGO_TYPE_UNDERLINE</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-XX-SMALL:CAPS">PANGO_SCALE_XX_SMALL</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-X-SMALL:CAPS">PANGO_SCALE_X_SMALL</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-SMALL:CAPS">PANGO_SCALE_SMALL</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-MEDIUM:CAPS">PANGO_SCALE_MEDIUM</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-LARGE:CAPS">PANGO_SCALE_LARGE</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-X-LARGE:CAPS">PANGO_SCALE_X_LARGE</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-SCALE-XX-LARGE:CAPS">PANGO_SCALE_XX_LARGE</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoShowFlags">PangoShowFlags</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoColor-struct">PangoColor</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-TYPE-COLOR:CAPS">PANGO_TYPE_COLOR</link></entry></row>

<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoAttrList-struct">PangoAttrList</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-TYPE-ATTR-LIST:CAPS">PANGO_TYPE_ATTR_LIST</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoAttrIterator-struct">PangoAttrIterator</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="pango-Text-Attributes.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> PangoAttrIterator
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoAttrList
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoAttribute
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoColor
    <link linkend="GEnum">GEnum</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoAttrType
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoUnderline
    <link linkend="GFlags">GFlags</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoShowFlags
</screen>
</refsect1>


<refsect1 id="pango-Text-Attributes.description" role="desc">
<title role="desc.title">Description</title>
<para>Attributed text is used in a number of places in Pango. It
is used as the input to the itemization process and also when
creating a <link linkend="PangoLayout"><type>PangoLayout</type></link>. The data types and functions in
this section are used to represent and manipulate sets
of attributes applied to a portion of text.</para>

</refsect1>
<refsect1 id="pango-Text-Attributes.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="pango-attr-type-register" role="function">
<title>pango_attr_type_register&#160;()</title>
<indexterm zone="pango-attr-type-register"><primary>pango_attr_type_register</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrType"><returnvalue>PangoAttrType</returnvalue></link>
pango_attr_type_register (<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>);</programlisting>
<para>Allocate a new attribute type ID.  The attribute type name can be accessed
later by using <link linkend="pango-attr-type-get-name"><function>pango_attr_type_get_name()</function></link>.</para>
<refsect3 id="pango-attr-type-register.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>name</para></entry>
<entry role="parameter_description"><para>an identifier for the type</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-type-register.returns" role="returns">
<title>Returns</title>
<para> the new type ID.</para>
</refsect3></refsect2>
<refsect2 id="pango-attr-type-get-name" role="function" condition="since:1.22">
<title>pango_attr_type_get_name&#160;()</title>
<indexterm zone="pango-attr-type-get-name" role="1.22"><primary>pango_attr_type_get_name</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_attr_type_get_name (<parameter><link linkend="PangoAttrType"><type>PangoAttrType</type></link> type</parameter>);</programlisting>
<para>Fetches the attribute type name passed in when registering the type using
<link linkend="pango-attr-type-register"><function>pango_attr_type_register()</function></link>.</para>
<para>The returned value is an interned string (see <link linkend="g-intern-string"><function>g_intern_string()</function></link> for what
that means) that should not be modified or freed.</para>
<refsect3 id="pango-attr-type-get-name.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>type</para></entry>
<entry role="parameter_description"><para>an attribute type ID to fetch the name for</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-type-get-name.returns" role="returns">
<title>Returns</title>
<para>the type ID name (which may be <link linkend="NULL:CAPS"><literal>NULL</literal></link>), or
<link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>type</parameter>
is a built-in Pango attribute type or invalid. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.22">1.22</link></para></refsect2>
<refsect2 id="pango-attribute-init" role="function" condition="since:1.20">
<title>pango_attribute_init&#160;()</title>
<indexterm zone="pango-attribute-init" role="1.20"><primary>pango_attribute_init</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attribute_init (<parameter><link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr</parameter>,
                      <parameter>const <link linkend="PangoAttrClass"><type>PangoAttrClass</type></link> *klass</parameter>);</programlisting>
<para>Initializes <parameter>attr</parameter>
's klass to <parameter>klass</parameter>
,
it's start_index to <link linkend="PANGO-ATTR-INDEX-FROM-TEXT-BEGINNING:CAPS"><literal>PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING</literal></link>
and end_index to <link linkend="PANGO-ATTR-INDEX-TO-TEXT-END:CAPS"><literal>PANGO_ATTR_INDEX_TO_TEXT_END</literal></link>
such that the attribute applies
to the entire text by default.</para>
<refsect3 id="pango-attribute-init.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>attr</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttribute"><type>PangoAttribute</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>klass</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrClass"><type>PangoAttrClass</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.20">1.20</link></para></refsect2>
<refsect2 id="pango-attribute-copy" role="function">
<title>pango_attribute_copy&#160;()</title>
<indexterm zone="pango-attribute-copy"><primary>pango_attribute_copy</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attribute_copy (<parameter>const <link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr</parameter>);</programlisting>
<para>Make a copy of an attribute.</para>
<refsect3 id="pango-attribute-copy.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>attr</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttribute"><type>PangoAttribute</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attribute-copy.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attribute-equal" role="function">
<title>pango_attribute_equal&#160;()</title>
<indexterm zone="pango-attribute-equal"><primary>pango_attribute_equal</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_attribute_equal (<parameter>const <link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr1</parameter>,
                       <parameter>const <link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr2</parameter>);</programlisting>
<para>Compare two attributes for equality. This compares only the
actual value of the two attributes and not the ranges that the
attributes apply to.</para>
<refsect3 id="pango-attribute-equal.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>attr1</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttribute"><type>PangoAttribute</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attr2</para></entry>
<entry role="parameter_description"><para>another <link linkend="PangoAttribute"><type>PangoAttribute</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attribute-equal.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the two attributes have the same value.</para>
</refsect3></refsect2>
<refsect2 id="pango-attribute-destroy" role="function">
<title>pango_attribute_destroy&#160;()</title>
<indexterm zone="pango-attribute-destroy"><primary>pango_attribute_destroy</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attribute_destroy (<parameter><link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr</parameter>);</programlisting>
<para>Destroy a <link linkend="PangoAttribute"><type>PangoAttribute</type></link> and free all associated memory.</para>
<refsect3 id="pango-attribute-destroy.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>attr</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttribute"><type>PangoAttribute</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-language-new" role="function">
<title>pango_attr_language_new&#160;()</title>
<indexterm zone="pango-attr-language-new"><primary>pango_attr_language_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_language_new (<parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>);</programlisting>
<para>Create a new language tag attribute.</para>
<refsect3 id="pango-attr-language-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>language</para></entry>
<entry role="parameter_description"><para>language tag</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-language-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-family-new" role="function">
<title>pango_attr_family_new&#160;()</title>
<indexterm zone="pango-attr-family-new"><primary>pango_attr_family_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_family_new (<parameter>const <link linkend="char"><type>char</type></link> *family</parameter>);</programlisting>
<para>Create a new font family attribute.</para>
<refsect3 id="pango-attr-family-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>family</para></entry>
<entry role="parameter_description"><para>the family or comma separated list of families</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-family-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-style-new" role="function">
<title>pango_attr_style_new&#160;()</title>
<indexterm zone="pango-attr-style-new"><primary>pango_attr_style_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_style_new (<parameter><link linkend="PangoStyle"><type>PangoStyle</type></link> style</parameter>);</programlisting>
<para>Create a new font slant style attribute.</para>
<refsect3 id="pango-attr-style-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>style</para></entry>
<entry role="parameter_description"><para>the slant style</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-style-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-variant-new" role="function">
<title>pango_attr_variant_new&#160;()</title>
<indexterm zone="pango-attr-variant-new"><primary>pango_attr_variant_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_variant_new (<parameter><link linkend="PangoVariant"><type>PangoVariant</type></link> variant</parameter>);</programlisting>
<para>Create a new font variant attribute (normal or small caps)</para>
<refsect3 id="pango-attr-variant-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>variant</para></entry>
<entry role="parameter_description"><para>the variant</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-variant-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-stretch-new" role="function">
<title>pango_attr_stretch_new&#160;()</title>
<indexterm zone="pango-attr-stretch-new"><primary>pango_attr_stretch_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_stretch_new (<parameter><link linkend="PangoStretch"><type>PangoStretch</type></link> stretch</parameter>);</programlisting>
<para>Create a new font stretch attribute</para>
<refsect3 id="pango-attr-stretch-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>stretch</para></entry>
<entry role="parameter_description"><para>the stretch</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-stretch-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-weight-new" role="function">
<title>pango_attr_weight_new&#160;()</title>
<indexterm zone="pango-attr-weight-new"><primary>pango_attr_weight_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_weight_new (<parameter><link linkend="PangoWeight"><type>PangoWeight</type></link> weight</parameter>);</programlisting>
<para>Create a new font weight attribute.</para>
<refsect3 id="pango-attr-weight-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>weight</para></entry>
<entry role="parameter_description"><para>the weight</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-weight-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-size-new" role="function">
<title>pango_attr_size_new&#160;()</title>
<indexterm zone="pango-attr-size-new"><primary>pango_attr_size_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_size_new (<parameter><link linkend="int"><type>int</type></link> size</parameter>);</programlisting>
<para>Create a new font-size attribute in fractional points.</para>
<refsect3 id="pango-attr-size-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>size</para></entry>
<entry role="parameter_description"><para>the font size, in <link linkend="PANGO-SCALEths"><literal>PANGO_SCALEths</literal></link> of a point.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-size-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-size-new-absolute" role="function" condition="since:1.8">
<title>pango_attr_size_new_absolute&#160;()</title>
<indexterm zone="pango-attr-size-new-absolute" role="1.8"><primary>pango_attr_size_new_absolute</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_size_new_absolute (<parameter><link linkend="int"><type>int</type></link> size</parameter>);</programlisting>
<para>Create a new font-size attribute in device units.</para>
<refsect3 id="pango-attr-size-new-absolute.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>size</para></entry>
<entry role="parameter_description"><para>the font size, in <link linkend="PANGO-SCALEths"><literal>PANGO_SCALEths</literal></link> of a device unit.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-size-new-absolute.returns" role="returns">
<title>Returns</title>
<para> the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>, which should be
freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-attr-font-desc-new" role="function">
<title>pango_attr_font_desc_new&#160;()</title>
<indexterm zone="pango-attr-font-desc-new"><primary>pango_attr_font_desc_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_font_desc_new (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Create a new font description attribute. This attribute
allows setting family, style, weight, variant, stretch,
and size simultaneously.</para>
<refsect3 id="pango-attr-font-desc-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>desc</para></entry>
<entry role="parameter_description"><para>the font description</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-font-desc-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-foreground-new" role="function">
<title>pango_attr_foreground_new&#160;()</title>
<indexterm zone="pango-attr-foreground-new"><primary>pango_attr_foreground_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_foreground_new (<parameter><link linkend="guint16"><type>guint16</type></link> red</parameter>,
                           <parameter><link linkend="guint16"><type>guint16</type></link> green</parameter>,
                           <parameter><link linkend="guint16"><type>guint16</type></link> blue</parameter>);</programlisting>
<para>Create a new foreground color attribute.</para>
<refsect3 id="pango-attr-foreground-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>red</para></entry>
<entry role="parameter_description"><para>the red value (ranging from 0 to 65535)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>green</para></entry>
<entry role="parameter_description"><para>the green value</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blue</para></entry>
<entry role="parameter_description"><para>the blue value</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-foreground-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-background-new" role="function">
<title>pango_attr_background_new&#160;()</title>
<indexterm zone="pango-attr-background-new"><primary>pango_attr_background_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_background_new (<parameter><link linkend="guint16"><type>guint16</type></link> red</parameter>,
                           <parameter><link linkend="guint16"><type>guint16</type></link> green</parameter>,
                           <parameter><link linkend="guint16"><type>guint16</type></link> blue</parameter>);</programlisting>
<para>Create a new background color attribute.</para>
<refsect3 id="pango-attr-background-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>red</para></entry>
<entry role="parameter_description"><para>the red value (ranging from 0 to 65535)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>green</para></entry>
<entry role="parameter_description"><para>the green value</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blue</para></entry>
<entry role="parameter_description"><para>the blue value</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-background-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-strikethrough-new" role="function">
<title>pango_attr_strikethrough_new&#160;()</title>
<indexterm zone="pango-attr-strikethrough-new"><primary>pango_attr_strikethrough_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_strikethrough_new (<parameter><link linkend="gboolean"><type>gboolean</type></link> strikethrough</parameter>);</programlisting>
<para>Create a new strike-through attribute.</para>
<refsect3 id="pango-attr-strikethrough-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>strikethrough</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the text should be struck-through.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-strikethrough-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-strikethrough-color-new" role="function" condition="since:1.8">
<title>pango_attr_strikethrough_color_new&#160;()</title>
<indexterm zone="pango-attr-strikethrough-color-new" role="1.8"><primary>pango_attr_strikethrough_color_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_strikethrough_color_new (<parameter><link linkend="guint16"><type>guint16</type></link> red</parameter>,
                                    <parameter><link linkend="guint16"><type>guint16</type></link> green</parameter>,
                                    <parameter><link linkend="guint16"><type>guint16</type></link> blue</parameter>);</programlisting>
<para>Create a new strikethrough color attribute. This attribute
modifies the color of strikethrough lines. If not set, strikethrough
lines will use the foreground color.</para>
<refsect3 id="pango-attr-strikethrough-color-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>red</para></entry>
<entry role="parameter_description"><para>the red value (ranging from 0 to 65535)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>green</para></entry>
<entry role="parameter_description"><para>the green value</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blue</para></entry>
<entry role="parameter_description"><para>the blue value</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-strikethrough-color-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-attr-underline-new" role="function">
<title>pango_attr_underline_new&#160;()</title>
<indexterm zone="pango-attr-underline-new"><primary>pango_attr_underline_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_underline_new (<parameter><link linkend="PangoUnderline"><type>PangoUnderline</type></link> underline</parameter>);</programlisting>
<para>Create a new underline-style attribute.</para>
<refsect3 id="pango-attr-underline-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>underline</para></entry>
<entry role="parameter_description"><para>the underline style.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-underline-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-underline-color-new" role="function" condition="since:1.8">
<title>pango_attr_underline_color_new&#160;()</title>
<indexterm zone="pango-attr-underline-color-new" role="1.8"><primary>pango_attr_underline_color_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_underline_color_new (<parameter><link linkend="guint16"><type>guint16</type></link> red</parameter>,
                                <parameter><link linkend="guint16"><type>guint16</type></link> green</parameter>,
                                <parameter><link linkend="guint16"><type>guint16</type></link> blue</parameter>);</programlisting>
<para>Create a new underline color attribute. This attribute
modifies the color of underlines. If not set, underlines
will use the foreground color.</para>
<refsect3 id="pango-attr-underline-color-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>red</para></entry>
<entry role="parameter_description"><para>the red value (ranging from 0 to 65535)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>green</para></entry>
<entry role="parameter_description"><para>the green value</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>blue</para></entry>
<entry role="parameter_description"><para>the blue value</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-underline-color-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-attr-shape-new" role="function">
<title>pango_attr_shape_new&#160;()</title>
<indexterm zone="pango-attr-shape-new"><primary>pango_attr_shape_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_shape_new (<parameter>const <link linkend="PangoRectangle"><type>PangoRectangle</type></link> *ink_rect</parameter>,
                      <parameter>const <link linkend="PangoRectangle"><type>PangoRectangle</type></link> *logical_rect</parameter>);</programlisting>
<para>Create a new shape attribute. A shape is used to impose a
particular ink and logical rectangle on the result of shaping a
particular glyph. This might be used, for instance, for
embedding a picture or a widget inside a <link linkend="PangoLayout"><type>PangoLayout</type></link>.</para>
<refsect3 id="pango-attr-shape-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>ink_rect</para></entry>
<entry role="parameter_description"><para>ink rectangle to assign to each character</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>logical_rect</para></entry>
<entry role="parameter_description"><para>logical rectangle to assign to each character</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-shape-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-shape-new-with-data" role="function" condition="since:1.8">
<title>pango_attr_shape_new_with_data&#160;()</title>
<indexterm zone="pango-attr-shape-new-with-data" role="1.8"><primary>pango_attr_shape_new_with_data</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_shape_new_with_data (<parameter>const <link linkend="PangoRectangle"><type>PangoRectangle</type></link> *ink_rect</parameter>,
                                <parameter>const <link linkend="PangoRectangle"><type>PangoRectangle</type></link> *logical_rect</parameter>,
                                <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                <parameter><link linkend="PangoAttrDataCopyFunc"><type>PangoAttrDataCopyFunc</type></link> copy_func</parameter>,
                                <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy_func</parameter>);</programlisting>
<para>Like <link linkend="pango-attr-shape-new"><function>pango_attr_shape_new()</function></link>, but a user data pointer is also
provided; this pointer can be accessed when later
rendering the glyph.</para>
<refsect3 id="pango-attr-shape-new-with-data.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>ink_rect</para></entry>
<entry role="parameter_description"><para>ink rectangle to assign to each character</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>logical_rect</para></entry>
<entry role="parameter_description"><para>logical rectangle to assign to each character</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data pointer</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>copy_func</para></entry>
<entry role="parameter_description"><para>function to copy <parameter>data</parameter>
when the
attribute is copied. If <link linkend="NULL:CAPS"><literal>NULL</literal></link>, <parameter>data</parameter>
is simply
copied as a pointer. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>destroy_func</para></entry>
<entry role="parameter_description"><para>function to free <parameter>data</parameter>
when the
attribute is freed, 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-attr-shape-new-with-data.returns" role="returns">
<title>Returns</title>
<para> the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>, which should be
freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="PangoAttrDataCopyFunc" role="function">
<title>PangoAttrDataCopyFunc&#160;()</title>
<indexterm zone="PangoAttrDataCopyFunc"><primary>PangoAttrDataCopyFunc</primary></indexterm>
<programlisting language="C"><link linkend="gpointer"><returnvalue>gpointer</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*PangoAttrDataCopyFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="gconstpointer"><type>gconstpointer</type></link> user_data</parameter>);</programlisting>
<para>Type of a function that can duplicate user data for an attribute.</para>
<refsect3 id="PangoAttrDataCopyFunc.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>user_data</para></entry>
<entry role="parameter_description"><para>user data to copy</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="PangoAttrDataCopyFunc.returns" role="returns">
<title>Returns</title>
<para> new copy of <parameter>user_data</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="pango-attr-scale-new" role="function">
<title>pango_attr_scale_new&#160;()</title>
<indexterm zone="pango-attr-scale-new"><primary>pango_attr_scale_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_scale_new (<parameter><link linkend="double"><type>double</type></link> scale_factor</parameter>);</programlisting>
<para>Create a new font size scale attribute. The base font for the
affected text will have its size multiplied by <parameter>scale_factor</parameter>
.</para>
<refsect3 id="pango-attr-scale-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>scale_factor</para></entry>
<entry role="parameter_description"><para>factor to scale the font</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-scale-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-rise-new" role="function">
<title>pango_attr_rise_new&#160;()</title>
<indexterm zone="pango-attr-rise-new"><primary>pango_attr_rise_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_rise_new (<parameter><link linkend="int"><type>int</type></link> rise</parameter>);</programlisting>
<para>Create a new baseline displacement attribute.</para>
<refsect3 id="pango-attr-rise-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>rise</para></entry>
<entry role="parameter_description"><para>the amount that the text should be displaced vertically,
in Pango units. Positive values displace the text upwards.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-rise-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-letter-spacing-new" role="function" condition="since:1.6">
<title>pango_attr_letter_spacing_new&#160;()</title>
<indexterm zone="pango-attr-letter-spacing-new" role="1.6"><primary>pango_attr_letter_spacing_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_letter_spacing_new (<parameter><link linkend="int"><type>int</type></link> letter_spacing</parameter>);</programlisting>
<para>Create a new letter-spacing attribute.</para>
<refsect3 id="pango-attr-letter-spacing-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>letter_spacing</para></entry>
<entry role="parameter_description"><para>amount of extra space to add between graphemes
of the text, in Pango units.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-letter-spacing-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2>
<refsect2 id="pango-attr-fallback-new" role="function" condition="since:1.4">
<title>pango_attr_fallback_new&#160;()</title>
<indexterm zone="pango-attr-fallback-new" role="1.4"><primary>pango_attr_fallback_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_fallback_new (<parameter><link linkend="gboolean"><type>gboolean</type></link> enable_fallback</parameter>);</programlisting>
<para>Create a new font fallback attribute.</para>
<para>If fallback is disabled, characters will only be used from the
closest matching font on the system. No fallback will be done to
other fonts on the system that might contain the characters in the
text.</para>
<refsect3 id="pango-attr-fallback-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>enable_fallback</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if we should fall back on other fonts
for characters the active font is missing.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-fallback-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-attr-gravity-new" role="function" condition="since:1.16">
<title>pango_attr_gravity_new&#160;()</title>
<indexterm zone="pango-attr-gravity-new" role="1.16"><primary>pango_attr_gravity_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_gravity_new (<parameter><link linkend="PangoGravity"><type>PangoGravity</type></link> gravity</parameter>);</programlisting>
<para>Create a new gravity attribute.</para>
<refsect3 id="pango-attr-gravity-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>gravity</para></entry>
<entry role="parameter_description"><para>the gravity value; should not be <link linkend="PANGO-GRAVITY-AUTO:CAPS"><literal>PANGO_GRAVITY_AUTO</literal></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-gravity-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2>
<refsect2 id="pango-attr-gravity-hint-new" role="function" condition="since:1.16">
<title>pango_attr_gravity_hint_new&#160;()</title>
<indexterm zone="pango-attr-gravity-hint-new" role="1.16"><primary>pango_attr_gravity_hint_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_gravity_hint_new (<parameter><link linkend="PangoGravityHint"><type>PangoGravityHint</type></link> hint</parameter>);</programlisting>
<para>Create a new gravity hint attribute.</para>
<refsect3 id="pango-attr-gravity-hint-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>hint</para></entry>
<entry role="parameter_description"><para>the gravity hint value.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-gravity-hint-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2>
<refsect2 id="pango-attr-font-features-new" role="function" condition="since:1.38">
<title>pango_attr_font_features_new&#160;()</title>
<indexterm zone="pango-attr-font-features-new" role="1.38"><primary>pango_attr_font_features_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_font_features_new (<parameter>const <link linkend="gchar"><type>gchar</type></link> *features</parameter>);</programlisting>
<para>Create a new font features tag attribute.</para>
<refsect3 id="pango-attr-font-features-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>features</para></entry>
<entry role="parameter_description"><para>a string with OpenType font features, in CSS syntax</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-font-features-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.38">1.38</link></para></refsect2>
<refsect2 id="pango-attr-foreground-alpha-new" role="function" condition="since:1.38">
<title>pango_attr_foreground_alpha_new&#160;()</title>
<indexterm zone="pango-attr-foreground-alpha-new" role="1.38"><primary>pango_attr_foreground_alpha_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_foreground_alpha_new (<parameter><link linkend="guint16"><type>guint16</type></link> alpha</parameter>);</programlisting>
<para>Create a new foreground alpha attribute.</para>
<refsect3 id="pango-attr-foreground-alpha-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>alpha</para></entry>
<entry role="parameter_description"><para>the alpha value, between 1 and 65536</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-foreground-alpha-new.returns" role="returns">
<title>Returns</title>
<para>the new allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.38">1.38</link></para></refsect2>
<refsect2 id="pango-attr-background-alpha-new" role="function" condition="since:1.38">
<title>pango_attr_background_alpha_new&#160;()</title>
<indexterm zone="pango-attr-background-alpha-new" role="1.38"><primary>pango_attr_background_alpha_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_background_alpha_new (<parameter><link linkend="guint16"><type>guint16</type></link> alpha</parameter>);</programlisting>
<para>Create a new background alpha attribute.</para>
<refsect3 id="pango-attr-background-alpha-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>alpha</para></entry>
<entry role="parameter_description"><para>the alpha value, between 1 and 65536</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-background-alpha-new.returns" role="returns">
<title>Returns</title>
<para>the new allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.38">1.38</link></para></refsect2>
<refsect2 id="pango-attr-allow-breaks-new" role="function" condition="since:1.44">
<title>pango_attr_allow_breaks_new&#160;()</title>
<indexterm zone="pango-attr-allow-breaks-new" role="1.44"><primary>pango_attr_allow_breaks_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_allow_breaks_new (<parameter><link linkend="gboolean"><type>gboolean</type></link> allow_breaks</parameter>);</programlisting>
<para>Create a new allow-breaks attribute.</para>
<para>If breaks are disabled, the range will be kept in a
single run, as far as possible.</para>
<refsect3 id="pango-attr-allow-breaks-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>allow_breaks</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if we line breaks are allowed</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-allow-breaks-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-attr-insert-hyphens-new" role="function" condition="since:1.44">
<title>pango_attr_insert_hyphens_new&#160;()</title>
<indexterm zone="pango-attr-insert-hyphens-new" role="1.44"><primary>pango_attr_insert_hyphens_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_insert_hyphens_new (<parameter><link linkend="gboolean"><type>gboolean</type></link> insert_hyphens</parameter>);</programlisting>
<para>Create a new insert-hyphens attribute.</para>
<para>Pango will insert hyphens when breaking lines in the middle
of a word. This attribute can be used to suppress the hyphen.</para>
<refsect3 id="pango-attr-insert-hyphens-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>insert_hyphens</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if hyphens should be inserted</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-insert-hyphens-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-attr-show-new" role="function" condition="since:1.44">
<title>pango_attr_show_new&#160;()</title>
<indexterm zone="pango-attr-show-new" role="1.44"><primary>pango_attr_show_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_show_new (<parameter><link linkend="PangoShowFlags"><type>PangoShowFlags</type></link> flags</parameter>);</programlisting>
<para>Create a new attribute that influences how invisible
characters are rendered.</para>
<refsect3 id="pango-attr-show-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>flags</para></entry>
<entry role="parameter_description"><para><link linkend="PangoShowFlags"><type>PangoShowFlags</type></link> to apply</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-show-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttribute"><type>PangoAttribute</type></link>,
which should be freed with <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-color-parse" role="function">
<title>pango_color_parse&#160;()</title>
<indexterm zone="pango-color-parse"><primary>pango_color_parse</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_color_parse (<parameter><link linkend="PangoColor"><type>PangoColor</type></link> *color</parameter>,
                   <parameter>const <link linkend="char"><type>char</type></link> *spec</parameter>);</programlisting>
<para>Fill in the fields of a color from a string specification. The
string can either one of a large set of standard names. (Taken
from the CSS <ulink url="http://dev.w3.org/csswg/css-color/#named-colors">specification</ulink>), or it can be a hexadecimal
value in the
form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or '&num;rrrrggggbbbb' where
'r', 'g' and 'b' are hex digits of the red, green, and blue
components of the color, respectively. (White in the four
forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and '&num;ffffffffffff')</para>
<refsect3 id="pango-color-parse.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>color</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoColor"><type>PangoColor</type></link> structure in which to store the
result, 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>spec</para></entry>
<entry role="parameter_description"><para>a string specifying the new color</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-color-parse.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if parsing of the specifier succeeded,
otherwise false.</para>
</refsect3></refsect2>
<refsect2 id="pango-color-copy" role="function">
<title>pango_color_copy&#160;()</title>
<indexterm zone="pango-color-copy"><primary>pango_color_copy</primary></indexterm>
<programlisting language="C"><link linkend="PangoColor"><returnvalue>PangoColor</returnvalue></link>&#160;*
pango_color_copy (<parameter>const <link linkend="PangoColor"><type>PangoColor</type></link> *src</parameter>);</programlisting>
<para>Creates a copy of <parameter>src</parameter>
, which should be freed with
<link linkend="pango-color-free"><function>pango_color_free()</function></link>. Primarily used by language bindings,
not that useful otherwise (since colors can just be copied
by assignment in C).</para>
<refsect3 id="pango-color-copy.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>src</para></entry>
<entry role="parameter_description"><para>color to copy, may be <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-color-copy.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoColor"><type>PangoColor</type></link>, which
should be freed with <link linkend="pango-color-free"><function>pango_color_free()</function></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if
<parameter>src</parameter>
was <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-color-free" role="function">
<title>pango_color_free&#160;()</title>
<indexterm zone="pango-color-free"><primary>pango_color_free</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_color_free (<parameter><link linkend="PangoColor"><type>PangoColor</type></link> *color</parameter>);</programlisting>
<para>Frees a color allocated by <link linkend="pango-color-copy"><function>pango_color_copy()</function></link>.</para>
<refsect3 id="pango-color-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>color</para></entry>
<entry role="parameter_description"><para>an allocated <link linkend="PangoColor"><type>PangoColor</type></link>, may be <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></refsect2>
<refsect2 id="pango-color-to-string" role="function" condition="since:1.16">
<title>pango_color_to_string&#160;()</title>
<indexterm zone="pango-color-to-string" role="1.16"><primary>pango_color_to_string</primary></indexterm>
<programlisting language="C"><link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
pango_color_to_string (<parameter>const <link linkend="PangoColor"><type>PangoColor</type></link> *color</parameter>);</programlisting>
<para>Returns a textual specification of <parameter>color</parameter>
 in the hexadecimal form
<literal>&num;rrrrggggbbbb</literal>, where <literal>r</literal>,
<literal>g</literal> and <literal>b</literal> are hex digits representing
the red, green, and blue components respectively.</para>
<refsect3 id="pango-color-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>color</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoColor"><type>PangoColor</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-color-to-string.returns" role="returns">
<title>Returns</title>
<para> a newly-allocated text string that must be freed with <link linkend="g-free"><function>g_free()</function></link>.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2>
<refsect2 id="pango-attr-list-new" role="function">
<title>pango_attr_list_new&#160;()</title>
<indexterm zone="pango-attr-list-new"><primary>pango_attr_list_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
pango_attr_list_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Create a new empty attribute list with a reference count of one.</para>
<refsect3 id="pango-attr-list-new.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttrList"><type>PangoAttrList</type></link>,
which should be freed with <link linkend="pango-attr-list-unref"><function>pango_attr_list_unref()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-ref" role="function" condition="since:1.10">
<title>pango_attr_list_ref&#160;()</title>
<indexterm zone="pango-attr-list-ref" role="1.10"><primary>pango_attr_list_ref</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
pango_attr_list_ref (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>);</programlisting>
<para>Increase the reference count of the given attribute list by one.</para>
<refsect3 id="pango-attr-list-ref.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link>, may be <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-attr-list-ref.returns" role="returns">
<title>Returns</title>
<para> The attribute list passed in</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2>
<refsect2 id="pango-attr-list-unref" role="function">
<title>pango_attr_list_unref&#160;()</title>
<indexterm zone="pango-attr-list-unref"><primary>pango_attr_list_unref</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_list_unref (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>);</programlisting>
<para>Decrease the reference count of the given attribute list by one.
If the result is zero, free the attribute list and the attributes
it contains.</para>
<refsect3 id="pango-attr-list-unref.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link>, may be <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></refsect2>
<refsect2 id="pango-attr-list-copy" role="function">
<title>pango_attr_list_copy&#160;()</title>
<indexterm zone="pango-attr-list-copy"><primary>pango_attr_list_copy</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
pango_attr_list_copy (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>);</programlisting>
<para>Copy <parameter>list</parameter>
 and return an identical new list.</para>
<refsect3 id="pango-attr-list-copy.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link>, may be <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-attr-list-copy.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttrList"><type>PangoAttrList</type></link>, with a
reference count of one, which should
be freed with <link linkend="pango-attr-list-unref"><function>pango_attr_list_unref()</function></link>.
Returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>list</parameter>
was <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-insert" role="function">
<title>pango_attr_list_insert&#160;()</title>
<indexterm zone="pango-attr-list-insert"><primary>pango_attr_list_insert</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_list_insert (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>,
                        <parameter><link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr</parameter>);</programlisting>
<para>Insert the given attribute into the <link linkend="PangoAttrList"><type>PangoAttrList</type></link>. It will
be inserted after all other attributes with a matching
<parameter>start_index</parameter>
.</para>
<refsect3 id="pango-attr-list-insert.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attr</para></entry>
<entry role="parameter_description"><para>the attribute to insert. Ownership of this
value is assumed by the list. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-insert-before" role="function">
<title>pango_attr_list_insert_before&#160;()</title>
<indexterm zone="pango-attr-list-insert-before"><primary>pango_attr_list_insert_before</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_list_insert_before (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>,
                               <parameter><link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr</parameter>);</programlisting>
<para>Insert the given attribute into the <link linkend="PangoAttrList"><type>PangoAttrList</type></link>. It will
be inserted before all other attributes with a matching
<parameter>start_index</parameter>
.</para>
<refsect3 id="pango-attr-list-insert-before.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attr</para></entry>
<entry role="parameter_description"><para>the attribute to insert. Ownership of this
value is assumed by the list. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-change" role="function">
<title>pango_attr_list_change&#160;()</title>
<indexterm zone="pango-attr-list-change"><primary>pango_attr_list_change</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_list_change (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>,
                        <parameter><link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attr</parameter>);</programlisting>
<para>Insert the given attribute into the <link linkend="PangoAttrList"><type>PangoAttrList</type></link>. It will
replace any attributes of the same type on that segment
and be merged with any adjoining attributes that are identical.</para>
<para>This function is slower than <link linkend="pango-attr-list-insert"><function>pango_attr_list_insert()</function></link> for
creating a attribute list in order (potentially much slower
for large lists). However, <link linkend="pango-attr-list-insert"><function>pango_attr_list_insert()</function></link> is not
suitable for continually changing a set of attributes
since it never removes or combines existing attributes.</para>
<refsect3 id="pango-attr-list-change.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attr</para></entry>
<entry role="parameter_description"><para>the attribute to insert. Ownership of this
value is assumed by the list. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-splice" role="function">
<title>pango_attr_list_splice&#160;()</title>
<indexterm zone="pango-attr-list-splice"><primary>pango_attr_list_splice</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_list_splice (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>,
                        <parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *other</parameter>,
                        <parameter><link linkend="gint"><type>gint</type></link> pos</parameter>,
                        <parameter><link linkend="gint"><type>gint</type></link> len</parameter>);</programlisting>
<para>This function opens up a hole in <parameter>list</parameter>
, fills it in with attributes from
the left, and then merges <parameter>other</parameter>
 on top of the hole.</para>
<para>This operation is equivalent to stretching every attribute
that applies at position <parameter>pos</parameter>
 in <parameter>list</parameter>
 by an amount <parameter>len</parameter>
,
and then calling <link linkend="pango-attr-list-change"><function>pango_attr_list_change()</function></link> with a copy
of each attribute in <parameter>other</parameter>
 in sequence (offset in position by <parameter>pos</parameter>
).</para>
<para>This operation proves useful for, for instance, inserting
a pre-edit string in the middle of an edit buffer.</para>
<refsect3 id="pango-attr-list-splice.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>other</para></entry>
<entry role="parameter_description"><para>another <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>pos</para></entry>
<entry role="parameter_description"><para>the position in <parameter>list</parameter>
at which to insert <parameter>other</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>len</para></entry>
<entry role="parameter_description"><para>the length of the spliced segment. (Note that this
must be specified since the attributes in <parameter>other</parameter>
may only be present at some subsection of this range)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-filter" role="function" condition="since:1.2">
<title>pango_attr_list_filter&#160;()</title>
<indexterm zone="pango-attr-list-filter" role="1.2"><primary>pango_attr_list_filter</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrList"><returnvalue>PangoAttrList</returnvalue></link>&#160;*
pango_attr_list_filter (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>,
                        <parameter><link linkend="PangoAttrFilterFunc"><type>PangoAttrFilterFunc</type></link> func</parameter>,
                        <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Given a <link linkend="PangoAttrList"><type>PangoAttrList</type></link> and callback function, removes any elements
of <parameter>list</parameter>
 for which <parameter>func</parameter>
 returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> and inserts them into
a new list.</para>
<refsect3 id="pango-attr-list-filter.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>callback function; returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>
if an attribute should be filtered out. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>scope call</acronym>][<acronym>closure</acronym> data]</emphasis></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>Data to be passed to <parameter>func</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-list-filter.returns" role="returns">
<title>Returns</title>
<para>the new <link linkend="PangoAttrList"><type>PangoAttrList</type></link> or
<link linkend="NULL:CAPS"><literal>NULL</literal></link> if no attributes of the given types were found. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-attr-list-update" role="function" condition="since:1.44">
<title>pango_attr_list_update&#160;()</title>
<indexterm zone="pango-attr-list-update" role="1.44"><primary>pango_attr_list_update</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_list_update (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>,
                        <parameter><link linkend="int"><type>int</type></link> pos</parameter>,
                        <parameter><link linkend="int"><type>int</type></link> remove</parameter>,
                        <parameter><link linkend="int"><type>int</type></link> add</parameter>);</programlisting>
<para>Update indices of attributes in <parameter>list</parameter>
 for
a change in the text they refer to.</para>
<para>The change that this function applies is
removing <parameter>remove</parameter>
 bytes at position <parameter>pos</parameter>

and inserting <parameter>add</parameter>
 bytes instead.</para>
<para>Attributes that fall entirely in the
(<parameter>pos</parameter>
, <parameter>pos</parameter>
 + <parameter>remove</parameter>
) range are removed.</para>
<para>Attributes that start or end inside the
(<parameter>pos</parameter>
, <parameter>pos</parameter>
 + <parameter>remove</parameter>
) range are shortened to
reflect the removal.</para>
<para>Attributes start and end positions are updated
if they are behind <parameter>pos</parameter>
 + <parameter>remove</parameter>
.</para>
<refsect3 id="pango-attr-list-update.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>pos</para></entry>
<entry role="parameter_description"><para>the position of the change</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>remove</para></entry>
<entry role="parameter_description"><para>the number of removed bytes</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>add</para></entry>
<entry role="parameter_description"><para>the number of added bytes</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="PangoAttrFilterFunc" role="function">
<title>PangoAttrFilterFunc&#160;()</title>
<indexterm zone="PangoAttrFilterFunc"><primary>PangoAttrFilterFunc</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*PangoAttrFilterFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="PangoAttribute"><type>PangoAttribute</type></link> *attribute</parameter>,
                        <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
<para>Type of a function filtering a list of attributes.</para>
<refsect3 id="PangoAttrFilterFunc.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>attribute</para></entry>
<entry role="parameter_description"><para>a Pango attribute</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>user data passed to the function</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="PangoAttrFilterFunc.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the attribute should be selected for
filtering, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para>
</refsect3></refsect2>
<refsect2 id="pango-attr-list-get-attributes" role="function" condition="since:1.44">
<title>pango_attr_list_get_attributes&#160;()</title>
<indexterm zone="pango-attr-list-get-attributes" role="1.44"><primary>pango_attr_list_get_attributes</primary></indexterm>
<programlisting language="C"><link linkend="GSList"><returnvalue>GSList</returnvalue></link>&#160;*
pango_attr_list_get_attributes (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>);</programlisting>
<para>Gets a list of all attributes in <parameter>list</parameter>
.</para>
<refsect3 id="pango-attr-list-get-attributes.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-list-get-attributes.returns" role="returns">
<title>Returns</title>
<para>a list of all attributes in <parameter>list</parameter>
. To free this value, call
<link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link> on each value and <link linkend="g-slist-free"><function>g_slist_free()</function></link>
on the list. </para>
<para><emphasis role="annotation">[<acronym>element-type</acronym> Pango.Attribute][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-attr-list-get-iterator" role="function">
<title>pango_attr_list_get_iterator&#160;()</title>
<indexterm zone="pango-attr-list-get-iterator"><primary>pango_attr_list_get_iterator</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrIterator"><returnvalue>PangoAttrIterator</returnvalue></link>&#160;*
pango_attr_list_get_iterator (<parameter><link linkend="PangoAttrList"><type>PangoAttrList</type></link> *list</parameter>);</programlisting>
<para>Create a iterator initialized to the beginning of the list.
<parameter>list</parameter>
 must not be modified until this iterator is freed.</para>
<refsect3 id="pango-attr-list-get-iterator.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>list</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrList"><type>PangoAttrList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-list-get-iterator.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link>, which should
be freed with <link linkend="pango-attr-iterator-destroy"><function>pango_attr_iterator_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-iterator-copy" role="function">
<title>pango_attr_iterator_copy&#160;()</title>
<indexterm zone="pango-attr-iterator-copy"><primary>pango_attr_iterator_copy</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttrIterator"><returnvalue>PangoAttrIterator</returnvalue></link>&#160;*
pango_attr_iterator_copy (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>);</programlisting>
<para>Copy a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link></para>
<refsect3 id="pango-attr-iterator-copy.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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-iterator-copy.returns" role="returns">
<title>Returns</title>
<para>the newly allocated
<link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link>, which should be freed with
<link linkend="pango-attr-iterator-destroy"><function>pango_attr_iterator_destroy()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-iterator-next" role="function">
<title>pango_attr_iterator_next&#160;()</title>
<indexterm zone="pango-attr-iterator-next"><primary>pango_attr_iterator_next</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_attr_iterator_next (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>);</programlisting>
<para>Advance the iterator until the next change of style.</para>
<refsect3 id="pango-attr-iterator-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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-iterator-next.returns" role="returns">
<title>Returns</title>
<para> <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if the iterator is at the end of the list, otherwise <link linkend="TRUE:CAPS"><literal>TRUE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-iterator-range" role="function">
<title>pango_attr_iterator_range&#160;()</title>
<indexterm zone="pango-attr-iterator-range"><primary>pango_attr_iterator_range</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_iterator_range (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>,
                           <parameter><link linkend="gint"><type>gint</type></link> *start</parameter>,
                           <parameter><link linkend="gint"><type>gint</type></link> *end</parameter>);</programlisting>
<para>Get the range of the current segment. Note that the
stored return values are signed, not unsigned like
the values in <link linkend="PangoAttribute"><type>PangoAttribute</type></link>. To deal with this API
oversight, stored return values that wouldn't fit into
a signed integer are clamped to <link linkend="G-MAXINT:CAPS"><literal>G_MAXINT</literal></link>.</para>
<refsect3 id="pango-attr-iterator-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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</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 the start of the range. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>end</para></entry>
<entry role="parameter_description"><para>location to store the end of the range. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-iterator-get" role="function">
<title>pango_attr_iterator_get&#160;()</title>
<indexterm zone="pango-attr-iterator-get"><primary>pango_attr_iterator_get</primary></indexterm>
<programlisting language="C"><link linkend="PangoAttribute"><returnvalue>PangoAttribute</returnvalue></link>&#160;*
pango_attr_iterator_get (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>,
                         <parameter><link linkend="PangoAttrType"><type>PangoAttrType</type></link> type</parameter>);</programlisting>
<para>Find the current attribute of a particular type at the iterator
location. When multiple attributes of the same type overlap,
the attribute whose range starts closest to the current location
is used.</para>
<refsect3 id="pango-attr-iterator-get.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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>type</para></entry>
<entry role="parameter_description"><para>the type of attribute to find.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-iterator-get.returns" role="returns">
<title>Returns</title>
<para>the current attribute of the given type,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no attribute of that type applies to the
current location. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-attr-iterator-get-font" role="function">
<title>pango_attr_iterator_get_font&#160;()</title>
<indexterm zone="pango-attr-iterator-get-font"><primary>pango_attr_iterator_get_font</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_iterator_get_font (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>,
                              <parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                              <parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> **language</parameter>,
                              <parameter><link linkend="GSList"><type>GSList</type></link> **extra_attrs</parameter>);</programlisting>
<para>Get the font and other attributes at the current iterator position.</para>
<refsect3 id="pango-attr-iterator-get-font.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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>desc</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> to fill in with the current values.
The family name in this structure will be set using
<link linkend="pango-font-description-set-family-static"><function>pango_font_description_set_family_static()</function></link> using values from
an attribute in the <link linkend="PangoAttrList"><type>PangoAttrList</type></link> associated with the iterator,
so if you plan to keep it around, you must call:
<literal>pango_font_description_set_family (desc, pango_font_description_get_family (desc))</literal>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>if non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>, location to store language tag for item, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
if none is found. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>extra_attrs</para></entry>
<entry role="parameter_description"><para>if non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>,
location in which to store a list of non-font
attributes at the the current position; only the highest priority
value of each attribute will be added to this list. In order
to free this value, you must call <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link> on
each member. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>][<acronym>element-type</acronym> Pango.Attribute][<acronym>transfer full</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-attr-iterator-get-attrs" role="function" condition="since:1.2">
<title>pango_attr_iterator_get_attrs&#160;()</title>
<indexterm zone="pango-attr-iterator-get-attrs" role="1.2"><primary>pango_attr_iterator_get_attrs</primary></indexterm>
<programlisting language="C"><link linkend="GSList"><returnvalue>GSList</returnvalue></link>&#160;*
pango_attr_iterator_get_attrs (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>);</programlisting>
<para>Gets a list of all attributes at the current position of the
iterator.</para>
<refsect3 id="pango-attr-iterator-get-attrs.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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-attr-iterator-get-attrs.returns" role="returns">
<title>Returns</title>
<para>a list of
all attributes for the current range.
To free this value, call <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link> on
each value and <link linkend="g-slist-free"><function>g_slist_free()</function></link> on the list. </para>
<para><emphasis role="annotation">[<acronym>element-type</acronym> Pango.Attribute][<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-attr-iterator-destroy" role="function">
<title>pango_attr_iterator_destroy&#160;()</title>
<indexterm zone="pango-attr-iterator-destroy"><primary>pango_attr_iterator_destroy</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_attr_iterator_destroy (<parameter><link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> *iterator</parameter>);</programlisting>
<para>Destroy a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> and free all associated memory.</para>
<refsect3 id="pango-attr-iterator-destroy.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>iterator</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="pango-Text-Attributes.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="PangoAttrType" role="enum">
<title>enum PangoAttrType</title>
<indexterm zone="PangoAttrType"><primary>PangoAttrType</primary></indexterm>
<para>The <link linkend="PangoAttrType"><type>PangoAttrType</type></link>
distinguishes between different types of attributes. Along with the
predefined values, it is possible to allocate additional values
for custom attributes using <link linkend="pango-attr-type-register"><function>pango_attr_type_register()</function></link>. The predefined
values are given below. The type of structure used to store the
attribute is listed in parentheses after the description.</para>
<refsect3 id="PangoAttrType.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-ATTR-INVALID:CAPS">PANGO_ATTR_INVALID</para></entry>
<entry role="enum_member_description"><para>does not happen</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-LANGUAGE:CAPS">PANGO_ATTR_LANGUAGE</para></entry>
<entry role="enum_member_description"><para>language (<link linkend="PangoAttrLanguage"><type>PangoAttrLanguage</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-FAMILY:CAPS">PANGO_ATTR_FAMILY</para></entry>
<entry role="enum_member_description"><para>font family name list (<link linkend="PangoAttrString"><type>PangoAttrString</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-STYLE:CAPS">PANGO_ATTR_STYLE</para></entry>
<entry role="enum_member_description"><para>font slant style (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-WEIGHT:CAPS">PANGO_ATTR_WEIGHT</para></entry>
<entry role="enum_member_description"><para>font weight (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-VARIANT:CAPS">PANGO_ATTR_VARIANT</para></entry>
<entry role="enum_member_description"><para>font variant (normal or small caps) (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-STRETCH:CAPS">PANGO_ATTR_STRETCH</para></entry>
<entry role="enum_member_description"><para>font stretch (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-SIZE:CAPS">PANGO_ATTR_SIZE</para></entry>
<entry role="enum_member_description"><para>font size in points scaled by <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-FONT-DESC:CAPS">PANGO_ATTR_FONT_DESC</para></entry>
<entry role="enum_member_description"><para>font description (<link linkend="PangoAttrFontDesc"><type>PangoAttrFontDesc</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-FOREGROUND:CAPS">PANGO_ATTR_FOREGROUND</para></entry>
<entry role="enum_member_description"><para>foreground color (<link linkend="PangoAttrColor"><type>PangoAttrColor</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-BACKGROUND:CAPS">PANGO_ATTR_BACKGROUND</para></entry>
<entry role="enum_member_description"><para>background color (<link linkend="PangoAttrColor"><type>PangoAttrColor</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-UNDERLINE:CAPS">PANGO_ATTR_UNDERLINE</para></entry>
<entry role="enum_member_description"><para>whether the text has an underline (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-STRIKETHROUGH:CAPS">PANGO_ATTR_STRIKETHROUGH</para></entry>
<entry role="enum_member_description"><para>whether the text is struck-through (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-RISE:CAPS">PANGO_ATTR_RISE</para></entry>
<entry role="enum_member_description"><para>baseline displacement (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-SHAPE:CAPS">PANGO_ATTR_SHAPE</para></entry>
<entry role="enum_member_description"><para>shape (<link linkend="PangoAttrShape"><type>PangoAttrShape</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-SCALE:CAPS">PANGO_ATTR_SCALE</para></entry>
<entry role="enum_member_description"><para>font size scale factor (<link linkend="PangoAttrFloat"><type>PangoAttrFloat</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-FALLBACK:CAPS">PANGO_ATTR_FALLBACK</para></entry>
<entry role="enum_member_description"><para>whether fallback is enabled (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-LETTER-SPACING:CAPS">PANGO_ATTR_LETTER_SPACING</para></entry>
<entry role="enum_member_description"><para>letter spacing (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-UNDERLINE-COLOR:CAPS">PANGO_ATTR_UNDERLINE_COLOR</para></entry>
<entry role="enum_member_description"><para>underline color (<link linkend="PangoAttrColor"><type>PangoAttrColor</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-STRIKETHROUGH-COLOR:CAPS">PANGO_ATTR_STRIKETHROUGH_COLOR</para></entry>
<entry role="enum_member_description"><para>strikethrough color (<link linkend="PangoAttrColor"><type>PangoAttrColor</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-ABSOLUTE-SIZE:CAPS">PANGO_ATTR_ABSOLUTE_SIZE</para></entry>
<entry role="enum_member_description"><para>font size in pixels scaled by <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-GRAVITY:CAPS">PANGO_ATTR_GRAVITY</para></entry>
<entry role="enum_member_description"><para>base text gravity (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-GRAVITY-HINT:CAPS">PANGO_ATTR_GRAVITY_HINT</para></entry>
<entry role="enum_member_description"><para>gravity hint (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-FONT-FEATURES:CAPS">PANGO_ATTR_FONT_FEATURES</para></entry>
<entry role="enum_member_description"><para>OpenType font features (<link linkend="PangoAttrString"><type>PangoAttrString</type></link>). Since 1.38</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-FOREGROUND-ALPHA:CAPS">PANGO_ATTR_FOREGROUND_ALPHA</para></entry>
<entry role="enum_member_description"><para>foreground alpha (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>). Since 1.38</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-BACKGROUND-ALPHA:CAPS">PANGO_ATTR_BACKGROUND_ALPHA</para></entry>
<entry role="enum_member_description"><para>background alpha (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>). Since 1.38</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-ALLOW-BREAKS:CAPS">PANGO_ATTR_ALLOW_BREAKS</para></entry>
<entry role="enum_member_description"><para>whether breaks are allowed (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>). Since 1.44</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-SHOW:CAPS">PANGO_ATTR_SHOW</para></entry>
<entry role="enum_member_description"><para>how to render invisible characters (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>). Since 1.44</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-ATTR-INSERT-HYPHENS:CAPS">PANGO_ATTR_INSERT_HYPHENS</para></entry>
<entry role="enum_member_description"><para>whether to insert hyphens at intra-word line breaks (<link linkend="PangoAttrInt"><type>PangoAttrInt</type></link>). Since 1.44</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PANGO-TYPE-ATTR-TYPE:CAPS" role="macro">
<title>PANGO_TYPE_ATTR_TYPE</title>
<indexterm zone="PANGO-TYPE-ATTR-TYPE:CAPS"><primary>PANGO_TYPE_ATTR_TYPE</primary></indexterm>
<programlisting language="C">#define PANGO_TYPE_ATTR_TYPE (pango_attr_type_get_type ())
</programlisting>
</refsect2>
<refsect2 id="PangoAttrClass" role="struct">
<title>struct PangoAttrClass</title>
<indexterm zone="PangoAttrClass"><primary>PangoAttrClass</primary></indexterm>
<programlisting language="C">struct PangoAttrClass {
  PangoAttrType type;
  PangoAttribute * (*copy) (const PangoAttribute *attr);
  void             (*destroy) (PangoAttribute *attr);
  gboolean         (*equal) (const PangoAttribute *attr1, const PangoAttribute *attr2);
};
</programlisting>
<para>The <link linkend="PangoAttrClass"><type>PangoAttrClass</type></link> structure stores the type and operations for
a particular type of attribute. The functions in this structure should
not be called directly. Instead, one should use the wrapper functions
provided for <link linkend="PangoAttribute"><type>PangoAttribute</type></link>.</para>
<refsect3 id="PangoAttrClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttrType"><type>PangoAttrType</type></link>&#160;<structfield id="PangoAttrClass.type">type</structfield>;</para></entry>
<entry role="struct_member_description"><para>the type ID for this attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoAttrClass.copy">copy</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>function to duplicate an attribute of this type (see <link linkend="pango-attribute-copy"><function>pango_attribute_copy()</function></link>)</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoAttrClass.destroy">destroy</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>function to free an attribute of this type (see <link linkend="pango-attribute-destroy"><function>pango_attribute_destroy()</function></link>)</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoAttrClass.equal">equal</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>function to check two attributes of this type for equality (see <link linkend="pango-attribute-equal"><function>pango_attribute_equal()</function></link>)</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttribute-struct" role="struct">
<title>struct PangoAttribute</title>
<indexterm zone="PangoAttribute-struct"><primary>PangoAttribute</primary></indexterm>
<programlisting language="C">struct PangoAttribute {
  const PangoAttrClass *klass;
  guint start_index;&#160;/* in bytes */
  guint end_index;&#160;/* in bytes. The character at this index is not included */
};
</programlisting>
<para>The <link linkend="PangoAttribute"><type>PangoAttribute</type></link> structure represents the common portions of all
attributes. Particular types of attributes include this structure
as their initial portion. The common portion of the attribute holds
the range to which the value in the type-specific part of the attribute
applies and should be initialized using <link linkend="pango-attribute-init"><function>pango_attribute_init()</function></link>.
By default an attribute will have an all-inclusive range of [0,<link linkend="G-MAXUINT:CAPS"><literal>G_MAXUINT</literal></link>].</para>
<refsect3 id="PangoAttribute.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para>const&#160;<link linkend="PangoAttrClass"><type>PangoAttrClass</type></link>&#160;*<structfield id="PangoAttribute-struct.klass">klass</structfield>;</para></entry>
<entry role="struct_member_description"><para>the class structure holding information about the type of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="guint"><type>guint</type></link>&#160;<structfield id="PangoAttribute-struct.start-index">start_index</structfield>;</para></entry>
<entry role="struct_member_description"><para>the start index of the range (in bytes).</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="guint"><type>guint</type></link>&#160;<structfield id="PangoAttribute-struct.end-index">end_index</structfield>;</para></entry>
<entry role="struct_member_description"><para>end index of the range (in bytes). The character at this index
is not included in the range.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PANGO-ATTR-INDEX-FROM-TEXT-BEGINNING:CAPS" role="macro" condition="since:1.24">
<title>PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING</title>
<indexterm zone="PANGO-ATTR-INDEX-FROM-TEXT-BEGINNING:CAPS" role="1.24"><primary>PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING</primary></indexterm>
<programlisting language="C">#define PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING&#160;0
</programlisting>
<para>This value can be used to set the start_index member of a <link linkend="PangoAttribute"><type>PangoAttribute</type></link>
such that the attribute covers from the beginning of the text.</para>
<para role="since">Since: <link linkend="api-index-1.24">1.24</link></para></refsect2>
<refsect2 id="PANGO-ATTR-INDEX-TO-TEXT-END:CAPS" role="macro" condition="since:1.24">
<title>PANGO_ATTR_INDEX_TO_TEXT_END</title>
<indexterm zone="PANGO-ATTR-INDEX-TO-TEXT-END:CAPS" role="1.24"><primary>PANGO_ATTR_INDEX_TO_TEXT_END</primary></indexterm>
<programlisting language="C">#define PANGO_ATTR_INDEX_TO_TEXT_END		G_MAXUINT
</programlisting>
<para>This value can be used to set the end_index member of a <link linkend="PangoAttribute"><type>PangoAttribute</type></link>
such that the attribute covers to the end of the text.</para>
<para role="since">Since: <link linkend="api-index-1.24">1.24</link></para></refsect2>
<refsect2 id="PangoAttrString" role="struct">
<title>struct PangoAttrString</title>
<indexterm zone="PangoAttrString"><primary>PangoAttrString</primary></indexterm>
<programlisting language="C">struct PangoAttrString {
  PangoAttribute attr;
  char *value;
};
</programlisting>
<para>The <link linkend="PangoAttrString"><type>PangoAttrString</type></link> structure is used to represent attributes with
a string value.</para>
<refsect3 id="PangoAttrString.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrString.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="char"><type>char</type></link>&#160;*<structfield id="PangoAttrString.value">value</structfield>;</para></entry>
<entry role="struct_member_description"><para>the string which is the value of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrLanguage" role="struct">
<title>struct PangoAttrLanguage</title>
<indexterm zone="PangoAttrLanguage"><primary>PangoAttrLanguage</primary></indexterm>
<programlisting language="C">struct PangoAttrLanguage {
  PangoAttribute attr;
  PangoLanguage *value;
};
</programlisting>
<para>The <link linkend="PangoAttrLanguage"><type>PangoAttrLanguage</type></link> structure is used to represent attributes that
are languages.</para>
<refsect3 id="PangoAttrLanguage.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrLanguage.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoLanguage"><type>PangoLanguage</type></link>&#160;*<structfield id="PangoAttrLanguage.value">value</structfield>;</para></entry>
<entry role="struct_member_description"><para>the <link linkend="PangoLanguage"><type>PangoLanguage</type></link> which is the value of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrColor" role="struct">
<title>struct PangoAttrColor</title>
<indexterm zone="PangoAttrColor"><primary>PangoAttrColor</primary></indexterm>
<programlisting language="C">struct PangoAttrColor {
  PangoAttribute attr;
  PangoColor color;
};
</programlisting>
<para>The <link linkend="PangoAttrColor"><type>PangoAttrColor</type></link> structure is used to represent attributes that
are colors.</para>
<refsect3 id="PangoAttrColor.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrColor.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoColor"><type>PangoColor</type></link>&#160;<structfield id="PangoAttrColor.color">color</structfield>;</para></entry>
<entry role="struct_member_description"><para>the <link linkend="PangoColor"><type>PangoColor</type></link> which is the value of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrInt" role="struct">
<title>struct PangoAttrInt</title>
<indexterm zone="PangoAttrInt"><primary>PangoAttrInt</primary></indexterm>
<programlisting language="C">struct PangoAttrInt {
  PangoAttribute attr;
  int value;
};
</programlisting>
<para>The <link linkend="PangoAttrInt"><type>PangoAttrInt</type></link> structure is used to represent attributes with
an integer or enumeration value.</para>
<refsect3 id="PangoAttrInt.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrInt.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link>&#160;<structfield id="PangoAttrInt.value">value</structfield>;</para></entry>
<entry role="struct_member_description"><para>the value of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrFloat" role="struct">
<title>struct PangoAttrFloat</title>
<indexterm zone="PangoAttrFloat"><primary>PangoAttrFloat</primary></indexterm>
<programlisting language="C">struct PangoAttrFloat {
  PangoAttribute attr;
  double value;
};
</programlisting>
<para>The <link linkend="PangoAttrFloat"><type>PangoAttrFloat</type></link> structure is used to represent attributes with
a float or double value.</para>
<refsect3 id="PangoAttrFloat.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrFloat.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="double"><type>double</type></link>&#160;<structfield id="PangoAttrFloat.value">value</structfield>;</para></entry>
<entry role="struct_member_description"><para>the value of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrFontDesc" role="struct">
<title>struct PangoAttrFontDesc</title>
<indexterm zone="PangoAttrFontDesc"><primary>PangoAttrFontDesc</primary></indexterm>
<programlisting language="C">struct PangoAttrFontDesc {
  PangoAttribute attr;
  PangoFontDescription *desc;
};
</programlisting>
<para>The <link linkend="PangoAttrFontDesc"><type>PangoAttrFontDesc</type></link> structure is used to store an attribute that
sets all aspects of the font description at once.</para>
<refsect3 id="PangoAttrFontDesc.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrFontDesc.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>&#160;*<structfield id="PangoAttrFontDesc.desc">desc</structfield>;</para></entry>
<entry role="struct_member_description"><para>the font description which is the value of this attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrShape" role="struct">
<title>struct PangoAttrShape</title>
<indexterm zone="PangoAttrShape"><primary>PangoAttrShape</primary></indexterm>
<programlisting language="C">struct PangoAttrShape {
  PangoAttribute attr;
  PangoRectangle ink_rect;
  PangoRectangle logical_rect;

  gpointer              data;
  PangoAttrDataCopyFunc copy_func;
  GDestroyNotify        destroy_func;
};
</programlisting>
<para>The <link linkend="PangoAttrShape"><type>PangoAttrShape</type></link> structure is used to represent attributes which
impose shape restrictions.</para>
<refsect3 id="PangoAttrShape.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrShape.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoRectangle"><type>PangoRectangle</type></link>&#160;<structfield id="PangoAttrShape.ink-rect">ink_rect</structfield>;</para></entry>
<entry role="struct_member_description"><para>the ink rectangle to restrict to</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoRectangle"><type>PangoRectangle</type></link>&#160;<structfield id="PangoAttrShape.logical-rect">logical_rect</structfield>;</para></entry>
<entry role="struct_member_description"><para>the logical rectangle to restrict to</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="gpointer"><type>gpointer</type></link>&#160;<structfield id="PangoAttrShape.data">data</structfield>;</para></entry>
<entry role="struct_member_description"><para>user data set (see <link linkend="pango-attr-shape-new-with-data"><function>pango_attr_shape_new_with_data()</function></link>)</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttrDataCopyFunc"><type>PangoAttrDataCopyFunc</type></link>&#160;<structfield id="PangoAttrShape.copy-func">copy_func</structfield>;</para></entry>
<entry role="struct_member_description"><para>copy function for the user data</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link>&#160;<structfield id="PangoAttrShape.destroy-func">destroy_func</structfield>;</para></entry>
<entry role="struct_member_description"><para>destroy function for the user data</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrSize" role="struct">
<title>struct PangoAttrSize</title>
<indexterm zone="PangoAttrSize"><primary>PangoAttrSize</primary></indexterm>
<programlisting language="C">struct PangoAttrSize {
  PangoAttribute attr;
  int size;
  guint absolute : 1;
};
</programlisting>
<para>The <link linkend="PangoAttrSize"><type>PangoAttrSize</type></link> structure is used to represent attributes which
set font size.</para>
<refsect3 id="PangoAttrSize.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrSize.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="int"><type>int</type></link>&#160;<structfield id="PangoAttrSize.size">size</structfield>;</para></entry>
<entry role="struct_member_description"><para>size of font, in units of 1/<link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> of a point (for
<link linkend="PANGO-ATTR-SIZE:CAPS"><literal>PANGO_ATTR_SIZE</literal></link>) or of a device uni (for <link linkend="PANGO-ATTR-ABSOLUTE-SIZE:CAPS"><literal>PANGO_ATTR_ABSOLUTE_SIZE</literal></link>)</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="guint"><type>guint</type></link>&#160;<structfield id="PangoAttrSize.absolute">absolute</structfield>&#160;:&#160;1;</para></entry>
<entry role="struct_member_description"><para>whether the font size is in device units or points.
This field is only present for compatibility with Pango-1.8.0
(<link linkend="PANGO-ATTR-ABSOLUTE-SIZE:CAPS"><literal>PANGO_ATTR_ABSOLUTE_SIZE</literal></link> was added in 1.8.1); and always will
be <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> for <link linkend="PANGO-ATTR-SIZE:CAPS"><literal>PANGO_ATTR_SIZE</literal></link> and <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> for <link linkend="PANGO-ATTR-ABSOLUTE-SIZE:CAPS"><literal>PANGO_ATTR_ABSOLUTE_SIZE</literal></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoAttrFontFeatures" role="struct" condition="since:1.38">
<title>struct PangoAttrFontFeatures</title>
<indexterm zone="PangoAttrFontFeatures" role="1.38"><primary>PangoAttrFontFeatures</primary></indexterm>
<programlisting language="C">struct PangoAttrFontFeatures {
  PangoAttribute attr;
  gchar *features;
};
</programlisting>
<para>The <link linkend="PangoAttrFontFeatures"><type>PangoAttrFontFeatures</type></link> structure is used to represent OpenType
font features as an attribute.</para>
<refsect3 id="PangoAttrFontFeatures.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="PangoAttribute"><type>PangoAttribute</type></link>&#160;<structfield id="PangoAttrFontFeatures.attr">attr</structfield>;</para></entry>
<entry role="struct_member_description"><para>the common portion of the attribute</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="gchar"><type>gchar</type></link>&#160;*<structfield id="PangoAttrFontFeatures.features">features</structfield>;</para></entry>
<entry role="struct_member_description"><para>the featues, as a string in CSS syntax</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
<para role="since">Since: <link linkend="api-index-1.38">1.38</link></para></refsect2>
<refsect2 id="PangoUnderline" role="enum">
<title>enum PangoUnderline</title>
<indexterm zone="PangoUnderline"><primary>PangoUnderline</primary></indexterm>
<para>The <link linkend="PangoUnderline"><type>PangoUnderline</type></link> enumeration is used to specify
whether text should be underlined, and if so, the type
of underlining.</para>
<refsect3 id="PangoUnderline.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-UNDERLINE-NONE:CAPS">PANGO_UNDERLINE_NONE</para></entry>
<entry role="enum_member_description"><para>no underline should be drawn</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-UNDERLINE-SINGLE:CAPS">PANGO_UNDERLINE_SINGLE</para></entry>
<entry role="enum_member_description"><para>a single underline should be drawn</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-UNDERLINE-DOUBLE:CAPS">PANGO_UNDERLINE_DOUBLE</para></entry>
<entry role="enum_member_description"><para>a double underline should be drawn</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-UNDERLINE-LOW:CAPS">PANGO_UNDERLINE_LOW</para></entry>
<entry role="enum_member_description"><para>a single underline should be drawn at a
    position beneath the ink extents of the text being
    underlined. This should be used only for underlining
    single characters, such as for keyboard accelerators.
    <link linkend="PANGO-UNDERLINE-SINGLE:CAPS"><literal>PANGO_UNDERLINE_SINGLE</literal></link> should be used for extended
    portions of text.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-UNDERLINE-ERROR:CAPS">PANGO_UNDERLINE_ERROR</para></entry>
<entry role="enum_member_description"><para>a wavy underline should be drawn below.
    This underline is typically used to indicate an error such
    as a possible mispelling; in some cases a contrasting color
    may automatically be used. This type of underlining is
    available since Pango 1.4.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PANGO-TYPE-UNDERLINE:CAPS" role="macro">
<title>PANGO_TYPE_UNDERLINE</title>
<indexterm zone="PANGO-TYPE-UNDERLINE:CAPS"><primary>PANGO_TYPE_UNDERLINE</primary></indexterm>
<programlisting language="C">#define PANGO_TYPE_UNDERLINE (pango_underline_get_type ())
</programlisting>
</refsect2>
<refsect2 id="PANGO-SCALE-XX-SMALL:CAPS" role="macro">
<title>PANGO_SCALE_XX_SMALL</title>
<indexterm zone="PANGO-SCALE-XX-SMALL:CAPS"><primary>PANGO_SCALE_XX_SMALL</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_XX_SMALL ((double)0.5787037037037)
</programlisting>
<para>The scale factor for three shrinking steps (1 / (1.2 * 1.2 * 1.2)).</para>
</refsect2>
<refsect2 id="PANGO-SCALE-X-SMALL:CAPS" role="macro">
<title>PANGO_SCALE_X_SMALL</title>
<indexterm zone="PANGO-SCALE-X-SMALL:CAPS"><primary>PANGO_SCALE_X_SMALL</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_X_SMALL  ((double)0.6944444444444)
</programlisting>
<para>The scale factor for two shrinking steps (1 / (1.2 * 1.2)).</para>
</refsect2>
<refsect2 id="PANGO-SCALE-SMALL:CAPS" role="macro">
<title>PANGO_SCALE_SMALL</title>
<indexterm zone="PANGO-SCALE-SMALL:CAPS"><primary>PANGO_SCALE_SMALL</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_SMALL    ((double)0.8333333333333)
</programlisting>
<para>The scale factor for one shrinking step (1 / 1.2).</para>
</refsect2>
<refsect2 id="PANGO-SCALE-MEDIUM:CAPS" role="macro">
<title>PANGO_SCALE_MEDIUM</title>
<indexterm zone="PANGO-SCALE-MEDIUM:CAPS"><primary>PANGO_SCALE_MEDIUM</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_MEDIUM   ((double)1.0)
</programlisting>
<para>The scale factor for normal size (1.0).</para>
</refsect2>
<refsect2 id="PANGO-SCALE-LARGE:CAPS" role="macro">
<title>PANGO_SCALE_LARGE</title>
<indexterm zone="PANGO-SCALE-LARGE:CAPS"><primary>PANGO_SCALE_LARGE</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_LARGE    ((double)1.2)
</programlisting>
<para>The scale factor for one magnification step (1.2).</para>
</refsect2>
<refsect2 id="PANGO-SCALE-X-LARGE:CAPS" role="macro">
<title>PANGO_SCALE_X_LARGE</title>
<indexterm zone="PANGO-SCALE-X-LARGE:CAPS"><primary>PANGO_SCALE_X_LARGE</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_X_LARGE  ((double)1.44)
</programlisting>
<para>The scale factor for two magnification steps (1.2 * 1.2).</para>
</refsect2>
<refsect2 id="PANGO-SCALE-XX-LARGE:CAPS" role="macro">
<title>PANGO_SCALE_XX_LARGE</title>
<indexterm zone="PANGO-SCALE-XX-LARGE:CAPS"><primary>PANGO_SCALE_XX_LARGE</primary></indexterm>
<programlisting language="C">#define PANGO_SCALE_XX_LARGE ((double)1.728)
</programlisting>
<para>The scale factor for three magnification steps (1.2 * 1.2 * 1.2).</para>
</refsect2>
<refsect2 id="PangoShowFlags" role="enum">
<title>enum PangoShowFlags</title>
<indexterm zone="PangoShowFlags"><primary>PangoShowFlags</primary></indexterm>
<para>These flags affect how Pango treats characters that are normally
not visible in the output.</para>
<refsect3 id="PangoShowFlags.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-SHOW-NONE:CAPS">PANGO_SHOW_NONE</para></entry>
<entry role="enum_member_description"><para>No special treatment for invisible characters</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SHOW-SPACES:CAPS">PANGO_SHOW_SPACES</para></entry>
<entry role="enum_member_description"><para>Render spaces, tabs and newlines visibly</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SHOW-LINE-BREAKS:CAPS">PANGO_SHOW_LINE_BREAKS</para></entry>
<entry role="enum_member_description"><para>Render line breaks visibly</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-SHOW-IGNORABLES:CAPS">PANGO_SHOW_IGNORABLES</para></entry>
<entry role="enum_member_description"><para>Render default-ignorable Unicode
     characters visibly</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PangoColor-struct" role="struct">
<title>struct PangoColor</title>
<indexterm zone="PangoColor-struct"><primary>PangoColor</primary></indexterm>
<programlisting language="C">struct PangoColor {
  guint16 red;
  guint16 green;
  guint16 blue;
};
</programlisting>
<para>The <link linkend="PangoColor"><type>PangoColor</type></link> structure is used to
represent a color in an uncalibrated RGB color-space.</para>
<refsect3 id="PangoColor.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="guint16"><type>guint16</type></link>&#160;<structfield id="PangoColor-struct.red">red</structfield>;</para></entry>
<entry role="struct_member_description"><para>value of red component</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="guint16"><type>guint16</type></link>&#160;<structfield id="PangoColor-struct.green">green</structfield>;</para></entry>
<entry role="struct_member_description"><para>value of green component</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><link linkend="guint16"><type>guint16</type></link>&#160;<structfield id="PangoColor-struct.blue">blue</structfield>;</para></entry>
<entry role="struct_member_description"><para>value of blue component</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PANGO-TYPE-COLOR:CAPS" role="macro">
<title>PANGO_TYPE_COLOR</title>
<indexterm zone="PANGO-TYPE-COLOR:CAPS"><primary>PANGO_TYPE_COLOR</primary></indexterm>
<programlisting language="C">#define PANGO_TYPE_COLOR pango_color_get_type ()
</programlisting>
<para>The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoColor"><type>PangoColor</type></link>.</para>
</refsect2>
<refsect2 id="PangoAttrList-struct" role="struct">
<title>PangoAttrList</title>
<indexterm zone="PangoAttrList-struct"><primary>PangoAttrList</primary></indexterm>
<programlisting language="C">typedef struct _PangoAttrList PangoAttrList;</programlisting>
<para>The <link linkend="PangoAttrList"><type>PangoAttrList</type></link> structure represents a list of attributes
that apply to a section of text. The attributes are, in general,
allowed to overlap in an arbitrary fashion, however, if the
attributes are manipulated only through <link linkend="pango-attr-list-change"><function>pango_attr_list_change()</function></link>,
the overlap between properties will meet stricter criteria.</para>
<para>Since the <link linkend="PangoAttrList"><type>PangoAttrList</type></link> structure is stored as a linear list,
it is not suitable for storing attributes for large amounts
of text. In general, you should not use a single <link linkend="PangoAttrList"><type>PangoAttrList</type></link>
for more than one paragraph of text.</para>
</refsect2>
<refsect2 id="PANGO-TYPE-ATTR-LIST:CAPS" role="macro">
<title>PANGO_TYPE_ATTR_LIST</title>
<indexterm zone="PANGO-TYPE-ATTR-LIST:CAPS"><primary>PANGO_TYPE_ATTR_LIST</primary></indexterm>
<programlisting language="C">#define PANGO_TYPE_ATTR_LIST pango_attr_list_get_type ()
</programlisting>
<para>The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoAttrList"><type>PangoAttrList</type></link>.</para>
</refsect2>
<refsect2 id="PangoAttrIterator-struct" role="struct">
<title>PangoAttrIterator</title>
<indexterm zone="PangoAttrIterator-struct"><primary>PangoAttrIterator</primary></indexterm>
<programlisting language="C">typedef struct _PangoAttrIterator PangoAttrIterator;</programlisting>
<para>The <link linkend="PangoAttrIterator"><type>PangoAttrIterator</type></link> structure is used to represent an
iterator through a <link linkend="PangoAttrList"><type>PangoAttrList</type></link>. A new iterator is created
with <link linkend="pango-attr-list-get-iterator"><function>pango_attr_list_get_iterator()</function></link>. Once the iterator
is created, it can be advanced through the style changes
in the text using <link linkend="pango-attr-iterator-next"><function>pango_attr_iterator_next()</function></link>. At each
style change, the range of the current style segment and the
attributes currently in effect can be queried.</para>
</refsect2>

</refsect1>

</refentry>
