<?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-Fonts">
<refmeta>
<refentrytitle role="top_of_page" id="pango-Fonts.top_of_page">Fonts</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>PANGO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Fonts</refname>
<refpurpose>Structures representing abstract fonts</refpurpose>
</refnamediv>

<refsect1 id="pango-Fonts.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-description-new">pango_font_description_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-description-copy">pango_font_description_copy</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-description-copy-static">pango_font_description_copy_static</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-hash">pango_font_description_hash</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-font-description-equal">pango_font_description_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-font-description-free">pango_font_description_free</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-font-descriptions-free">pango_font_descriptions_free</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-font-description-set-family">pango_font_description_set_family</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-font-description-set-family-static">pango_font_description_set_family_static</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-font-description-get-family">pango_font_description_get_family</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-font-description-set-style">pango_font_description_set_style</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoStyle"><returnvalue>PangoStyle</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-style">pango_font_description_get_style</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-font-description-set-variant">pango_font_description_set_variant</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoVariant"><returnvalue>PangoVariant</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-variant">pango_font_description_get_variant</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-font-description-set-weight">pango_font_description_set_weight</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoWeight"><returnvalue>PangoWeight</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-weight">pango_font_description_get_weight</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-font-description-set-stretch">pango_font_description_set_stretch</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoStretch"><returnvalue>PangoStretch</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-stretch">pango_font_description_get_stretch</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-font-description-set-size">pango_font_description_set_size</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-size">pango_font_description_get_size</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-font-description-set-absolute-size">pango_font_description_set_absolute_size</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-font-description-get-size-is-absolute">pango_font_description_get_size_is_absolute</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-font-description-set-gravity">pango_font_description_set_gravity</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoGravity"><returnvalue>PangoGravity</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-gravity">pango_font_description_get_gravity</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-font-description-set-variations">pango_font_description_set_variations</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-font-description-set-variations-static">pango_font_description_set_variations_static</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-font-description-get-variations">pango_font_description_get_variations</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontMask"><returnvalue>PangoFontMask</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-description-get-set-fields">pango_font_description_get_set_fields</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-font-description-unset-fields">pango_font_description_unset_fields</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-font-description-merge">pango_font_description_merge</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-font-description-merge-static">pango_font_description_merge_static</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-font-description-better-match">pango_font_description_better_match</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-description-from-string">pango_font_description_from_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-description-to-string">pango_font_description_to_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-description-to-filename">pango_font_description_to_filename</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="PangoFontMetrics"><returnvalue>PangoFontMetrics</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-metrics-ref">pango_font_metrics_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-font-metrics-unref">pango_font_metrics_unref</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-ascent">pango_font_metrics_get_ascent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-descent">pango_font_metrics_get_descent</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-height">pango_font_metrics_get_height</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-approximate-char-width">pango_font_metrics_get_approximate_char_width</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-approximate-digit-width">pango_font_metrics_get_approximate_digit_width</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-underline-thickness">pango_font_metrics_get_underline_thickness</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-underline-position">pango_font_metrics_get_underline_position</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-strikethrough-thickness">pango_font_metrics_get_strikethrough_thickness</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-metrics-get-strikethrough-position">pango_font_metrics_get_strikethrough_position</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="PangoEngineShape"><returnvalue>PangoEngineShape</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-find-shaper">pango_font_find_shaper</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-describe">pango_font_describe</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-describe-with-absolute-size">pango_font_describe_with_absolute_size</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontFace"><returnvalue>PangoFontFace</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-get-face">pango_font_get_face</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoCoverage"><returnvalue>PangoCoverage</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-get-coverage">pango_font_get_coverage</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-font-has-char">pango_font_has_char</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-font-get-glyph-extents">pango_font_get_glyph_extents</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontMetrics"><returnvalue>PangoFontMetrics</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-get-metrics">pango_font_get_metrics</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontMap"><returnvalue>PangoFontMap</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-get-font-map">pango_font_get_font_map</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-font-get-features">pango_font_get_features</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="hb-font-t"><returnvalue>hb_font_t</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-get-hb-font">pango_font_get_hb_font</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-font-family-get-name">pango_font_family_get_name</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-font-family-is-monospace">pango_font_family_is_monospace</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-font-family-is-variable">pango_font_family_is_variable</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-font-family-list-faces">pango_font_family_list_faces</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontFace"><returnvalue>PangoFontFace</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-family-get-face">pango_font_family_get_face</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-font-face-get-face-name">pango_font_face_get_face_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-font-face-list-sizes">pango_font_face_list_sizes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-face-describe">pango_font_face_describe</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-font-face-is-synthesized">pango_font_face_is_synthesized</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontFamily"><returnvalue>PangoFontFamily</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-face-get-family">pango_font_face_get_family</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="PangoContext"><returnvalue>PangoContext</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-map-create-context">pango_font_map_create_context</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFont"><returnvalue>PangoFont</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-map-load-font">pango_font_map_load_font</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontset"><returnvalue>PangoFontset</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-map-load-fontset">pango_font_map_load_fontset</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-font-map-list-families">pango_font_map_list_families</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontFamily"><returnvalue>PangoFontFamily</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-font-map-get-family">pango_font_map_get_family</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-font-map-get-serial">pango_font_map_get_serial</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-font-map-changed">pango_font_map_changed</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

<row><entry role="function_type"><link linkend="PangoFont"><returnvalue>PangoFont</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-fontset-get-font">pango_fontset_get_font</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontMetrics"><returnvalue>PangoFontMetrics</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-fontset-get-metrics">pango_fontset_get_metrics</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="PangoFontsetForeachFunc">*PangoFontsetForeachFunc</link><phrase role="c_punctuation">)</phrase>&#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-fontset-foreach">pango_fontset_foreach</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="PangoFontDescription"/><anchor id="PangoFontMetrics"/><anchor id="PangoFont"/><anchor id="PangoFontFamily"/><anchor id="PangoFontFace"/><anchor id="PangoFontMap"/><anchor id="PangoFontset"/><refsect1 id="pango-Fonts.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoFontDescription-struct">PangoFontDescription</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoStyle">PangoStyle</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoWeight">PangoWeight</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoVariant">PangoVariant</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoStretch">PangoStretch</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="PangoFontMask">PangoFontMask</link></entry></row>

<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoFontMetrics-struct">PangoFontMetrics</link></entry></row>

<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoFont-struct">PangoFont</link></entry></row>

<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoFontFamily-struct">PangoFontFamily</link></entry></row>

<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoFontFace-struct">PangoFontFace</link></entry></row>

<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoFontMap-struct">PangoFontMap</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoFontMapClass">PangoFontMapClass</link></entry></row>

<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoFontset-struct">PangoFontset</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoFontsetClass">PangoFontsetClass</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="pango-Fonts.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> PangoFontDescription
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoFontMetrics
    <link linkend="GEnum">GEnum</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoStretch
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoStyle
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoVariant
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoWeight
    <link linkend="GFlags">GFlags</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoFontMask
    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoFont
    <phrase role="lineart">&#9474;</phrase>   <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="PangoFcFont">PangoFcFont</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoFontFace
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoFontFamily
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> PangoFontMap
    <phrase role="lineart">&#9474;</phrase>   <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="PangoFcFontMap">PangoFcFontMap</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoFontset
</screen>
</refsect1>
<refsect1 id="pango-Fonts.derived-interfaces" role="derived_interfaces">
<title role="derived_interfaces.title">Known Derived Interfaces</title>
<para>
PangoFont is required by
 <link linkend="PangoCairoFont">PangoCairoFont</link>.</para>
<para>
PangoFontMap is required by
 <link linkend="PangoCairoFontMap">PangoCairoFontMap</link>.</para>

</refsect1>
<refsect1 id="pango-Fonts.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
PangoFontFamily implements
 <link linkend="GListModel">GListModel</link>.</para>
<para>
PangoFontMap implements
 <link linkend="GListModel">GListModel</link>.</para>

</refsect1>


<refsect1 id="pango-Fonts.description" role="desc">
<title role="desc.title">Description</title>
<para>Pango supports a flexible architecture where a
particular rendering architecture can supply an
implementation of fonts. The <link linkend="PangoFont"><type>PangoFont</type></link> structure
represents an abstract rendering-system-independent font.
Pango provides routines to list available fonts, and
to load a font matching a given description.</para>

