<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>

<refsynopsisdiv id="pango-Fonts.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<anchor id="PangoFont"/><anchor id="PangoFontFamily"/><anchor id="PangoFontFace"/><anchor id="PangoFontMap"/><anchor id="PangoFontset"/><anchor id="PangoFontsetSimple"/>
<synopsis>
                    <link linkend="PangoFontDescription">PangoFontDescription</link>;
#define             <link linkend="PANGO-TYPE-FONT-DESCRIPTION--CAPS">PANGO_TYPE_FONT_DESCRIPTION</link>
enum                <link linkend="PangoStyle">PangoStyle</link>;
#define             <link linkend="PANGO-TYPE-STYLE--CAPS">PANGO_TYPE_STYLE</link>
enum                <link linkend="PangoWeight">PangoWeight</link>;
#define             <link linkend="PANGO-TYPE-WEIGHT--CAPS">PANGO_TYPE_WEIGHT</link>
enum                <link linkend="PangoVariant">PangoVariant</link>;
#define             <link linkend="PANGO-TYPE-VARIANT--CAPS">PANGO_TYPE_VARIANT</link>
enum                <link linkend="PangoStretch">PangoStretch</link>;
#define             <link linkend="PANGO-TYPE-STRETCH--CAPS">PANGO_TYPE_STRETCH</link>
enum                <link linkend="PangoFontMask">PangoFontMask</link>;
#define             <link linkend="PANGO-TYPE-FONT-MASK--CAPS">PANGO_TYPE_FONT_MASK</link>
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-description-new">pango_font_description_new</link>       (void);
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-description-copy">pango_font_description_copy</link>      (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-description-copy-static">pango_font_description_copy_static</link>
                                                        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="guint">guint</link>               <link linkend="pango-font-description-hash">pango_font_description_hash</link>         (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="gboolean">gboolean</link>            <link linkend="pango-font-description-equal">pango_font_description_equal</link>        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc1,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc2);
<link linkend="void">void</link>                <link linkend="pango-font-description-free">pango_font_description_free</link>         (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-descriptions-free">pango_font_descriptions_free</link>        (<link linkend="PangoFontDescription">PangoFontDescription</link> **descs,
                                                         <link linkend="int">int</link> n_descs);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-family">pango_font_description_set_family</link>   (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="char">char</link> *family);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-family-static">pango_font_description_set_family_static</link>
                                                        (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="char">char</link> *family);
const <link linkend="char">char</link> *        <link linkend="pango-font-description-get-family">pango_font_description_get_family</link>   (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-style">pango_font_description_set_style</link>    (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoStyle">PangoStyle</link> style);
<link linkend="PangoStyle">PangoStyle</link>          <link linkend="pango-font-description-get-style">pango_font_description_get_style</link>    (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-variant">pango_font_description_set_variant</link>  (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoVariant">PangoVariant</link> variant);
<link linkend="PangoVariant">PangoVariant</link>        <link linkend="pango-font-description-get-variant">pango_font_description_get_variant</link>  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-weight">pango_font_description_set_weight</link>   (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoWeight">PangoWeight</link> weight);
<link linkend="PangoWeight">PangoWeight</link>         <link linkend="pango-font-description-get-weight">pango_font_description_get_weight</link>   (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-stretch">pango_font_description_set_stretch</link>  (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoStretch">PangoStretch</link> stretch);
<link linkend="PangoStretch">PangoStretch</link>        <link linkend="pango-font-description-get-stretch">pango_font_description_get_stretch</link>  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-size">pango_font_description_set_size</link>     (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="gint">gint</link> size);
<link linkend="gint">gint</link>                <link linkend="pango-font-description-get-size">pango_font_description_get_size</link>     (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-absolute-size">pango_font_description_set_absolute_size</link>
                                                        (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="double">double</link> size);
<link linkend="gboolean">gboolean</link>            <link linkend="pango-font-description-get-size-is-absolute">pango_font_description_get_size_is_absolute</link>
                                                        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-set-gravity">pango_font_description_set_gravity</link>  (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoGravity">PangoGravity</link> gravity);