</refsect1>
<refsect1 id="pango-Fonts.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="pango-font-description-new" role="function">
<title>pango_font_description_new&#160;()</title>
<indexterm zone="pango-font-description-new"><primary>pango_font_description_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_description_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new font description structure with all fields unset.</para>
<refsect3 id="pango-font-description-new.returns" role="returns">
<title>Returns</title>
<para> the newly allocated <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, which
should be freed using <link linkend="pango-font-description-free"><function>pango_font_description_free()</function></link>.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-copy" role="function">
<title>pango_font_description_copy&#160;()</title>
<indexterm zone="pango-font-description-copy"><primary>pango_font_description_copy</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_description_copy (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Make a copy of a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para>
<refsect3 id="pango-font-description-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>desc</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</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-font-description-copy.returns" role="returns">
<title>Returns</title>
<para>the newly allocated
<link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, which should be freed with
<link linkend="pango-font-description-free"><function>pango_font_description_free()</function></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>desc</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-font-description-copy-static" role="function">
<title>pango_font_description_copy_static&#160;()</title>
<indexterm zone="pango-font-description-copy-static"><primary>pango_font_description_copy_static</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_description_copy_static (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Like <link linkend="pango-font-description-copy"><function>pango_font_description_copy()</function></link>, but only a shallow copy is made
of the family name and other allocated fields. The result can only
be used until <parameter>desc</parameter>
 is modified or freed. This is meant to be used
when the copy is only needed temporarily.</para>
<refsect3 id="pango-font-description-copy-static.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</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-font-description-copy-static.returns" role="returns">
<title>Returns</title>
<para>the newly allocated
<link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, which should be freed with
<link linkend="pango-font-description-free"><function>pango_font_description_free()</function></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>desc</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-font-description-hash" role="function">
<title>pango_font_description_hash&#160;()</title>
<indexterm zone="pango-font-description-hash"><primary>pango_font_description_hash</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
pango_font_description_hash (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Computes a hash of a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> structure suitable
to be used, for example, as an argument to <link linkend="g-hash-table-new"><function>g_hash_table_new()</function></link>.
The hash value is independent of <parameter>desc->mask</parameter>
.</para>
<refsect3 id="pango-font-description-hash.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-hash.returns" role="returns">
<title>Returns</title>
<para> the hash value.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-equal" role="function">
<title>pango_font_description_equal&#160;()</title>
<indexterm zone="pango-font-description-equal"><primary>pango_font_description_equal</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_description_equal (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc1</parameter>,
                              <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc2</parameter>);</programlisting>
<para>Compares two font descriptions for equality. Two font descriptions
are considered equal if the fonts they describe are provably identical.
This means that their masks do not have to match, as long as other fields
are all the same. (Two font descriptions may result in identical fonts
being loaded, but still compare <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.)</para>
<refsect3 id="pango-font-description-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>desc1</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>desc2</para></entry>
<entry role="parameter_description"><para>another <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-equal.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the two font descriptions are identical,
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-free" role="function">
<title>pango_font_description_free&#160;()</title>
<indexterm zone="pango-font-description-free"><primary>pango_font_description_free</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_free (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Frees a font description.</para>
<refsect3 id="pango-font-description-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>desc</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</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-font-descriptions-free" role="function">
<title>pango_font_descriptions_free&#160;()</title>
<indexterm zone="pango-font-descriptions-free"><primary>pango_font_descriptions_free</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_descriptions_free (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> **descs</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> n_descs</parameter>);</programlisting>
<para>Frees an array of font descriptions.</para>
<refsect3 id="pango-font-descriptions-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>descs</para></entry>
<entry role="parameter_description"><para>a pointer
to an array of <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, may be <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>][<acronym>array</acronym> length=n_descs][<acronym>transfer full</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_descs</para></entry>
<entry role="parameter_description"><para>number of font descriptions in <parameter>descs</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-family" role="function">
<title>pango_font_description_set_family&#160;()</title>
<indexterm zone="pango-font-description-set-family"><primary>pango_font_description_set_family</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_family (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                   <parameter>const <link linkend="char"><type>char</type></link> *family</parameter>);</programlisting>
<para>Sets the family name field of a font description. The family
name represents a family of related font styles, and will
resolve to a particular <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>. In some uses of
<link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, it is also possible to use a comma
separated list of family names for this field.</para>
<refsect3 id="pango-font-description-set-family.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>family</para></entry>
<entry role="parameter_description"><para>a string representing the family name.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-family-static" role="function">
<title>pango_font_description_set_family_static&#160;()</title>
<indexterm zone="pango-font-description-set-family-static"><primary>pango_font_description_set_family_static</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_family_static
                               (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                <parameter>const <link linkend="char"><type>char</type></link> *family</parameter>);</programlisting>
<para>Like <link linkend="pango-font-description-set-family"><function>pango_font_description_set_family()</function></link>, except that no
copy of <parameter>family</parameter>
 is made. The caller must make sure that the
string passed in stays around until <parameter>desc</parameter>
 has been freed
or the name is set again. This function can be used if
<parameter>family</parameter>
 is a static string such as a C string literal, or
if <parameter>desc</parameter>
 is only needed temporarily.</para>
<refsect3 id="pango-font-description-set-family-static.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>family</para></entry>
<entry role="parameter_description"><para>a string representing the family name.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-get-family" role="function">
<title>pango_font_description_get_family&#160;()</title>
<indexterm zone="pango-font-description-get-family"><primary>pango_font_description_get_family</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_font_description_get_family (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the family name field of a font description. See
<link linkend="pango-font-description-set-family"><function>pango_font_description_set_family()</function></link>.</para>
<refsect3 id="pango-font-description-get-family.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-family.returns" role="returns">
<title>Returns</title>
<para>the family name field for the font
description, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if not previously set.  This
has the same life-time as the font description itself
and should not be freed. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-style" role="function">
<title>pango_font_description_set_style&#160;()</title>
<indexterm zone="pango-font-description-set-style"><primary>pango_font_description_set_style</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_style (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                  <parameter><link linkend="PangoStyle"><type>PangoStyle</type></link> style</parameter>);</programlisting>
<para>Sets the style field of a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>. The
<link linkend="PangoStyle"><type>PangoStyle</type></link> enumeration describes whether the font is slanted and
the manner in which it is slanted; it can be either
<link linkend="PANGO-STYLE-NORMAL:CAPS"><type>PANGO_STYLE_NORMAL</type></link>, <link linkend="PANGO-STYLE-ITALIC:CAPS"><type>PANGO_STYLE_ITALIC</type></link>, or <link linkend="PANGO-STYLE-OBLIQUE:CAPS"><type>PANGO_STYLE_OBLIQUE</type></link>.
Most fonts will either have a italic style or an oblique
style, but not both, and font matching in Pango will
match italic specifications with oblique fonts and vice-versa
if an exact match is not found.</para>
<refsect3 id="pango-font-description-set-style.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>style</para></entry>
<entry role="parameter_description"><para>the style for the font description</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-get-style" role="function">
<title>pango_font_description_get_style&#160;()</title>
<indexterm zone="pango-font-description-get-style"><primary>pango_font_description_get_style</primary></indexterm>
<programlisting language="C"><link linkend="PangoStyle"><returnvalue>PangoStyle</returnvalue></link>
pango_font_description_get_style (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the style field of a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>. See
<link linkend="pango-font-description-set-style"><function>pango_font_description_set_style()</function></link>.</para>
<refsect3 id="pango-font-description-get-style.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-style.returns" role="returns">
<title>Returns</title>
<para> the style field for the font description.
Use <link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to find out if
the field was explicitly set or not.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-variant" role="function">
<title>pango_font_description_set_variant&#160;()</title>
<indexterm zone="pango-font-description-set-variant"><primary>pango_font_description_set_variant</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_variant (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                    <parameter><link linkend="PangoVariant"><type>PangoVariant</type></link> variant</parameter>);</programlisting>
<para>Sets the variant field of a font description. The <link linkend="PangoVariant"><type>PangoVariant</type></link>
can either be <link linkend="PANGO-VARIANT-NORMAL:CAPS"><literal>PANGO_VARIANT_NORMAL</literal></link> or <link linkend="PANGO-VARIANT-SMALL-CAPS"><literal>PANGO_VARIANT_SMALL_CAPS</literal></link>.</para>
<refsect3 id="pango-font-description-set-variant.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>variant</para></entry>
<entry role="parameter_description"><para>the variant type for the font description.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-get-variant" role="function">
<title>pango_font_description_get_variant&#160;()</title>
<indexterm zone="pango-font-description-get-variant"><primary>pango_font_description_get_variant</primary></indexterm>
<programlisting language="C"><link linkend="PangoVariant"><returnvalue>PangoVariant</returnvalue></link>
pango_font_description_get_variant (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the variant field of a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>. See
<link linkend="pango-font-description-set-variant"><function>pango_font_description_set_variant()</function></link>.</para>
<refsect3 id="pango-font-description-get-variant.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-variant.returns" role="returns">
<title>Returns</title>
<para> the variant field for the font description. Use
<link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to find out if
the field was explicitly set or not.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-weight" role="function">
<title>pango_font_description_set_weight&#160;()</title>
<indexterm zone="pango-font-description-set-weight"><primary>pango_font_description_set_weight</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_weight (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                   <parameter><link linkend="PangoWeight"><type>PangoWeight</type></link> weight</parameter>);</programlisting>
<para>Sets the weight field of a font description. The weight field
specifies how bold or light the font should be. In addition
to the values of the <link linkend="PangoWeight"><type>PangoWeight</type></link> enumeration, other intermediate
numeric values are possible.</para>
<refsect3 id="pango-font-description-set-weight.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>weight</para></entry>
<entry role="parameter_description"><para>the weight for the font description.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-get-weight" role="function">
<title>pango_font_description_get_weight&#160;()</title>
<indexterm zone="pango-font-description-get-weight"><primary>pango_font_description_get_weight</primary></indexterm>
<programlisting language="C"><link linkend="PangoWeight"><returnvalue>PangoWeight</returnvalue></link>
pango_font_description_get_weight (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the weight field of a font description. See
<link linkend="pango-font-description-set-weight"><function>pango_font_description_set_weight()</function></link>.</para>
<refsect3 id="pango-font-description-get-weight.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-weight.returns" role="returns">
<title>Returns</title>
<para> the weight field for the font description. Use
<link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to find out if
the field was explicitly set or not.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-stretch" role="function">
<title>pango_font_description_set_stretch&#160;()</title>
<indexterm zone="pango-font-description-set-stretch"><primary>pango_font_description_set_stretch</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_stretch (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                    <parameter><link linkend="PangoStretch"><type>PangoStretch</type></link> stretch</parameter>);</programlisting>
<para>Sets the stretch field of a font description. The stretch field
specifies how narrow or wide the font should be.</para>
<refsect3 id="pango-font-description-set-stretch.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>stretch</para></entry>
<entry role="parameter_description"><para>the stretch for the font description</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-get-stretch" role="function">
<title>pango_font_description_get_stretch&#160;()</title>
<indexterm zone="pango-font-description-get-stretch"><primary>pango_font_description_get_stretch</primary></indexterm>
<programlisting language="C"><link linkend="PangoStretch"><returnvalue>PangoStretch</returnvalue></link>
pango_font_description_get_stretch (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the stretch field of a font description.
See <link linkend="pango-font-description-set-stretch"><function>pango_font_description_set_stretch()</function></link>.</para>
<refsect3 id="pango-font-description-get-stretch.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-stretch.returns" role="returns">
<title>Returns</title>
<para> the stretch field for the font description. Use
<link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to find out if
the field was explicitly set or not.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-size" role="function">
<title>pango_font_description_set_size&#160;()</title>
<indexterm zone="pango-font-description-set-size"><primary>pango_font_description_set_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_size (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                 <parameter><link linkend="gint"><type>gint</type></link> size</parameter>);</programlisting>
<para>Sets the size field of a font description in fractional points. This is mutually
exclusive with <link linkend="pango-font-description-set-absolute-size"><function>pango_font_description_set_absolute_size()</function></link>.</para>
<refsect3 id="pango-font-description-set-size.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>the size of the font in points, scaled by PANGO_SCALE. (That is,
a <parameter>size</parameter>
value of 10 * PANGO_SCALE is a 10 point font. The conversion
factor between points and device units depends on system configuration
and the output device. For screen display, a logical DPI of 96 is
common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3
pixel font. Use <link linkend="pango-font-description-set-absolute-size"><function>pango_font_description_set_absolute_size()</function></link> if you need
a particular size in device units.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-get-size" role="function">
<title>pango_font_description_get_size&#160;()</title>
<indexterm zone="pango-font-description-get-size"><primary>pango_font_description_get_size</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
pango_font_description_get_size (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the size field of a font description.
See <link linkend="pango-font-description-set-size"><function>pango_font_description_set_size()</function></link>.</para>
<refsect3 id="pango-font-description-get-size.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-size.returns" role="returns">
<title>Returns</title>
<para> the size field for the font description in points or device units.
You must call <link linkend="pango-font-description-get-size-is-absolute"><function>pango_font_description_get_size_is_absolute()</function></link>
to find out which is the case. Returns 0 if the size field has not
previously been set or it has been set to 0 explicitly.
Use <link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to
find out if the field was explicitly set or not.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-set-absolute-size" role="function" condition="since:1.8">
<title>pango_font_description_set_absolute_size&#160;()</title>
<indexterm zone="pango-font-description-set-absolute-size" role="1.8"><primary>pango_font_description_set_absolute_size</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_absolute_size
                               (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                <parameter><link linkend="double"><type>double</type></link> size</parameter>);</programlisting>
<para>Sets the size field of a font description, in device units. This is mutually
exclusive with <link linkend="pango-font-description-set-size"><function>pango_font_description_set_size()</function></link> which sets the font size
in points.</para>
<refsect3 id="pango-font-description-set-absolute-size.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>size</para></entry>
<entry role="parameter_description"><para>the new size, in Pango units. There are <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> Pango units in one
device unit. For an output backend where a device unit is a pixel, a <parameter>size</parameter>
value of 10 * PANGO_SCALE gives a 10 pixel font.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-font-description-get-size-is-absolute" role="function" condition="since:1.8">
<title>pango_font_description_get_size_is_absolute&#160;()</title>
<indexterm zone="pango-font-description-get-size-is-absolute" role="1.8"><primary>pango_font_description_get_size_is_absolute</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_description_get_size_is_absolute
                               (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Determines whether the size of the font is in points (not absolute) or device units (absolute).
See <link linkend="pango-font-description-set-size"><function>pango_font_description_set_size()</function></link> and <link linkend="pango-font-description-set-absolute-size"><function>pango_font_description_set_absolute_size()</function></link>.</para>
<refsect3 id="pango-font-description-get-size-is-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>desc</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-size-is-absolute.returns" role="returns">
<title>Returns</title>
<para> whether the size for the font description is in
points or device units.  Use <link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to
find out if the size field of the font description was explicitly set or not.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-font-description-set-gravity" role="function" condition="since:1.16">
<title>pango_font_description_set_gravity&#160;()</title>
<indexterm zone="pango-font-description-set-gravity" role="1.16"><primary>pango_font_description_set_gravity</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_gravity (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                    <parameter><link linkend="PangoGravity"><type>PangoGravity</type></link> gravity</parameter>);</programlisting>
<para>Sets the gravity field of a font description. The gravity field
specifies how the glyphs should be rotated.  If <parameter>gravity</parameter>
 is
<link linkend="PANGO-GRAVITY-AUTO:CAPS"><literal>PANGO_GRAVITY_AUTO</literal></link>, this actually unsets the gravity mask on
the font description.</para>
<para>This function is seldom useful to the user.  Gravity should normally
be set on a <link linkend="PangoContext"><type>PangoContext</type></link>.</para>
<refsect3 id="pango-font-description-set-gravity.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>gravity</para></entry>
<entry role="parameter_description"><para>the gravity for the font description.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2>
<refsect2 id="pango-font-description-get-gravity" role="function" condition="since:1.16">
<title>pango_font_description_get_gravity&#160;()</title>
<indexterm zone="pango-font-description-get-gravity" role="1.16"><primary>pango_font_description_get_gravity</primary></indexterm>
<programlisting language="C"><link linkend="PangoGravity"><returnvalue>PangoGravity</returnvalue></link>
pango_font_description_get_gravity (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the gravity field of a font description. See
<link linkend="pango-font-description-set-gravity"><function>pango_font_description_set_gravity()</function></link>.</para>
<refsect3 id="pango-font-description-get-gravity.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-gravity.returns" role="returns">
<title>Returns</title>
<para> the gravity field for the font description. Use
<link linkend="pango-font-description-get-set-fields"><function>pango_font_description_get_set_fields()</function></link> to find out if
the field was explicitly set or not.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.16">1.16</link></para></refsect2>
<refsect2 id="pango-font-description-set-variations" role="function" condition="since:1.42">
<title>pango_font_description_set_variations&#160;()</title>
<indexterm zone="pango-font-description-set-variations" role="1.42"><primary>pango_font_description_set_variations</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_variations (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                       <parameter>const <link linkend="char"><type>char</type></link> *variations</parameter>);</programlisting>
<para>Sets the variations field of a font description. OpenType
font variations allow to select a font instance by specifying
values for a number of axes, such as width or weight.</para>
<para>The format of the variations string is AXIS1=VALUE,AXIS2=VALUE...,
with each AXIS a 4 character tag that identifies a font axis,
and each VALUE a floating point number. Unknown axes are ignored,
and values are clamped to their allowed range.</para>
<para>Pango does not currently have a way to find supported axes of
a font. Both harfbuzz or freetype have API for this.</para>
<refsect3 id="pango-font-description-set-variations.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>variations</para></entry>
<entry role="parameter_description"><para>a string representing the variations</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.42">1.42</link></para></refsect2>
<refsect2 id="pango-font-description-set-variations-static" role="function" condition="since:1.42">
<title>pango_font_description_set_variations_static&#160;()</title>
<indexterm zone="pango-font-description-set-variations-static" role="1.42"><primary>pango_font_description_set_variations_static</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_set_variations_static
                               (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                <parameter>const <link linkend="char"><type>char</type></link> *variations</parameter>);</programlisting>
<para>Like <link linkend="pango-font-description-set-variations"><function>pango_font_description_set_variations()</function></link>, except that no
copy of <parameter>variations</parameter>
 is made. The caller must make sure that the
string passed in stays around until <parameter>desc</parameter>
 has been freed
or the name is set again. This function can be used if
<parameter>variations</parameter>
 is a static string such as a C string literal, or
if <parameter>desc</parameter>
 is only needed temporarily.</para>
<refsect3 id="pango-font-description-set-variations-static.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>variations</para></entry>
<entry role="parameter_description"><para>a string representing the variations</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.42">1.42</link></para></refsect2>
<refsect2 id="pango-font-description-get-variations" role="function" condition="since:1.42">
<title>pango_font_description_get_variations&#160;()</title>
<indexterm zone="pango-font-description-get-variations" role="1.42"><primary>pango_font_description_get_variations</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_font_description_get_variations (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Gets the variations field of a font description. See
<link linkend="pango-font-description-set-variations"><function>pango_font_description_set_variations()</function></link>.</para>
<refsect3 id="pango-font-description-get-variations.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-variations.returns" role="returns">
<title>Returns</title>
<para>the varitions field for the font
description, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if not previously set.  This
has the same life-time as the font description itself
and should not be freed. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.42">1.42</link></para></refsect2>
<refsect2 id="pango-font-description-get-set-fields" role="function">
<title>pango_font_description_get_set_fields&#160;()</title>
<indexterm zone="pango-font-description-get-set-fields"><primary>pango_font_description_get_set_fields</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontMask"><returnvalue>PangoFontMask</returnvalue></link>
pango_font_description_get_set_fields (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Determines which fields in a font description have been set.</para>
<refsect3 id="pango-font-description-get-set-fields.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-get-set-fields.returns" role="returns">
<title>Returns</title>
<para> a bitmask with bits set corresponding to the
fields in <parameter>desc</parameter>
that have been set.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-unset-fields" role="function">
<title>pango_font_description_unset_fields&#160;()</title>
<indexterm zone="pango-font-description-unset-fields"><primary>pango_font_description_unset_fields</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_unset_fields (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                     <parameter><link linkend="PangoFontMask"><type>PangoFontMask</type></link> to_unset</parameter>);</programlisting>
<para>Unsets some of the fields in a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.  The unset
fields will get back to their default values.</para>
<refsect3 id="pango-font-description-unset-fields.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>to_unset</para></entry>
<entry role="parameter_description"><para>bitmask of fields in the <parameter>desc</parameter>
to unset.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-merge" role="function">
<title>pango_font_description_merge&#160;()</title>
<indexterm zone="pango-font-description-merge"><primary>pango_font_description_merge</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_merge (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                              <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc_to_merge</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> replace_existing</parameter>);</programlisting>
<para>Merges the fields that are set in <parameter>desc_to_merge</parameter>
 into the fields in
<parameter>desc</parameter>
.  If <parameter>replace_existing</parameter>
 is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, only fields in <parameter>desc</parameter>
 that
are not already set are affected. If <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then fields that are
already set will be replaced as well.</para>
<para>If <parameter>desc_to_merge</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, this function performs nothing.</para>
<refsect3 id="pango-font-description-merge.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>desc_to_merge</para></entry>
<entry role="parameter_description"><para>the <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> to merge from, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>replace_existing</para></entry>
<entry role="parameter_description"><para>if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, replace fields in <parameter>desc</parameter>
with the
corresponding values from <parameter>desc_to_merge</parameter>
, even if they
are already exist.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-merge-static" role="function">
<title>pango_font_description_merge_static&#160;()</title>
<indexterm zone="pango-font-description-merge-static"><primary>pango_font_description_merge_static</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_description_merge_static (<parameter><link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                     <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc_to_merge</parameter>,
                                     <parameter><link linkend="gboolean"><type>gboolean</type></link> replace_existing</parameter>);</programlisting>
<para>Like <link linkend="pango-font-description-merge"><function>pango_font_description_merge()</function></link>, but only a shallow copy is made
of the family name and other allocated fields. <parameter>desc</parameter>
 can only be
used until <parameter>desc_to_merge</parameter>
 is modified or freed. This is meant
to be used when the merged font description is only needed temporarily.</para>
<refsect3 id="pango-font-description-merge-static.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>desc_to_merge</para></entry>
<entry role="parameter_description"><para>the <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> to merge from</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>replace_existing</para></entry>
<entry role="parameter_description"><para>if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, replace fields in <parameter>desc</parameter>
with the
corresponding values from <parameter>desc_to_merge</parameter>
, even if they
are already exist.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-description-better-match" role="function">
<title>pango_font_description_better_match&#160;()</title>
<indexterm zone="pango-font-description-better-match"><primary>pango_font_description_better_match</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_description_better_match (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                                     <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *old_match</parameter>,
                                     <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *new_match</parameter>);</programlisting>
<para>Determines if the style attributes of <parameter>new_match</parameter>
 are a closer match
for <parameter>desc</parameter>
 than those of <parameter>old_match</parameter>
 are, or if <parameter>old_match</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>,
determines if <parameter>new_match</parameter>
 is a match at all.
Approximate matching is done for
weight and style; other style attributes must match exactly.
Style attributes are all attributes other than family and size-related
attributes.  Approximate matching for style considers PANGO_STYLE_OBLIQUE
and PANGO_STYLE_ITALIC as matches, but not as good a match as when the
styles are equal.</para>
<para>Note that <parameter>old_match</parameter>
 must match <parameter>desc</parameter>
.</para>
<refsect3 id="pango-font-description-better-match.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>old_match</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>new_match</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-better-match.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>new_match</parameter>
is a better match</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-from-string" role="function">
<title>pango_font_description_from_string&#160;()</title>
<indexterm zone="pango-font-description-from-string"><primary>pango_font_description_from_string</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_description_from_string (<parameter>const <link linkend="char"><type>char</type></link> *str</parameter>);</programlisting>
<para>Creates a new font description from a string representation in the
form</para>
<para>"[FAMILY-LIST] [STYLE-OPTIONS] [SIZE] [VARIATIONS]",</para>
<para>where FAMILY-LIST is a comma-separated list of families optionally
terminated by a comma, STYLE_OPTIONS is a whitespace-separated list
of words where each word describes one of style, variant, weight,
stretch, or gravity, and SIZE is a decimal number (size in points)
or optionally followed by the unit modifier "px" for absolute size.
VARIATIONS is a comma-separated list of font variation
specifications of the form "@axis=value" (the = sign is optional).</para>
<para>The following words are understood as styles:
"Normal", "Roman", "Oblique", "Italic".</para>
<para>The following words are understood as variants:
"Small-Caps".</para>
<para>The following words are understood as weights:
"Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light",
"Demi-Light", "Book", "Regular", "Medium", "Semi-Bold", "Demi-Bold",
"Bold", "Ultra-Bold", "Extra-Bold", "Heavy", "Black", "Ultra-Black",
"Extra-Black".</para>
<para>The following words are understood as stretch values:
"Ultra-Condensed", "Extra-Condensed", "Condensed", "Semi-Condensed",
"Semi-Expanded", "Expanded", "Extra-Expanded", "Ultra-Expanded".</para>
<para>The following words are understood as gravity values:
"Not-Rotated", "South", "Upside-Down", "North", "Rotated-Left",
"East", "Rotated-Right", "West".</para>
<para>Any one of the options may be absent. If FAMILY-LIST is absent, then
the family_name field of the resulting font description will be
initialized to <link linkend="NULL:CAPS"><literal>NULL</literal></link>. If STYLE-OPTIONS is missing, then all style
options will be set to the default values. If SIZE is missing, the
size in the resulting font description will be set to 0.</para>
<para>A typical example:</para>
<para>"Cantarell Italic Light 15 @wght=200"</para>
<refsect3 id="pango-font-description-from-string.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>str</para></entry>
<entry role="parameter_description"><para>string representation of a font description.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-from-string.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-to-string" role="function">
<title>pango_font_description_to_string&#160;()</title>
<indexterm zone="pango-font-description-to-string"><primary>pango_font_description_to_string</primary></indexterm>
<programlisting language="C"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_font_description_to_string (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Creates a string representation of a font description. See
<link linkend="pango-font-description-from-string"><function>pango_font_description_from_string()</function></link> for a description of the
format of the string representation. The family list in the
string description will only have a terminating comma if the
last word of the list is a valid style option.</para>
<refsect3 id="pango-font-description-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>desc</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-to-string.returns" role="returns">
<title>Returns</title>
<para> a new string that must be freed with <link linkend="g-free"><function>g_free()</function></link>.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-description-to-filename" role="function">
<title>pango_font_description_to_filename&#160;()</title>
<indexterm zone="pango-font-description-to-filename"><primary>pango_font_description_to_filename</primary></indexterm>
<programlisting language="C"><link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_font_description_to_filename (<parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Creates a filename representation of a font description. The
filename is identical to the result from calling
<link linkend="pango-font-description-to-string"><function>pango_font_description_to_string()</function></link>, but with underscores instead of
characters that are untypical in filenames, and in lower case only.</para>
<refsect3 id="pango-font-description-to-filename.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>a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-description-to-filename.returns" role="returns">
<title>Returns</title>
<para> a new string that must be freed with <link linkend="g-free"><function>g_free()</function></link>.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-metrics-ref" role="function">
<title>pango_font_metrics_ref&#160;()</title>
<indexterm zone="pango-font-metrics-ref"><primary>pango_font_metrics_ref</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontMetrics"><returnvalue>PangoFontMetrics</returnvalue></link>&#160;*
pango_font_metrics_ref (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Increase the reference count of a font metrics structure by one.</para>
<refsect3 id="pango-font-metrics-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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure, 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-font-metrics-ref.returns" role="returns">
<title>Returns</title>
<para><parameter>metrics</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-font-metrics-unref" role="function">
<title>pango_font_metrics_unref&#160;()</title>
<indexterm zone="pango-font-metrics-unref"><primary>pango_font_metrics_unref</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_metrics_unref (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Decrease the reference count of a font metrics structure by one. If
the result is zero, frees the structure and any associated
memory.</para>
<refsect3 id="pango-font-metrics-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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure, 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-font-metrics-get-ascent" role="function">
<title>pango_font_metrics_get_ascent&#160;()</title>
<indexterm zone="pango-font-metrics-get-ascent"><primary>pango_font_metrics_get_ascent</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_ascent (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the ascent from a font metrics structure. The ascent is
the distance from the baseline to the logical top of a line
of text. (The logical top may be above or below the top of the
actual drawn ink. It is necessary to lay out the text to figure
where the ink will be.)</para>
<refsect3 id="pango-font-metrics-get-ascent.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-ascent.returns" role="returns">
<title>Returns</title>
<para> the ascent, in Pango units.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-metrics-get-descent" role="function">
<title>pango_font_metrics_get_descent&#160;()</title>
<indexterm zone="pango-font-metrics-get-descent"><primary>pango_font_metrics_get_descent</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_descent (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the descent from a font metrics structure. The descent is
the distance from the baseline to the logical bottom of a line
of text. (The logical bottom may be above or below the bottom of the
actual drawn ink. It is necessary to lay out the text to figure
where the ink will be.)</para>
<refsect3 id="pango-font-metrics-get-descent.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-descent.returns" role="returns">
<title>Returns</title>
<para> the descent, in Pango units.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-metrics-get-height" role="function" condition="since:1.44">
<title>pango_font_metrics_get_height&#160;()</title>
<indexterm zone="pango-font-metrics-get-height" role="1.44"><primary>pango_font_metrics_get_height</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_height (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the line height from a font metrics structure. The
line height is the distance between successive baselines
in wrapped text.</para>
<para>If the line height is not available, 0 is returned.</para>
<refsect3 id="pango-font-metrics-get-height.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-height.returns" role="returns">
<title>Returns</title>
<para> the height, in Pango units</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-font-metrics-get-approximate-char-width" role="function">
<title>pango_font_metrics_get_approximate_char_width&#160;()</title>
<indexterm zone="pango-font-metrics-get-approximate-char-width"><primary>pango_font_metrics_get_approximate_char_width</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_approximate_char_width
                               (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the approximate character width for a font metrics structure.
This is merely a representative value useful, for example, for
determining the initial size for a window. Actual characters in
text will be wider and narrower than this.</para>
<refsect3 id="pango-font-metrics-get-approximate-char-width.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-approximate-char-width.returns" role="returns">
<title>Returns</title>
<para> the character width, in Pango units.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-metrics-get-approximate-digit-width" role="function">
<title>pango_font_metrics_get_approximate_digit_width&#160;()</title>
<indexterm zone="pango-font-metrics-get-approximate-digit-width"><primary>pango_font_metrics_get_approximate_digit_width</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_approximate_digit_width
                               (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the approximate digit width for a font metrics structure.
This is merely a representative value useful, for example, for
determining the initial size for a window. Actual digits in
text can be wider or narrower than this, though this value
is generally somewhat more accurate than the result of
<link linkend="pango-font-metrics-get-approximate-char-width"><function>pango_font_metrics_get_approximate_char_width()</function></link> for digits.</para>
<refsect3 id="pango-font-metrics-get-approximate-digit-width.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-approximate-digit-width.returns" role="returns">
<title>Returns</title>
<para> the digit width, in Pango units.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-metrics-get-underline-thickness" role="function" condition="since:1.6">
<title>pango_font_metrics_get_underline_thickness&#160;()</title>
<indexterm zone="pango-font-metrics-get-underline-thickness" role="1.6"><primary>pango_font_metrics_get_underline_thickness</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_underline_thickness
                               (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the suggested thickness to draw for the underline.</para>
<refsect3 id="pango-font-metrics-get-underline-thickness.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-underline-thickness.returns" role="returns">
<title>Returns</title>
<para> the suggested underline thickness, in Pango units.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2>
<refsect2 id="pango-font-metrics-get-underline-position" role="function" condition="since:1.6">
<title>pango_font_metrics_get_underline_position&#160;()</title>
<indexterm zone="pango-font-metrics-get-underline-position" role="1.6"><primary>pango_font_metrics_get_underline_position</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_underline_position
                               (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the suggested position to draw the underline.
The value returned is the distance <emphasis>above</emphasis> the
baseline of the top of the underline. Since most fonts have
underline positions beneath the baseline, this value is typically
negative.</para>
<refsect3 id="pango-font-metrics-get-underline-position.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-underline-position.returns" role="returns">
<title>Returns</title>
<para> the suggested underline position, in Pango units.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2>
<refsect2 id="pango-font-metrics-get-strikethrough-thickness" role="function" condition="since:1.6">
<title>pango_font_metrics_get_strikethrough_thickness&#160;()</title>
<indexterm zone="pango-font-metrics-get-strikethrough-thickness" role="1.6"><primary>pango_font_metrics_get_strikethrough_thickness</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_strikethrough_thickness
                               (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the suggested thickness to draw for the strikethrough.</para>
<refsect3 id="pango-font-metrics-get-strikethrough-thickness.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-strikethrough-thickness.returns" role="returns">
<title>Returns</title>
<para> the suggested strikethrough thickness, in Pango units.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2>
<refsect2 id="pango-font-metrics-get-strikethrough-position" role="function" condition="since:1.6">
<title>pango_font_metrics_get_strikethrough_position&#160;()</title>
<indexterm zone="pango-font-metrics-get-strikethrough-position" role="1.6"><primary>pango_font_metrics_get_strikethrough_position</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
pango_font_metrics_get_strikethrough_position
                               (<parameter><link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> *metrics</parameter>);</programlisting>
<para>Gets the suggested position to draw the strikethrough.
The value returned is the distance <emphasis>above</emphasis> the
baseline of the top of the strikethrough.</para>
<refsect3 id="pango-font-metrics-get-strikethrough-position.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>metrics</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-metrics-get-strikethrough-position.returns" role="returns">
<title>Returns</title>
<para> the suggested strikethrough position, in Pango units.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.6">1.6</link></para></refsect2>
<refsect2 id="pango-font-find-shaper" role="function" condition="deprecated:Shape engines are no longer used">
<title>pango_font_find_shaper&#160;()</title>
<indexterm zone="pango-font-find-shaper" role="deprecated"><primary>pango_font_find_shaper</primary></indexterm>
<programlisting language="C"><link linkend="PangoEngineShape"><returnvalue>PangoEngineShape</returnvalue></link>&#160;*
pango_font_find_shaper (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                        <parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>,
                        <parameter><link linkend="guint32"><type>guint32</type></link> ch</parameter>);</programlisting>
<warning><para><literal>pango_font_find_shaper</literal> is deprecated and should not be used in newly-written code.</para> <para>Shape engines are no longer used</para>
</warning>
<para>Finds the best matching shaper for a font for a particular
language tag and character point.</para>
<refsect3 id="pango-font-find-shaper.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>the language tag</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ch</para></entry>
<entry role="parameter_description"><para>a Unicode character.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-find-shaper.returns" role="returns">
<title>Returns</title>
<para>the best matching shaper. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-font-describe" role="function">
<title>pango_font_describe&#160;()</title>
<indexterm zone="pango-font-describe"><primary>pango_font_describe</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_describe (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<para>Returns a description of the font, with font size set in points.
Use <link linkend="pango-font-describe-with-absolute-size"><function>pango_font_describe_with_absolute_size()</function></link> if you want the font
size in device units.</para>
<refsect3 id="pango-font-describe.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-describe.returns" role="returns">
<title>Returns</title>
<para> a newly-allocated <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> object.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-describe-with-absolute-size" role="function" condition="since:1.14">
<title>pango_font_describe_with_absolute_size&#160;()</title>
<indexterm zone="pango-font-describe-with-absolute-size" role="1.14"><primary>pango_font_describe_with_absolute_size</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_describe_with_absolute_size
                               (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<para>Returns a description of the font, with absolute font size set
(in device units). Use <link linkend="pango-font-describe"><function>pango_font_describe()</function></link> if you want the font
size in points.</para>
<refsect3 id="pango-font-describe-with-absolute-size.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-describe-with-absolute-size.returns" role="returns">
<title>Returns</title>
<para> a newly-allocated <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> object.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.14">1.14</link></para></refsect2>
<refsect2 id="pango-font-get-face" role="function" condition="since:1.46">
<title>pango_font_get_face&#160;()</title>
<indexterm zone="pango-font-get-face" role="1.46"><primary>pango_font_get_face</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontFace"><returnvalue>PangoFontFace</returnvalue></link>&#160;*
pango_font_get_face (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<para>Gets the <link linkend="PangoFontFace"><type>PangoFontFace</type></link> to which <parameter>font</parameter>
 belongs.</para>
<refsect3 id="pango-font-get-face.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-get-face.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="PangoFontFace"><type>PangoFontFace</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.46">1.46</link></para></refsect2>
<refsect2 id="pango-font-get-coverage" role="function">
<title>pango_font_get_coverage&#160;()</title>
<indexterm zone="pango-font-get-coverage"><primary>pango_font_get_coverage</primary></indexterm>
<programlisting language="C"><link linkend="PangoCoverage"><returnvalue>PangoCoverage</returnvalue></link>&#160;*
pango_font_get_coverage (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                         <parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>);</programlisting>
<para>Computes the coverage map for a given font and language tag.</para>
<refsect3 id="pango-font-get-coverage.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>the language tag</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-get-coverage.returns" role="returns">
<title>Returns</title>
<para>a newly-allocated <link linkend="PangoCoverage"><type>PangoCoverage</type></link>
object. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-font-has-char" role="function" condition="since:1.44">
<title>pango_font_has_char&#160;()</title>
<indexterm zone="pango-font-has-char" role="1.44"><primary>pango_font_has_char</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_has_char (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                     <parameter><link linkend="gunichar"><type>gunichar</type></link> wc</parameter>);</programlisting>
<para>Returns whether the font provides a glyph for this character.</para>
<para>Returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>font</parameter>
 can render <parameter>wc</parameter>
</para>
<refsect3 id="pango-font-has-char.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wc</para></entry>
<entry role="parameter_description"><para>a Unicode character</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="pango-font-get-glyph-extents" role="function">
<title>pango_font_get_glyph_extents&#160;()</title>
<indexterm zone="pango-font-get-glyph-extents"><primary>pango_font_get_glyph_extents</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_get_glyph_extents (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                              <parameter><link linkend="PangoGlyph"><type>PangoGlyph</type></link> glyph</parameter>,
                              <parameter><link linkend="PangoRectangle"><type>PangoRectangle</type></link> *ink_rect</parameter>,
                              <parameter><link linkend="PangoRectangle"><type>PangoRectangle</type></link> *logical_rect</parameter>);</programlisting>
<para>Gets the logical and ink extents of a glyph within a font. The
coordinate system for each rectangle has its origin at the
base line and horizontal origin of the character with increasing
coordinates extending to the right and down. The macros <link linkend="PANGO-ASCENT:CAPS"><function>PANGO_ASCENT()</function></link>,
<link linkend="PANGO-DESCENT:CAPS"><function>PANGO_DESCENT()</function></link>, <link linkend="PANGO-LBEARING:CAPS"><function>PANGO_LBEARING()</function></link>, and <link linkend="PANGO-RBEARING:CAPS"><function>PANGO_RBEARING()</function></link> can be used to convert
from the extents rectangle to more traditional font metrics. The units
of the rectangles are in 1/PANGO_SCALE of a device unit.</para>
<para>If <parameter>font</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, this function gracefully sets some sane values in the
output variables and returns.</para>
<refsect3 id="pango-font-get-glyph-extents.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>glyph</para></entry>
<entry role="parameter_description"><para>the glyph index</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ink_rect</para></entry>
<entry role="parameter_description"><para>rectangle used to store the extents of the glyph
as drawn or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to indicate that the result is not needed. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>logical_rect</para></entry>
<entry role="parameter_description"><para>rectangle used to store the logical extents of
the glyph or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to indicate that the result is not needed. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-get-metrics" role="function">
<title>pango_font_get_metrics&#160;()</title>
<indexterm zone="pango-font-get-metrics"><primary>pango_font_get_metrics</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontMetrics"><returnvalue>PangoFontMetrics</returnvalue></link>&#160;*
pango_font_get_metrics (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                        <parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>);</programlisting>
<para>Gets overall metric information for a font. Since the metrics may be
substantially different for different scripts, a language tag can
be provided to indicate that the metrics should be retrieved that
correspond to the script(s) used by that language.</para>
<para>If <parameter>font</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, this function gracefully sets some sane values in the
output variables and returns.</para>
<refsect3 id="pango-font-get-metrics.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>language tag used to determine which script to get the metrics
for, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to indicate to get the metrics for the entire font. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-get-metrics.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> object. The caller must call <link linkend="pango-font-metrics-unref"><function>pango_font_metrics_unref()</function></link>
when finished using the object.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-get-font-map" role="function" condition="since:1.10">
<title>pango_font_get_font_map&#160;()</title>
<indexterm zone="pango-font-get-font-map" role="1.10"><primary>pango_font_get_font_map</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontMap"><returnvalue>PangoFontMap</returnvalue></link>&#160;*
pango_font_get_font_map (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<para>Gets the font map for which the font was created.</para>
<para>Note that the font maintains a <firstterm>weak</firstterm> reference
to the font map, so if all references to font map are dropped, the font
map will be finalized even if there are fonts created with the font
map that are still alive.  In that case this function will return <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
It is the responsibility of the user to ensure that the font map is kept
alive.  In most uses this is not an issue as a <link linkend="PangoContext"><type>PangoContext</type></link> holds
a reference to the font map.</para>
<refsect3 id="pango-font-get-font-map.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-get-font-map.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="PangoFontMap"><type>PangoFontMap</type></link> for the
font, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>font</parameter>
is <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2>
<refsect2 id="pango-font-get-features" role="function" condition="since:1.44">
<title>pango_font_get_features&#160;()</title>
<indexterm zone="pango-font-get-features" role="1.44"><primary>pango_font_get_features</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_get_features (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                         <parameter><link linkend="hb-feature-t"><type>hb_feature_t</type></link> *features</parameter>,
                         <parameter><link linkend="guint"><type>guint</type></link> len</parameter>,
                         <parameter><link linkend="guint"><type>guint</type></link> *num_features</parameter>);</programlisting>
<para>Obtain the OpenType features that are provided by the font.
These are passed to the rendering system, together with features
that have been explicitly set via attributes.</para>
<para>Note that this does not include OpenType features which the
rendering system enables by default.</para>
<refsect3 id="pango-font-get-features.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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>features</para></entry>
<entry role="parameter_description"><para>Array to features in. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out caller-allocates</acronym>][<acronym>array</acronym> length=len]</emphasis></entry></row>
<row><entry role="parameter_name"><para>len</para></entry>
<entry role="parameter_description"><para>the length of <parameter>features</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>num_features</para></entry>
<entry role="parameter_description"><para>the number of used items in <parameter>features</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>inout</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-font-get-hb-font" role="function" condition="since:1.44">
<title>pango_font_get_hb_font&#160;()</title>
<indexterm zone="pango-font-get-hb-font" role="1.44"><primary>pango_font_get_hb_font</primary></indexterm>
<programlisting language="C"><link linkend="hb-font-t"><returnvalue>hb_font_t</returnvalue></link>&#160;*
pango_font_get_hb_font (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<para>Get a hb_font_t object backing this font.</para>
<para>Note that the objects returned by this function
are cached and immutable. If you need to make
changes to the hb_font_t, use <link linkend="hb-font-create-sub-font"><function>hb_font_create_sub_font()</function></link>.</para>

<para><emphasis role="annotation">[<acronym>skip</acronym>]</emphasis></para><refsect3 id="pango-font-get-hb-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>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-get-hb-font.returns" role="returns">
<title>Returns</title>
<para>the hb_font_t object backing the
font, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the font does not have one. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-font-family-get-name" role="function">
<title>pango_font_family_get_name&#160;()</title>
<indexterm zone="pango-font-family-get-name"><primary>pango_font_family_get_name</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_font_family_get_name (<parameter><link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> *family</parameter>);</programlisting>
<para>Gets the name of the family. The name is unique among all
fonts for the font backend and can be used in a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
to specify that a face from this family is desired.</para>
<refsect3 id="pango-font-family-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>family</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-family-get-name.returns" role="returns">
<title>Returns</title>
<para> the name of the family. This string is owned
by the family object and must not be modified or freed.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-family-is-monospace" role="function" condition="since:1.4">
<title>pango_font_family_is_monospace&#160;()</title>
<indexterm zone="pango-font-family-is-monospace" role="1.4"><primary>pango_font_family_is_monospace</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_family_is_monospace (<parameter><link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> *family</parameter>);</programlisting>
<para>A monospace font is a font designed for text display where the the
characters form a regular grid. For Western languages this would
mean that the advance width of all characters are the same, but
this categorization also includes Asian fonts which include
double-width characters: characters that occupy two grid cells.
<link linkend="g-unichar-iswide"><function>g_unichar_iswide()</function></link> returns a result that indicates whether a
character is typically double-width in a monospace font.</para>
<para>The best way to find out the grid-cell size is to call
<link linkend="pango-font-metrics-get-approximate-digit-width"><function>pango_font_metrics_get_approximate_digit_width()</function></link>, since the results
of <link linkend="pango-font-metrics-get-approximate-char-width"><function>pango_font_metrics_get_approximate_char_width()</function></link> may be affected
by double-width characters.</para>
<refsect3 id="pango-font-family-is-monospace.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>a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-family-is-monospace.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the family is monospace.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-font-family-is-variable" role="function" condition="since:1.44">
<title>pango_font_family_is_variable&#160;()</title>
<indexterm zone="pango-font-family-is-variable" role="1.44"><primary>pango_font_family_is_variable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_family_is_variable (<parameter><link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> *family</parameter>);</programlisting>
<para>A variable font is a font which has axes that can be modified to
produce different faces.</para>
<refsect3 id="pango-font-family-is-variable.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>a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-family-is-variable.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the family is variable</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.44">1.44</link></para></refsect2>
<refsect2 id="pango-font-family-list-faces" role="function">
<title>pango_font_family_list_faces&#160;()</title>
<indexterm zone="pango-font-family-list-faces"><primary>pango_font_family_list_faces</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_family_list_faces (<parameter><link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> *family</parameter>,
                              <parameter><link linkend="PangoFontFace"><type>PangoFontFace</type></link> ***faces</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> *n_faces</parameter>);</programlisting>
<para>Lists the different font faces that make up <parameter>family</parameter>
. The faces
in a family share a common design, but differ in slant, weight,
width and other aspects.</para>
<refsect3 id="pango-font-family-list-faces.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>a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>faces</para></entry>
<entry role="parameter_description"><para>location to store an array of pointers to <link linkend="PangoFontFace"><type>PangoFontFace</type></link> objects,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. This array should be freed with <link linkend="g-free"><function>g_free()</function></link> when it is no
longer needed. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>][<acronym>array</acronym> length=n_faces][<acronym>transfer container</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_faces</para></entry>
<entry role="parameter_description"><para>location to store number of elements in <parameter>faces</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-family-get-face" role="function" condition="since:1.46">
<title>pango_font_family_get_face&#160;()</title>
<indexterm zone="pango-font-family-get-face" role="1.46"><primary>pango_font_family_get_face</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontFace"><returnvalue>PangoFontFace</returnvalue></link>&#160;*
pango_font_family_get_face (<parameter><link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> *family</parameter>,
                            <parameter>const <link linkend="char"><type>char</type></link> *name</parameter>);</programlisting>
<para>Gets the <link linkend="PangoFontFace"><type>PangoFontFace</type></link> of <parameter>family</parameter>
 with the given name.</para>
<refsect3 id="pango-font-family-get-face.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>a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>name</para></entry>
<entry role="parameter_description"><para>the name of a face. If the name is <link linkend="NULL:CAPS"><literal>NULL</literal></link>,
the family's default face (fontconfig calls it "Regular")
will be returned. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-family-get-face.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="PangoFontFace"><type>PangoFontFace</type></link>,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no face with the given name exists. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.46">1.46</link></para></refsect2>
<refsect2 id="pango-font-face-get-face-name" role="function">
<title>pango_font_face_get_face_name&#160;()</title>
<indexterm zone="pango-font-face-get-face-name"><primary>pango_font_face_get_face_name</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
pango_font_face_get_face_name (<parameter><link linkend="PangoFontFace"><type>PangoFontFace</type></link> *face</parameter>);</programlisting>
<para>Gets a name representing the style of this face among the
different faces in the <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> for the face. This
name is unique among all faces in the family and is suitable
for displaying to users.</para>
<refsect3 id="pango-font-face-get-face-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>face</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-face-get-face-name.returns" role="returns">
<title>Returns</title>
<para> the face name for the face. This string is
owned by the face object and must not be modified or freed.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-face-list-sizes" role="function" condition="since:1.4">
<title>pango_font_face_list_sizes&#160;()</title>
<indexterm zone="pango-font-face-list-sizes" role="1.4"><primary>pango_font_face_list_sizes</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_face_list_sizes (<parameter><link linkend="PangoFontFace"><type>PangoFontFace</type></link> *face</parameter>,
                            <parameter><link linkend="int"><type>int</type></link> **sizes</parameter>,
                            <parameter><link linkend="int"><type>int</type></link> *n_sizes</parameter>);</programlisting>
<para>List the available sizes for a font. This is only applicable to bitmap
fonts. For scalable fonts, stores <link linkend="NULL:CAPS"><literal>NULL</literal></link> at the location pointed to by
<parameter>sizes</parameter>
 and 0 at the location pointed to by <parameter>n_sizes</parameter>
. The sizes returned
are in Pango units and are sorted in ascending order.</para>
<refsect3 id="pango-font-face-list-sizes.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>face</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>sizes</para></entry>
<entry role="parameter_description"><para>location to store a pointer to an array of int. This array
should be freed with <link linkend="g-free"><function>g_free()</function></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>array</acronym> length=n_sizes][<acronym>nullable</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_sizes</para></entry>
<entry role="parameter_description"><para>location to store the number of elements in <parameter>sizes</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-font-face-describe" role="function">
<title>pango_font_face_describe&#160;()</title>
<indexterm zone="pango-font-face-describe"><primary>pango_font_face_describe</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontDescription"><returnvalue>PangoFontDescription</returnvalue></link>&#160;*
pango_font_face_describe (<parameter><link linkend="PangoFontFace"><type>PangoFontFace</type></link> *face</parameter>);</programlisting>
<para>Returns the family, style, variant, weight and stretch of
a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>. The size field of the resulting font description
will be unset.</para>
<refsect3 id="pango-font-face-describe.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>face</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontFace"><type>PangoFontFace</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-face-describe.returns" role="returns">
<title>Returns</title>
<para> a newly-created <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> structure
holding the description of the face. Use <link linkend="pango-font-description-free"><function>pango_font_description_free()</function></link>
to free the result.</para>
</refsect3></refsect2>
<refsect2 id="pango-font-face-is-synthesized" role="function" condition="since:1.18">
<title>pango_font_face_is_synthesized&#160;()</title>
<indexterm zone="pango-font-face-is-synthesized" role="1.18"><primary>pango_font_face_is_synthesized</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_font_face_is_synthesized (<parameter><link linkend="PangoFontFace"><type>PangoFontFace</type></link> *face</parameter>);</programlisting>
<para>Returns whether a <link linkend="PangoFontFace"><type>PangoFontFace</type></link> is synthesized by the underlying
font rendering engine from another face, perhaps by shearing, emboldening,
or lightening it.</para>
<refsect3 id="pango-font-face-is-synthesized.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>face</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontFace"><type>PangoFontFace</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-face-is-synthesized.returns" role="returns">
<title>Returns</title>
<para> whether <parameter>face</parameter>
is synthesized.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.18">1.18</link></para></refsect2>
<refsect2 id="pango-font-face-get-family" role="function" condition="since:1.46">
<title>pango_font_face_get_family&#160;()</title>
<indexterm zone="pango-font-face-get-family" role="1.46"><primary>pango_font_face_get_family</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontFamily"><returnvalue>PangoFontFamily</returnvalue></link>&#160;*
pango_font_face_get_family (<parameter><link linkend="PangoFontFace"><type>PangoFontFace</type></link> *face</parameter>);</programlisting>
<para>Gets the <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> that <parameter>face</parameter>

belongs to.</para>
<refsect3 id="pango-font-face-get-family.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>face</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontFace"><type>PangoFontFace</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-face-get-family.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.46">1.46</link></para></refsect2>
<refsect2 id="pango-font-map-create-context" role="function" condition="since:1.22">
<title>pango_font_map_create_context&#160;()</title>
<indexterm zone="pango-font-map-create-context" role="1.22"><primary>pango_font_map_create_context</primary></indexterm>
<programlisting language="C"><link linkend="PangoContext"><returnvalue>PangoContext</returnvalue></link>&#160;*
pango_font_map_create_context (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>);</programlisting>
<para>Creates a <link linkend="PangoContext"><type>PangoContext</type></link> connected to <parameter>fontmap</parameter>
.  This is equivalent
to <link linkend="pango-context-new"><function>pango_context_new()</function></link> followed by <link linkend="pango-context-set-font-map"><function>pango_context_set_font_map()</function></link>.</para>
<para>If you are using Pango as part of a higher-level system,
that system may have it's own way of create a <link linkend="PangoContext"><type>PangoContext</type></link>.
For instance, the GTK+ toolkit has, among others,
<link linkend="gdk-pango-context-get-for-screen"><function>gdk_pango_context_get_for_screen()</function></link>, and
<link linkend="gtk-widget-get-pango-context"><function>gtk_widget_get_pango_context()</function></link>.  Use those instead.</para>
<refsect3 id="pango-font-map-create-context.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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-map-create-context.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoContext"><type>PangoContext</type></link>,
which should be freed with <link linkend="g-object-unref"><function>g_object_unref()</function></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.22">1.22</link></para></refsect2>
<refsect2 id="pango-font-map-load-font" role="function">
<title>pango_font_map_load_font&#160;()</title>
<indexterm zone="pango-font-map-load-font"><primary>pango_font_map_load_font</primary></indexterm>
<programlisting language="C"><link linkend="PangoFont"><returnvalue>PangoFont</returnvalue></link>&#160;*
pango_font_map_load_font (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>,
                          <parameter><link linkend="PangoContext"><type>PangoContext</type></link> *context</parameter>,
                          <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>);</programlisting>
<para>Load the font in the fontmap that is the closest match for <parameter>desc</parameter>
.</para>
<refsect3 id="pango-font-map-load-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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para>the <link linkend="PangoContext"><type>PangoContext</type></link> the font will be used with</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> describing the font to load</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-map-load-font.returns" role="returns">
<title>Returns</title>
<para>the newly allocated <link linkend="PangoFont"><type>PangoFont</type></link>
loaded, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no font matched. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-font-map-load-fontset" role="function">
<title>pango_font_map_load_fontset&#160;()</title>
<indexterm zone="pango-font-map-load-fontset"><primary>pango_font_map_load_fontset</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontset"><returnvalue>PangoFontset</returnvalue></link>&#160;*
pango_font_map_load_fontset (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>,
                             <parameter><link linkend="PangoContext"><type>PangoContext</type></link> *context</parameter>,
                             <parameter>const <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> *desc</parameter>,
                             <parameter><link linkend="PangoLanguage"><type>PangoLanguage</type></link> *language</parameter>);</programlisting>
<para>Load a set of fonts in the fontmap that can be used to render
a font matching <parameter>desc</parameter>
.</para>
<refsect3 id="pango-font-map-load-fontset.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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>context</para></entry>
<entry role="parameter_description"><para>the <link linkend="PangoContext"><type>PangoContext</type></link> the font will be used with</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> describing the font to load</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>language</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoLanguage"><type>PangoLanguage</type></link> the fonts will be used for</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-map-load-fontset.returns" role="returns">
<title>Returns</title>
<para>the newly allocated
<link linkend="PangoFontset"><type>PangoFontset</type></link> loaded, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if no font matched. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-font-map-list-families" role="function">
<title>pango_font_map_list_families&#160;()</title>
<indexterm zone="pango-font-map-list-families"><primary>pango_font_map_list_families</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_map_list_families (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>,
                              <parameter><link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> ***families</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> *n_families</parameter>);</programlisting>
<para>List all families for a fontmap.</para>
<refsect3 id="pango-font-map-list-families.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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>families</para></entry>
<entry role="parameter_description"><para>location to store a pointer to an array of <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> *.
This array should be freed with <link linkend="g-free"><function>g_free()</function></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>array</acronym> length=n_families][<acronym>transfer container</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>n_families</para></entry>
<entry role="parameter_description"><para>location to store the number of elements in <parameter>families</parameter>
. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-font-map-get-family" role="function" condition="since:1.46">
<title>pango_font_map_get_family&#160;()</title>
<indexterm zone="pango-font-map-get-family" role="1.46"><primary>pango_font_map_get_family</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontFamily"><returnvalue>PangoFontFamily</returnvalue></link>&#160;*
pango_font_map_get_family (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>,
                           <parameter>const <link linkend="char"><type>char</type></link> *name</parameter>);</programlisting>
<para>Gets a font family by name.</para>
<refsect3 id="pango-font-map-get-family.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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>name</para></entry>
<entry role="parameter_description"><para>a family name</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-map-get-family.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.46">1.46</link></para></refsect2>
<refsect2 id="pango-font-map-get-serial" role="function" condition="since:1.32.4">
<title>pango_font_map_get_serial&#160;()</title>
<indexterm zone="pango-font-map-get-serial" role="1.32.4"><primary>pango_font_map_get_serial</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
pango_font_map_get_serial (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>);</programlisting>
<para>Returns the current serial number of <parameter>fontmap</parameter>
.  The serial number is
initialized to an small number larger than zero when a new fontmap
is created and is increased whenever the fontmap is changed. It may
wrap, but will never have the value 0. Since it can wrap, never compare
it with "less than", always use "not equals".</para>
<para>The fontmap can only be changed using backend-specific API, like changing
fontmap resolution.</para>
<para>This can be used to automatically detect changes to a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>, like
in <link linkend="PangoContext"><type>PangoContext</type></link>.</para>
<refsect3 id="pango-font-map-get-serial.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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-font-map-get-serial.returns" role="returns">
<title>Returns</title>
<para> The current serial number of <parameter>fontmap</parameter>
.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.32.4">1.32.4</link></para></refsect2>
<refsect2 id="pango-font-map-changed" role="function" condition="since:1.34">
<title>pango_font_map_changed&#160;()</title>
<indexterm zone="pango-font-map-changed" role="1.34"><primary>pango_font_map_changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_font_map_changed (<parameter><link linkend="PangoFontMap"><type>PangoFontMap</type></link> *fontmap</parameter>);</programlisting>
<para>Forces a change in the context, which will cause any <link linkend="PangoContext"><type>PangoContext</type></link>
using this fontmap to change.</para>
<para>This function is only useful when implementing a new backend
for Pango, something applications won't do. Backends should
call this function if they have attached extra data to the context
and such data is changed.</para>
<refsect3 id="pango-font-map-changed.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>fontmap</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.34">1.34</link></para></refsect2>
<refsect2 id="pango-fontset-get-font" role="function">
<title>pango_fontset_get_font&#160;()</title>
<indexterm zone="pango-fontset-get-font"><primary>pango_fontset_get_font</primary></indexterm>
<programlisting language="C"><link linkend="PangoFont"><returnvalue>PangoFont</returnvalue></link>&#160;*
pango_fontset_get_font (<parameter><link linkend="PangoFontset"><type>PangoFontset</type></link> *fontset</parameter>,
                        <parameter><link linkend="guint"><type>guint</type></link> wc</parameter>);</programlisting>
<para>Returns the font in the fontset that contains the best glyph for the
Unicode character <parameter>wc</parameter>
.</para>
<refsect3 id="pango-fontset-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>fontset</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontset"><type>PangoFontset</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wc</para></entry>
<entry role="parameter_description"><para>a Unicode character</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-fontset-get-font.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="PangoFont"><type>PangoFont</type></link>. The caller must call
g_object_unref when finished with the font. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-fontset-get-metrics" role="function">
<title>pango_fontset_get_metrics&#160;()</title>
<indexterm zone="pango-fontset-get-metrics"><primary>pango_fontset_get_metrics</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontMetrics"><returnvalue>PangoFontMetrics</returnvalue></link>&#160;*
pango_fontset_get_metrics (<parameter><link linkend="PangoFontset"><type>PangoFontset</type></link> *fontset</parameter>);</programlisting>
<para>Get overall metric information for the fonts in the fontset.</para>
<refsect3 id="pango-fontset-get-metrics.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>fontset</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontset"><type>PangoFontset</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-fontset-get-metrics.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> object. The caller must call <link linkend="pango-font-metrics-unref"><function>pango_font_metrics_unref()</function></link>
when finished using the object.</para>
</refsect3></refsect2>
<refsect2 id="PangoFontsetForeachFunc" role="function" condition="since:1.4">
<title>PangoFontsetForeachFunc&#160;()</title>
<indexterm zone="PangoFontsetForeachFunc" role="1.4"><primary>PangoFontsetForeachFunc</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*PangoFontsetForeachFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="PangoFontset"><type>PangoFontset</type></link> *fontset</parameter>,
                            <parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                            <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
<para>A callback function used by <link linkend="pango-fontset-foreach"><function>pango_fontset_foreach()</function></link> when enumerating
the fonts in a fontset.</para>
<refsect3 id="PangoFontsetForeachFunc.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>fontset</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontset"><type>PangoFontset</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a font from <parameter>fontset</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>callback data</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="PangoFontsetForeachFunc.returns" role="returns">
<title>Returns</title>
<para> if <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, stop iteration and return immediately.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>
<refsect2 id="pango-fontset-foreach" role="function" condition="since:1.4">
<title>pango_fontset_foreach&#160;()</title>
<indexterm zone="pango-fontset-foreach" role="1.4"><primary>pango_fontset_foreach</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_fontset_foreach (<parameter><link linkend="PangoFontset"><type>PangoFontset</type></link> *fontset</parameter>,
                       <parameter><link linkend="PangoFontsetForeachFunc"><type>PangoFontsetForeachFunc</type></link> func</parameter>,
                       <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Iterates through all the fonts in a fontset, calling <parameter>func</parameter>
 for
each one. If <parameter>func</parameter>
 returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, that stops the iteration.</para>
<refsect3 id="pango-fontset-foreach.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>fontset</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFontset"><type>PangoFontset</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. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym> data][<acronym>scope call</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>data to pass to the callback function. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.4">1.4</link></para></refsect2>

</refsect1>
<refsect1 id="pango-Fonts.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="PangoFontDescription-struct" role="struct">
<title>PangoFontDescription</title>
<indexterm zone="PangoFontDescription-struct"><primary>PangoFontDescription</primary></indexterm>
<programlisting language="C">typedef struct _PangoFontDescription PangoFontDescription;</programlisting>
<para>The <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> structure represents the description
of an ideal font. These structures are used both to list
what fonts are available on the system and also for specifying
the characteristics of a font to load.</para>
</refsect2>
<refsect2 id="PangoStyle" role="enum">
<title>enum PangoStyle</title>
<indexterm zone="PangoStyle"><primary>PangoStyle</primary></indexterm>
<para>An enumeration specifying the various slant styles possible for a font.</para>
<refsect3 id="PangoStyle.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-STYLE-NORMAL:CAPS">PANGO_STYLE_NORMAL</para></entry>
<entry role="enum_member_description"><para>the font is upright.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STYLE-OBLIQUE:CAPS">PANGO_STYLE_OBLIQUE</para></entry>
<entry role="enum_member_description"><para>the font is slanted, but in a roman style.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STYLE-ITALIC:CAPS">PANGO_STYLE_ITALIC</para></entry>
<entry role="enum_member_description"><para>the font is slanted in an italic style.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PangoWeight" role="enum">
<title>enum PangoWeight</title>
<indexterm zone="PangoWeight"><primary>PangoWeight</primary></indexterm>
<para>An enumeration specifying the weight (boldness) of a font. This is a numerical
value ranging from 100 to 1000, but there are some predefined values:</para>
<refsect3 id="PangoWeight.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-WEIGHT-THIN:CAPS">PANGO_WEIGHT_THIN</para></entry>
<entry role="enum_member_description"><para>the thin weight (= 100; Since: 1.24)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-ULTRALIGHT:CAPS">PANGO_WEIGHT_ULTRALIGHT</para></entry>
<entry role="enum_member_description"><para>the ultralight weight (= 200)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-LIGHT:CAPS">PANGO_WEIGHT_LIGHT</para></entry>
<entry role="enum_member_description"><para>the light weight (= 300)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-SEMILIGHT:CAPS">PANGO_WEIGHT_SEMILIGHT</para></entry>
<entry role="enum_member_description"><para>the semilight weight (= 350; Since: 1.36.7)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-BOOK:CAPS">PANGO_WEIGHT_BOOK</para></entry>
<entry role="enum_member_description"><para>the book weight (= 380; Since: 1.24)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-NORMAL:CAPS">PANGO_WEIGHT_NORMAL</para></entry>
<entry role="enum_member_description"><para>the default weight (= 400)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-MEDIUM:CAPS">PANGO_WEIGHT_MEDIUM</para></entry>
<entry role="enum_member_description"><para>the normal weight (= 500; Since: 1.24)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-SEMIBOLD:CAPS">PANGO_WEIGHT_SEMIBOLD</para></entry>
<entry role="enum_member_description"><para>the semibold weight (= 600)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-BOLD:CAPS">PANGO_WEIGHT_BOLD</para></entry>
<entry role="enum_member_description"><para>the bold weight (= 700)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-ULTRABOLD:CAPS">PANGO_WEIGHT_ULTRABOLD</para></entry>
<entry role="enum_member_description"><para>the ultrabold weight (= 800)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-HEAVY:CAPS">PANGO_WEIGHT_HEAVY</para></entry>
<entry role="enum_member_description"><para>the heavy weight (= 900)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-WEIGHT-ULTRAHEAVY:CAPS">PANGO_WEIGHT_ULTRAHEAVY</para></entry>
<entry role="enum_member_description"><para>the ultraheavy weight (= 1000; Since: 1.24)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PangoVariant" role="enum">
<title>enum PangoVariant</title>
<indexterm zone="PangoVariant"><primary>PangoVariant</primary></indexterm>
<para>An enumeration specifying capitalization variant of the font.</para>
<refsect3 id="PangoVariant.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-VARIANT-NORMAL:CAPS">PANGO_VARIANT_NORMAL</para></entry>
<entry role="enum_member_description"><para>A normal font.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-VARIANT-SMALL-CAPS">PANGO_VARIANT_SMALL_CAPS</para></entry>
<entry role="enum_member_description"><para>A font with the lower case characters
replaced by smaller variants of the capital characters.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PangoStretch" role="enum">
<title>enum PangoStretch</title>
<indexterm zone="PangoStretch"><primary>PangoStretch</primary></indexterm>
<para>An enumeration specifying the width of the font relative to other designs
within a family.</para>
<refsect3 id="PangoStretch.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-STRETCH-ULTRA-CONDENSED:CAPS">PANGO_STRETCH_ULTRA_CONDENSED</para></entry>
<entry role="enum_member_description"><para>ultra condensed width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-EXTRA-CONDENSED:CAPS">PANGO_STRETCH_EXTRA_CONDENSED</para></entry>
<entry role="enum_member_description"><para>extra condensed width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-CONDENSED:CAPS">PANGO_STRETCH_CONDENSED</para></entry>
<entry role="enum_member_description"><para>condensed width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-SEMI-CONDENSED:CAPS">PANGO_STRETCH_SEMI_CONDENSED</para></entry>
<entry role="enum_member_description"><para>semi condensed width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-NORMAL:CAPS">PANGO_STRETCH_NORMAL</para></entry>
<entry role="enum_member_description"><para>the normal width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-SEMI-EXPANDED:CAPS">PANGO_STRETCH_SEMI_EXPANDED</para></entry>
<entry role="enum_member_description"><para>semi expanded width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-EXPANDED:CAPS">PANGO_STRETCH_EXPANDED</para></entry>
<entry role="enum_member_description"><para>expanded width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-EXTRA-EXPANDED:CAPS">PANGO_STRETCH_EXTRA_EXPANDED</para></entry>
<entry role="enum_member_description"><para>extra expanded width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-STRETCH-ULTRA-EXPANDED:CAPS">PANGO_STRETCH_ULTRA_EXPANDED</para></entry>
<entry role="enum_member_description"><para>ultra expanded width</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PangoFontMask" role="enum">
<title>enum PangoFontMask</title>
<indexterm zone="PangoFontMask"><primary>PangoFontMask</primary></indexterm>
<para>The bits in a <link linkend="PangoFontMask"><type>PangoFontMask</type></link> correspond to fields in a
<link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> that have been set.</para>
<refsect3 id="PangoFontMask.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-FONT-MASK-FAMILY:CAPS">PANGO_FONT_MASK_FAMILY</para></entry>
<entry role="enum_member_description"><para>the font family is specified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-STYLE:CAPS">PANGO_FONT_MASK_STYLE</para></entry>
<entry role="enum_member_description"><para>the font style is specified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-VARIANT:CAPS">PANGO_FONT_MASK_VARIANT</para></entry>
<entry role="enum_member_description"><para>the font variant is specified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-WEIGHT:CAPS">PANGO_FONT_MASK_WEIGHT</para></entry>
<entry role="enum_member_description"><para>the font weight is specified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-STRETCH:CAPS">PANGO_FONT_MASK_STRETCH</para></entry>
<entry role="enum_member_description"><para>the font stretch is specified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-SIZE:CAPS">PANGO_FONT_MASK_SIZE</para></entry>
<entry role="enum_member_description"><para>the font size is specified.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-GRAVITY:CAPS">PANGO_FONT_MASK_GRAVITY</para></entry>
<entry role="enum_member_description"><para>the font gravity is specified (Since: 1.16.)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="PANGO-FONT-MASK-VARIATIONS:CAPS">PANGO_FONT_MASK_VARIATIONS</para></entry>
<entry role="enum_member_description"><para>OpenType font variations are specified (Since: 1.42)</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="PangoFontMetrics-struct" role="struct">
<title>struct PangoFontMetrics</title>
<indexterm zone="PangoFontMetrics-struct"><primary>PangoFontMetrics</primary></indexterm>
<programlisting language="C">struct PangoFontMetrics {
};
</programlisting>
<para>A <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure holds the overall metric information
for a font (possibly restricted to a script). The fields of this
structure are private to implementations of a font backend. See
the documentation of the corresponding getters for documentation
of their meaning.</para>
</refsect2>
<refsect2 id="PangoFont-struct" role="struct">
<title>PangoFont</title>
<indexterm zone="PangoFont-struct" role="deprecated"><primary>PangoFont</primary></indexterm>
<programlisting language="C">typedef struct _PangoFont PangoFont;</programlisting>
<warning><para><literal>PangoFont</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>The <link linkend="PangoFont"><type>PangoFont</type></link> structure is used to represent
a font in a rendering-system-independent matter.
To create an implementation of a <link linkend="PangoFont"><type>PangoFont</type></link>,
the rendering-system specific code should allocate
a larger structure that contains a nested
<link linkend="PangoFont"><type>PangoFont</type></link>, fill in the <structfield>klass</structfield> member of
the nested <link linkend="PangoFont"><type>PangoFont</type></link> with a pointer to
a appropriate <link linkend="PangoFontClass"><type>PangoFontClass</type></link>, then call
<link linkend="pango-font-init"><function>pango_font_init()</function></link> on the structure.</para>
<para>The <link linkend="PangoFont"><type>PangoFont</type></link> structure contains one member
which the implementation fills in.</para>
</refsect2>
<refsect2 id="PangoFontFamily-struct" role="struct">
<title>struct PangoFontFamily</title>
<indexterm zone="PangoFontFamily-struct" role="deprecated"><primary>PangoFontFamily</primary></indexterm>
<programlisting language="C">struct PangoFontFamily;</programlisting>
<warning><para><literal>PangoFontFamily</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>The <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link> structure is used to represent a family of related
font faces. The faces in a family share a common design, but differ in
slant, weight, width and other aspects.</para>
</refsect2>
<refsect2 id="PangoFontFace-struct" role="struct">
<title>struct PangoFontFace</title>
<indexterm zone="PangoFontFace-struct" role="deprecated"><primary>PangoFontFace</primary></indexterm>
<programlisting language="C">struct PangoFontFace;</programlisting>
<warning><para><literal>PangoFontFace</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>The <link linkend="PangoFontFace"><type>PangoFontFace</type></link> structure is used to represent a group of fonts with
the same family, slant, weight, width, but varying sizes.</para>
</refsect2>
<refsect2 id="PangoFontMap-struct" role="struct">
<title>PangoFontMap</title>
<indexterm zone="PangoFontMap-struct"><primary>PangoFontMap</primary></indexterm>
<programlisting language="C">typedef struct _PangoFontMap PangoFontMap;</programlisting>
<para>The <link linkend="PangoFontMap"><type>PangoFontMap</type></link> represents the set of fonts available for a
particular rendering system. This is a virtual object with
implementations being specific to particular rendering systems.  To
create an implementation of a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>, the rendering-system
specific code should allocate a larger structure that contains a nested
<link linkend="PangoFontMap"><type>PangoFontMap</type></link>, fill in the <structfield>klass</structfield> member of the nested <link linkend="PangoFontMap"><type>PangoFontMap</type></link> with a
pointer to a appropriate <link linkend="PangoFontMapClass"><type>PangoFontMapClass</type></link>, then call
<link linkend="pango-font-map-init"><function>pango_font_map_init()</function></link> on the structure.</para>
<para>The <link linkend="PangoFontMap"><type>PangoFontMap</type></link> structure contains one member which the implementation
fills in.</para>
</refsect2>
<refsect2 id="PangoFontMapClass" role="struct">
<title>struct PangoFontMapClass</title>
<indexterm zone="PangoFontMapClass"><primary>PangoFontMapClass</primary></indexterm>
<programlisting language="C">struct PangoFontMapClass {
  GObjectClass parent_class;

  PangoFont *   (*load_font)     (PangoFontMap               *fontmap,
                                  PangoContext               *context,
                                  const PangoFontDescription *desc);
  void          (*list_families) (PangoFontMap               *fontmap,
                                  PangoFontFamily          ***families,
                                  int                        *n_families);
  PangoFontset *(*load_fontset)  (PangoFontMap               *fontmap,
                                  PangoContext               *context,
                                  const PangoFontDescription *desc,
                                  PangoLanguage              *language);

  const char     *shape_engine_type;

  guint         (*get_serial)    (PangoFontMap               *fontmap);
  void          (*changed)       (PangoFontMap               *fontmap);

  PangoFontFamily * (*get_family) (PangoFontMap               *fontmap,
                                   const char                 *name);

  PangoFontFace *   (*get_face)   (PangoFontMap               *fontmap,
                                   PangoFont                  *font);
};
</programlisting>
<para>The <link linkend="PangoFontMapClass"><type>PangoFontMapClass</type></link> structure holds the virtual functions for
a particular <link linkend="PangoFontMap"><type>PangoFontMap</type></link> implementation.</para>
<refsect3 id="PangoFontMapClass.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><structfield id="PangoFontMapClass.load-font">load_font</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to load a font with a given description. See
<link linkend="pango-font-map-load-font"><function>pango_font_map_load_font()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontMapClass.list-families">list_families</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>A function to list available font families. See
<link linkend="pango-font-map-list-families"><function>pango_font_map_list_families()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontMapClass.load-fontset">load_fontset</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to load a fontset with a given given description
suitable for a particular language. See <link linkend="pango-font-map-load-fontset"><function>pango_font_map_load_fontset()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para>const&#160;<link linkend="char"><type>char</type></link>&#160;*<structfield id="PangoFontMapClass.shape-engine-type">shape_engine_type</structfield>;</para></entry>
<entry role="struct_member_description"><para>the type of rendering-system-dependent engines that
can handle fonts of this fonts loaded with this fontmap.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontMapClass.get-serial">get_serial</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to get the serial number of the fontmap.
See <link linkend="pango-font-map-get-serial"><function>pango_font_map_get_serial()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontMapClass.changed">changed</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>See <link linkend="pango-font-map-changed"><function>pango_font_map_changed()</function></link></para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontMapClass.get-family">get_family</structfield>&#160;()</para></entry>
<entry /><entry />
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontMapClass.get-face">get_face</structfield>&#160;()</para></entry>
<entry /><entry />
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>
<refsect2 id="PangoFontset-struct" role="struct">
<title>struct PangoFontset</title>
<indexterm zone="PangoFontset-struct"><primary>PangoFontset</primary></indexterm>
<programlisting language="C">struct PangoFontset;</programlisting>
<para>A <link linkend="PangoFontset"><type>PangoFontset</type></link> represents a set of <link linkend="PangoFont"><type>PangoFont</type></link> to use
when rendering text. It is the result of resolving a
<link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> against a particular <link linkend="PangoContext"><type>PangoContext</type></link>.
It has operations for finding the component font for
a particular Unicode character, and for finding a composite
set of metrics for the entire fontset.</para>
</refsect2>
<refsect2 id="PangoFontsetClass" role="struct">
<title>struct PangoFontsetClass</title>
<indexterm zone="PangoFontsetClass"><primary>PangoFontsetClass</primary></indexterm>
<programlisting language="C">struct PangoFontsetClass {
  GObjectClass parent_class;

  PangoFont *       (*get_font)     (PangoFontset     *fontset,
                                     guint             wc);

  PangoFontMetrics *(*get_metrics)  (PangoFontset     *fontset);
  PangoLanguage *   (*get_language) (PangoFontset     *fontset);
  void              (*foreach)      (PangoFontset           *fontset,
                                     PangoFontsetForeachFunc func,
                                     gpointer                data);
};
</programlisting>
<para>The <link linkend="PangoFontsetClass"><type>PangoFontsetClass</type></link> structure holds the virtual functions for
a particular <link linkend="PangoFontset"><type>PangoFontset</type></link> implementation.</para>
<refsect3 id="PangoFontsetClass.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><structfield id="PangoFontsetClass.get-font">get_font</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to get the font in the fontset that contains the
best glyph for the given Unicode character; see <link linkend="pango-fontset-get-font"><function>pango_fontset_get_font()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontsetClass.get-metrics">get_metrics</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to get overall metric information for the fonts
in the fontset; see <link linkend="pango-fontset-get-metrics"><function>pango_fontset_get_metrics()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontsetClass.get-language">get_language</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to get the language of the fontset.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoFontsetClass.foreach">foreach</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a function to loop over the fonts in the fontset. See
<link linkend="pango-fontset-foreach"><function>pango_fontset_foreach()</function></link>.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>

</refsect1>

</refentry>