<link linkend="PangoGravity">PangoGravity</link>        <link linkend="pango-font-description-get-gravity">pango_font_description_get_gravity</link>  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="PangoFontMask">PangoFontMask</link>       <link linkend="pango-font-description-get-set-fields">pango_font_description_get_set_fields</link>
                                                        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="void">void</link>                <link linkend="pango-font-description-unset-fields">pango_font_description_unset_fields</link> (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoFontMask">PangoFontMask</link> to_unset);
<link linkend="void">void</link>                <link linkend="pango-font-description-merge">pango_font_description_merge</link>        (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc_to_merge,
                                                         <link linkend="gboolean">gboolean</link> replace_existing);
<link linkend="void">void</link>                <link linkend="pango-font-description-merge-static">pango_font_description_merge_static</link> (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc_to_merge,
                                                         <link linkend="gboolean">gboolean</link> replace_existing);
<link linkend="gboolean">gboolean</link>            <link linkend="pango-font-description-better-match">pango_font_description_better_match</link> (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *old_match,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *new_match);
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-description-from-string">pango_font_description_from_string</link>
                                                        (const <link linkend="char">char</link> *str);
<link linkend="char">char</link> *              <link linkend="pango-font-description-to-string">pango_font_description_to_string</link>    (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="char">char</link> *              <link linkend="pango-font-description-to-filename">pango_font_description_to_filename</link>  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);

                    <link linkend="PangoFontMetrics">PangoFontMetrics</link>;
#define             <link linkend="PANGO-TYPE-FONT-METRICS--CAPS">PANGO_TYPE_FONT_METRICS</link>
<link linkend="PangoFontMetrics">PangoFontMetrics</link> *  <link linkend="pango-font-metrics-ref">pango_font_metrics_ref</link>              (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="void">void</link>                <link linkend="pango-font-metrics-unref">pango_font_metrics_unref</link>            (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-ascent">pango_font_metrics_get_ascent</link>       (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-descent">pango_font_metrics_get_descent</link>      (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-approximate-char-width">pango_font_metrics_get_approximate_char_width</link>
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-approximate-digit-width">pango_font_metrics_get_approximate_digit_width</link>
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-underline-thickness">pango_font_metrics_get_underline_thickness</link>
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-underline-position">pango_font_metrics_get_underline_position</link>
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-strikethrough-thickness">pango_font_metrics_get_strikethrough_thickness</link>
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);
<link linkend="int">int</link>                 <link linkend="pango-font-metrics-get-strikethrough-position">pango_font_metrics_get_strikethrough_position</link>
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);

                    <link linkend="PangoFont-struct">PangoFont</link>;
#define             <link linkend="PANGO-TYPE-FONT--CAPS">PANGO_TYPE_FONT</link>
#define             <link linkend="PANGO-FONT--CAPS">PANGO_FONT</link>                          (object)
#define             <link linkend="PANGO-IS-FONT--CAPS">PANGO_IS_FONT</link>                       (object)
<link linkend="PangoEngineShape">PangoEngineShape</link> *  <link linkend="pango-font-find-shaper">pango_font_find_shaper</link>              (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language,
                                                         <link linkend="guint32">guint32</link> ch);
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-describe">pango_font_describe</link>              (<link linkend="PangoFont">PangoFont</link> *font);
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-describe-with-absolute-size">pango_font_describe_with_absolute_size</link>
                                                        (<link linkend="PangoFont">PangoFont</link> *font);
<link linkend="PangoCoverage">PangoCoverage</link> *     <link linkend="pango-font-get-coverage">pango_font_get_coverage</link>             (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language);
<link linkend="void">void</link>                <link linkend="pango-font-get-glyph-extents">pango_font_get_glyph_extents</link>        (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoGlyph">PangoGlyph</link> glyph,
                                                         <link linkend="PangoRectangle">PangoRectangle</link> *ink_rect,
                                                         <link linkend="PangoRectangle">PangoRectangle</link> *logical_rect);
<link linkend="PangoFontMetrics">PangoFontMetrics</link> *  <link linkend="pango-font-get-metrics">pango_font_get_metrics</link>              (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language);
<link linkend="PangoFontMap">PangoFontMap</link> *      <link linkend="pango-font-get-font-map">pango_font_get_font_map</link>             (<link linkend="PangoFont">PangoFont</link> *font);

                    <link linkend="PangoFontFamily-struct">PangoFontFamily</link>;
#define             <link linkend="PANGO-TYPE-FONT-FAMILY--CAPS">PANGO_TYPE_FONT_FAMILY</link>
#define             <link linkend="PANGO-FONT-FAMILY--CAPS">PANGO_FONT_FAMILY</link>                   (object)
#define             <link linkend="PANGO-IS-FONT-FAMILY--CAPS">PANGO_IS_FONT_FAMILY</link>                (object)
const <link linkend="char">char</link> *        <link linkend="pango-font-family-get-name">pango_font_family_get_name</link>          (<link linkend="PangoFontFamily">PangoFontFamily</link> *family);
<link linkend="gboolean">gboolean</link>            <link linkend="pango-font-family-is-monospace">pango_font_family_is_monospace</link>      (<link linkend="PangoFontFamily">PangoFontFamily</link> *family);
<link linkend="void">void</link>                <link linkend="pango-font-family-list-faces">pango_font_family_list_faces</link>        (<link linkend="PangoFontFamily">PangoFontFamily</link> *family,
                                                         <link linkend="PangoFontFace">PangoFontFace</link> ***faces,
                                                         <link linkend="int">int</link> *n_faces);

                    <link linkend="PangoFontFace-struct">PangoFontFace</link>;
#define             <link linkend="PANGO-TYPE-FONT-FACE--CAPS">PANGO_TYPE_FONT_FACE</link>
#define             <link linkend="PANGO-FONT-FACE--CAPS">PANGO_FONT_FACE</link>                     (object)
#define             <link linkend="PANGO-IS-FONT-FACE--CAPS">PANGO_IS_FONT_FACE</link>                  (object)
const <link linkend="char">char</link> *        <link linkend="pango-font-face-get-face-name">pango_font_face_get_face_name</link>       (<link linkend="PangoFontFace">PangoFontFace</link> *face);
<link linkend="void">void</link>                <link linkend="pango-font-face-list-sizes">pango_font_face_list_sizes</link>          (<link linkend="PangoFontFace">PangoFontFace</link> *face,
                                                         <link linkend="int">int</link> **sizes,
                                                         <link linkend="int">int</link> *n_sizes);
<link linkend="PangoFontDescription">PangoFontDescription</link> * <link linkend="pango-font-face-describe">pango_font_face_describe</link>         (<link linkend="PangoFontFace">PangoFontFace</link> *face);
<link linkend="gboolean">gboolean</link>            <link linkend="pango-font-face-is-synthesized">pango_font_face_is_synthesized</link>      (<link linkend="PangoFontFace">PangoFontFace</link> *face);

                    <link linkend="PangoFontMap-struct">PangoFontMap</link>;
#define             <link linkend="PANGO-TYPE-FONT-MAP--CAPS">PANGO_TYPE_FONT_MAP</link>
#define             <link linkend="PANGO-FONT-MAP--CAPS">PANGO_FONT_MAP</link>                      (object)
#define             <link linkend="PANGO-IS-FONT-MAP--CAPS">PANGO_IS_FONT_MAP</link>                   (object)
                    <link linkend="PangoFontMapClass">PangoFontMapClass</link>;
#define             <link linkend="PANGO-FONT-MAP-CLASS--CAPS">PANGO_FONT_MAP_CLASS</link>                (klass)
#define             <link linkend="PANGO-IS-FONT-MAP-CLASS--CAPS">PANGO_IS_FONT_MAP_CLASS</link>             (klass)
#define             <link linkend="PANGO-FONT-MAP-GET-CLASS--CAPS">PANGO_FONT_MAP_GET_CLASS</link>            (obj)
<link linkend="PangoContext">PangoContext</link> *      <link linkend="pango-font-map-create-context">pango_font_map_create_context</link>       (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap);
<link linkend="PangoFont">PangoFont</link> *         <link linkend="pango-font-map-load-font">pango_font_map_load_font</link>            (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap,
                                                         <link linkend="PangoContext">PangoContext</link> *context,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);
<link linkend="PangoFontset">PangoFontset</link> *      <link linkend="pango-font-map-load-fontset">pango_font_map_load_fontset</link>         (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap,
                                                         <link linkend="PangoContext">PangoContext</link> *context,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language);
<link linkend="void">void</link>                <link linkend="pango-font-map-list-families">pango_font_map_list_families</link>        (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap,
                                                         <link linkend="PangoFontFamily">PangoFontFamily</link> ***families,
                                                         <link linkend="int">int</link> *n_families);
const <link linkend="char">char</link> *        <link linkend="pango-font-map-get-shape-engine-type">pango_font_map_get_shape_engine_type</link>
                                                        (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap);

                    <link linkend="PangoFontset-struct">PangoFontset</link>;
#define             <link linkend="PANGO-TYPE-FONTSET--CAPS">PANGO_TYPE_FONTSET</link>
                    <link linkend="PangoFontsetClass">PangoFontsetClass</link>;
<link linkend="PangoFont">PangoFont</link> *         <link linkend="pango-fontset-get-font">pango_fontset_get_font</link>              (<link linkend="PangoFontset">PangoFontset</link> *fontset,
                                                         <link linkend="guint">guint</link> wc);
<link linkend="PangoFontMetrics">PangoFontMetrics</link> *  <link linkend="pango-fontset-get-metrics">pango_fontset_get_metrics</link>           (<link linkend="PangoFontset">PangoFontset</link> *fontset);
<link linkend="gboolean">gboolean</link>            (<link linkend="PangoFontsetForeachFunc">*PangoFontsetForeachFunc</link>)          (<link linkend="PangoFontset">PangoFontset</link> *fontset,
                                                         <link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>                <link linkend="pango-fontset-foreach">pango_fontset_foreach</link>               (<link linkend="PangoFontset">PangoFontset</link> *fontset,
                                                         <link linkend="PangoFontsetForeachFunc">PangoFontsetForeachFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data);
                    <link linkend="PangoFontsetSimple-struct">PangoFontsetSimple</link>;
#define             <link linkend="PANGO-TYPE-FONTSET-SIMPLE--CAPS">PANGO_TYPE_FONTSET_SIMPLE</link>
<link linkend="PangoFontsetSimple">PangoFontsetSimple</link> * <link linkend="pango-fontset-simple-new">pango_fontset_simple_new</link>           (<link linkend="PangoLanguage">PangoLanguage</link> *language);
<link linkend="void">void</link>                <link linkend="pango-fontset-simple-append">pango_fontset_simple_append</link>         (<link linkend="PangoFontsetSimple">PangoFontsetSimple</link> *fontset,
                                                         <link linkend="PangoFont">PangoFont</link> *font);
<link linkend="int">int</link>                 <link linkend="pango-fontset-simple-size">pango_fontset_simple_size</link>           (<link linkend="PangoFontsetSimple">PangoFontsetSimple</link> *fontset);
</synopsis>
</refsynopsisdiv>

<refsect1 id="pango-Fonts.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----PangoFont
         +----<link linkend="PangoFcFont">PangoFcFont</link>
</synopsis>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----PangoFontFamily
</synopsis>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----PangoFontFace
</synopsis>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----PangoFontMap
         +----<link linkend="PangoFcFontMap">PangoFcFontMap</link>
</synopsis>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----PangoFontset
         +----<link linkend="PangoFontsetSimple">PangoFontsetSimple</link>
</synopsis>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="PangoFontset">PangoFontset</link>
         +----PangoFontsetSimple
</synopsis>
</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.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 of a given description.
</para>
</refsect1>

<refsect1 id="pango-Fonts.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="PangoFontDescription" role="struct">
<title>PangoFontDescription</title>
<indexterm zone="PangoFontDescription"><primary sortas="PangoFontDescription">PangoFontDescription</primary></indexterm><programlisting>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="PANGO-TYPE-FONT-DESCRIPTION--CAPS" role="macro">
<title>PANGO_TYPE_FONT_DESCRIPTION</title>
<indexterm zone="PANGO-TYPE-FONT-DESCRIPTION--CAPS"><primary sortas="PANGO_TYPE_FONT_DESCRIPTION">PANGO_TYPE_FONT_DESCRIPTION</primary></indexterm><programlisting>#define PANGO_TYPE_FONT_DESCRIPTION (pango_font_description_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.
</para></refsect2>
<refsect2 id="PangoStyle" role="enum">
<title>enum PangoStyle</title>
<indexterm zone="PangoStyle"><primary sortas="PangoStyle">PangoStyle</primary></indexterm><programlisting>typedef enum {
  PANGO_STYLE_NORMAL,
  PANGO_STYLE_OBLIQUE,
  PANGO_STYLE_ITALIC
} PangoStyle;
</programlisting>
<para>
An enumeration specifying the various slant styles possible for a font.</para>
<para>
</para><variablelist role="enum">
<varlistentry id="PANGO-STYLE-NORMAL--CAPS" role="constant">
<term><literal>PANGO_STYLE_NORMAL</literal></term>
<listitem><simpara> the font is upright.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STYLE-OBLIQUE--CAPS" role="constant">
<term><literal>PANGO_STYLE_OBLIQUE</literal></term>
<listitem><simpara> the font is slanted, but in a roman style.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STYLE-ITALIC--CAPS" role="constant">
<term><literal>PANGO_STYLE_ITALIC</literal></term>
<listitem><simpara> the font is slanted in an italic style.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-TYPE-STYLE--CAPS" role="macro">
<title>PANGO_TYPE_STYLE</title>
<indexterm zone="PANGO-TYPE-STYLE--CAPS"><primary sortas="PANGO_TYPE_STYLE">PANGO_TYPE_STYLE</primary></indexterm><programlisting>#define PANGO_TYPE_STYLE (pango_style_get_type())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoStyle"><type>PangoStyle</type></link>.
</para></refsect2>
<refsect2 id="PangoWeight" role="enum">
<title>enum PangoWeight</title>
<indexterm zone="PangoWeight"><primary sortas="PangoWeight">PangoWeight</primary></indexterm><programlisting>typedef enum {
  PANGO_WEIGHT_THIN = 100,
  PANGO_WEIGHT_ULTRALIGHT = 200,
  PANGO_WEIGHT_LIGHT = 300,
  PANGO_WEIGHT_BOOK = 380,
  PANGO_WEIGHT_NORMAL = 400,
  PANGO_WEIGHT_MEDIUM = 500,
  PANGO_WEIGHT_SEMIBOLD = 600,
  PANGO_WEIGHT_BOLD = 700,
  PANGO_WEIGHT_ULTRABOLD = 800,
  PANGO_WEIGHT_HEAVY = 900,
  PANGO_WEIGHT_ULTRAHEAVY = 1000
} PangoWeight;
</programlisting>
<para>
An enumeration specifying the weight (boldness) of a font. This is a numerical
value ranging from 100 to 900, but there are some predefined values:
</para><variablelist role="enum">
<varlistentry id="PANGO-WEIGHT-THIN--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_THIN</literal></term>
<listitem><simpara>the thin weight (= 100; Since: 1.24)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-ULTRALIGHT--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_ULTRALIGHT</literal></term>
<listitem><simpara>the ultralight weight (= 200)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-LIGHT--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_LIGHT</literal></term>
<listitem><simpara>the light weight (= 300)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-BOOK--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_BOOK</literal></term>
<listitem><simpara>the book weight (= 380; Since: 1.24)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-NORMAL--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_NORMAL</literal></term>
<listitem><simpara>the default weight (= 400)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-MEDIUM--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_MEDIUM</literal></term>
<listitem><simpara>the normal weight (= 500; Since: 1.24)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-SEMIBOLD--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_SEMIBOLD</literal></term>
<listitem><simpara>the semibold weight (= 600)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-BOLD--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_BOLD</literal></term>
<listitem><simpara>the bold weight (= 700)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-ULTRABOLD--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_ULTRABOLD</literal></term>
<listitem><simpara>the ultrabold weight (= 800)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-HEAVY--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_HEAVY</literal></term>
<listitem><simpara>the heavy weight (= 900)
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-WEIGHT-ULTRAHEAVY--CAPS" role="constant">
<term><literal>PANGO_WEIGHT_ULTRAHEAVY</literal></term>
<listitem><simpara>the ultraheavy weight (= 1000; Since: 1.24)
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-TYPE-WEIGHT--CAPS" role="macro">
<title>PANGO_TYPE_WEIGHT</title>
<indexterm zone="PANGO-TYPE-WEIGHT--CAPS"><primary sortas="PANGO_TYPE_WEIGHT">PANGO_TYPE_WEIGHT</primary></indexterm><programlisting>#define PANGO_TYPE_WEIGHT (pango_weight_get_type())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoWeight"><type>PangoWeight</type></link>.
</para></refsect2>
<refsect2 id="PangoVariant" role="enum">
<title>enum PangoVariant</title>
<indexterm zone="PangoVariant"><primary sortas="PangoVariant">PangoVariant</primary></indexterm><programlisting>typedef enum {
  PANGO_VARIANT_NORMAL,
  PANGO_VARIANT_SMALL_CAPS
} PangoVariant;
</programlisting>
<para>
An enumeration specifying capitalization variant of the font.
</para><variablelist role="enum">
<varlistentry id="PANGO-VARIANT-NORMAL--CAPS" role="constant">
<term><literal>PANGO_VARIANT_NORMAL</literal></term>
<listitem><simpara>A normal font.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-VARIANT-SMALL-CAPS--CAPS" role="constant">
<term><literal>PANGO_VARIANT_SMALL_CAPS</literal></term>
<listitem><simpara>A font with the lower case characters
  replaced by smaller variants of the capital characters.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-TYPE-VARIANT--CAPS" role="macro">
<title>PANGO_TYPE_VARIANT</title>
<indexterm zone="PANGO-TYPE-VARIANT--CAPS"><primary sortas="PANGO_TYPE_VARIANT">PANGO_TYPE_VARIANT</primary></indexterm><programlisting>#define PANGO_TYPE_VARIANT (pango_variant_get_type())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoVariant"><type>PangoVariant</type></link>.
</para></refsect2>
<refsect2 id="PangoStretch" role="enum">
<title>enum PangoStretch</title>
<indexterm zone="PangoStretch"><primary sortas="PangoStretch">PangoStretch</primary></indexterm><programlisting>typedef enum {
  PANGO_STRETCH_ULTRA_CONDENSED,
  PANGO_STRETCH_EXTRA_CONDENSED,
  PANGO_STRETCH_CONDENSED,
  PANGO_STRETCH_SEMI_CONDENSED,
  PANGO_STRETCH_NORMAL,
  PANGO_STRETCH_SEMI_EXPANDED,
  PANGO_STRETCH_EXPANDED,
  PANGO_STRETCH_EXTRA_EXPANDED,
  PANGO_STRETCH_ULTRA_EXPANDED
} PangoStretch;
</programlisting>
<para>
An enumeration specifying the width of the font relative to other designs
within a family.
</para><variablelist role="enum">
<varlistentry id="PANGO-STRETCH-ULTRA-CONDENSED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_ULTRA_CONDENSED</literal></term>
<listitem><simpara>ultra condensed width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-EXTRA-CONDENSED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_EXTRA_CONDENSED</literal></term>
<listitem><simpara>extra condensed width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-CONDENSED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_CONDENSED</literal></term>
<listitem><simpara>condensed width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-SEMI-CONDENSED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_SEMI_CONDENSED</literal></term>
<listitem><simpara>semi condensed width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-NORMAL--CAPS" role="constant">
<term><literal>PANGO_STRETCH_NORMAL</literal></term>
<listitem><simpara>the normal width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-SEMI-EXPANDED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_SEMI_EXPANDED</literal></term>
<listitem><simpara>semi expanded width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-EXPANDED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_EXPANDED</literal></term>
<listitem><simpara>expanded width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-EXTRA-EXPANDED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_EXTRA_EXPANDED</literal></term>
<listitem><simpara>extra expanded width
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-STRETCH-ULTRA-EXPANDED--CAPS" role="constant">
<term><literal>PANGO_STRETCH_ULTRA_EXPANDED</literal></term>
<listitem><simpara>ultra expanded width
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-TYPE-STRETCH--CAPS" role="macro">
<title>PANGO_TYPE_STRETCH</title>
<indexterm zone="PANGO-TYPE-STRETCH--CAPS"><primary sortas="PANGO_TYPE_STRETCH">PANGO_TYPE_STRETCH</primary></indexterm><programlisting>#define PANGO_TYPE_STRETCH (pango_stretch_get_type())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoStretch"><type>PangoStretch</type></link>.
</para></refsect2>
<refsect2 id="PangoFontMask" role="enum">
<title>enum PangoFontMask</title>
<indexterm zone="PangoFontMask"><primary sortas="PangoFontMask">PangoFontMask</primary></indexterm><programlisting>typedef enum {
  PANGO_FONT_MASK_FAMILY  = 1 &lt;&lt; 0,
  PANGO_FONT_MASK_STYLE   = 1 &lt;&lt; 1,
  PANGO_FONT_MASK_VARIANT = 1 &lt;&lt; 2,
  PANGO_FONT_MASK_WEIGHT  = 1 &lt;&lt; 3,
  PANGO_FONT_MASK_STRETCH = 1 &lt;&lt; 4,
  PANGO_FONT_MASK_SIZE    = 1 &lt;&lt; 5,
  PANGO_FONT_MASK_GRAVITY = 1 &lt;&lt; 6
} PangoFontMask;
</programlisting>
<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><variablelist role="enum">
<varlistentry id="PANGO-FONT-MASK-FAMILY--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_FAMILY</literal></term>
<listitem><simpara>the font family is specified.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-FONT-MASK-STYLE--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_STYLE</literal></term>
<listitem><simpara>the font style is specified.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-FONT-MASK-VARIANT--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_VARIANT</literal></term>
<listitem><simpara>the font variant is specified.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-FONT-MASK-WEIGHT--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_WEIGHT</literal></term>
<listitem><simpara>the font weight is specified.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-FONT-MASK-STRETCH--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_STRETCH</literal></term>
<listitem><simpara>the font stretch is specified.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-FONT-MASK-SIZE--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_SIZE</literal></term>
<listitem><simpara>the font size is specified.
</simpara></listitem>
</varlistentry>
<varlistentry id="PANGO-FONT-MASK-GRAVITY--CAPS" role="constant">
<term><literal>PANGO_FONT_MASK_GRAVITY</literal></term>
<listitem><simpara>the font gravity is specified (Since: 1.16.)
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-TYPE-FONT-MASK--CAPS" role="macro">
<title>PANGO_TYPE_FONT_MASK</title>
<indexterm zone="PANGO-TYPE-FONT-MASK--CAPS"><primary sortas="PANGO_TYPE_FONT_MASK">PANGO_TYPE_FONT_MASK</primary></indexterm><programlisting>#define PANGO_TYPE_FONT_MASK (pango_font_mask_get_type())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontMask"><type>PangoFontMask</type></link>.
</para></refsect2>
<refsect2 id="pango-font-description-new" role="function">
<title>pango_font_description_new ()</title>
<indexterm zone="pango-font-description-new"><primary sortas="pango_font_description_new">pango_font_description_new</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_description_new       (void);</programlisting>
<para>
Creates a new font description structure with all fields unset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-copy" role="function">
<title>pango_font_description_copy ()</title>
<indexterm zone="pango-font-description-copy"><primary sortas="pango_font_description_copy">pango_font_description_copy</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_description_copy      (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</programlisting>
<para>
Make a copy of a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, may be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-copy-static" role="function">
<title>pango_font_description_copy_static ()</title>
<indexterm zone="pango-font-description-copy-static"><primary sortas="pango_font_description_copy_static">pango_font_description_copy_static</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_description_copy_static
                                                        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, may be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-hash" role="function">
<title>pango_font_description_hash ()</title>
<indexterm zone="pango-font-description-hash"><primary sortas="pango_font_description_hash">pango_font_description_hash</primary></indexterm><programlisting><link linkend="guint">guint</link>               pango_font_description_hash         (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the hash value.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-equal" role="function">
<title>pango_font_description_equal ()</title>
<indexterm zone="pango-font-description-equal"><primary sortas="pango_font_description_equal">pango_font_description_equal</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            pango_font_description_equal        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc1,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc2);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc1</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>desc2</parameter>&#160;:</term>
<listitem><simpara> another <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the two font descriptions are identical,
	 <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-free" role="function">
<title>pango_font_description_free ()</title>
<indexterm zone="pango-font-description-free"><primary sortas="pango_font_description_free">pango_font_description_free</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_free         (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</programlisting>
<para>
Frees a font description.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, may be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-descriptions-free" role="function">
<title>pango_font_descriptions_free ()</title>
<indexterm zone="pango-font-descriptions-free"><primary sortas="pango_font_descriptions_free">pango_font_descriptions_free</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_descriptions_free        (<link linkend="PangoFontDescription">PangoFontDescription</link> **descs,
                                                         <link linkend="int">int</link> n_descs);</programlisting>
<para>
Frees an array of font descriptions.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>descs</parameter>&#160;:</term>
<listitem><simpara> a pointer to an array of <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, may be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_descs</parameter>&#160;:</term>
<listitem><simpara> number of font descriptions in <parameter>descs</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-family" role="function">
<title>pango_font_description_set_family ()</title>
<indexterm zone="pango-font-description-set-family"><primary sortas="pango_font_description_set_family">pango_font_description_set_family</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_family   (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="char">char</link> *family);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>family</parameter>&#160;:</term>
<listitem><simpara> a string representing the family name.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-family-static" role="function">
<title>pango_font_description_set_family_static ()</title>
<indexterm zone="pango-font-description-set-family-static"><primary sortas="pango_font_description_set_family_static">pango_font_description_set_family_static</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_family_static
                                                        (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="char">char</link> *family);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>family</parameter>&#160;:</term>
<listitem><simpara> a string representing the family name.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-get-family" role="function">
<title>pango_font_description_get_family ()</title>
<indexterm zone="pango-font-description-get-family"><primary sortas="pango_font_description_get_family">pango_font_description_get_family</primary></indexterm><programlisting>const <link linkend="char">char</link> *        pango_font_description_get_family   (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-style" role="function">
<title>pango_font_description_set_style ()</title>
<indexterm zone="pango-font-description-set-style"><primary sortas="pango_font_description_set_style">pango_font_description_set_style</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_style    (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoStyle">PangoStyle</link> style);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>style</parameter>&#160;:</term>
<listitem><simpara> the style for the font description
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-get-style" role="function">
<title>pango_font_description_get_style ()</title>
<indexterm zone="pango-font-description-get-style"><primary sortas="pango_font_description_get_style">pango_font_description_get_style</primary></indexterm><programlisting><link linkend="PangoStyle">PangoStyle</link>          pango_font_description_get_style    (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-variant" role="function">
<title>pango_font_description_set_variant ()</title>
<indexterm zone="pango-font-description-set-variant"><primary sortas="pango_font_description_set_variant">pango_font_description_set_variant</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_variant  (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoVariant">PangoVariant</link> variant);</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--CAPS"><literal>PANGO_VARIANT_SMALL_CAPS</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>variant</parameter>&#160;:</term>
<listitem><simpara> the variant type for the font description.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-get-variant" role="function">
<title>pango_font_description_get_variant ()</title>
<indexterm zone="pango-font-description-get-variant"><primary sortas="pango_font_description_get_variant">pango_font_description_get_variant</primary></indexterm><programlisting><link linkend="PangoVariant">PangoVariant</link>        pango_font_description_get_variant  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-weight" role="function">
<title>pango_font_description_set_weight ()</title>
<indexterm zone="pango-font-description-set-weight"><primary sortas="pango_font_description_set_weight">pango_font_description_set_weight</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_weight   (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoWeight">PangoWeight</link> weight);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>weight</parameter>&#160;:</term>
<listitem><simpara> the weight for the font description.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-get-weight" role="function">
<title>pango_font_description_get_weight ()</title>
<indexterm zone="pango-font-description-get-weight"><primary sortas="pango_font_description_get_weight">pango_font_description_get_weight</primary></indexterm><programlisting><link linkend="PangoWeight">PangoWeight</link>         pango_font_description_get_weight   (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-stretch" role="function">
<title>pango_font_description_set_stretch ()</title>
<indexterm zone="pango-font-description-set-stretch"><primary sortas="pango_font_description_set_stretch">pango_font_description_set_stretch</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_stretch  (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoStretch">PangoStretch</link> stretch);</programlisting>
<para>
Sets the stretch field of a font description. The stretch field
specifies how narrow or wide the font should be.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>stretch</parameter>&#160;:</term>
<listitem><simpara> the stretch for the font description
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-get-stretch" role="function">
<title>pango_font_description_get_stretch ()</title>
<indexterm zone="pango-font-description-get-stretch"><primary sortas="pango_font_description_get_stretch">pango_font_description_get_stretch</primary></indexterm><programlisting><link linkend="PangoStretch">PangoStretch</link>        pango_font_description_get_stretch  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-size" role="function">
<title>pango_font_description_set_size ()</title>
<indexterm zone="pango-font-description-set-size"><primary sortas="pango_font_description_set_size">pango_font_description_set_size</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_size     (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="gint">gint</link> size);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-get-size" role="function">
<title>pango_font_description_get_size ()</title>
<indexterm zone="pango-font-description-get-size"><primary sortas="pango_font_description_get_size">pango_font_description_get_size</primary></indexterm><programlisting><link linkend="gint">gint</link>                pango_font_description_get_size     (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-set-absolute-size" role="function" condition="since:1.8">
<title>pango_font_description_set_absolute_size ()</title>
<indexterm zone="pango-font-description-set-absolute-size" role="1.8"><primary sortas="pango_font_description_set_absolute_size">pango_font_description_set_absolute_size</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_absolute_size
                                                        (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="double">double</link> size);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.8</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 ()</title>
<indexterm zone="pango-font-description-get-size-is-absolute" role="1.8"><primary sortas="pango_font_description_get_size_is_absolute">pango_font_description_get_size_is_absolute</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            pango_font_description_get_size_is_absolute
                                                        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.8</para></refsect2>
<refsect2 id="pango-font-description-set-gravity" role="function" condition="since:1.16">
<title>pango_font_description_set_gravity ()</title>
<indexterm zone="pango-font-description-set-gravity" role="1.16"><primary sortas="pango_font_description_set_gravity">pango_font_description_set_gravity</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_set_gravity  (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoGravity">PangoGravity</link> gravity);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>gravity</parameter>&#160;:</term>
<listitem><simpara> the gravity for the font description.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.16</para></refsect2>
<refsect2 id="pango-font-description-get-gravity" role="function" condition="since:1.16">
<title>pango_font_description_get_gravity ()</title>
<indexterm zone="pango-font-description-get-gravity" role="1.16"><primary sortas="pango_font_description_get_gravity">pango_font_description_get_gravity</primary></indexterm><programlisting><link linkend="PangoGravity">PangoGravity</link>        pango_font_description_get_gravity  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.16</para></refsect2>
<refsect2 id="pango-font-description-get-set-fields" role="function">
<title>pango_font_description_get_set_fields ()</title>
<indexterm zone="pango-font-description-get-set-fields"><primary sortas="pango_font_description_get_set_fields">pango_font_description_get_set_fields</primary></indexterm><programlisting><link linkend="PangoFontMask">PangoFontMask</link>       pango_font_description_get_set_fields
                                                        (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</programlisting>
<para>
Determines which fields in a font description have been set.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a bitmask with bits set corresponding to the
  fields in <parameter>desc</parameter> that have been set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-unset-fields" role="function">
<title>pango_font_description_unset_fields ()</title>
<indexterm zone="pango-font-description-unset-fields"><primary sortas="pango_font_description_unset_fields">pango_font_description_unset_fields</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_unset_fields (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoFontMask">PangoFontMask</link> to_unset);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>to_unset</parameter>&#160;:</term>
<listitem><simpara> bitmask of fields in the <parameter>desc</parameter> to unset.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-merge" role="function">
<title>pango_font_description_merge ()</title>
<indexterm zone="pango-font-description-merge"><primary sortas="pango_font_description_merge">pango_font_description_merge</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_merge        (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc_to_merge,
                                                         <link linkend="gboolean">gboolean</link> replace_existing);</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>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>desc_to_merge</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> to merge from
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>replace_existing</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-merge-static" role="function">
<title>pango_font_description_merge_static ()</title>
<indexterm zone="pango-font-description-merge-static"><primary sortas="pango_font_description_merge_static">pango_font_description_merge_static</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_description_merge_static (<link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc_to_merge,
                                                         <link linkend="gboolean">gboolean</link> replace_existing);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>desc_to_merge</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> to merge from
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>replace_existing</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-better-match" role="function">
<title>pango_font_description_better_match ()</title>
<indexterm zone="pango-font-description-better-match"><primary sortas="pango_font_description_better_match">pango_font_description_better_match</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            pango_font_description_better_match (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *old_match,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *new_match);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>old_match</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>new_match</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>new_match</parameter> is a better match
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-from-string" role="function">
<title>pango_font_description_from_string ()</title>
<indexterm zone="pango-font-description-from-string"><primary sortas="pango_font_description_from_string">pango_font_description_from_string</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_description_from_string
                                                        (const <link linkend="char">char</link> *str);</programlisting>
<para>
Creates a new font description from a string representation in the
form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", 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. 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>
</para><variablelist role="params">
<varlistentry><term><parameter>str</parameter>&#160;:</term>
<listitem><simpara> string representation of a font description.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-to-string" role="function">
<title>pango_font_description_to_string ()</title>
<indexterm zone="pango-font-description-to-string"><primary sortas="pango_font_description_to_string">pango_font_description_to_string</primary></indexterm><programlisting><link linkend="char">char</link> *              pango_font_description_to_string    (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new string that must be freed with <link linkend="g-free"><function>g_free()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-description-to-filename" role="function">
<title>pango_font_description_to_filename ()</title>
<indexterm zone="pango-font-description-to-filename"><primary sortas="pango_font_description_to_filename">pango_font_description_to_filename</primary></indexterm><programlisting><link linkend="char">char</link> *              pango_font_description_to_filename  (const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new string that must be freed with <link linkend="g-free"><function>g_free()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PangoFontMetrics" role="struct">
<title>PangoFontMetrics</title>
<indexterm zone="PangoFontMetrics"><primary sortas="PangoFontMetrics">PangoFontMetrics</primary></indexterm><programlisting>typedef struct {
  guint ref_count;

  int ascent;
  int descent;
  int approximate_char_width;
  int approximate_digit_width;
  int underline_position;
  int underline_thickness;
  int strikethrough_position;
  int strikethrough_thickness;
} 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><variablelist role="struct">
<varlistentry>
<term><link linkend="guint">guint</link>&#160;<structfield>ref_count</structfield>;</term>
<listitem><simpara>reference count.  Used internally.  See <link linkend="pango-font-metrics-ref"><function>pango_font_metrics_ref()</function></link>
            and <link linkend="pango-font-metrics-unref"><function>pango_font_metrics_unref()</function></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>ascent</structfield>;</term>
<listitem><simpara>the distance from the baseline to the highest point of the glyphs of
	 the font. This is positive in practically all fonts.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>descent</structfield>;</term>
<listitem><simpara>the distance from the baseline to the lowest point of the glyphs of
	 the font. This is positive in practically all fonts.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>approximate_char_width</structfield>;</term>
<listitem><simpara>approximate average width of the regular glyphs of
         the font.  Note that for this calculation, East Asian characters
	 (those passing <link linkend="g-unichar-iswide"><function>g_unichar_iswide()</function></link>) are counted as double-width.
	 This produces a more uniform value for this measure across languages
	 and results in more uniform and more expected UI sizes.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>approximate_digit_width</structfield>;</term>
<listitem><simpara>approximate average width of the glyphs for digits
         of the font.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>underline_position</structfield>;</term>
<listitem><simpara>position of the underline. This is normally negative.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>underline_thickness</structfield>;</term>
<listitem><simpara>thickness of the underline.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>strikethrough_position</structfield>;</term>
<listitem><simpara>position of the strikethrough line. This is
	 normally positive.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>strikethrough_thickness</structfield>;</term>
<listitem><simpara>thickness of the strikethrough line.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-TYPE-FONT-METRICS--CAPS" role="macro">
<title>PANGO_TYPE_FONT_METRICS</title>
<indexterm zone="PANGO-TYPE-FONT-METRICS--CAPS"><primary sortas="PANGO_TYPE_FONT_METRICS">PANGO_TYPE_FONT_METRICS</primary></indexterm><programlisting>#define PANGO_TYPE_FONT_METRICS  (pango_font_metrics_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link>.
</para></refsect2>
<refsect2 id="pango-font-metrics-ref" role="function">
<title>pango_font_metrics_ref ()</title>
<indexterm zone="pango-font-metrics-ref"><primary sortas="pango_font_metrics_ref">pango_font_metrics_ref</primary></indexterm><programlisting><link linkend="PangoFontMetrics">PangoFontMetrics</link> *  pango_font_metrics_ref              (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</programlisting>
<para>
Increase the reference count of a font metrics structure by one.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure, may be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <parameter>metrics</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-metrics-unref" role="function">
<title>pango_font_metrics_unref ()</title>
<indexterm zone="pango-font-metrics-unref"><primary sortas="pango_font_metrics_unref">pango_font_metrics_unref</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_metrics_unref            (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure, may be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-metrics-get-ascent" role="function">
<title>pango_font_metrics_get_ascent ()</title>
<indexterm zone="pango-font-metrics-get-ascent"><primary sortas="pango_font_metrics_get_ascent">pango_font_metrics_get_ascent</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_ascent       (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the ascent, in Pango units. (1 point == <link linkend="PANGO-SCALE--CAPS"><literal>PANGO_SCALE</literal></link> Pango units.)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-metrics-get-descent" role="function">
<title>pango_font_metrics_get_descent ()</title>
<indexterm zone="pango-font-metrics-get-descent"><primary sortas="pango_font_metrics_get_descent">pango_font_metrics_get_descent</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_descent      (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the descent, in Pango units. (1 point == <link linkend="PANGO-SCALE--CAPS"><literal>PANGO_SCALE</literal></link> Pango units.)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-metrics-get-approximate-char-width" role="function">
<title>pango_font_metrics_get_approximate_char_width ()</title>
<indexterm zone="pango-font-metrics-get-approximate-char-width"><primary sortas="pango_font_metrics_get_approximate_char_width">pango_font_metrics_get_approximate_char_width</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_approximate_char_width
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the character width, in Pango units. (1 point == <link linkend="PANGO-SCALE--CAPS"><literal>PANGO_SCALE</literal></link> Pango units.)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-metrics-get-approximate-digit-width" role="function">
<title>pango_font_metrics_get_approximate_digit_width ()</title>
<indexterm zone="pango-font-metrics-get-approximate-digit-width"><primary sortas="pango_font_metrics_get_approximate_digit_width">pango_font_metrics_get_approximate_digit_width</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_approximate_digit_width
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the digit width, in Pango units. (1 point == <link linkend="PANGO-SCALE--CAPS"><literal>PANGO_SCALE</literal></link> Pango units.)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-metrics-get-underline-thickness" role="function" condition="since:1.6">
<title>pango_font_metrics_get_underline_thickness ()</title>
<indexterm zone="pango-font-metrics-get-underline-thickness" role="1.6"><primary sortas="pango_font_metrics_get_underline_thickness">pango_font_metrics_get_underline_thickness</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_underline_thickness
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</programlisting>
<para>
Gets the suggested thickness to draw for the underline.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the suggested underline thickness, in Pango units.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.6</para></refsect2>
<refsect2 id="pango-font-metrics-get-underline-position" role="function" condition="since:1.6">
<title>pango_font_metrics_get_underline_position ()</title>
<indexterm zone="pango-font-metrics-get-underline-position" role="1.6"><primary sortas="pango_font_metrics_get_underline_position">pango_font_metrics_get_underline_position</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_underline_position
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the suggested underline position, in Pango units.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.6</para></refsect2>
<refsect2 id="pango-font-metrics-get-strikethrough-thickness" role="function" condition="since:1.6">
<title>pango_font_metrics_get_strikethrough_thickness ()</title>
<indexterm zone="pango-font-metrics-get-strikethrough-thickness" role="1.6"><primary sortas="pango_font_metrics_get_strikethrough_thickness">pango_font_metrics_get_strikethrough_thickness</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_strikethrough_thickness
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</programlisting>
<para>
Gets the suggested thickness to draw for the strikethrough.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the suggested strikethrough thickness, in Pango units.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.6</para></refsect2>
<refsect2 id="pango-font-metrics-get-strikethrough-position" role="function" condition="since:1.6">
<title>pango_font_metrics_get_strikethrough_position ()</title>
<indexterm zone="pango-font-metrics-get-strikethrough-position" role="1.6"><primary sortas="pango_font_metrics_get_strikethrough_position">pango_font_metrics_get_strikethrough_position</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_font_metrics_get_strikethrough_position
                                                        (<link linkend="PangoFontMetrics">PangoFontMetrics</link> *metrics);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>metrics</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMetrics"><type>PangoFontMetrics</type></link> structure
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the suggested strikethrough position, in Pango units.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.6</para></refsect2>
<refsect2 id="PangoFont-struct" role="struct">
<title>PangoFont</title>
<indexterm zone="PangoFont-struct"><primary sortas="PangoFont">PangoFont</primary></indexterm><programlisting>typedef struct _PangoFont PangoFont;</programlisting>
<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="PANGO-TYPE-FONT--CAPS" role="macro">
<title>PANGO_TYPE_FONT</title>
<indexterm zone="PANGO-TYPE-FONT--CAPS"><primary sortas="PANGO_TYPE_FONT">PANGO_TYPE_FONT</primary></indexterm><programlisting>#define PANGO_TYPE_FONT              (pango_font_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFont"><type>PangoFont</type></link>.
</para></refsect2>
<refsect2 id="PANGO-FONT--CAPS" role="macro">
<title>PANGO_FONT()</title>
<indexterm zone="PANGO-FONT--CAPS"><primary sortas="PANGO_FONT">PANGO_FONT</primary></indexterm><programlisting>#define PANGO_FONT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont))
</programlisting>
<para>
Casts a <link linkend="GObject"><type>GObject</type></link> to a <link linkend="PangoFont"><type>PangoFont</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-IS-FONT--CAPS" role="macro">
<title>PANGO_IS_FONT()</title>
<indexterm zone="PANGO-IS-FONT--CAPS"><primary sortas="PANGO_IS_FONT">PANGO_IS_FONT</primary></indexterm><programlisting>#define PANGO_IS_FONT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT))
</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>object</parameter> is a <link linkend="PangoFont"><type>PangoFont</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-find-shaper" role="function">
<title>pango_font_find_shaper ()</title>
<indexterm zone="pango-font-find-shaper"><primary sortas="pango_font_find_shaper">pango_font_find_shaper</primary></indexterm><programlisting><link linkend="PangoEngineShape">PangoEngineShape</link> *  pango_font_find_shaper              (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language,
                                                         <link linkend="guint32">guint32</link> ch);</programlisting>
<para>
Finds the best matching shaper for a font for a particular
language tag and character point.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>language</parameter>&#160;:</term>
<listitem><simpara> the language tag
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ch</parameter>&#160;:</term>
<listitem><simpara> a Unicode character.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the best matching shaper.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-describe" role="function">
<title>pango_font_describe ()</title>
<indexterm zone="pango-font-describe"><primary sortas="pango_font_describe">pango_font_describe</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_describe              (<link linkend="PangoFont">PangoFont</link> *font);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a newly-allocated <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> object.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-describe-with-absolute-size" role="function" condition="since:1.14">
<title>pango_font_describe_with_absolute_size ()</title>
<indexterm zone="pango-font-describe-with-absolute-size" role="1.14"><primary sortas="pango_font_describe_with_absolute_size">pango_font_describe_with_absolute_size</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_describe_with_absolute_size
                                                        (<link linkend="PangoFont">PangoFont</link> *font);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a newly-allocated <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> object.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.14</para></refsect2>
<refsect2 id="pango-font-get-coverage" role="function">
<title>pango_font_get_coverage ()</title>
<indexterm zone="pango-font-get-coverage"><primary sortas="pango_font_get_coverage">pango_font_get_coverage</primary></indexterm><programlisting><link linkend="PangoCoverage">PangoCoverage</link> *     pango_font_get_coverage             (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language);</programlisting>
<para>
Computes the coverage map for a given font and language tag.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>language</parameter>&#160;:</term>
<listitem><simpara> the language tag
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a newly-allocated <link linkend="PangoCoverage"><type>PangoCoverage</type></link> object.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-get-glyph-extents" role="function">
<title>pango_font_get_glyph_extents ()</title>
<indexterm zone="pango-font-get-glyph-extents"><primary sortas="pango_font_get_glyph_extents">pango_font_get_glyph_extents</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_get_glyph_extents        (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoGlyph">PangoGlyph</link> glyph,
                                                         <link linkend="PangoRectangle">PangoRectangle</link> *ink_rect,
                                                         <link linkend="PangoRectangle">PangoRectangle</link> *logical_rect);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>glyph</parameter>&#160;:</term>
<listitem><simpara> the glyph index
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ink_rect</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>logical_rect</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-get-metrics" role="function">
<title>pango_font_get_metrics ()</title>
<indexterm zone="pango-font-get-metrics"><primary sortas="pango_font_get_metrics">pango_font_get_metrics</primary></indexterm><programlisting><link linkend="PangoFontMetrics">PangoFontMetrics</link> *  pango_font_get_metrics              (<link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>language</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-get-font-map" role="function" condition="since:1.10">
<title>pango_font_get_font_map ()</title>
<indexterm zone="pango-font-get-font-map" role="1.10"><primary sortas="pango_font_get_font_map">pango_font_get_font_map</primary></indexterm><programlisting><link linkend="PangoFontMap">PangoFontMap</link> *      pango_font_get_font_map             (<link linkend="PangoFont">PangoFont</link> *font);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.10</para></refsect2>
<refsect2 id="PangoFontFamily-struct" role="struct">
<title>PangoFontFamily</title>
<indexterm zone="PangoFontFamily-struct"><primary sortas="PangoFontFamily">PangoFontFamily</primary></indexterm><programlisting>typedef struct _PangoFontFamily PangoFontFamily;</programlisting>
<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="PANGO-TYPE-FONT-FAMILY--CAPS" role="macro">
<title>PANGO_TYPE_FONT_FAMILY</title>
<indexterm zone="PANGO-TYPE-FONT-FAMILY--CAPS"><primary sortas="PANGO_TYPE_FONT_FAMILY">PANGO_TYPE_FONT_FAMILY</primary></indexterm><programlisting>#define PANGO_TYPE_FONT_FAMILY              (pango_font_family_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>.
</para></refsect2>
<refsect2 id="PANGO-FONT-FAMILY--CAPS" role="macro">
<title>PANGO_FONT_FAMILY()</title>
<indexterm zone="PANGO-FONT-FAMILY--CAPS"><primary sortas="PANGO_FONT_FAMILY">PANGO_FONT_FAMILY</primary></indexterm><programlisting>#define PANGO_FONT_FAMILY(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, PangoFontFamily))
</programlisting>
<para>
Casts a <link linkend="GObject"><type>GObject</type></link> to a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-IS-FONT-FAMILY--CAPS" role="macro">
<title>PANGO_IS_FONT_FAMILY()</title>
<indexterm zone="PANGO-IS-FONT-FAMILY--CAPS"><primary sortas="PANGO_IS_FONT_FAMILY">PANGO_IS_FONT_FAMILY</primary></indexterm><programlisting>#define PANGO_IS_FONT_FAMILY(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY))
</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>object</parameter> is a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-family-get-name" role="function">
<title>pango_font_family_get_name ()</title>
<indexterm zone="pango-font-family-get-name"><primary sortas="pango_font_family_get_name">pango_font_family_get_name</primary></indexterm><programlisting>const <link linkend="char">char</link> *        pango_font_family_get_name          (<link linkend="PangoFontFamily">PangoFontFamily</link> *family);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>family</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the name of the family. This string is owned
  by the family object and must not be modified or freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-family-is-monospace" role="function" condition="since:1.4">
<title>pango_font_family_is_monospace ()</title>
<indexterm zone="pango-font-family-is-monospace" role="1.4"><primary sortas="pango_font_family_is_monospace">pango_font_family_is_monospace</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            pango_font_family_is_monospace      (<link linkend="PangoFontFamily">PangoFontFamily</link> *family);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>family</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the family is monospace.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.4</para></refsect2>
<refsect2 id="pango-font-family-list-faces" role="function">
<title>pango_font_family_list_faces ()</title>
<indexterm zone="pango-font-family-list-faces"><primary sortas="pango_font_family_list_faces">pango_font_family_list_faces</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_family_list_faces        (<link linkend="PangoFontFamily">PangoFontFamily</link> *family,
                                                         <link linkend="PangoFontFace">PangoFontFace</link> ***faces,
                                                         <link linkend="int">int</link> *n_faces);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>family</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFamily"><type>PangoFontFamily</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>faces</parameter>&#160;:</term>
<listitem><simpara> 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.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_faces</parameter>&#160;:</term>
<listitem><simpara> location to store number of elements in <parameter>faces</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PangoFontFace-struct" role="struct">
<title>PangoFontFace</title>
<indexterm zone="PangoFontFace-struct"><primary sortas="PangoFontFace">PangoFontFace</primary></indexterm><programlisting>typedef struct _PangoFontFace PangoFontFace;</programlisting>
<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="PANGO-TYPE-FONT-FACE--CAPS" role="macro">
<title>PANGO_TYPE_FONT_FACE</title>
<indexterm zone="PANGO-TYPE-FONT-FACE--CAPS"><primary sortas="PANGO_TYPE_FONT_FACE">PANGO_TYPE_FONT_FACE</primary></indexterm><programlisting>#define PANGO_TYPE_FONT_FACE              (pango_font_face_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.
</para></refsect2>
<refsect2 id="PANGO-FONT-FACE--CAPS" role="macro">
<title>PANGO_FONT_FACE()</title>
<indexterm zone="PANGO-FONT-FACE--CAPS"><primary sortas="PANGO_FONT_FACE">PANGO_FONT_FACE</primary></indexterm><programlisting>#define PANGO_FONT_FACE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, PangoFontFace))
</programlisting>
<para>
Casts a <link linkend="GObject"><type>GObject</type></link> to a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-IS-FONT-FACE--CAPS" role="macro">
<title>PANGO_IS_FONT_FACE()</title>
<indexterm zone="PANGO-IS-FONT-FACE--CAPS"><primary sortas="PANGO_IS_FONT_FACE">PANGO_IS_FONT_FACE</primary></indexterm><programlisting>#define PANGO_IS_FONT_FACE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE))
</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>object</parameter> is a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-face-get-face-name" role="function">
<title>pango_font_face_get_face_name ()</title>
<indexterm zone="pango-font-face-get-face-name"><primary sortas="pango_font_face_get_face_name">pango_font_face_get_face_name</primary></indexterm><programlisting>const <link linkend="char">char</link> *        pango_font_face_get_face_name       (<link linkend="PangoFontFace">PangoFontFace</link> *face);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>face</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the face name for the face. This string is
  owned by the face object and must not be modified or freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-face-list-sizes" role="function" condition="since:1.4">
<title>pango_font_face_list_sizes ()</title>
<indexterm zone="pango-font-face-list-sizes" role="1.4"><primary sortas="pango_font_face_list_sizes">pango_font_face_list_sizes</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_face_list_sizes          (<link linkend="PangoFontFace">PangoFontFace</link> *face,
                                                         <link linkend="int">int</link> **sizes,
                                                         <link linkend="int">int</link> *n_sizes);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>face</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>sizes</parameter>&#160;:</term>
<listitem><simpara> 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>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_sizes</parameter>&#160;:</term>
<listitem><simpara> location to store the number of elements in <parameter>sizes</parameter>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.4</para></refsect2>
<refsect2 id="pango-font-face-describe" role="function">
<title>pango_font_face_describe ()</title>
<indexterm zone="pango-font-face-describe"><primary sortas="pango_font_face_describe">pango_font_face_describe</primary></indexterm><programlisting><link linkend="PangoFontDescription">PangoFontDescription</link> * pango_font_face_describe         (<link linkend="PangoFontFace">PangoFontFace</link> *face);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>face</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-face-is-synthesized" role="function" condition="since:1.18">
<title>pango_font_face_is_synthesized ()</title>
<indexterm zone="pango-font-face-is-synthesized" role="1.18"><primary sortas="pango_font_face_is_synthesized">pango_font_face_is_synthesized</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            pango_font_face_is_synthesized      (<link linkend="PangoFontFace">PangoFontFace</link> *face);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>face</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontFace"><type>PangoFontFace</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether <parameter>face</parameter> is synthesized.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.18</para></refsect2>
<refsect2 id="PangoFontMap-struct" role="struct">
<title>PangoFontMap</title>
<indexterm zone="PangoFontMap-struct"><primary sortas="PangoFontMap">PangoFontMap</primary></indexterm><programlisting>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="PANGO-TYPE-FONT-MAP--CAPS" role="macro">
<title>PANGO_TYPE_FONT_MAP</title>
<indexterm zone="PANGO-TYPE-FONT-MAP--CAPS"><primary sortas="PANGO_TYPE_FONT_MAP">PANGO_TYPE_FONT_MAP</primary></indexterm><programlisting>#define PANGO_TYPE_FONT_MAP              (pango_font_map_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontMap"><type>PangoFontMap</type></link>.
</para></refsect2>
<refsect2 id="PANGO-FONT-MAP--CAPS" role="macro">
<title>PANGO_FONT_MAP()</title>
<indexterm zone="PANGO-FONT-MAP--CAPS"><primary sortas="PANGO_FONT_MAP">PANGO_FONT_MAP</primary></indexterm><programlisting>#define PANGO_FONT_MAP(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_MAP, PangoFontMap))
</programlisting>
<para>
Casts a <link linkend="GObject"><type>GObject</type></link> to a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-IS-FONT-MAP--CAPS" role="macro">
<title>PANGO_IS_FONT_MAP()</title>
<indexterm zone="PANGO-IS-FONT-MAP--CAPS"><primary sortas="PANGO_IS_FONT_MAP">PANGO_IS_FONT_MAP</primary></indexterm><programlisting>#define PANGO_IS_FONT_MAP(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_MAP))
</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>object</parameter> is a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PangoFontMapClass" role="struct">
<title>PangoFontMapClass</title>
<indexterm zone="PangoFontMapClass"><primary sortas="PangoFontMapClass">PangoFontMapClass</primary></indexterm><programlisting>typedef struct {
  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;
} PangoFontMapClass;
</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><variablelist role="struct">
<varlistentry>
<term><link linkend="GObjectClass">GObjectClass</link>&#160;<structfield>parent_class</structfield>;</term>
<listitem><simpara>parent <link linkend="GObjectClass"><type>GObjectClass</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>load_font</structfield>&#160;()</term>
<listitem><simpara>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>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>list_families</structfield>&#160;()</term>
<listitem><simpara>A function to list available font families. See
                <link linkend="pango-font-map-list-families"><function>pango_font_map_list_families()</function></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>load_fontset</structfield>&#160;()</term>
<listitem><simpara>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>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&#160;<link linkend="char">char</link>&#160;*<structfield>shape_engine_type</structfield>;</term>
<listitem><simpara>the type of rendering-system-dependent engines that
             can handle fonts of this fonts loaded with this fontmap.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-FONT-MAP-CLASS--CAPS" role="macro">
<title>PANGO_FONT_MAP_CLASS()</title>
<indexterm zone="PANGO-FONT-MAP-CLASS--CAPS"><primary sortas="PANGO_FONT_MAP_CLASS">PANGO_FONT_MAP_CLASS</primary></indexterm><programlisting>#define PANGO_FONT_MAP_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_MAP, PangoFontMapClass))
</programlisting>
<para>
Casts a <link linkend="GObject"><type>GObject</type></link> to a <link linkend="PangoFontMapClass"><type>PangoFontMapClass</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>klass</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-IS-FONT-MAP-CLASS--CAPS" role="macro">
<title>PANGO_IS_FONT_MAP_CLASS()</title>
<indexterm zone="PANGO-IS-FONT-MAP-CLASS--CAPS"><primary sortas="PANGO_IS_FONT_MAP_CLASS">PANGO_IS_FONT_MAP_CLASS</primary></indexterm><programlisting>#define PANGO_IS_FONT_MAP_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_MAP))
</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>klass</parameter> is a subtype of <link linkend="PangoFontMapClass"><type>PangoFontMapClass</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>klass</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GObject"><type>GObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PANGO-FONT-MAP-GET-CLASS--CAPS" role="macro">
<title>PANGO_FONT_MAP_GET_CLASS()</title>
<indexterm zone="PANGO-FONT-MAP-GET-CLASS--CAPS"><primary sortas="PANGO_FONT_MAP_GET_CLASS">PANGO_FONT_MAP_GET_CLASS</primary></indexterm><programlisting>#define PANGO_FONT_MAP_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_MAP, PangoFontMapClass))
</programlisting>
<para>
Returns the type of a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>obj</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-map-create-context" role="function" condition="since:1.22">
<title>pango_font_map_create_context ()</title>
<indexterm zone="pango-font-map-create-context" role="1.22"><primary sortas="pango_font_map_create_context">pango_font_map_create_context</primary></indexterm><programlisting><link linkend="PangoContext">PangoContext</link> *      pango_font_map_create_context       (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.22</para></refsect2>
<refsect2 id="pango-font-map-load-font" role="function">
<title>pango_font_map_load_font ()</title>
<indexterm zone="pango-font-map-load-font"><primary sortas="pango_font_map_load_font">pango_font_map_load_font</primary></indexterm><programlisting><link linkend="PangoFont">PangoFont</link> *         pango_font_map_load_font            (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap,
                                                         <link linkend="PangoContext">PangoContext</link> *context,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc);</programlisting>
<para>
Load the font in the fontmap that is the closest match for <parameter>desc</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>context</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="PangoContext"><type>PangoContext</type></link> the font will be used with
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> describing the font to load
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the font loaded, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if no font matched.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-map-load-fontset" role="function">
<title>pango_font_map_load_fontset ()</title>
<indexterm zone="pango-font-map-load-fontset"><primary sortas="pango_font_map_load_fontset">pango_font_map_load_fontset</primary></indexterm><programlisting><link linkend="PangoFontset">PangoFontset</link> *      pango_font_map_load_fontset         (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap,
                                                         <link linkend="PangoContext">PangoContext</link> *context,
                                                         const <link linkend="PangoFontDescription">PangoFontDescription</link> *desc,
                                                         <link linkend="PangoLanguage">PangoLanguage</link> *language);</programlisting>
<para>
Load a set of fonts in the fontmap that can be used to render
a font matching <parameter>desc</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>context</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="PangoContext"><type>PangoContext</type></link> the font will be used with
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>desc</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link> describing the font to load
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>language</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoLanguage"><type>PangoLanguage</type></link> the fonts will be used for
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the fontset, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if no font matched.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-map-list-families" role="function">
<title>pango_font_map_list_families ()</title>
<indexterm zone="pango-font-map-list-families"><primary sortas="pango_font_map_list_families">pango_font_map_list_families</primary></indexterm><programlisting><link linkend="void">void</link>                pango_font_map_list_families        (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap,
                                                         <link linkend="PangoFontFamily">PangoFontFamily</link> ***families,
                                                         <link linkend="int">int</link> *n_families);</programlisting>
<para>
List all families for a fontmap.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>families</parameter>&#160;:</term>
<listitem><simpara> 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>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_families</parameter>&#160;:</term>
<listitem><simpara> location to store the number of elements in <parameter>families</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-font-map-get-shape-engine-type" role="function" condition="since:1.4">
<title>pango_font_map_get_shape_engine_type ()</title>
<indexterm zone="pango-font-map-get-shape-engine-type" role="1.4"><primary sortas="pango_font_map_get_shape_engine_type">pango_font_map_get_shape_engine_type</primary></indexterm><programlisting>const <link linkend="char">char</link> *        pango_font_map_get_shape_engine_type
                                                        (<link linkend="PangoFontMap">PangoFontMap</link> *fontmap);</programlisting>
<para>
Returns the render ID for shape engines for this fontmap.
See the <structfield>render_type</structfield> field of
<link linkend="PangoEngineInfo"><type>PangoEngineInfo</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontMap"><type>PangoFontMap</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the ID string for shape engines for
 this fontmap. Owned by Pango, should not be modified
 or freed.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.4</para></refsect2>
<refsect2 id="PangoFontset-struct" role="struct">
<title>PangoFontset</title>
<indexterm zone="PangoFontset-struct"><primary sortas="PangoFontset">PangoFontset</primary></indexterm><programlisting>typedef struct _PangoFontset 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="PANGO-TYPE-FONTSET--CAPS" role="macro">
<title>PANGO_TYPE_FONTSET</title>
<indexterm zone="PANGO-TYPE-FONTSET--CAPS"><primary sortas="PANGO_TYPE_FONTSET">PANGO_TYPE_FONTSET</primary></indexterm><programlisting>#define PANGO_TYPE_FONTSET              (pango_fontset_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontset"><type>PangoFontset</type></link>.
</para></refsect2>
<refsect2 id="PangoFontsetClass" role="struct">
<title>PangoFontsetClass</title>
<indexterm zone="PangoFontsetClass"><primary sortas="PangoFontsetClass">PangoFontsetClass</primary></indexterm><programlisting>typedef struct {
  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);
} PangoFontsetClass;
</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><variablelist role="struct">
<varlistentry>
<term><link linkend="GObjectClass">GObjectClass</link>&#160;<structfield>parent_class</structfield>;</term>
<listitem><simpara>parent <link linkend="GObjectClass"><type>GObjectClass</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>get_font</structfield>&#160;()</term>
<listitem><simpara>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>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>get_metrics</structfield>&#160;()</term>
<listitem><simpara>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>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>get_language</structfield>&#160;()</term>
<listitem><simpara>a function to get the language of the fontset.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><structfield>foreach</structfield>&#160;()</term>
<listitem><simpara>a function to loop over the fonts in the fontset. See
   <link linkend="pango-fontset-foreach"><function>pango_fontset_foreach()</function></link>.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-fontset-get-font" role="function">
<title>pango_fontset_get_font ()</title>
<indexterm zone="pango-fontset-get-font"><primary sortas="pango_fontset_get_font">pango_fontset_get_font</primary></indexterm><programlisting><link linkend="PangoFont">PangoFont</link> *         pango_fontset_get_font              (<link linkend="PangoFontset">PangoFontset</link> *fontset,
                                                         <link linkend="guint">guint</link> wc);</programlisting>
<para>
Returns the font in the fontset that contains the best glyph for the
Unicode character <parameter>wc</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontset</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontset"><type>PangoFontset</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wc</parameter>&#160;:</term>
<listitem><simpara> a Unicode character
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>. The caller must call g_object_unref when finished
         with the font.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-fontset-get-metrics" role="function">
<title>pango_fontset_get_metrics ()</title>
<indexterm zone="pango-fontset-get-metrics"><primary sortas="pango_fontset_get_metrics">pango_fontset_get_metrics</primary></indexterm><programlisting><link linkend="PangoFontMetrics">PangoFontMetrics</link> *  pango_fontset_get_metrics           (<link linkend="PangoFontset">PangoFontset</link> *fontset);</programlisting>
<para>
Get overall metric information for the fonts in the fontset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontset</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontset"><type>PangoFontset</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 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.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="PangoFontsetForeachFunc" role="function" condition="since:1.4">
<title>PangoFontsetForeachFunc ()</title>
<indexterm zone="PangoFontsetForeachFunc" role="1.4"><primary sortas="PangoFontsetForeachFunc">PangoFontsetForeachFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            (*PangoFontsetForeachFunc)          (<link linkend="PangoFontset">PangoFontset</link> *fontset,
                                                         <link linkend="PangoFont">PangoFont</link> *font,
                                                         <link linkend="gpointer">gpointer</link> data);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontset</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontset"><type>PangoFontset</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a font from <parameter>fontset</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> callback data
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> if <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, stop iteration and return immediately.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.4</para></refsect2>
<refsect2 id="pango-fontset-foreach" role="function" condition="since:1.4">
<title>pango_fontset_foreach ()</title>
<indexterm zone="pango-fontset-foreach" role="1.4"><primary sortas="pango_fontset_foreach">pango_fontset_foreach</primary></indexterm><programlisting><link linkend="void">void</link>                pango_fontset_foreach               (<link linkend="PangoFontset">PangoFontset</link> *fontset,
                                                         <link linkend="PangoFontsetForeachFunc">PangoFontsetForeachFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data);</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>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontset</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontset"><type>PangoFontset</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> Callback function
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> data to pass to the callback function
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 1.4</para></refsect2>
<refsect2 id="PangoFontsetSimple-struct" role="struct">
<title>PangoFontsetSimple</title>
<indexterm zone="PangoFontsetSimple-struct"><primary sortas="PangoFontsetSimple">PangoFontsetSimple</primary></indexterm><programlisting>typedef struct _PangoFontsetSimple PangoFontsetSimple;</programlisting>
<para>
<link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link> is a implementation of the abstract
<link linkend="PangoFontset"><type>PangoFontset</type></link> base class in terms of an array of fonts,
which the creator provides when constructing the
<link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link>.
</para></refsect2>
<refsect2 id="PANGO-TYPE-FONTSET-SIMPLE--CAPS" role="macro">
<title>PANGO_TYPE_FONTSET_SIMPLE</title>
<indexterm zone="PANGO-TYPE-FONTSET-SIMPLE--CAPS"><primary sortas="PANGO_TYPE_FONTSET_SIMPLE">PANGO_TYPE_FONTSET_SIMPLE</primary></indexterm><programlisting>#define PANGO_TYPE_FONTSET_SIMPLE       (pango_fontset_simple_get_type ())
</programlisting>
<para>
The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link>.
</para></refsect2>
<refsect2 id="pango-fontset-simple-new" role="function">
<title>pango_fontset_simple_new ()</title>
<indexterm zone="pango-fontset-simple-new"><primary sortas="pango_fontset_simple_new">pango_fontset_simple_new</primary></indexterm><programlisting><link linkend="PangoFontsetSimple">PangoFontsetSimple</link> * pango_fontset_simple_new           (<link linkend="PangoLanguage">PangoLanguage</link> *language);</programlisting>
<para>
Creates a new <link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link> for the given language.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>language</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoLanguage"><type>PangoLanguage</type></link> tag
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the newly allocated <link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link>, which should
              be freed with <link linkend="g-object-unref"><function>g_object_unref()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-fontset-simple-append" role="function">
<title>pango_fontset_simple_append ()</title>
<indexterm zone="pango-fontset-simple-append"><primary sortas="pango_fontset_simple_append">pango_fontset_simple_append</primary></indexterm><programlisting><link linkend="void">void</link>                pango_fontset_simple_append         (<link linkend="PangoFontsetSimple">PangoFontsetSimple</link> *fontset,
                                                         <link linkend="PangoFont">PangoFont</link> *font);</programlisting>
<para>
Adds a font to the fontset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontset</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>font</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="pango-fontset-simple-size" role="function">
<title>pango_fontset_simple_size ()</title>
<indexterm zone="pango-fontset-simple-size"><primary sortas="pango_fontset_simple_size">pango_fontset_simple_size</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_fontset_simple_size           (<link linkend="PangoFontsetSimple">PangoFontsetSimple</link> *fontset);</programlisting>
<para>
Returns the number of fonts in the fontset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fontset</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="PangoFontsetSimple"><type>PangoFontsetSimple</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the size of <parameter>fontset</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
