<root>
<function name="pango_layout_get_justify">
<description>
Gets whether or not each complete line should be stretched to
fill the entire width of the layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the justify
</return>
</function>

<function name="pango_renderer_draw_error_underline">
<description>
Draw a squiggly line that approximately covers the given rectangle
in the style of an underline used to indicate a spelling error.
(The width of the underline is rounded to an integer number
of up/down segments and the resulting rectangle is centered
in the original rectangle)

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate of underline, in Pango units in user coordinate system
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate of underline, in Pango units in user coordinate system
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of underline, in Pango units in user coordinate system
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of underline, in Pango units in user coordinate system
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_get_pixel_size">
<description>
Determines the logical width and height of a #PangoLayout
in device units. (pango_layout_get_size() returns the width
and height in thousandths of a device unit.) This
is simply a convenience function around pango_layout_get_extents().

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store the logical width, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store the logical height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_render_layout_line">
<description>
Render a #PangoLayoutLine onto a FreeType2 bitmap

</description>
<parameters>
<parameter name="bitmap">
<parameter_description>    a FT_Bitmap to render the line onto
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description>      a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the x position of start of string (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the y position of baseline (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ot_info_find_feature">
<description>
Finds the index of a feature.

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to obtain information about.
</parameter_description>
</parameter>
<parameter name="feature_tag">
<parameter_description> the tag of the feature to find.
</parameter_description>
</parameter>
<parameter name="script_index">
<parameter_description> the index of the script.
</parameter_description>
</parameter>
<parameter name="language_index">
<parameter_description> the index of the language whose features are searched,
or 0xffff to use the default language of the script.
</parameter_description>
</parameter>
<parameter name="feature_index">
<parameter_description> location to store the index of the feature, or %NULL. 
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the feature was found.
</return>
</function>

<function name="pango_layout_get_auto_dir">
<description>
Gets whether to calculate the bidirectional base direction
for the layout according to the contents of the layout.
See pango_layout_set_auto_dir().


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> if %TRUE, the bidirectional base direction
is computed from the layout&apos;s contents.
</return>
</function>

<function name="pango_font_description_set_size">
<description>
Sets the size field of a font description in fractional points. This is mutually
exclusive with pango_font_description_set_absolute_size(). 

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the size of the font in points, scaled by PANGO_SCALE. (That is,
a @size 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 pango_font_description_set_absolute_size() if you need
a particular size in device units.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_width">
<description>
Sets the width to which the lines of the #PangoLayout should be wrapped.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout.
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> the desired width, or -1 to indicate that no wrapping should be
performed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_script_iter_new">
<description>
Create a new #PangoScriptIter, used to break a string of
Unicode into runs by text. No copy is made of @text, so
the caller needs to make sure it remains valid until
the iterator is freed with pango_script_iter_free ().x


</description>
<parameters>
<parameter name="text">
<parameter_description> a UTF-8 string
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @text, or -1 if @text is NUL-terminated.
</parameter_description>
</parameter>
</parameters>
<return> the newly created script iterator, initialized
to point at the first range in the text. If the string is
empty, it will point at an empty range.
</return>
</function>

<function name="pango_layout_get_tabs">
<description>
Gets the current #PangoTabArray used by this layout. If no
#PangoTabArray has been set, then the default tabs are in use
and %NULL is returned. Default tabs are every 8 spaces.
The return value should be freed with pango_tab_array_free().


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> a copy of the tabs for this layout, or %NULL
</return>
</function>

<function name="pango_layout_iter_get_baseline">
<description>
Gets the y position of the current line&apos;s baseline, in layout
coordinates (origin at top left of the entire layout).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> baseline of current line
</return>
</function>

<function name="pango_cairo_layout_path">
<description>
Adds the text in a #PangoLayoutLine to the current path in the
specified cairo context.  The top-left corner of the #PangoLayout
will be at the current point of the cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> a Pango layout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_get_pixel_extents">
<description>
Computes the logical and ink extents of @layout in device units.
See pango_layout_get_extents(); this function just calls
pango_layout_get_extents() and then converts the extents to
device units using the %PANGO_SCALE factor.

</description>
<parameters>
<parameter name="layout">
<parameter_description>   a #PangoLayout
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle used to store the extents of the layout as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the 
layout or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_get_style">
<description>
Gets the style field of a #PangoFontDescription. See
pango_font_description_set_style().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> the style field for the font description. 
Use pango_font_description_get_set_fields() to find out if
the field was explicitely set or not.
</return>
</function>

<function name="pango_font_description_get_set_fields">
<description>
Determines which fields in a font description have been set.


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> a bitmask with bits set corresponding to the
fields in @desc that have been set.
</return>
</function>

<function name="pango_font_face_describe">
<description>
Returns the family, style, variant, weight and stretch of
a #PangoFontFace. The size field of the resulting font description
will be unset. 


</description>
<parameters>
<parameter name="face">
<parameter_description> a #PangoFontFace
</parameter_description>
</parameter>
</parameters>
<return> a newly-created #PangoFontDescription structure
holding the description of the face. Use pango_font_description_free()
to free the result.
</return>
</function>

<function name="pango_module_register">
<description>
Registers a statically linked module with Pango. The
#PangoIncludedModule structure that is passed in contains the
functions that would otherwise be loaded from a dynamically loaded
module.

</description>
<parameters>
<parameter name="module">
<parameter_description> a #PangoIncludedModule
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_better_match">
<description>
Determines if the style attributes of @new_match are a closer match
for @desc than @old_match, or if @old_match is %NULL, determines if
@new_match is a match at all. Approximate matching is done for
weight and style; other attributes must match exactly.


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="old_match">
<parameter_description> a #PangoFontDescription, or %NULL
</parameter_description>
</parameter>
<parameter name="new_match">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @new_match is a better match
</return>
</function>

<function name="pango_fc_font_has_char">
<description>
Determines whether @font has a glyph for the codepoint @wc.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> Unicode codepoint to look up
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @font has the requested codepoint.

Since: 1.4
</return>
</function>

<function name="pango_xft_font_get_unknown_glyph">
<description>
Returns the index of a glyph suitable for drawing @wc as an
unknown character.

Use pango_fc_font_get_unknown_glyph() instead.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> the Unicode character for which a glyph is needed.
</parameter_description>
</parameter>
</parameters>
<return> a glyph index into @font.
</return>
</function>

<function name="pango_font_metrics_get_strikethrough_thickness">
<description>
Gets the suggested thickness to draw for the strikethrough.


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the suggested strikethrough thickness, in Pango units.

Since: 1.6
</return>
</function>

<function name="pango_tab_array_resize">
<description>
Resizes a tab array. You must subsequently initialize any tabs that
were added as a result of growing the array.

</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
<parameter name="new_size">
<parameter_description> new size of the array
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_find_first_subfont">
<description>
Looks for subfonts with the @charset charset,
in @font, and puts the first one in *@rfont.


</description>
<parameters>
<parameter name="font">
<parameter_description> A #PangoFont.
</parameter_description>
</parameter>
<parameter name="rfont">
<parameter_description> A pointer to a #PangoXSubfont.
</parameter_description>
</parameter>
<parameter name="charsets">
<parameter_description> An array of charsets.
</parameter_description>
</parameter>
<parameter name="n_charsets">
<parameter_description> The number of charsets in @charsets.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if *@rfont now contains a font.
</return>
</function>

<function name="pango_context_get_metrics">
<description>
Get overall metric information for a font particular font
description.  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.

The #PangoFontDescription is interpreted in the same way as
by pango_itemize(), and the family name may be a comma separated
list of figures. If characters from multiple of these families
would be used to render the string, then the returned fonts would
be a composite of the metrics for the fonts loaded for the
individual families.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> a #PangoFontDescription structure
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> language tag used to determine which script to get the metrics
for. %NULL means that the language tag from the context will
be used. If no language tag is set on the ccontext, metrics
large enough to cover a range of languages will be returned.
The process of determining such metrics is slow, so it is best
to always make sure some real language tag will be used.
</parameter_description>
</parameter>
</parameters>
<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
when finished using the object.
</return>
</function>

<function name="pango_attr_strikethrough_color_new">
<description>
Create a new strikethrough color attribute. This attribute
modifies the color of strikethrough lines. If not set, strikethrough
lines will use the foreground color.


</description>
<parameters>
<parameter name="red">
<parameter_description> the red value (ranging from 0 to 65535)
</parameter_description>
</parameter>
<parameter name="green">
<parameter_description> the green value
</parameter_description>
</parameter>
<parameter name="blue">
<parameter_description> the blue value
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_matrix_translate">
<description>
Changes the transformation represented by @matrix to be the
transformation given by first translating by (@tx, @ty)
then applying the original transformation.

Since: 1.6

</description>
<parameters>
<parameter name="matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
<parameter name="tx">
<parameter_description> amount to translate in the X direction
</parameter_description>
</parameter>
<parameter name="ty">
<parameter_description> amount to translate in the Y direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_get_spacing">
<description>
Gets the amount of spacing between the lines of the layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the spacing (in #PangoGlyphUnit)
</return>
</function>

<function name="pango_tab_array_free">
<description>
Frees a tab array and associated resources.


</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_line_ref">
<description>
Increases the reference count of a #PangoLayoutLine by one.

</description>
<parameters>
<parameter name="line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_draw_trapezoid">
<description>
Draws a trapezoid with the parallel sides aligned with the X axis
using the given #PangoRenderer; coordinates are in device space.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="part">
<parameter_description> type of object this trapezoid is part of
</parameter_description>
</parameter>
<parameter name="y1_">
<parameter_description> Y coordinate of top of trapezoid
</parameter_description>
</parameter>
<parameter name="x11">
<parameter_description> X coordinate of left end of top of trapezoid
</parameter_description>
</parameter>
<parameter name="x21">
<parameter_description> X coordinate of right end of top of trapezoid
</parameter_description>
</parameter>
<parameter name="y2">
<parameter_description> X coordinate of top of trapezoid
</parameter_description>
</parameter>
<parameter name="x12">
<parameter_description> X coordinate of left end of top of trapezoid
</parameter_description>
</parameter>
<parameter name="x22">
<parameter_description> Y coordinate of left end of top of trapezoid
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_load_font">
<description>
Loads the font in one of the fontmaps in the context
that is the closest match for @desc.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> a #PangoFontDescription describing the font to load
</parameter_description>
</parameter>
</parameters>
<return>the font loaded, or %NULL if no font matched.
</return>
</function>

<function name="pango_language_get_sample_string">
<description>
Get a string that is representative of the characters needed to
render a particular language. This function is a bad hack for
internal use by renderers and Pango.


</description>
<parameters>
<parameter name="language">
<parameter_description> a #PangoLanguage
</parameter_description>
</parameter>
</parameters>
<return> the sample string. This value is owned by Pango
and must not be freed.
</return>
</function>

<function name="_pango_glyph_item_iter_init_start">
<description>
Initializes a #PangoGlyphItemIter structure to point to the
last cluster in a glyph item.


</description>
<parameters>
<parameter name="iter">
<parameter_description> pointer to a #PangoGlyphItemIter structure
</parameter_description>
</parameter>
<parameter name="glyph_item">
<parameter_description> the glyph item that the iter points into
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text corresponding to the glyph item
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if there are no clusters in the glyph item;
in this case, the state of the iter is undefined.
</return>
</function>

<function name="pango_layout_new">
<description>
Create a new #PangoLayout object with attributes initialized to
default values for a particular #PangoContext.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoLayout, with a reference count of one.
</return>
</function>

<function name="pango_config_key_get">
<description>
Looks up a key in the Pango config database
(pseudo-win.ini style, read from $sysconfdir/pango/pangorc,
~/.pangorc, and getenv (PANGO_RC_FILE).)


</description>
<parameters>
<parameter name="key">
<parameter_description> Key to look up, in the form &quot;SECTION/KEY&quot;.
</parameter_description>
</parameter>
</parameters>
<return> the value, if found, otherwise %NULL. The value is a
newly-allocated string and must be freed with g_free().
</return>
</function>

<function name="pango_matrix_free">
<description>
Free a #PangoMatrix created with pango_matrix_copy().

Since: 1.6

</description>
<parameters>
<parameter name="matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_get_lib_subdirectory">
<description>
On Unix, returns the name of the &quot;pango&quot; subdirectory of LIBDIR
(which is set at compile time). On Win32, returns the Pango
installation directory (which is deduced at run time from the DLL&apos;s
location, or stored in the Registry). The returned string should
not be freed.


</description>
<parameters>
</parameters>
<return> the Pango lib directory. The returned string should
not be freed. 
</return>
</function>

<function name="pango_font_description_set_family_static">
<description>
Like pango_font_description_set_family(), except that no
copy of @family is made. The caller must make sure that the
string passed in stays around until @desc has been freed
or the name is set again. This function can be used if
@family is a static string such as a C string literal, or
if @desc is only needed temporarily.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="family">
<parameter_description> a string representing the family name.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_render_layout">
<description>
Render a #PangoLayout onto a FreeType2 bitmap

</description>
<parameters>
<parameter name="bitmap">
<parameter_description>    a FT_Bitmap to render the layout onto
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description>    a #PangoLayout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the X position of the left of the layout (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the Y position of the top of the layout (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_cairo_font_install">
<description>
Makes @font the current font for rendering in the specified
Cairo context.

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoCairoFont
</parameter_description>
</parameter>
<parameter name="cr">
<parameter_description> a #cairo_t
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_xy_to_index">
<description>
Converts from X and Y position within a layout to the byte 
index to the character at that logical position. If the
Y position is not inside the layout, the closest position is chosen
(the position will be clamped inside the layout). If the
X position is not within the layout, then the start or the
end of the line is chosen as  described for pango_layout_x_to_index().
If either the X or Y positions were not inside the layout, then the
function returns %FALSE; on an exact hit, it returns %TRUE.


</description>
<parameters>
<parameter name="layout">
<parameter_description>    a #PangoLayout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the X offset (in #PangoGlyphUnit)
from the left edge of the layout.
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the Y offset (in #PangoGlyphUnit)
from the top edge of the layout
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description>    location to store calculated byte index
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description>  location to store a integer indicating where
in the grapheme the user clicked. It will either
be zero, or the number of characters in the
grapheme. 0 represents the trailing edge of the grapheme.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the coordinates were inside text
</return>
</function>

<function name="pango_layout_get_text">
<description>
Gets the text in the layout. The returned text should not
be freed or modified.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the text in the @layout
</return>
</function>

<function name="pango_layout_get_extents">
<description>
Computes the logical and ink extents of @layout. Logical extents
are usually what you want for positioning things. The extents
are given in layout coordinates; layout coordinates begin at the
top left corner of the layout. 

</description>
<parameters>
<parameter name="layout">
<parameter_description>   a #PangoLayout
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle used to store the extents of the layout as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the layout 
                 or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_tab_array_new">
<description>
Creates an array of @initial_size tab stops. Tab stops are specified in
pixel units if @positions_in_pixels is TRUE, otherwise in Pango
units. All stops are initially at position 0.


</description>
<parameters>
<parameter name="initial_size">
<parameter_description> Initial number of tab stops to allocate, can be 0
</parameter_description>
</parameter>
<parameter name="positions_in_pixels">
<parameter_description> whether positions are in pixel units
</parameter_description>
</parameter>
</parameters>
<return> a #PangoTabArray
</return>
</function>

<function name="pango_parse_variant">
<description>
Parses a font variant. The allowed values are &quot;normal&quot;
and &quot;smallcaps&quot; or &quot;small_caps&quot;, case variations being
ignored.


</description>
<parameters>
<parameter name="str">
<parameter_description> a string to parse.
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #PangoVariant to store the result in.
</parameter_description>
</parameter>
<parameter name="warn">
<parameter_description> if %TRUE, issue a g_warning() on bad input.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @str was successfully parsed.
</return>
</function>

<function name="pango_xft_font_unlock_face">
<description>
Releases a font previously obtained with
pango_xft_font_lock_face().

Use pango_fc_font_unlock_face() instead.

Since: 1.2

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_shutdown_display">
<description>
Free cached resources.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="pango_shape">
<description>
Given a segment of text and the corresponding 
#PangoAnalysis structure returned from pango_itemize(),
convert the characters into glyphs. You may also pass
in only a substring of the item from pango_itemize().

</description>
<parameters>
<parameter name="text">
<parameter_description>      the text to process
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description>    the length (in bytes) of @text
</parameter_description>
</parameter>
<parameter name="analysis">
<parameter_description>  #PangoAnalysis structure from pango_itemize()
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>    glyph string in which to store results
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_scan_word">
<description>
Scans a word into a #GString buffer. A word consists
of [A-Za-z_] followed by zero or more [A-Za-z_0-9]
Leading white space is skipped.


</description>
<parameters>
<parameter name="pos">
<parameter_description> in/out string position
</parameter_description>
</parameter>
<parameter name="out">
<parameter_description> a #GString into which to write the result
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if a parse error occured. 
</return>
</function>

<function name="pango_font_get_glyph_extents">
<description>
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 PANGO_ASCENT(),
PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() 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.

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="glyph">
<parameter_description> the glyph index
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle used to store the extents of the glyph as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the glyph
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_font_map_create_context">
<description>
Create a #PangoContext for the given fontmap.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFT2Fontmap
</parameter_description>
</parameter>
</parameters>
<return> the newly created context; free with g_object_unref().

Since: 1.2
</return>
</function>

<function name="pango_layout_set_auto_dir">
<description>
Sets whether to calculate the bidirectional base direction
for the layout according to the contents of the layout;
when this flag is on (the default), then paragraphs in
   @layout that begin with strong right-to-left characters
(Arabic and Hebrew principally), will have right-to-left
layout, paragraphs with letters from other scripts will
have left-to-right layout. Paragraphs with only neutral
characters get their direction from the surrounding paragraphs.

When %FALSE, the choice between left-to-right and
right-to-left layout is done by according to the base direction
of the layout&apos;s #PangoContext. (See pango_context_set_base_dir()).

When the auto-computed direction or a paragraph differs from the
base direction of the context, then the interpretation of
%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped. 

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="auto_dir">
<parameter_description> if %TRUE, compute the bidirectional base direction
from the layout&apos;s contents.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_weight_new">
<description>
Create a new font weight attribute.


</description>
<parameters>
<parameter name="weight">
<parameter_description> the weight
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_win32_font_map_for_display">
<description>
Returns a #PangoWin32FontMap. Font maps are cached and should
not be freed. If the font map is no longer needed, it can
be released with pango_win32_shutdown_display().


</description>
<parameters>
</parameters>
<return> a #PangoFontMap.
</return>
</function>

<function name="pango_win32_render">
<description>
Render a PangoGlyphString onto a Windows DC

</description>
<parameters>
<parameter name="hdc">
<parameter_description>     the device context
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>    the font in which to draw the string
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>  the glyph string to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>       the x position of start of string (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>       the y position of baseline (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_font_get_face">
<description>
Returns the native FreeType2 FT_Face structure used for this PangoFont.
This may be useful if you want to use FreeType2 functions directly.

Use pango_fc_font_lock_face() instead; when you are done with a
face from pango_fc_font_lock_face() you must call
pango_fc_font_unlock_face().


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
</parameters>
<return> a pointer to a #FT_Face structure, with the size set correctly
</return>
</function>

<function name="pango_attr_background_new">
<description>
Create a new background color attribute.


</description>
<parameters>
<parameter name="red">
<parameter_description> the red value (ranging from 0 to 65535)
</parameter_description>
</parameter>
<parameter name="green">
<parameter_description> the green value
</parameter_description>
</parameter>
<parameter name="blue">
<parameter_description> the blue value
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_coverage_unref">
<description>
Increase the reference count on the #PangoCoverage by one.
if the result is zero, free the coverage and all associated memory.

</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_get_coverage">
<description>
Computes the coverage map for a given font and language tag.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> the language tag
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #PangoCoverage object.
</return>
</function>

<function name="pango_attr_iterator_get">
<description>
Find the current attribute of a particular type at the iterator
location. When multiple attributes of the same type overlap,
the attribute whose range starts closest to the current location
is used.


</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator
</parameter_description>
</parameter>
<parameter name="type">
<parameter_description> the type of attribute to find.
</parameter_description>
</parameter>
</parameters>
<return> the current attribute of the given type, or %NULL
if no attribute of that type applies to the current
location.
</return>
</function>

<function name="pango_scan_string">
<description>
Scans a string into a #GString buffer. The string may either
be a sequence of non-white-space characters, or a quoted
string with &apos;&quot;&apos;. Instead a quoted string, &apos;\&quot;&apos; represents
a literal quote. Leading white space outside of quotes is skipped.


</description>
<parameters>
<parameter name="pos">
<parameter_description> in/out string position
</parameter_description>
</parameter>
<parameter name="out">
<parameter_description> a #GString into which to write the result
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if a parse error occured.
</return>
</function>

<function name="pango_layout_set_text">
<description>
Sets the text of the layout.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> a UTF-8 string
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @text, in bytes. -1 indicates that
the string is nul-terminated and the length should be
calculated.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attribute_equal">
<description>
Compare two attributes for equality. This compares only the
actual value of the two attributes and not the ranges that the
attributes apply to.


</description>
<parameters>
<parameter name="attr1">
<parameter_description> a #PangoAttribute
</parameter_description>
</parameter>
<parameter name="attr2">
<parameter_description> another #PangoAttribute
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the two attributes have the same value.
</return>
</function>

<function name="pango_coverage_max">
<description>
Set the coverage for each index in @coverage to be the max (better)
value of the current coverage for the index and the coverage for
the corresponding index in @other.

</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
<parameter name="other">
<parameter_description> another #PangoCoverage
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_render_layout_line">
<description>
Render a #PangoLayoutLine onto a device context

</description>
<parameters>
<parameter name="hdc">
<parameter_description>       HDC to use for uncolored drawing
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description>      a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the x position of start of string (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the y position of baseline (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_render">
<description>
Renders a #PangoGlyphString onto a FreeType2 bitmap.

</description>
<parameters>
<parameter name="bitmap">
<parameter_description>  the FreeType2 bitmap onto which to draw the string
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>    the font in which to draw the string
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>  the glyph string to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>       the x position of the start of the string (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>       the y position of the baseline (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_move_cursor_visually">
<description>
Computes a new cursor position from an old position and
a count of positions to move visually. If @count is positive,
then the new strong cursor position will be one position
to the right of the old cursor position. If @count is position
then the new strong cursor position will be one position
to the left of the old cursor position. 

In the presence of bidirection text, the correspondence
between logical and visual order will depend on the direction
of the current run, and there may be jumps when the cursor
is moved off of the end of a run.

Motion here is in cursor positions, not in characters, so a
single call to pango_layout_move_cursor_visually() may move the
cursor over multiple characters when multiple characters combine
to form a single grapheme.

</description>
<parameters>
<parameter name="layout">
<parameter_description>       a #PangoLayout.
</parameter_description>
</parameter>
<parameter name="strong">
<parameter_description>       whether the moving cursor is the strong cursor or the
weak cursor. The strong cursor is the cursor corresponding
to text insertion in the base direction for the layout.
</parameter_description>
</parameter>
<parameter name="old_index">
<parameter_description>    the byte index of the grapheme for the old index
</parameter_description>
</parameter>
<parameter name="old_trailing">
<parameter_description> if 0, the cursor was at the trailing edge of the 
grapheme indicated by @old_index, if &amp;gt; 0, the cursor
was at the leading edge.
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description>    direction to move cursor. A negative
value indicates motion to the left.
</parameter_description>
</parameter>
<parameter name="new_index">
<parameter_description>    location to store the new cursor byte index. A value of -1 
indicates that the cursor has been moved off the beginning
of the layout. A value of G_MAXINT indicates that
the cursor has been moved off the end of the layout.
</parameter_description>
</parameter>
<parameter name="new_trailing">
<parameter_description> number of characters to move forward from the location returned
for @new_index to get the position where the cursor should
be displayed. This allows distinguishing the position at
the beginning of one line from the position at the end
of the preceding line. @new_index is always on the line
where the cursor should be displayed. 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_font_map_get_font_cache">
<description>
Obtains the font cache associated with the given font map.


</description>
<parameters>
<parameter name="font_map">
<parameter_description> a #PangoXFontMap.
</parameter_description>
</parameter>
</parameters>
<return> the #PangoXFontCache of @font_map.
</return>
</function>

<function name="pango_win32_get_context">
<description>
Retrieves a #PangoContext appropriate for rendering with Windows fonts.


</description>
<parameters>
</parameters>
<return> the new #PangoContext
</return>
</function>

<function name="pango_font_description_set_stretch">
<description>
Sets the stretch field of a font description. The stretch field
specifies how narrow or wide the font should be.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="stretch">
<parameter_description> the stretch for the font description
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_font_done_font">
<description>
Releases any resources allocated by pango_win32_font_done_font()

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont from the win32 backend
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attribute_destroy">
<description>
Destroy a #PangoAttribute and free all associated memory.

</description>
<parameters>
<parameter name="attr">
<parameter_description> a #PangoAttribute.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_glyph_item_iter_prev_cluster">
<description>
Moves the iterator to the preceding cluster in the glyph item.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoGlyphItemIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iterator was movedn, %FALSE if we were already on the
first cluster.
</return>
</function>

<function name="pango_cairo_show_layout_line">
<description>
Draws a #PangoLayoutLine in the specified cairo context.
The origin of the glyphs (the left edge of the line) will
be drawn at the current point of the cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_set_matrix">
<description>
Sets the transformation matrix that will be applied when rendering.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="matrix">
<parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
(No matrix set is the same as setting the identity matrix.)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_font_get_glyph_index">
<description>
Obtains the index of the glyph for @wc in @font.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> a Unicode character.
</parameter_description>
</parameter>
</parameters>
<return> the glyph index for @wc.
</return>
</function>

<function name="pango_ft2_font_map_substitute_changed">
<description>
Call this function any time the results of the
default substitution function set with
pango_ft2_font_map_set_default_substitute() change.
That is, if your subsitution function will return different
results for the same input pattern, you must call this function.

Since: 1.2

</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFT2Fontmap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_merge_static">
<description>
Like pango_font_description_merge(), but only a shallow copy is made
of the family name and other allocated fields. @desc can only be
used until @desc_to_merge is modified or freed. This is meant
to be used when the merged font description is only needed temporarily.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="desc_to_merge">
<parameter_description> the #PangoFontDescription to merge from
</parameter_description>
</parameter>
<parameter name="replace_existing">
<parameter_description> if %TRUE, replace fields in @desc with the
corresponding values from @desc_to_merge, even if they
are already exist.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_font_desc_new">
<description>
Create a new font description attribute. (This attribute
allows setting family, style, weight, variant, stretch,
and size simultaneously.)


</description>
<parameters>
<parameter name="desc">
<parameter_description> 
</parameter_description>
</parameter>
</parameters>
<return> 
</return>
</function>

<function name="pango_glyph_item_apply_attrs">
<description>
Splits a shaped item (PangoGlyphItem) into multiple items based
on an attribute list. The idea is that if you have attributes
that don&apos;t affect shaping, such as color or underline, to avoid
affecting shaping, you filter them out (pango_attr_list_filter()),
apply the shaping process and then reapply them to the result using
this function.

All attributes that start or end inside a cluster are applied
to that cluster; for instance, if half of a cluster is underlined
and the other-half strikethough, then the cluster will end
up with both underline and strikethrough attributes. In these
cases, it may happen that item-&amp;gt;extra_attrs for some of the
result items can have multiple attributes of the same type.

This function takes ownership of @glyph_item; it will be reused
as one of the elements in the list.


</description>
<parameters>
<parameter name="glyph_item">
<parameter_description> a shaped item 
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text that @list applies to
</parameter_description>
</parameter>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return> a list of glyph items resulting from splitting
@glyph_item. Free the elements using pango_glyph_item_free(),
the list using g_slist_free().

Since: 1.2
</return>
</function>

<function name="pango_attr_foreground_new">
<description>
Create a new foreground color attribute.


</description>
<parameters>
<parameter name="red">
<parameter_description> the red value (ranging from 0 to 65535)
</parameter_description>
</parameter>
<parameter name="green">
<parameter_description> the green value
</parameter_description>
</parameter>
<parameter name="blue">
<parameter_description> the blue value
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_cairo_update_layout">
<description>
Updates the private #PangoContext of a #PangoLayout created with
pango_cairo_create_layout() to match the current transformation
and target surface of a Cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> a #PangoLayout, from pango_cairo_create_layout()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_font_cache_free">
<description>
Frees a #PangoXFontCache and all associated memory. All fonts loaded
through this font cache will be freed along with the cache.

</description>
<parameters>
<parameter name="cache">
<parameter_description> a #PangoXFontCache
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_decoder_get_charset">
<description>
Generates an #FcCharSet of supported characters for the fcfont
given.  The returned #FcCharSet will be a reference to an
internal value stored by the #PangoFcDecoder and must not
be modified or freed.


</description>
<parameters>
<parameter name="decoder">
<parameter_description> a #PangoFcDecoder
</parameter_description>
</parameter>
<parameter name="fcfont">
<parameter_description> the #PangoFcFont to query.
</parameter_description>
</parameter>
</parameters>
<return> the #FcCharset for @fcfont; must not be modified
or freed.

Since: 1.6
</return>
</function>

<function name="pango_attr_language_new">
<description>
Create a new language tag attribute. 


</description>
<parameters>
<parameter name="language">
<parameter_description> language tag
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_layout_get_font_description">
<description>
Gets the font description for the layout, if any.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> a pointer to the layout&apos;s font description,
or %NULL if the font description from the layout&apos;s
context is inherited. This value is owned by the layout
and must not be modified or freed.
</return>
</function>

<function name="pango_parse_weight">
<description>
Parses a font weight. The allowed values are &quot;heavy&quot;,
&quot;ultrabold&quot;, &quot;bold&quot;, &quot;normal&quot;, &quot;light&quot;, &quot;ultraleight&quot; 
and integers. Case variations are ignored.


</description>
<parameters>
<parameter name="str">
<parameter_description> a string to parse.
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #PangoWeight to store the result in.
</parameter_description>
</parameter>
<parameter name="warn">
<parameter_description> if %TRUE, issue a g_warning() on bad input.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @str was successfully parsed.
</return>
</function>

<function name="pango_x_render">
<description>
Renders a #PangoGlyphString onto an X drawable.

</description>
<parameters>
<parameter name="display">
<parameter_description> the X display.
</parameter_description>
</parameter>
<parameter name="d">
<parameter_description>       the drawable on which to draw string.
</parameter_description>
</parameter>
<parameter name="gc">
<parameter_description>      the graphics context.
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>    the font in which to draw the string.
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>  the glyph string to draw.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>       the x position of start of string (in pixels).
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>       the y position of baseline (in pixels).
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_xft_get_font_map">
<description>
Returns the #PangoXftFontmap for the given display and screen.
The fontmap is owned by Pango and will be valid until
the display is closed.


</description>
<parameters>
<parameter name="display">
<parameter_description> an X display
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> the screen number of a screen within @display
</parameter_description>
</parameter>
</parameters>
<return> a #PangoFontMap object, owned by Pango.

Since: 1.2
</return>
</function>

<function name="pango_x_fallback_shape">
<description>
This is a simple fallback shaper, that can be used
if no subfont that supports a given script is found. 
For every character in @text, it puts the Unknown glyph.

</description>
<parameters>
<parameter name="font">
<parameter_description> A #PangoFont.
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description> A pointer to a #PangoGlyphString.
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> UTF-8 string.
</parameter_description>
</parameter>
<parameter name="n_chars">
<parameter_description> Number of UTF-8 seqs in @text.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_cairo_glyph_string_path">
<description>
Adds the glyphs in @glyphs to the current path in the specified
cairo context. The origin of the glyphs (the left edge of the baseline)
will be at the current point of the cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description> a #PangoGlyphString
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_item_free">
<description>
Frees a #PangoGlyphItem and memory to which it points.

</description>
<parameters>
<parameter name="glyph_item">
<parameter_description> a #PangoGlyphItem
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_iter_get_line">
<description>
Gets the current line.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> the current line
</return>
</function>

<function name="pango_attr_underline_new">
<description>
Create a new underline-style object.


</description>
<parameters>
<parameter name="underline">
<parameter_description> the underline style.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_layout_get_iter">
<description>
Returns an iterator to iterate over the visual extents of the layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoLayoutIter
</return>
</function>

<function name="pango_default_break">
<description>
This is the default break algorithm, used if no language
engine overrides it. Normally you should use pango_break()
instead; this function is mostly useful for chaining up
from a language engine override. Unlike pango_break(),
@analysis can be NULL, but only do that if you know what
you&apos;re doing. (If you need an analysis to pass to pango_break(),
you need to pango_itemize() or use pango_get_log_attrs().)


</description>
<parameters>
<parameter name="text">
<parameter_description> text to break
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of text in bytes (may be -1 if @text is nul-terminated)
</parameter_description>
</parameter>
<parameter name="analysis">
<parameter_description> a #PangoAnalysis for the @text
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> logical attributes to fill in
</parameter_description>
</parameter>
<parameter name="attrs_len">
<parameter_description> size of the array passed as @attrs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_spacing">
<description>
Sets the amount of spacing between the lines of the layout.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout.
</parameter_description>
</parameter>
<parameter name="spacing">
<parameter_description> the amount of spacing
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_scale_new">
<description>
Create a new font size scale attribute. The base font for the
affected text will have its size multiplied by @scale_factor.


</description>
<parameters>
<parameter name="scale_factor">
<parameter_description> factor to scale the font
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_ft2_get_unknown_glyph">
<description>
Return the index of a glyph suitable for drawing unknown characters.

Use pango_fc_font_get_unknown_glyph() instead.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
</parameters>
<return> a glyph index into @font
</return>
</function>

<function name="pango_font_description_set_weight">
<description>
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 #PangoWeight enumeration, other intermediate
numeric values are possible.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="weight">
<parameter_description> the weight for the font description.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_xft_render_layout">
<description>
Render a #PangoLayout onto a #XftDraw

Since: 1.8

</description>
<parameters>
<parameter name="draw">
<parameter_description>      an #XftDraw
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description>     the foreground color in which to draw the layout
(may be overriden by color attributes)
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description>    a #PangoLayout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the X position of the left of the layout (in Pango units)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the Y position of the top of the layout (in Pango units)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_font_cache_new">
<description>
Creates a font cache.


</description>
<parameters>
</parameters>
<return> The new font cache. This must be freed with
pango_win32_font_cache_free().
</return>
</function>

<function name="pango_font_metrics_new">
<description>
Creates a new #PangoFontMetrics structure. This is only for
internal use by Pango backends and there is no public way
to set the fields of the structure.


</description>
<parameters>
</parameters>
<return> a newly-created #PangoFontMetrics structure
with a reference count of 1.
</return>
</function>

<function name="pango_font_description_get_weight">
<description>
Gets the weight field of a font description. See
pango_font_description_set_weight().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> the weight field for the font description. Use
pango_font_description_get_set_fields() to find out if
the field was explicitely set or not.
</return>
</function>

<function name="pango_matrix_scale">
<description>
Changes the transformation represented by @matrix to be the
transformation given by first scaling by @sx in the X direction
and @sy in the Y direction then applying the original
transformation.

Since: 1.6

</description>
<parameters>
<parameter name="matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
<parameter name="scale_x">
<parameter_description> amount to scale by in X direction
</parameter_description>
</parameter>
<parameter name="scale_y">
<parameter_description> amount to scale by in Y direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_set_color">
<description>
Sets the color for part of the rendering.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="part">
<parameter_description> the part to change the color of
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description> the new color or %NULL to unset the current color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_to_string">
<description>
Creates a string representation of a font description. See
pango_font_description_from_string() 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.


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> a new string that must be freed with g_free().
</return>
</function>

<function name="pango_cairo_font_map_set_resolution">
<description>
Sets the resolution for the fontmap. This is a scale factor between
points specified in a #PangoFontDescription and Cairo units. The
default value is 96, meaning that a 10 point font will be 13
units high. (10 * 96. / 72. = 13.3).

Since: 1.10

</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoCairoFontMap 
</parameter_description>
</parameter>
<parameter name="dpi">
<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren&apos;t actually
involved; the terminology is conventional.)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_get_variant">
<description>
Gets the variant field of a #PangoFontDescription. See
pango_font_description_set_variant().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription.
</parameter_description>
</parameter>
</parameters>
<return> the variant field for the font description. Use
pango_font_description_get_set_fields() to find out if
the field was explicitely set or not.
</return>
</function>

<function name="pango_attr_list_new">
<description>
Create a new empty attribute list with a reference count of 1.


</description>
<parameters>
</parameters>
<return> the newly allocated #PangoAttrList.
</return>
</function>

<function name="pango_color_parse">
<description>
Fill in the fields of a color from a string specification. The
string can either one of a large set of standard names. (Taken
from the X11 &amp;lt;filename&amp;gt;rgb.txt&amp;lt;/filename&amp;gt; file), or it can be a hex value in the
form &apos;&amp;num;rgb&apos; &apos;&amp;num;rrggbb&apos; &apos;&amp;num;rrrgggbbb&apos; or &apos;&amp;num;rrrrggggbbbb&apos; where
&apos;r&apos;, &apos;g&apos; and &apos;b&apos; are hex digits of the red, green, and blue
components of the color, respectively. (White in the four
forms is &apos;&amp;num;fff&apos; &apos;&amp;num;ffffff&apos; &apos;&amp;num;fffffffff&apos; and &apos;&amp;num;ffffffffffff&apos;)


</description>
<parameters>
<parameter name="color">
<parameter_description> a #PangoColor structure in which to store the result
</parameter_description>
</parameter>
<parameter name="spec">
<parameter_description> a string specifying the new color
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if parsing of the specifier succeeded,
otherwise false.
</return>
</function>

<function name="pango_attr_underline_color_new">
<description>
Create a new underline color attribute. This attribute
modifies the color of underlines. If not set, underlines
will use the foreground color.


</description>
<parameters>
<parameter name="red">
<parameter_description> the red value (ranging from 0 to 65535)
</parameter_description>
</parameter>
<parameter name="green">
<parameter_description> the green value
</parameter_description>
</parameter>
<parameter name="blue">
<parameter_description> the blue value
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_font_description_set_absolute_size">
<description>
Sets the size field of a font description, in device units. This is mutually
exclusive with pango_font_description_set_size().

Since: 1.8

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="size">
<parameter_description> the new size, in pango units. There are #PANGO_SCALE Pango units in one
device unit. For an output backend where a device unit is a pixel, a @size
value of 10 * PANGO_SCALE gives a 10 pixel font.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_color_free">
<description>
Frees a color allocated by pango_color_copy().

</description>
<parameters>
<parameter name="color">
<parameter_description> an allocated #PangoColor
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_get_color">
<description>
Gets the current rendering color for the specified part.


</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="part">
<parameter_description> the part to get the color for
</parameter_description>
</parameter>
</parameters>
<return> the color for the specified part, or %NULL
if it hasn&apos;t been set and should be inherited from the
environment.

Since: 1.8
</return>
</function>

<function name="pango_find_paragraph_boundary">
<description>
Locates a paragraph boundary in @text. A boundary is caused by
delimiter characters, such as a newline, carriage return, carriage
return-newline pair, or Unicode paragraph separator character.  The
index of the run of delimiters is returned in
@paragraph_delimiter_index. The index of the start of the paragraph
(index after all delimiters) is stored in @next_paragraph_start.

If no delimiters are found, both @paragraph_delimiter_index and
@next_paragraph_start are filled with the length of @text (an index one
off the end).

</description>
<parameters>
<parameter name="text">
<parameter_description> UTF-8 text
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @text in bytes, or -1 if nul-terminated
</parameter_description>
</parameter>
<parameter name="paragraph_delimiter_index">
<parameter_description> return location for index of delimiter
</parameter_description>
</parameter>
<parameter name="next_paragraph_start">
<parameter_description> return location for start of next paragraph
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_xft_font_get_mini_font">
<description>
Gets the font used for drawing the digits in the
missing-character hex squares


</description>
<parameters>
<parameter name="xfont">
<parameter_description> a #PangoXftFont
</parameter_description>
</parameter>
</parameters>
<return> the PangoFont used for the digits; this
value is associated with the main font and will be freed
along with the main font.
</return>
</function>

<function name="pango_attr_shape_new_with_data">
<description>
Like pango_attr_shape_new(), but a user data pointer is also
provided; this pointer can be accessed when rendering later
rendering the glyph.


</description>
<parameters>
<parameter name="ink_rect">
<parameter_description>     ink rectangle to assign to each character
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> logical rectangle assign to each character
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description>         user data pointer
</parameter_description>
</parameter>
<parameter name="copy_func">
<parameter_description>    function to copy @data when the attribute
is copied. If %NULL, @data is simply copied
as a pointer.
</parameter_description>
</parameter>
<parameter name="destroy_func">
<parameter_description> function to free @data when the attribute
is freed, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> the newly created attribute

Since: 1.8
</return>
</function>

<function name="pango_attr_list_change">
<description>
Insert the given attribute into the #PangoAttrList. It will
replace any attributes of the same type on that segment
and be merged with any adjoining attributes that are identical.

This function is slower than pango_attr_list_insert() for
creating a attribute list in order (potentially much slower
for large lists). However, pango_attr_list_insert() is not
suitable for continually changing a set of attributes 
since it never removes or combines existing attributes.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
<parameter name="attr">
<parameter_description> the attribute to insert. Ownership of this value is
assumed by the list.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_coverage_copy">
<description>
Copy an existing #PangoCoverage. (This function may now be unecessary 
since we refcount the structure. Mail otaylor@redhat.com if you
use it.)


</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
</parameters>
<return> a copy of @coverage with a reference count of 1
</return>
</function>

<function name="pango_renderer_prepare_run">
<description>
Set up the state of the PangoRenderer for rendering @run.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="run">
<parameter_description> a #PangoLayoutRun
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_size_new">
<description>
Create a new font-size attribute in fractional points.


</description>
<parameters>
<parameter name="size">
<parameter_description> the font size, in #PANGO_SCALE&amp;lt;!-- --&amp;gt;ths of a point.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_item_copy">
<description>
Copy an existing #PangoItem structure.


</description>
<parameters>
<parameter name="item">
<parameter_description> a #PangoItem
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoItem
</return>
</function>

<function name="pango_attr_letter_spacing_new">
<description>
Create a new letter-spacing attribute.


</description>
<parameters>
<parameter name="letter_spacing">
<parameter_description> amount of extra space to add between graphemes
of the text, in Pango units.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.

Since: 1.6
</return>
</function>

<function name="pango_layout_iter_get_char_extents">
<description>
Gets the extents of the current character, in layout coordinates
(origin is the top left of the entire layout). Only logical extents
can sensibly be obtained for characters; ink extents make sense only
down to the level of clusters.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle to fill with logical extents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_get_wrap">
<description>
Gets the wrap mode for the layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> Active wrap mode.
</return>
</function>

<function name="pango_layout_set_font_description">
<description>
Sets the default font description for the layout. If no font 
description is set on the layout, the font description from
the layout&apos;s context is used.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> the new #PangoFontDescription, or %NULL to unset the
current font description.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fontset_get_metrics">
<description>
Get overall metric information for the fonts in the fontset.


</description>
<parameters>
<parameter name="fontset">
<parameter_description> a #PangoFontset
</parameter_description>
</parameter>
</parameters>
<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
when finished using the object.
</return>
</function>

<function name="pango_attr_list_get_iterator">
<description>
Create a iterator initialized to the beginning of the list.


</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoIterator. @list must not be modified
until this iterator is freed with pango_attr_iterator_destroy().
</return>
</function>

<function name="pango_win32_get_unknown_glyph">
<description>
Returns the index of a glyph suitable for drawing @wc as an
unknown character.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> the Unicode character for which a glyph is needed.
</parameter_description>
</parameter>
</parameters>
<return> a glyph index into @font
</return>
</function>

<function name="pango_renderer_deactivate">
<description>
Cleans up after rendering operations on @renderer. See
docs for pango_renderer_activate().

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_family_new">
<description>
Create a new font family attribute.


</description>
<parameters>
<parameter name="family">
<parameter_description> the family or comma separated list of families
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_ot_info_list_languages">
<description>
Obtains the list of available languages for a given script.

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to obtain information about.
</parameter_description>
</parameter>
<parameter name="script_index">
<parameter_description> the index of the script to list languages for.
</parameter_description>
</parameter>
<parameter name="language_tag">
<parameter_description> unused parameter.
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated array containing the tags of the
available languages.
</return>
</function>

<function name="pango_x_font_map_for_display">
<description>
Returns a #PangoXFontMap for @display. Font maps are cached and should 
not be freed. If the font map for a display is no longer needed, it can 
be released with pango_x_shutdown_display().


</description>
<parameters>
<parameter name="display">
<parameter_description> an X #Display.
</parameter_description>
</parameter>
</parameters>
<return> a #PangoXFontMap for @display.
</return>
</function>

<function name="pango_fontset_simple_append">
<description>
Adds a font to the fontset.

</description>
<parameters>
<parameter name="fontset">
<parameter_description> a #PangoFontsetSimple.
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_describe">
<description>
Returns a description of the font.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #PangoFontDescription object.
</return>
</function>

<function name="pango_font_description_get_size">
<description>
Gets the size field of a font description.
See pango_font_description_get_size().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> the size field for the font description in points or device units.
You must call pango_font_description_get_size_is_absolute()
to find out which is the case. Returns 0 if the size field has not
previously been set.  pango_font_description_get_set_fields() to
find out if the field was explicitely set or not.
</return>
</function>

<function name="pango_xft_renderer_set_draw">
<description>
Sets the #XftDraw object that the renderer is drawing to.
The renderer must not be currently active.

Since: 1.8

</description>
<parameters>
<parameter name="xftrenderer">
<parameter_description> a #PangoXftRenderer
</parameter_description>
</parameter>
<parameter name="draw">
<parameter_description> a #XftDraw
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_font_get_raw_extents">
<description>
Gets the extents of a single glyph from a font. The extents are in
user space; that is, they are not transformed by any matrix in effect
for the font.

Long term, this functionality probably belongs in the default
implementation of the get_glyph_extents() virtual function.
The other possibility would be to to make it public in something
like it&apos;s current form, and also expose glyph information
caching functionality similar to pango_ft2_font_set_glyph_info().

</description>
<parameters>
<parameter name="fcfont">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
<parameter name="load_flags">
<parameter_description> flags to pass to FT_Load_Glyph()
</parameter_description>
</parameter>
<parameter name="glyph">
<parameter_description> the glyph index to load
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> location to store ink extents of the glyph, or %NULL
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> location to store logical extents of the glyph or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ot_info_find_script">
<description>
Finds the index of a script.

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to obtain information about.
</parameter_description>
</parameter>
<parameter name="script_tag">
<parameter_description> the tag of the script to find.
</parameter_description>
</parameter>
<parameter name="script_index">
<parameter_description> location to store the index of the script, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the script was found.
</return>
</function>

<function name="pango_font_metrics_get_underline_thickness">
<description>
Gets the suggested thickness to draw for the underline.


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the suggested underline thickness, in Pango units.

Since: 1.6
</return>
</function>

<function name="pango_layout_set_markup_with_accel">
<description>
Sets the layout text and attribute list from marked-up text (see
&amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;). Replaces
the current text and attribute list.

If @accel_marker is nonzero, the given character will mark the
character following it as an accelerator. For example, the accel
marker might be an ampersand or underscore. All characters marked
as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
and the first character so marked will be returned in @accel_char.
Two @accel_marker characters following each other produce a single
literal @accel_marker character.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> some marked-up text 
(see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;)
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @markup in bytes
</parameter_description>
</parameter>
<parameter name="accel_marker">
<parameter_description> marker for accelerators in the text
</parameter_description>
</parameter>
<parameter name="accel_char">
<parameter_description> return location for any located accelerators
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_cairo_context_get_hinting">
<description>
Gets whether hinting is enabled for this context. See
pango_cairo_context_set_hinting()


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if hinting is enabled.
</return>
</function>

<function name="_pango_fc_font_get_decoder">
<description>
This will return any custom decoder set on this font.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
</parameters>
<return> The custom decoder

Since: 1.6
</return>
</function>

<function name="pango_cairo_font_map_new">
<description>
Creates a new #PangoCairoFontMap object; a fontmap is used
to cache information about available fonts, and holds
certain global parameters such as the resolution.
In most cases, you can use pango_cairo_font_map_get_default()
instead.

Note that the type of the returned object will depend
on the particular font backend Cairo was compiled to use;
You generally should only use the #PangoFontMap and
#PangoCairoFontMap interfaces on the returned object.


</description>
<parameters>
</parameters>
<return> the newly created fontmap object. Free
with g_object_unref().

Since: 1.10
</return>
</function>

<function name="pango_xft_font_get_display">
<description>
Returns the X display of the XftFont of a font.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
</parameters>
<return> the X display of the XftFont associated to @font.
</return>
</function>

<function name="pango_ft2_font_get_kerning">
<description>
Retrieves kerning information for a combination of two glyphs.

Use pango_fc_font_kern_glyphs() instead.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="left">
<parameter_description> the left #PangoGlyph
</parameter_description>
</parameter>
<parameter name="right">
<parameter_description> the right #PangoGlyph
</parameter_description>
</parameter>
</parameters>
<return> The amount of kerning (in Pango units) to apply for 
the given combination of glyphs.
</return>
</function>

<function name="pango_font_description_new">
<description>
Creates a new font description structure with all fields unset.


</description>
<parameters>
</parameters>
<return> the newly-created #PangoFontDescription. Use
pango_font_description_free() to free the result.
</return>
</function>

<function name="pango_ft2_render_layout_line_subpixel">
<description>
Render a #PangoLayoutLine onto a FreeType2 bitmap, with he
location specified in fixed-point pango units rather than
pixels. (Using this will avoid extra inaccuracies from
rounding to integer pixels multiple times, even if the
final glyph positions are integers.)

Since: 1.6

</description>
<parameters>
<parameter name="bitmap">
<parameter_description>    a FT_Bitmap to render the line onto
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description>      a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the x position of start of string (in pango units)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the y position of baseline (in pango units)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_find_map">
<description>
Locate a #PangoMap for a particular engine type and render
type. The resulting map can be used to determine the engine
for each character.


</description>
<parameters>
<parameter name="language">
<parameter_description> the language tag for which to find the map
</parameter_description>
</parameter>
<parameter name="engine_type_id">
<parameter_description> the engine type for the map to find
</parameter_description>
</parameter>
<parameter name="render_type_id">
<parameter_description> the render type for the map to find
</parameter_description>
</parameter>
</parameters>
<return> 
</return>
</function>

<function name="pango_coverage_get">
<description>
Determine whether a particular index is covered by @coverage


</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index to check
</parameter_description>
</parameter>
</parameters>
<return> 
</return>
</function>

<function name="pango_find_base_dir">
<description>
Searches a string the first character that has a strong 
direction, according to the Unicode bidirectional algorithm.


</description>
<parameters>
<parameter name="text">
<parameter_description>   the text to process
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @text in bytes (may be -1 if @text is nul-terminated)
</parameter_description>
</parameter>
</parameters>
<return> The direction corresponding to the first strong character.
If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned.
</return>
</function>

<function name="pango_attr_iterator_copy">
<description>
Copy a #PangoAttrIterator


</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator.
</parameter_description>
</parameter>
</parameters>
<return> Copy of @iterator
</return>
</function>

<function name="pango_context_get_matrix">
<description>
Gets the transformation matrix that will be applied when
rendering with this context. See pango_context_set_matrix().


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
</parameters>
<return> the matrix, or %NULL if no matrix has been set
(which is the same as the identity matrix). The returned
matrix is owned by Pango and must not be modified or
freed.

Since: 1.6
</return>
</function>

<function name="pango_x_render_layout">
<description>
Renders a #PangoLayoutLine onto an X drawable.

</description>
<parameters>
<parameter name="display">
<parameter_description>   the X display.
</parameter_description>
</parameter>
<parameter name="drawable">
<parameter_description>  the drawable on which to draw.
</parameter_description>
</parameter>
<parameter name="gc">
<parameter_description>        GC to use for uncolored drawing.
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description>    a #PangoLayout.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the x position of the left of the layout (in pixels).
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the y position of the top of the layout (in pixels).
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_string_extents">
<description>
Compute the logical and ink extents of a glyph string. See the documentation
for pango_font_get_glyph_extents() for details about the interpretation
of the rectangles.

</description>
<parameters>
<parameter name="glyphs">
<parameter_description>   a #PangoGlyphString
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>     a #PangoFont
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle used to store the extents of the glyph string as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the glyph string
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_load_fontset">
<description>
Load a set of fonts in the context that can be used to render
a font matching @desc.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> a #PangoFontDescription describing the fonts to load
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> a #PangoLanguage the fonts will be used for
</parameter_description>
</parameter>
</parameters>
<return>the fontset, or %NULL if no font matched.
</return>
</function>

<function name="pango_layout_get_alignment">
<description>
Sets the alignment for the layout (how partial lines are
positioned within the horizontal space available.)


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the alignment value
</return>
</function>

<function name="pango_font_family_is_monospace">
<description>
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.
g_unichar_iswide() returns a result that indicates whether a
character is typically double-width in a monospace font.

The best way to find out the grid-cell size is to call
pango_font_metrics_get_approximate_digit_width(), since the results
of pango_font_metrics_get_approximate_char_width() may be affected
by double-width characters.  


</description>
<parameters>
<parameter name="family">
<parameter_description> a #PangoFontFamily
</parameter_description>
</parameter>
</parameters>
<return> TRUE if the family is monospace.
</return>
</function>

<function name="pango_attr_type_register">
<description>
Allocate a new attribute type ID.


</description>
<parameters>
<parameter name="name">
<parameter_description> an identifier for the type. (Currently unused.)
</parameter_description>
</parameter>
</parameters>
<return> the new type ID.
</return>
</function>

<function name="pango_layout_iter_get_run">
<description>
Gets the current run. When iterating by run, at the end of each
line, there&apos;s a position with a %NULL run, so this function can return
%NULL. The %NULL run at the end of each line ensures that all lines have
at least one run, even lines consisting of only a newline.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> the current run
</return>
</function>

<function name="pango_x_context_set_funcs">
<description>
Sets the functions that will be used to get GC&apos;s in various colors when
rendering layouts with this context.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext.
</parameter_description>
</parameter>
<parameter name="get_gc_func">
<parameter_description> function called to create a new GC for a given color.
</parameter_description>
</parameter>
<parameter name="free_gc_func">
<parameter_description> function called to free a GC created with @get_gc_func.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_line_index_to_x">
<description>
Converts an index within a line to a X position.


</description>
<parameters>
<parameter name="line">
<parameter_description>     a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description>   byte offset of a grapheme within the layout
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description> an integer indicating the edge of the grapheme to retrieve 
the position of. If 0, the trailing edge of the grapheme, 
if &amp;gt; 0, the leading of the grapheme.
</parameter_description>
</parameter>
<parameter name="x_pos">
<parameter_description> location to store the x_offset (in #PangoGlyphUnit)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_draw_layout_line">
<description>
Draws @line with the specified #PangoRenderer.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x position of left edge of baseline, in user space coordinates
in Pango units.
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> x position of left edge of baseline, in user space coordinates
in Pango units.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_font_map_cache_clear">
<description>
Clear all cached information and fontsets for this font map;
this should be called whenever there is a change in the
output of the default_substitute() virtual function.

This function is intended to be used only by backend implementations
deriving from #PangoFcFontmap.

Since: 1.4

</description>
<parameters>
<parameter name="fcfontmap">
<parameter_description> a #PangoFcFontmap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_skip_space">
<description>
Skips 0 or more characters of white space.


</description>
<parameters>
<parameter name="pos">
<parameter_description> in/out string position
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if skipping the white space leaves
the position at a &apos;\0&apos; character.
</return>
</function>

<function name="pango_font_description_merge">
<description>
Merges the fields that are set in @desc_to_merge into the fields in
@desc.  If @replace_existing is %FALSE, only fields in @desc that
are not already set are affected. If %TRUE, then fields that are
already set will be replaced as well.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="desc_to_merge">
<parameter_description> the #PangoFontDescription to merge from
</parameter_description>
</parameter>
<parameter name="replace_existing">
<parameter_description> if %TRUE, replace fields in @desc with the
corresponding values from @desc_to_merge, even if they
are already exist.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_language_includes_script">
<description>
Determines if @script is one of the scripts used to
write @language. The returned value is conservative;
if nothing is known about the language tag @language,
%TRUE will be returned, since, as far as Pango knows,
@script might be used to write @language.

This routine is used in Pango&apos;s itemization process when
determining if a supplied language tag is relevant to
a particular section of text. It probably is not useful for
applications in most circumstances.


</description>
<parameters>
<parameter name="language">
<parameter_description> a PangoLanguage
</parameter_description>
</parameter>
<parameter name="script">
<parameter_description> a #PangoScript
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @script is one of the scripts used
to write @language, or if nothing is known about @language.

Since: 1.4
</return>
</function>

<function name="pango_font_family_get_name">
<description>
Gets the name of the family. The name is unique among all
fonts for the font backend and can be used in a #PangoFontDescription
to specify that a face from this family is desired.


</description>
<parameters>
<parameter name="family">
<parameter_description> a #PangoFontFamily
</parameter_description>
</parameter>
</parameters>
<return> the name of the family. This string is owned
by the family object and must not be modified or freed.
</return>
</function>

<function name="pango_language_matches">
<description>
Checks if a language tag matches one of the elements in a list of
language ranges. A language tag is considered to match a range
in the list if the range is &apos;*&apos;, the range is exactly the tag,
or the range is a prefix of the tag, and the character after the
tag is &apos;-&apos;.


</description>
<parameters>
<parameter name="language">
<parameter_description> a language tag (see pango_language_from_string()),
%NULL is allowed and matches nothing but &apos;*&apos;
</parameter_description>
</parameter>
<parameter name="range_list">
<parameter_description> a list of language ranges, separated by &apos;;&apos; characters.
each element must either be &apos;*&apos;, or a RFC 3066 language range
canonicalized as by pango_language_from_string().
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if a match was found.
</return>
</function>

<function name="_pango_xft_font_map_get_renderer">
<description>
Gets the singleton PangoXFTRenderer for this fontmap.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoXftFontmap
</parameter_description>
</parameter>
</parameters>
<return> 
</return>
</function>

<function name="pango_font_map_load_font">
<description>
Load the font in the fontmap that is the closest match for @desc.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFontMap
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #PangoContext the font will be used with
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> a #PangoFontDescription describing the font to load
</parameter_description>
</parameter>
</parameters>
<return>the font loaded, or %NULL if no font matched.
</return>
</function>

<function name="pango_font_description_to_filename">
<description>
Creates a filename representation of a font description. The
filename is identical to the result from calling
pango_font_description_to_string(), but with underscores instead of
characters that are untypical in filenames, and in lower case only.


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> a new string that must be freed with g_free().
</return>
</function>

<function name="pango_attr_list_filter">
<description>
Given a #PangoAttrList and callback function, removes any elements
of @list for which @func returns %TRUE and inserts them into
a new list.


</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> callback function; returns %TRUE if an atttribute
should be filtered out.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> Data to be passed to @func
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated #PangoAttrList or %NULL if
no attributes of the given types were found.
</return>
</function>

<function name="pango_layout_get_ellipsize">
<description>
Gets the type of ellipsization being performed for @layout.
See pango_layout_set_ellipsize()


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the current ellipsization mode for @layout

Since: 1.6
</return>
</function>

<function name="pango_layout_iter_get_layout_extents">
<description>
Obtains the extents of the #PangoLayout being iterated
over. @ink_rect or @logical_rect can be NULL if you
aren&apos;t interested in them.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle to fill with ink extents
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle to fill with logical extents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_get_cursor_pos">
<description>
Given an index within a layout, determines the positions that of the
strong and weak cursors if the insertion point is at that
index. The position of each cursor is stored as a zero-width
rectangle. The strong cursor location is the location where
characters of the directionality equal to the base direction of the
layout are inserted.  The weak cursor location is the location
where characters of the directionality opposite to the base
direction of the layout are inserted.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the byte index of the cursor
</parameter_description>
</parameter>
<parameter name="strong_pos">
<parameter_description> location to store the strong cursor position (may be %NULL)
</parameter_description>
</parameter>
<parameter name="weak_pos">
<parameter_description> location to store the weak cursor position (may be %NULL)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_font_get_unknown_glyph">
<description>
Returns the index of a glyph suitable for drawing @wc as an
unknown character.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> the Unicode character for which a glyph is needed.
</parameter_description>
</parameter>
</parameters>
<return> a glyph index into @font.

Since: 1.4
</return>
</function>

<function name="pango_item_free">
<description>
Free a #PangoItem and all associated memory.

</description>
<parameters>
<parameter name="item">
<parameter_description> a #PangoItem
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_hash">
<description>
Computes a hash of a #PangoFontDescription structure suitable
to be used, for example, as an argument to g_hash_table_new().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> the hash value.
</return>
</function>

<function name="pango_layout_get_attributes">
<description>
Gets the attribute list for the layout, if any.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> a #PangoAttrList
</return>
</function>

<function name="pango_layout_iter_at_last_line">
<description>
Determines whether @iter is on the last line of the layout.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @iter is on the last line
</return>
</function>

<function name="pango_coverage_from_bytes">
<description>
Convert data generated from pango_converage_to_bytes() back
to a #PangoCoverage


</description>
<parameters>
<parameter name="bytes">
<parameter_description> binary data representing a #PangoCoverage
</parameter_description>
</parameter>
<parameter name="n_bytes">
<parameter_description> the size of @bytes in bytes
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated #PangoCoverage, or NULL if
the data was invalid.
</return>
</function>

<function name="pango_get_log_attrs">
<description>
Computes a #PangoLogAttr for each character in @text. The @log_attrs
array must have one #PangoLogAttr for each position in @text; if
@text contains N characters, it has N+1 positions, including the
last position at the end of the text. @text should be an entire
paragraph; logical attributes can&apos;t be computed without context
(for example you need to see spaces on either side of a word to know the
word is a word).

</description>
<parameters>
<parameter name="text">
<parameter_description> text to process
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length in bytes of @text
</parameter_description>
</parameter>
<parameter name="level">
<parameter_description> embedding level, or -1 if unknown
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> language tag
</parameter_description>
</parameter>
<parameter name="log_attrs">
<parameter_description> array with one #PangoLogAttr per character in @text, plus one extra, to be filled in
</parameter_description>
</parameter>
<parameter name="attrs_len">
<parameter_description> length of @log_attrs array
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_draw_rectangle">
<description>
Draws an axis-aligned rectangle in user space coordinates with the
specified #PangoRenderer.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="part">
<parameter_description> type of object this rectangle is part of
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x position at which to draw rectangle, in user space coordinates in Pango units
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> y position at which to draw rectangle, in user space coordinates in Pango units
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> width of rectangle in PangoUnits in user space coordinates
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> height of rectangle in PangoUnits in user space coordinates
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_font_map_for_display">
<description>
Returns a #PangoFT2FontMap. This font map is cached and should
not be freed. If the font map is no longer needed, it can
be released with pango_ft2_shutdown_display(). Use of the 
global PangoFT2 fontmap is deprecated; use pango_ft2_font_map_new()
instead.


</description>
<parameters>
</parameters>
<return> a #PangoFT2FontMap.
</return>
</function>

<function name="pango_fc_font_description_from_pattern">
<description>
Creates a #PangoFontDescription that matches the specified
Fontconfig pattern as closely as possible. Many possible Fontconfig
pattern values, such as %FC_RASTERIZER or %FC_DPI, don&apos;t make sense in
the context of #PangoFontDescription, so will be ignored.


</description>
<parameters>
<parameter name="pattern">
<parameter_description> a #FcPattern
</parameter_description>
</parameter>
<parameter name="include_size">
<parameter_description> if %TRUE, the pattern will include the size from
the @pattern; otherwise the resulting pattern will be unsized.
(only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoFontDescription. Free with
pango_font_description_free().

Since: 1.4
</return>
</function>

<function name="pango_font_metrics_get_descent">
<description>
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.)


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the descent, in pango units. (1 point == #PANGO_SCALE pango units.)
</return>
</function>

<function name="pango_layout_get_lines">
<description>
Returns the lines of the @layout as a list.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> a #GSList containing the lines in the layout. This
points to internal data of the #PangoLayout and must be used with
care. It will become invalid on any change to the layout&apos;s
text or properties.
</return>
</function>

<function name="pango_layout_set_ellipsize">
<description>
Sets the type of ellipsization being performed for @layout.
Depending on the ellipsization mode @ellipsize text is
removed from the start, middle, or end of lines so they
fit within the width of layout set with pango_layout_set_width ().

If the layout contains characters such as newlines that
force it to be layed out in multiple lines, then each line
is ellipsized separately.

Since: 1.6

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="ellipsize">
<parameter_description> the new ellipsization mode for @layout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_xft_shutdown_display">
<description>
Release any resources that have been cached for the
combination of @display and @screen. Note that when the
X display is closed, resources are released automatically,
without needing to call this function.

Since: 1.2

</description>
<parameters>
<parameter name="display">
<parameter_description> an X display
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> the screen number of a screen within @display
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_ft2_font_map_get_renderer">
<description>
Gets the singleton PangoFT2Renderer for this fontmap.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFT2Fontmap
</parameter_description>
</parameter>
</parameters>
<return> 
</return>
</function>

<function name="pango_glyph_string_get_logical_widths">
<description>
Given a #PangoGlyphString resulting from pango_shape() and the corresponding
text, determine the screen width corresponding to each character. When
multiple characters compose a single cluster, the width of the entire
cluster is divided equally among the characters.

</description>
<parameters>
<parameter name="glyphs">
<parameter_description> a #PangoGlyphString
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> the text corresponding to the glyphs
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> the length of @text, in bytes
</parameter_description>
</parameter>
<parameter name="embedding_level">
<parameter_description> the embedding level of the string
</parameter_description>
</parameter>
<parameter name="logical_widths">
<parameter_description> an array whose length is g_utf8_strlen (text, length)
to be filled in with the resulting character widths.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_shutdown_display">
<description>
Free cached resources for the given X display structure.

</description>
<parameters>
<parameter name="display">
<parameter_description> an X #Display
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_iter_get_index">
<description>
Gets the current byte index. Note that iterating forward by char
moves in visual order, not logical order, so indexes may not be
sequential. Also, the index may be equal to the length of the text
in the layout, if on the %NULL run (see pango_layout_iter_get_run()).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> current byte index
</return>
</function>

<function name="pango_ot_info_list_scripts">
<description>
Obtains the list of available scripts. 

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to obtain information about.
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated array containing the tags of the
available scripts.
</return>
</function>

<function name="pango_script_iter_free">
<description>
Frees a #PangoScriptIter created with pango_script_iter_new().

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoScriptIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_line_get_pixel_extents">
<description>
Computes the logical and ink extents of a layout line. See the documentation
for pango_font_get_glyph_extents() for details about the interpretation
of the rectangles. The returned rectangles are in device units, as
opposed to pango_layout_line_get_extents(), which returns the extents in
#PangoGlyphUnit.

</description>
<parameters>
<parameter name="layout_line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description>    rectangle used to store the extents of the glyph string as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the glyph string
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_draw_glyph">
<description>
Draws a single glyph with coordinates in device space.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="glyph">
<parameter_description> the glyph index of a single glyph
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> X coordinate of left edge of baseline of glyph
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> Y coordinate of left edge of baseline of glyph
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_iterator_get_attrs">
<description>
Gets a list of all attributes at the current position of the
iterator.


</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator
</parameter_description>
</parameter>
</parameters>
<return> a list of all attributes for the current range.
To free this value, call pango_attribute_destroy() on
each value and g_slist_free() on the list.
</return>
</function>

<function name="pango_ft2_font_map_set_default_substitute">
<description>
Sets a function that will be called to do final configuration
substitution on a #FcPattern before it is used to load
the font. This function can be used to do things like set
hinting and antialiasing options.

Since: 1.2

</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFT2FontMap
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> function to call to to do final config tweaking
on #FcPattern objects.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to @func
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> function to call when @data is no longer used.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_cairo_layout_line_path">
<description>
Adds the text in #PangoLayoutLine to the current path in the
specified cairo context.  The origin of the glyphs (the left edge
of the line) will be at the current point of the cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_font_cache_load">
<description>
Loads a #XFontStruct from a X Logical Font Description. The
result may be newly loaded, or it may have been previously
stored.


</description>
<parameters>
<parameter name="cache">
<parameter_description> a #PangoXFontCache
</parameter_description>
</parameter>
<parameter name="xlfd">
<parameter_description> the X Logical Font Description to load.
</parameter_description>
</parameter>
</parameters>
<return> The font structure, or %NULL if the font could
not be loaded. In order to free this structure, you must call
pango_x_font_cache_unload().
</return>
</function>

<function name="pango_scan_int">
<description>
Scans an integer. An integer consists
of up to 31 decimal digits. 
Leading white space is skipped.


</description>
<parameters>
<parameter name="pos">
<parameter_description> in/out string position
</parameter_description>
</parameter>
<parameter name="out">
<parameter_description> an int into which to write the result
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if a parse error occured.
</return>
</function>

<function name="pango_x_get_unknown_glyph">
<description>
Returns the index of a glyph suitable for drawing unknown characters;
you should generally use pango_x_font_get_unknown_glyph_instead,
since that may return a glyph that provides a better representation
of a particular char. (E.g., by showing hex digits, or a glyph
representive of a certain Unicode range.)


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
</parameters>
<return> a glyph index into @font.
</return>
</function>

<function name="pango_ot_info_get">
<description>

</description>
<parameters>
<parameter name="face">
<parameter_description> a #FT_Face.
</parameter_description>
</parameter>
</parameters>
<return> the #PangoOTInfo for @face. This object will
have the same lifetime as FT_Face.
the #PangoOTInfo structure for the given FreeType font.

Since: 1.2
</return>
</function>

<function name="pango_font_metrics_get_ascent">
<description>
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.)


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the ascent, in pango units. (1 point == #PANGO_SCALE pango units.)
</return>
</function>

<function name="pango_coverage_to_bytes">
<description>
Convert a PangoCoverage structure into a flat binary format

</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
<parameter name="bytes">
<parameter_description> location to store result (must be freed with g_free())
</parameter_description>
</parameter>
<parameter name="n_bytes">
<parameter_description> location to store size of result
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_string_index_to_x">
<description>
Converts from character position to x position. (X position
is measured from the left edge of the run). Character positions
are computed by dividing up each cluster into equal portions.

</description>
<parameters>
<parameter name="glyphs">
<parameter_description>    the glyphs return from pango_shape()
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description>      the text for the run
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description>    the number of bytes (not characters) in @text.
</parameter_description>
</parameter>
<parameter name="analysis">
<parameter_description>  the analysis information return from pango_itemize()
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description>    the byte index within @text
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description>  whether we should compute the result for the beginning
or end of the character.
</parameter_description>
</parameter>
<parameter name="x_pos">
<parameter_description>     location to store result
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_get_context">
<description>
Retrieves a #PangoContext appropriate for rendering with X fonts on the
given display.


</description>
<parameters>
<parameter name="display">
<parameter_description> an X display (As returned by XOpenDisplay().)
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoContext.
</return>
</function>

<function name="pango_item_split">
<description>
Modifies @orig to cover only the text after @split_index, and
returns a new item that covers the text before @split_index that
used to be in @orig. You can think of @split_index as the length of
the returned item. @split_index may not be 0, and it may not be
greater than or equal to the length of @orig (that is, there must
be at least one byte assigned to each item, you can&apos;t create a
zero-length item). @split_offset is the length of the first item in
chars, and must be provided because the text used to generate the
item isn&apos;t available, so pango_item_split() can&apos;t count the char
length of the split items itself.


</description>
<parameters>
<parameter name="orig">
<parameter_description> a #PangoItem
</parameter_description>
</parameter>
<parameter name="split_index">
<parameter_description> byte index of position to split item, relative to the start of the item
</parameter_description>
</parameter>
<parameter name="split_offset">
<parameter_description> number of chars between start of @orig and @split_index
</parameter_description>
</parameter>
</parameters>
<return> new item representing text before @split_index
</return>
</function>

<function name="pango_font_description_get_size_is_absolute">
<description>
Determines whether the size of the font is in points or device units.
See pango_font_description_set_size() and pango_font_description_set_absolute_size().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> whether the the size for the font description is in
points or device units.  Use pango_font_description_get_set_fields() to
find out if the size field of the font description was explicitely set or not.

Since: 1.8
</return>
</function>

<function name="pango_font_metrics_get_strikethrough_position">
<description>
Gets the suggested position to draw the strikethrough.
The value returned is the distance &amp;lt;emphasis&amp;gt;above&amp;lt;/emphasis&amp;gt; the
baseline of the top of the strikethrough.


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the suggested strikethrough position, in Pango units.

Since: 1.6
</return>
</function>

<function name="pango_break">
<description>
Determines possible line, word, and character breaks
for a string of Unicode text.

</description>
<parameters>
<parameter name="text">
<parameter_description>      the text to process
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description>    length of @text in bytes (may be -1 if @text is nul-terminated)
</parameter_description>
</parameter>
<parameter name="analysis">
<parameter_description>  #PangoAnalysis structure from pango_itemize()
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description>     an array to store character information in
</parameter_description>
</parameter>
<parameter name="attrs_len">
<parameter_description> size of the array passed as @attrs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_shutdown_display">
<description>
Free the global fontmap. (See pango_ft2_font_map_for_display())
Use of the global PangoFT2 fontmap is deprecated.

</description>
<parameters>
</parameters>
<return></return>
</function>

<function name="pango_x_render_layout_line">
<description>
Renders a #PangoLayoutLine onto an X drawable.

</description>
<parameters>
<parameter name="display">
<parameter_description>   the X display.
</parameter_description>
</parameter>
<parameter name="drawable">
<parameter_description>  the drawable on which to draw.
</parameter_description>
</parameter>
<parameter name="gc">
<parameter_description>        GC to use for uncolored drawing.
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description>      a #PangoLayoutLine.
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the x position of start of string (in pixels).
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the y position of baseline (in pixels).
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_coverage_set">
<description>
Modify a particular index within @coverage

</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> the index to modify
</parameter_description>
</parameter>
<parameter name="level">
<parameter_description> the new level for @index_
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_font_lock_face">
<description>
Gets the FreeType FT_Face associated with a font,
This face will be kept around until you call
pango_fc_font_unlock_face().


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont.
</parameter_description>
</parameter>
</parameters>
<return> the FreeType FT_Face associated with @font.

Since: 1.4
</return>
</function>

<function name="pango_attr_iterator_range">
<description>
Get the range of the current segment.

</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> location to store the start of the range
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> location to store the end of the range
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_attributes">
<description>
Sets the text attributes for a layout object.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_cairo_font_map_get_renderer">
<description>
Gets the singleton PangoCairoRenderer for this fontmap.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoCairoFontmap
</parameter_description>
</parameter>
</parameters>
<return> the singleton renderer
</return>
</function>

<function name="pango_font_metrics_get_approximate_digit_width">
<description>
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 and narrower than this, though this value
is generally somewhat more accurate than the result of
pango_font_metrics_get_approximate_digit_width().


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the digit width, in pango units. (1 point == #PANGO_SCALE pango units.)
</return>
</function>

<function name="pango_ft2_render_layout_subpixel">
<description>
Render a #PangoLayout onto a FreeType2 bitmap, with he
location specified in fixed-point pango units rather than
pixels. (Using this will avoid extra inaccuracies from
rounding to integer pixels multiple times, even if the
final glyph positions are integers.)

Since: 1.6

</description>
<parameters>
<parameter name="bitmap">
<parameter_description>    a FT_Bitmap to render the layout onto
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description>    a #PangoLayout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the X position of the left of the layout (in Pango units)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the Y position of the top of the layout (in Pango units)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_xft_get_context">
<description>
Retrieves a #PangoContext appropriate for rendering with
Xft fonts on the given screen of the given display. 


</description>
<parameters>
<parameter name="display">
<parameter_description> an X display.
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> an X screen.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoContext. 
</return>
</function>

<function name="pango_script_iter_next">
<description>
Advances a #PangoScriptIter to the next range. If the iter
is already at the end, it is left unchanged and %FALSE
is returned.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoScriptIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iter was succesfully advanced.
</return>
</function>

<function name="pango_attr_iterator_get_font">
<description>
Get the font and other attributes at the current iterator position.

</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> a #PangoFontDescription to fill in with the current values.
The family name in this structure will be set using
pango_font_description_set_family_static using values from
an attribute in the #PangoAttrList associated with the iterator,
so if you plan to keep it around, you must call:
&amp;lt;literal&amp;gt;pango_font_description_set_family (desc, pango_font_description_get_family (desc))&amp;lt;/literal&amp;gt;.
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> if non-%NULL, location to store language tag for item, or %NULL
if none is found.
</parameter_description>
</parameter>
<parameter name="extra_attrs">
<parameter_description> if non-%NULL, location in which to store a list of non-font
attributes at the the current position; only the highest priority
value of each attribute will be added to this list. In order
to free this value, you must call pango_attribute_destroy() on
each member.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_string_set_size">
<description>
Resize a glyph string to the given length.

</description>
<parameters>
<parameter name="string">
<parameter_description>    a PangoGlyphString.
</parameter_description>
</parameter>
<parameter name="new_len">
<parameter_description>   the new length of the string.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_parse_markup">
<description>

Parses marked-up text (see
&amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;) to create
a plaintext string and an attribute list.

If @accel_marker is nonzero, the given character will mark the
character following it as an accelerator. For example, the accel
marker might be an ampersand or underscore. All characters marked
as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
and the first character so marked will be returned in @accel_char.
Two @accel_marker characters following each other produce a single
literal @accel_marker character.


</description>
<parameters>
<parameter name="markup_text">
<parameter_description> markup to parse (see &amp;lt;link linkend=&quot;PangoMarkupFormat&quot;&amp;gt;markup format&amp;lt;/link&amp;gt;)
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of @markup_text, or -1 if nul-terminated
</parameter_description>
</parameter>
<parameter name="accel_marker">
<parameter_description> character that precedes an accelerator, or 0 for none
</parameter_description>
</parameter>
<parameter name="attr_list">
<parameter_description> address of return location for a #PangoAttrList, or NULL
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> address of return location for text with tags stripped, or NULL
</parameter_description>
</parameter>
<parameter name="accel_char">
<parameter_description> address of return location for accelerator char, or NULL
</parameter_description>
</parameter>
<parameter name="error">
<parameter_description> address of return location for errors, or NULL
</parameter_description>
</parameter>
</parameters>
<return> FALSE if @error is set, otherwise TRUE
</return>
</function>

<function name="pango_renderer_part_changed">
<description>
Informs Pango that the way that the renderering is done
for @part has changed in a way that would prevent multiple
pieces being joined together into one drawing call. For
instance, if a subclass of #PangoRenderer was to add a stipple
option for drawing underlines, it needs to call

&amp;lt;informalexample&amp;gt;&amp;lt;programlisting&amp;gt;
pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
&amp;lt;/programlisting&amp;gt;&amp;lt;/informalexample&amp;gt;

When the stipple changes or underlines with different stipples
might be joined together. Pango automatically calls this for
changes to colors. (See pango_renderer_set_color())

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="part">
<parameter_description> the part for which rendering has changed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_set_font_description">
<description>
Set the default font description for the context

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> the new pango font description
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_stretch_new">
<description>
Create a new font stretch attribute


</description>
<parameters>
<parameter name="stretch">
<parameter_description> the stretch
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_layout_iter_next_cluster">
<description>
Moves @iter forward to the next cluster in visual order. If @iter
was already at the end of the layout, returns %FALSE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> whether motion was possible
</return>
</function>

<function name="pango_get_sysconf_subdirectory">
<description>
On Unix, returns the name of the &quot;pango&quot; subdirectory of SYSCONFDIR
(which is set at compile time). On Win32, returns a subdirectory of
the Pango installation directory (which is deduced at run time from
the DLL&apos;s location, or stored in the Registry).


</description>
<parameters>
</parameters>
<return> the Pango sysconf directory. The returned string should
not be freed. 
</return>
</function>

<function name="pango_font_face_get_face_name">
<description>
Gets a name representing the style of this face among the
different faces in the #PangoFontFamily for the face. This
name is unique among all faces in the family and is suitable
for displaying to users.


</description>
<parameters>
<parameter name="face">
<parameter_description> a #PangoFontFace.
</parameter_description>
</parameter>
</parameters>
<return> the face name for the face. This string is
owned by the face object and must not be modified or freed.
</return>
</function>

<function name="pango_x_font_cache_new">
<description>
Creates a font cache for the specified display.


</description>
<parameters>
<parameter name="display">
<parameter_description> an X display.
</parameter_description>
</parameter>
</parameters>
<return> The new font cache. This must be freed with
pango_x_font_cache_free().
</return>
</function>

<function name="pango_script_for_unichar">
<description>
Looks up the #PangoScript for a particular character (as defined by
Unicode Technical report #24). No check is made for @ch being
valid unicode character; if you pass in invalid character, the
result is undefined.


</description>
<parameters>
<parameter name="ch">
<parameter_description> a unicode characters
</parameter_description>
</parameter>
</parameters>
<return> the #PangoScript for the character.
</return>
</function>

<function name="pango_glyph_string_x_to_index">
<description>
Convert from x offset to character position. Character positions
are computed by dividing up each cluster into equal portions.
In scripts where positioning within a cluster is not allowed
(such as Thai), the returned value may not be a valid cursor
position; the caller must combine the result with the logical
attributes for the text to compute the valid cursor position.

</description>
<parameters>
<parameter name="glyphs">
<parameter_description>    the glyphs return from pango_shape()
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description>      the text for the run
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description>    the number of bytes (not characters) in text.
</parameter_description>
</parameter>
<parameter name="analysis">
<parameter_description>  the analysis information return from pango_itemize()
</parameter_description>
</parameter>
<parameter name="x_pos">
<parameter_description>     the x offset (in #PangoGlyphUnit)
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description>    location to store calculated byte index within @text
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description>  location to store a integer indicating where
whether the user clicked on the leading or trailing
edge of the character.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_render_layout">
<description>
Render a #PangoLayoutLine onto an X drawable

</description>
<parameters>
<parameter name="hdc">
<parameter_description>       HDC to use for uncolored drawing
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description>    a #PangoLayout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the X position of the left of the layout (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the Y position of the top of the layout (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_unset_fields">
<description>
Unsets some of the fields in a #PangoFontDescription. Note that
this merely marks the fields cleared, it does not clear the
settings for those fields, to clear a family name set with
pango_font_description_set_family_static() so that it won&apos;t
be returned by subsequent calls to pango_font_description_get_family(),
you must actually call pango_font_description_set_family (desc, NULL);

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="to_unset">
<parameter_description> bitmask of fields in the @desc to unset.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_wrap">
<description>
Sets the wrap mode; the wrap mode only has an effect if a width
is set on the layout with pango_layout_set_width(). To turn off wrapping,
set the width to -1.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="wrap">
<parameter_description> the wrap mode
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_font_map_set_resolution">
<description>
Sets the horizontal and vertical resolutions for the fontmap.

</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFT2Fontmap 
</parameter_description>
</parameter>
<parameter name="dpi_x">
<parameter_description> dots per inch in the X direction
</parameter_description>
</parameter>
<parameter name="dpi_y">
<parameter_description> dots per inch in the Y direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_fc_font_map_fc_to_coverage">
<description>
Convert the given #FcCharSet into a new #PangoCoverage object.  The
caller is responsible for freeing the newly created object.

Since: 1.6

</description>
<parameters>
<parameter name="charset">
<parameter_description> #FcCharSet to convert to a #PangoCoverage object.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_get_font_map">
<description>
Gets the #PangoFontmap used to look up fonts for this context.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
</parameters>
<return> the font map for the #PangoContext. This value
is owned by Pango and should not be unreferenced.

Since: 1.6
</return>
</function>

<function name="pango_fc_font_get_glyph">
<description>
Gets the glyph index for a given unicode codepoint
for @font. If you only want to determine
whether the font has the glyph, use pango_fc_font_has_char().


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> Unicode codepoint to look up
</parameter_description>
</parameter>
</parameters>
<return> the glyph index, or 0, if the unicode
codepoint doesn&apos;t exist in the font.

Since: 1.4
</return>
</function>

<function name="pango_font_map_get_shape_engine_type">
<description>
Returns the render ID for shape engines for this fontmap.
See the &amp;lt;structfield&amp;gt;render_type&amp;lt;/structfield&amp;gt; field of
#PangoEngineInfo.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFontmap
</parameter_description>
</parameter>
</parameters>
<return> the ID string for shape engines for
this fontmap. Owned by Pango, should not be modified
or freed.

Since: 1.4
</return>
</function>

<function name="pango_fontset_simple_size">
<description>
Returns the number of fonts in the fontset. 


</description>
<parameters>
<parameter name="fontset">
<parameter_description> a #PangoFontsetSimple.
</parameter_description>
</parameter>
</parameters>
<return> the size of @fontset.
</return>
</function>

<function name="pango_split_file_list">
<description>
Splits a G_SEARCHPATH_SEPARATOR-separated list of files, stripping
white space and subsituting ~/ with $HOME/.


</description>
<parameters>
<parameter name="str">
<parameter_description> a G_SEARCHPATH_SEPARATOR separated list of filenames
</parameter_description>
</parameter>
</parameters>
<return> a list of strings to be freed with g_strfreev()
</return>
</function>

<function name="pango_context_get_base_dir">
<description>
Retrieves the base direction for the context. See
pango_context_set_base_dir().


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
</parameters>
<return> the base direction for the context.
</return>
</function>

<function name="pango_xft_font_has_char">
<description>
Determines whether @font has a glyph for the codepoint @wc.

Use pango_fc_font_has_char() instead.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont for the Xft backend
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> Unicode codepoint to look up
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @font has the requested codepoint.

Since: 1.2
</return>
</function>

<function name="pango_context_get_font_description">
<description>
Retrieve the default font description for the context.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
</parameters>
<return> a pointer to the context&apos;s default font description.
This value must not be modified or freed.
</return>
</function>

<function name="pango_script_iter_get_range">
<description>
Gets information about the range to which @iter currently points.
The range is the set of locations p where *start &amp;lt;= p &amp;lt; *end.
(That is, it doesn&apos;t include the character stored at *end)

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoScriptIter
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description> location to store start position of the range, or %NULL
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description> location to store end position of the range, or %NULL
</parameter_description>
</parameter>
<parameter name="script">
<parameter_description> location to store script for range, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ot_info_find_language">
<description>
Finds the index of a language and its required feature index.  

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to obtain information about.
</parameter_description>
</parameter>
<parameter name="script_index">
<parameter_description> the index of the script whose languages are searched.
</parameter_description>
</parameter>
<parameter name="language_tag">
<parameter_description> the tag of the language to find.
</parameter_description>
</parameter>
<parameter name="language_index">
<parameter_description> location to store the index of the language, or %NULL.
</parameter_description>
</parameter>
<parameter name="required_feature_index">
<parameter_description> location to store the required feature index of 
the language, or %NULL.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the language was found.
</return>
</function>

<function name="pango_cairo_show_glyph_string">
<description>
Draws the glyphs in @glyphs in the specified cairo context.
The origin of the glyphs (the left edge of the baseline) will
be drawn at the current point of the cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description> a #PangoGlyphString
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_font_get_coverage">
<description>
Gets the #PangoCoverage for a #PangoFT2Font. Use pango_font_get_coverage() instead.

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFT2Font.
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> a language tag.
</parameter_description>
</parameter>
</parameters>
<return> a #PangoCoverage.
</return>
</function>

<function name="pango_win32_font_cache_unload">
<description>
Frees a font structure previously loaded with pango_win32_font_cache_load().

</description>
<parameters>
<parameter name="cache">
<parameter_description> a #PangoWin32FontCache
</parameter_description>
</parameter>
<parameter name="hfont">
<parameter_description> the HFONT to unload
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_copy">
<description>
Does a deep copy-by-value of the @src layout. The attribute list,
tab array, and text from the original layout are all copied by
value.


</description>
<parameters>
<parameter name="src">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoLayout identical to @src
</return>
</function>

<function name="pango_layout_set_markup">
<description>
Same as pango_layout_set_markup_with_accel(), but
the markup text isn&apos;t scanned for accelerators.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="markup">
<parameter_description> marked-up text
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description> length of marked-up text in bytes, or -1
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_set_base_dir">
<description>
Sets the base direction for the context.

The base direction is used in applying the Unicode bidirectional
algorithm; if the @direction is %PANGO_DIRECTION_LTR or
%PANGO_DIRECTION_RTL, then the value will be used as the paragraph
direction in the Unicode bidirectional algorithm.  A value of
%PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
for paragraphs that do not contain any strong characters themselves. 

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="direction">
<parameter_description> the new base direction
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_tab_array_new_with_positions">
<description>
This is a convenience function that creates a #PangoTabArray
and allows you to specify the alignment and position of each
tab stop. You &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; provide an alignment
and position for @size tab stops.


</description>
<parameters>
<parameter name="size">
<parameter_description> number of tab stops in the array
</parameter_description>
</parameter>
<parameter name="positions_in_pixels">
<parameter_description> whether positions are in pixel units
</parameter_description>
</parameter>
<parameter name="first_alignment">
<parameter_description> alignment of first tab stop
</parameter_description>
</parameter>
<parameter name="first_position">
<parameter_description> position of first tab stop
</parameter_description>
</parameter>
<parameter name="varargs">
<parameter_description> additional alignment/position pairs
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoTabArray
</return>
</function>

<function name="pango_ft2_render_transformed">
<description>
Renders a #PangoGlyphString onto a FreeType2 bitmap, possibly
transforming the layed-out coordinates through a transformation
matrix. Note that the transformation matrix for @font is not
changed, so to produce correct rendering results, the @font
must have been loaded using a #PangoContext with an identical
transformation matrix to that passed in to this function.

Since: 1.6

</description>
<parameters>
<parameter name="bitmap">
<parameter_description>  the FreeType2 bitmap onto which to draw the string
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>    the font in which to draw the string
</parameter_description>
</parameter>
<parameter name="matrix">
<parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>  the glyph string to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>       the x position of the start of the string (in Pango
units in user space coordinates)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>       the y position of the baseline (in Pango units
in user space coordinates)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_script_get_sample_language">
<description>
Given a script, finds a language tag that is reasonably
representative of that script. This will usually be the
most widely spoken or used language written in that script:
for instance, the sample language for %PANGO_SCRIPT_CYRILLIC
is &amp;lt;literal&amp;gt;ru&amp;lt;/literal&amp;gt; (Russian), the sample lanugage
for %PANGO_SCRIPT_ARABIC is &amp;lt;literal&amp;gt;ar&amp;lt;/literal&amp;gt;.

For some
scripts, no sample language will be returned because there
is no language that is sufficiently representative. The best
example of this is %PANGO_SCRIPT_HAN, where various different
variants of written Chinese, Japanese, and Korean all use
significantly different sets of Han characters and forms
of shared characters. No sample language can be provided
for many historical scripts as well.


</description>
<parameters>
<parameter name="script">
<parameter_description> a #PangoScript
</parameter_description>
</parameter>
</parameters>
<return> a #PangoLanguage that is representative
of the script, or %NULL if no such language exists.

Since: 1.4
</return>
</function>

<function name="pango_fc_font_map_create_context">
<description>
Creates a new context for this fontmap. This function is intended
only for backend implementations deriving from #PangoFcFontmap;
it is possible that a backend will store additional information
needed for correct operation on the #PangoContext after calling
this function.


</description>
<parameters>
<parameter name="fcfontmap">
<parameter_description> a #PangoFcFontMap
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoContext 

Since: 1.4
</return>
</function>

<function name="pango_xft_renderer_new">
<description>
Create a new #PangoXftRenderer to allow rendering Pango objects
with the Xft library. You must call pango_xft_renderer_set_draw() before
using the renderer.


</description>
<parameters>
<parameter name="display">
<parameter_description> an X display
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description>   the index of the screen for @display to which rendering will be done
</parameter_description>
</parameter>
</parameters>
<return> the newly created #PangoXftRenderer object. Unref
with g_object_unref() when you are finished with it.

Since: 1.8
</return>
</function>

<function name="pango_tab_array_get_tabs">
<description>
If non-NULL, @alignments and @locations are filled with allocated
arrays of length pango_tab_array_get_size(). You must free the
returned array.


</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
<parameter name="alignments">
<parameter_description> location to store an array of tab stop alignments
</parameter_description>
</parameter>
<parameter name="locations">
<parameter_description> location to store an array of tab positions
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_string_extents_range">
<description>
Computes the extents of a sub-portion of a glyph string. The extents are
relative to the start of the glyph string range (the origin of their
coordinate system is at the start of the range, not at the start of the entire
glyph string).

</description>
<parameters>
<parameter name="glyphs">
<parameter_description>   a #PangoGlyphString
</parameter_description>
</parameter>
<parameter name="start">
<parameter_description>    start index
</parameter_description>
</parameter>
<parameter name="end">
<parameter_description>      end index (the range is the set of bytes with
              indices such that start &amp;lt;= index &amp;lt; end)
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>     a #PangoFont
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle used to store the extents of the glyph string range as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the glyph string range
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_iter_free">
<description>
Frees an iterator that&apos;s no longer in use.

</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_item_split">
<description>
Modifies @orig to cover only the text after @split_index, and
returns a new item that covers the text before @split_index that
used to be in @orig. You can think of @split_index as the length of
the returned item. @split_index may not be 0, and it may not be
greater than or equal to the length of @orig (that is, there must
be at least one byte assigned to each item, you can&apos;t create a
zero-length item).

This function is similar in function to pango_item_split() (and uses
it internally)


</description>
<parameters>
<parameter name="orig">
<parameter_description> a #PangoItem
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text to which positions in @orig apply.
</parameter_description>
</parameter>
<parameter name="split_index">
<parameter_description> byte index of position to split item, relative to the start of the item
</parameter_description>
</parameter>
</parameters>
<return> new item representing text before @split_index

Since: 1.2
</return>
</function>

<function name="pango_font_get_metrics">
<description>
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.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> language tag used to determine which script to get the metrics
for, or %NULL to indicate to get the metrics for the entire
font.
</parameter_description>
</parameter>
</parameters>
<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
when finished using the object.
</return>
</function>

<function name="pango_tab_array_set_tab">
<description>
Sets the alignment and location of a tab stop.
@alignment must always be #PANGO_TAB_LEFT in the current
implementation.


</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
<parameter name="tab_index">
<parameter_description> the index of a tab stop
</parameter_description>
</parameter>
<parameter name="alignment">
<parameter_description> tab alignment
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> tab location in pango units
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_index_to_pos">
<description>
Converts from an index within a #PangoLayout to the onscreen position
corresponding to the grapheme at that index, which is represented
as rectangle.  Note that &amp;lt;literal&amp;gt;pos-&amp;gt;x&amp;lt;/literal&amp;gt; is always the leading 
edge of the grapheme and &amp;lt;literal&amp;gt;pos-&amp;gt;x + pos-&amp;gt;width&amp;lt;/literal&amp;gt; the trailing 
edge of the grapheme. If the directionality of the grapheme is right-to-left,
then &amp;lt;literal&amp;gt;pos-&amp;gt;width&amp;lt;/literal&amp;gt; will be negative.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description> byte index within @layout
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> rectangle in which to store the position of the grapheme
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fontset_foreach">
<description>
Iterates through all the fonts in a fontset, calling @func for
each one. If @func returns %TRUE, that stops the iteration.

Since: 1.4

</description>
<parameters>
<parameter name="fontset">
<parameter_description> a #PangoFontset
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> Callback function
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to the callback function
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_index_to_line_x">
<description>
Converts from byte @index_ within the @layout to line and X position.
(X position is measured from the left edge of the line)

</description>
<parameters>
<parameter name="layout">
<parameter_description>    a #PangoLayout
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description>    the byte index of a grapheme within the layout.
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description>  an integer indicating the edge of the grapheme to retrieve the 
position of. If 0, the trailing edge of the grapheme, if &amp;gt; 0, 
the leading of the grapheme.
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description>      location to store resulting line index. (which will
between 0 and pango_layout_get_line_count(layout) - 1)
</parameter_description>
</parameter>
<parameter name="x_pos">
<parameter_description>     location to store resulting position within line
(in thousandths of a device unit)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_size_new_absolute">
<description>
Create a new font-size attribute in device units.


</description>
<parameters>
<parameter name="size">
<parameter_description> the font size, in #PANGO_SCALE&amp;lt;!-- --&amp;gt;ths of a device unit.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.

Since: 1.8
</return>
</function>

<function name="pango_win32_font_cache_free">
<description>
Frees a #PangoWin32FontCache and all associated memory. All fonts loaded
through this font cache will be freed along with the cache.

</description>
<parameters>
<parameter name="cache">
<parameter_description> a #PangoWin32FontCache
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_copy">
<description>
Make a copy of a #PangoFontDescription.


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #PangoFontDescription. This value
must be freed using pango_font_description_free().
</return>
</function>

<function name="pango_cairo_font_map_create_context">
<description>
Create a #PangoContext for the given fontmap.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoCairoFontMap
</parameter_description>
</parameter>
</parameters>
<return> the newly created context; free with g_object_unref().

Since: 1.10
</return>
</function>

<function name="pango_layout_get_indent">
<description>
Gets the paragraph indent width in pango units. A negative value
indicates a hanging indent.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the indent
</return>
</function>

<function name="pango_fc_decoder_get_glyph">
<description>
Generates a #PangoGlyph for the given unicode point using the
custom decoder. For complex scripts where there can be multiple
glyphs for a single character, the decoder will return whatever
glyph is most convenient for it. (Usually whatever glyph is directly
in the fonts character map table.)


</description>
<parameters>
<parameter name="decoder">
<parameter_description> a #PangoFcDecoder
</parameter_description>
</parameter>
<parameter name="fcfont">
<parameter_description> a #PangoFcFont to query.
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> the unicode code point to convert to a single #PangoGlyph.
</parameter_description>
</parameter>
</parameters>
<return> the glyph index, or 0 if the glyph isn&apos;t covered
by the font.

Since: 1.6
</return>
</function>

<function name="pango_read_line">
<description>
Reads an entire line from a file into a buffer. Lines may
be delimited with &apos;\n&apos;, &apos;\r&apos;, &apos;\n\r&apos;, or &apos;\r\n&apos;. The delimiter
is not written into the buffer. Text after a &apos;#&apos; character is treated as
a comment and skipped. &apos;\&apos; can be used to escape a # character.
&apos;\&apos; proceeding a line delimiter combines adjacent lines. A &apos;\&apos; proceeding
any other character is ignored and written into the output buffer
unmodified.


</description>
<parameters>
<parameter name="stream">
<parameter_description> a stdio stream
</parameter_description>
</parameter>
<parameter name="str">
<parameter_description> #GString buffer into which to write the result
</parameter_description>
</parameter>
</parameters>
<return> 0 if the stream was already at an %EOF character, otherwise
the number of lines read (this is useful for maintaining
a line number counter which doesn&apos;t combine lines with &apos;\&apos;) 
</return>
</function>

<function name="pango_font_description_from_string">
<description>
Creates a new font description from a string representation in the
form &quot;[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]&quot;, 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, or stretch, and SIZE
is an decimal number (size in points). 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 %NULL.  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.


</description>
<parameters>
<parameter name="str">
<parameter_description> string representation of a font description.
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoFontDescription. 
</return>
</function>

<function name="pango_renderer_draw_layout">
<description>
Draws @layout with the specified #PangoRenderer.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x position of left edge of baseline, in user space coordinates
in Pango units.
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> x position of left edge of baseline, in user space coordinates
in Pango units.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_activate">
<description>
Does initial setup before rendering operations on @renderer.
pango_renderer_deactivate() should be called when done drawing.
Calls such as pango_renderer_draw_layout() automatically
activate the layout before drawing on it. Calls to
pango_renderer_activate() and pango_renderer_deactivate() can
be nested and the renderer will only be initialized and
deinitialized once.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_find_shaper">
<description>
Finds the best matching shaper for a font for a particular
language tag and character point.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> the language tag
</parameter_description>
</parameter>
<parameter name="ch">
<parameter_description> the ISO-10646 character code.
</parameter_description>
</parameter>
</parameters>
<return> the best matching shaper.
</return>
</function>

<function name="pango_win32_font_map_get_font_cache">
<description>
Obtains the font cache associated with the given font map.


</description>
<parameters>
<parameter name="font_map">
<parameter_description> a #PangoWin32FontMap.
</parameter_description>
</parameter>
</parameters>
<return> the #PangoWin32FontCache of @font_map.
</return>
</function>

<function name="pango_font_map_load_fontset">
<description>
Load a set of fonts in the fontmap that can be used to render
a font matching @desc.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFontMap
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> the #PangoContext the font will be used with
</parameter_description>
</parameter>
<parameter name="desc">
<parameter_description> a #PangoFontDescription describing the font to load
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> a #PangoLanguage the fonts will be used for
</parameter_description>
</parameter>
</parameters>
<return>the fontset, or %NULL if no font matched.
</return>
</function>

<function name="pango_tab_array_get_size">
<description>
Gets the number of tab stops in @tab_array.


</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return> the number of tab stops in the array.
</return>
</function>

<function name="pango_tab_array_get_positions_in_pixels">
<description>
Returns TRUE if the tab positions are in pixels, FALSE if they are
in Pango units.


</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return> whether positions are in pixels
</return>
</function>

<function name="pango_cairo_create_layout">
<description>
Creates a layout object set up to match the current transformation
and target surface of the Cairo context.  This layout can then be
used for text measurement with functions like
pango_layout_get_size() or drawing with functions like
pango_cairo_show_layout(). If you change the transformation
or target surface for @cr, you need to call pango_cairo_update_layout()

This function is the most convenient way to use Cairo with Pango,
however it is slightly inefficient since it creates a separate
#PangoContext object for each layout. This might matter in an
application that was laying out large amounts of text.


</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
</parameters>
<return> the newly created #PangoLayout. Free with
g_object_unref().

Since: 1.10
</return>
</function>

<function name="pango_cairo_font_map_get_resolution">
<description>
Gets the resolutions for the fontmap. See pango_cairo_font_map_set_resolution.


</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoCairoFontMap 
</parameter_description>
</parameter>
</parameters>
<return> the resolution in &quot;dots per inch&quot;

Since: 1.10
</return>
</function>

<function name="pango_xft_render">
<description>
Renders a #PangoGlyphString onto an &amp;lt;type&amp;gt;XftDraw&amp;lt;/type&amp;gt; object wrapping an X drawable.

</description>
<parameters>
<parameter name="draw">
<parameter_description>    the &amp;lt;type&amp;gt;XftDraw&amp;lt;/type&amp;gt; object.
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description>   the color in which to draw the string
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>    the font in which to draw the string
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>  the glyph string to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>       the x position of start of string (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>       the y position of baseline (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_coverage_ref">
<description>
Increase the reference count on the #PangoCoverage by one


</description>
<parameters>
<parameter name="coverage">
<parameter_description> a #PangoCoverage
</parameter_description>
</parameter>
</parameters>
<return> @coverage
</return>
</function>

<function name="pango_xft_font_get_glyph">
<description>
Gets the glyph index for a given unicode codepoint
for @font. If you only want to determine
whether the font has the glyph, use pango_xft_font_has_char().

Use pango_fc_font_get_glyph() instead.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont for the Xft backend
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> Unicode codepoint to look up
</parameter_description>
</parameter>
</parameters>
<return> the glyph index, or 0, if the unicode
codepoint doesn&apos;t exist in the font.

Since: 1.2
</return>
</function>

<function name="pango_attr_iterator_next">
<description>
Advance the iterator until the next change of style.


</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if the iterator is at the end of the list, otherwise %TRUE
</return>
</function>

<function name="pango_color_copy">
<description>
Creates a copy of @src, which should be freed with
pango_color_free(). Primarily used by language bindings,
not that useful otherwise (since colors can just be copied
by assignment in C).


</description>
<parameters>
<parameter name="src">
<parameter_description> color to copy
</parameter_description>
</parameter>
</parameters>
<return> an allocated #PangoColor
</return>
</function>

<function name="pango_attribute_copy">
<description>
Make a copy of an attribute.


</description>
<parameters>
<parameter name="attr">
<parameter_description> a #PangoAttribute.
</parameter_description>
</parameter>
</parameters>
<return> a newly allocated #PangoAttribute.
</return>
</function>

<function name="pango_win32_font_select_font">
<description>
Selects the font into the specified DC and changes the mapping mode
and world transformation of the DC appropriately for the font.
You may want to surround the use of this function with calls
to SaveDC and RestoreDC. Call pango_win32_font_done_font() when
you are done using the DC to release allocated resources.

See 


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont from the Win32 backend
</parameter_description>
</parameter>
<parameter name="scale">
<parameter_description> location to store a scale factor from Windows
units to Pango Units.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the operation succeeded.
</return>
</function>

<function name="pango_fontset_get_font">
<description>
Returns the font in the fontset that contains the best glyph for the
unicode character wc.


</description>
<parameters>
<parameter name="fontset">
<parameter_description> a #PangoFontset
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> a unicode character
</parameter_description>
</parameter>
</parameters>
<return> a #PangoFont. The caller must call g_object_unref when finished
with the font.
</return>
</function>

<function name="pango_fc_font_map_add_decoder_find_func">
<description>
This function saves a callback method in the #PangoFcFontMap that
will be called whenever new fonts are created.  If the
function returns a #PangoFcDecoder, that decoder will be used to
determine both coverage via a #FcCharSet and a one-to-one mapping of
characters to glyphs.  This will allow applications to have
application-specific encodings for various fonts.

Since: 1.6.

</description>
<parameters>
<parameter name="fcfontmap">
<parameter_description> The #PangoFcFontMap to add this method to.
</parameter_description>
</parameter>
<parameter name="findfunc">
<parameter_description> The #PangoFcDecoderFindFunc callback function
</parameter_description>
</parameter>
<parameter name="user_data">
<parameter_description> User data.
</parameter_description>
</parameter>
<parameter name="dnotify">
<parameter_description> A #GDestroyNotify callback that will be called when the
fontmap is finalized and the decoder is released.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_equal">
<description>
Compares two font descriptions for equality.


</description>
<parameters>
<parameter name="desc1">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="desc2">
<parameter_description> another #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the two font descriptions are proveably
identical. (Two font descriptions may result in
identical fonts being loaded, but still compare
%FALSE.)
</return>
</function>

<function name="pango_context_set_language">
<description>
Sets the global language tag for the context.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="language">
<parameter_description> the new language tag.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ot_ruleset_add_feature">
<description>
Adds a feature to the ruleset. See pango_ot_ruleset_shape()
for an explanation of @property_bit.

</description>
<parameters>
<parameter name="ruleset">
<parameter_description> a #PangoOTRuleset.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to add a feature to.
</parameter_description>
</parameter>
<parameter name="feature_index">
<parameter_description> the index of the feature to add.
</parameter_description>
</parameter>
<parameter name="property_bit">
<parameter_description> the property bit to use for this feature. 
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_set_matrix">
<description>
Sets the transformation matrix that will be applied when rendering
with this context. Note that reported metrics are in the user space
coordinates before the application of the matrix, not device-space
coordiantes after the application of the matrix. So, they don&apos;t scale
with the matrix, though they may change slightly for different
matrices, depending on how the text is fit to the pixel grid.

Since: 1.6

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="matrix">
<parameter_description> a #PangoMatrix, or %NULL to unset any existing matrix.
(No matrix set is the same as setting the identity matrix.)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_apply_ligatures">
<description>
Previously did subfont-specific ligation. Now a no-op.


</description>
<parameters>
<parameter name="font">
<parameter_description> unused
</parameter_description>
</parameter>
<parameter name="subfont">
<parameter_description> unused
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description> unused
</parameter_description>
</parameter>
<parameter name="n_glyphs">
<parameter_description> unused
</parameter_description>
</parameter>
<parameter name="clusters">
<parameter_description> unused
</parameter_description>
</parameter>
</parameters>
<return> %FALSE, always.
</return>
</function>

<function name="pango_coverage_new">
<description>
Create a new #PangoCoverage


</description>
<parameters>
</parameters>
<return> a new PangoCoverage object, initialized to %PANGO_COVERAGE_NONE
with a reference count of 0.
</return>
</function>

<function name="_pango_fc_font_set_decoder">
<description>
This sets a custom decoder for this font.  Any previous decoder
will be released before this one is set.

Since: 1.6

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
<parameter name="decoder">
<parameter_description> a #PangoFcDecoder to set for this font
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_cairo_font_map_get_default">
<description>
Gets a default font map to use with Cairo. 


</description>
<parameters>
</parameters>
<return> the default Cairo fontmap for Pango. This
object is owned by Pango and must not be freed.

Since: 1.10
</return>
</function>

<function name="pango_attr_list_insert_before">
<description>
Insert the given attribute into the #PangoAttrList. It will
be inserted before all other attributes with a matching
@start_index.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
<parameter name="attr">
<parameter_description> the attribute to insert. Ownership of this value is
assumed by the list.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_get_language">
<description>
Retrieves the global language tag for the context.


</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
</parameters>
<return> the global language tag.
</return>
</function>

<function name="pango_parse_stretch">
<description>
Parses a font stretch. The allowed values are 
&quot;ultra_condensed&quot;, &quot;extra_condensed&quot;, &quot;condensed&quot;, 
&quot;semi_condensed&quot;, &quot;normal&quot;, &quot;semi_expanded&quot;, &quot;expanded&quot;, 
&quot;extra_expanded&quot; and &quot;ultra_expanded&quot;. Case variations are 
ignored and the &apos;_&apos; characters may be omitted.


</description>
<parameters>
<parameter name="str">
<parameter_description> a string to parse.
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #PangoStretch to store the result in.
</parameter_description>
</parameter>
<parameter name="warn">
<parameter_description> if %TRUE, issue a g_warning() on bad input.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @str was successfully parsed.
</return>
</function>

<function name="pango_layout_get_width">
<description>
Gets the width to which the lines of the #PangoLayout should be wrapped.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the width
</return>
</function>

<function name="pango_language_from_string">
<description>
Take a RFC-3066 format language tag as a string and convert it to a
#PangoLanguage pointer that can be efficiently copied (copy the
pointer) and compared with other language tags (compare the
pointer.)

This function first canonicalizes the string by converting it to
lowercase, mapping &apos;_&apos; to &apos;-&apos;, and stripping all characters other
than letters and &apos;-&apos;.


</description>
<parameters>
<parameter name="language">
<parameter_description> a string representing a language tag
</parameter_description>
</parameter>
</parameters>
<return> an opaque pointer to a #PangoLanguage structure.
this will be valid forever after.
</return>
</function>

<function name="pango_map_get_engines">
<description>
Finds engines in the map that handle the given script. The returned
lists should be fred with g_slist_free, but the engines in the
lists are owned by GLib and will be kept around permanently, so
they should not be unref&apos;ed.

Since: 1.4

</description>
<parameters>
<parameter name="map">
<parameter_description> a #PangoMap
</parameter_description>
</parameter>
<parameter name="script">
<parameter_description> a #PangoScript
</parameter_description>
</parameter>
<parameter name="exact_engines">
<parameter_description> location to store list of engines that exactly
handle this script.
</parameter_description>
</parameter>
<parameter name="fallback_engines">
<parameter_description> location to store list of engines that approximately
handle this script.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_metrics_get_approximate_char_width">
<description>
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.


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the character width, in pango units. (1 point == #PANGO_SCALE pango units.)
</return>
</function>

<function name="pango_font_description_set_family">
<description>
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 #PangoFontFamily. In some uses of
#PangoFontDescription, it is also possible to use a comma
separated list of family names for this field.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription.
</parameter_description>
</parameter>
<parameter name="family">
<parameter_description> a string representing the family name.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_font_map_new">
<description>
Create a new #PangoFT2FontMap object; a fontmap is used
to cache information about available fonts, and holds
certain global parameters such as the resolution and
the default substitute function (see
pango_ft2_font_map_set_default_substitute()).


</description>
<parameters>
</parameters>
<return> the newly created fontmap object. Unref
with g_object_unref() when you are finished with it.

Since: 1.2
</return>
</function>

<function name="pango_xft_substitute_changed">
<description>
Call this function any time the results of the
default substitution function set with
pango_xft_set_default_substitute() change.
That is, if your subsitution function will return different
results for the same input pattern, you must call this function.

Since: 1.2

</description>
<parameters>
<parameter name="display">
<parameter_description> an X Display
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> the screen number of a screen within @display
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_lookup_aliases">
<description>
Look up all user defined aliases for the alias #fontname.
The resulting font family names will be stored in #families,
and the number of families will be returned.


</description>
<parameters>
<parameter name="fontname">
<parameter_description> an ascii string
</parameter_description>
</parameter>
<parameter name="families">
<parameter_description> will be set to an array of font family names.
this array is owned by pango and should not be freed.
</parameter_description>
</parameter>
</parameters>
<return> the number of font famillies stored in the #families argument.
This value is owned by Pango and must not be freed.
</return>
</function>

<function name="pango_font_descriptions_free">
<description>
Frees a list of font descriptions from pango_font_map_list_fonts()

</description>
<parameters>
<parameter name="descs">
<parameter_description> a pointer to an array of #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="n_descs">
<parameter_description> number of font descriptions in @descs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_reorder_items">
<description>
From a list of items in logical order and the associated
directional levels, produce a list in visual order.
The original list is unmodified.


</description>
<parameters>
<parameter name="logical_items">
<parameter_description>  a GList of #PangoItem in logical order.
</parameter_description>
</parameter>
</parameters>
<return>a GList of PangoItem structures in visual order.

(Please mail otaylor@redhat.com if you use this function.
It is not a particularly convenient interface, and the code
is duplicated elsewhere in Pango for that reason.)

</return>
</function>

<function name="pango_win32_get_debug_flag">
<description>
Returns wether debugging is turned on.


</description>
<parameters>
</parameters>
<return> %TRUE if debugging is turned on.

Since: 1.2
</return>
</function>

<function name="pango_attr_list_ref">
<description>
Increase the reference count of the given attribute list by one.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_list_insert">
<description>
Insert the given attribute into the #PangoAttrList. It will
be inserted after all other attributes with a matching
@start_index.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
<parameter name="attr">
<parameter_description> the attribute to insert. Ownership of this value is
assumed by the list.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ft2_get_context">
<description>
Retrieves a #PangoContext for the default PangoFT2 fontmap
(see pango_ft2_fontmap_get_for_display()) and sets the resolution
for the default fontmap to @dpi_x by @dpi_y.

Use of this function is deprecated; see pango_ft2_fontmap_create_context()
instead.


</description>
<parameters>
<parameter name="dpi_x">
<parameter_description>  the horizontal dpi of the target device
</parameter_description>
</parameter>
<parameter name="dpi_y">
<parameter_description>  the vertical dpi of the target device
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoContext
</return>
</function>

<function name="pango_cairo_context_set_hinting">
<description>
Sets whether outlines and font metrics should be hinted for this
context. Hinting is the process of adjusting outlines so that they
render better when drawn onto a pixel grid. When hinting is
enabled, font metrics such as character widths and font ascent and
descent are quantized to integer pixel values.

If layouts have been previously created for this context, it is
necessary to call pango_layout_context_changed() in order to update
the layouts.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
</parameter_description>
</parameter>
<parameter name="hinting">
<parameter_description> %TRUE if hinting should be enabled.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_font_get_metrics_factor">
<description>
Returns the scale factor from logical units in the coordinate
space used by pango_win32_font_select_font() to Pango units
in user space.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont from the win32 backend
</parameter_description>
</parameter>
</parameters>
<return> factor to multiply logical units by to get Pango
units.
</return>
</function>

<function name="pango_xft_font_lock_face">
<description>
Gets the FreeType FT_Face associated with a font,
This face will be kept around until you call
pango_xft_font_unlock_face().

Use pango_fc_font_lock_face() instead.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
</parameters>
<return> the FreeType FT_Face associated with @font.

Since: 1.2
</return>
</function>

<function name="pango_x_load_font">
<description>
Loads up a logical font based on a &quot;fontset&quot; style text
specification. This is not remotely useful (Pango API&apos;s generally
work in terms of PangoFontDescription) and the result may not
work correctly in all circumstances. Use of this function should
be avoided.


</description>
<parameters>
<parameter name="display">
<parameter_description> the X display.
</parameter_description>
</parameter>
<parameter name="spec">
<parameter_description>    a comma-separated list of XLFD&apos;s.
</parameter_description>
</parameter>
</parameters>
<return>a new #PangoFont.
</return>
</function>

<function name="pango_layout_iter_next_line">
<description>
Moves @iter forward to the start of the next line. If @iter is
already on the last line, returns %FALSE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> whether motion was possible
</return>
</function>

<function name="pango_xft_render_transformed">
<description>
Renders a #PangoGlyphString onto a #XftDraw, possibly
transforming the layed-out coordinates through a transformation
matrix. Note that the transformation matrix for @font is not
changed, so to produce correct rendering results, the @font
must have been loaded using a #PangoContext with an identical
transformation matrix to that passed in to this function.

Since: 1.8

</description>
<parameters>
<parameter name="draw">
<parameter_description>    an #XftDraw
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description>   the color in which to draw the glyphs
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>    the font in which to draw the string
</parameter_description>
</parameter>
<parameter name="matrix">
<parameter_description> a #PangoMatrix, or %NULL to use an identity transformation
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>  the glyph string to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>       the x position of the start of the string (in Pango
units in user space coordinates)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>       the y position of the baseline (in Pango units
in user space coordinates)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_iter_get_cluster_extents">
<description>
Gets the extents of the current cluster, in layout coordinates
(origin is the top left of the entire layout).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle to fill with ink extents
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle to fill with logical extents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_list_subfonts">
<description>
Lists the subfonts of a given font. The result is ordered first by charset,
and then within each charset, by the order of fonts in the font specification.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
<parameter name="charsets">
<parameter_description> the charsets to list subfonts for.
</parameter_description>
</parameter>
<parameter name="n_charsets">
<parameter_description> the number of charsets in @charsets.
</parameter_description>
</parameter>
<parameter name="subfont_ids">
<parameter_description> location to store a pointer to an array of subfont IDs for each found subfont;
the result must be freed using g_free().
</parameter_description>
</parameter>
<parameter name="subfont_charsets">
<parameter_description> location to store a pointer to an array of subfont IDs for each found subfont;
the result must be freed using g_free().
</parameter_description>
</parameter>
</parameters>
<return> length of the arrays stored in @subfont_ids and 
@subfont_charsets.
</return>
</function>

<function name="pango_attr_list_copy">
<description>
Copy @list and return an identical, new list.


</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return> new attribute list
</return>
</function>

<function name="pango_context_list_families">
<description>
List all families for a context.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="families">
<parameter_description> location to store a pointer to an array of PangoFontFamily *.
This array should be freed with g_free().
</parameter_description>
</parameter>
<parameter name="n_families">
<parameter_description> location to store the number of elements in @descs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_matrix_concat">
<description>
Changes the transformation represented by @matrix to be the
transformation given by first applying transformation
given by @new_matrix then applying the original transformation.

Since: 1.6

</description>
<parameters>
<parameter name="matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
<parameter name="new_matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_font_kern_glyphs">
<description>
Adjust each adjacent pair of glyphs in @glyphs according to
kerning information in @font.

Since: 1.4

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description> a #PangoGlyphString
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_line_get_extents">
<description>
Computes the logical and ink extents of a layout line. See the documentation
for pango_font_get_glyph_extents() for details about the interpretation
of the rectangles.

</description>
<parameters>
<parameter name="line">
<parameter_description>     a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle used to store the extents of the glyph string as drawn
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle used to store the logical extents of the glyph string
or %NULL to indicate that the result is not needed.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_font_get_unknown_glyph">
<description>
Returns the index of a glyph suitable for drawing @wc as an
unknown character.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
<parameter name="wc">
<parameter_description> the Unicode character for which a glyph is needed.
</parameter_description>
</parameter>
</parameters>
<return> a glyph index into @font.
</return>
</function>

<function name="pango_fc_font_unlock_face">
<description>
Releases a font previously obtained with
pango_fc_font_lock_face().

Since: 1.4

</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFcFont.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_tab_array_get_tab">
<description>
Gets the alignment and position of a tab stop.
@alignment or @location may be NULL if you aren&apos;t
interested in their value.


</description>
<parameters>
<parameter name="tab_array">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
<parameter name="tab_index">
<parameter_description> tab stop index
</parameter_description>
</parameter>
<parameter name="alignment">
<parameter_description> location to store alignment
</parameter_description>
</parameter>
<parameter name="location">
<parameter_description> location to store tab position
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_matrix_rotate">
<description>
Changes the transformation represented by @matrix to be the
transformation given by first rotating by @degrees degrees
counter-clokwise then applying the original transformation.

Since: 1.6

</description>
<parameters>
<parameter name="matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
<parameter name="degrees">
<parameter_description> degrees to rotate counter-clockwise
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_trim_string">
<description>
Trims leading and trailing whitespace from a string.


</description>
<parameters>
<parameter name="str">
<parameter_description> a string
</parameter_description>
</parameter>
</parameters>
<return> A newly-allocated string that must be freed with g_free()
</return>
</function>

<function name="pango_layout_set_alignment">
<description>
Sets the alignment for the layout (how partial lines are
positioned within the horizontal space available.)

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="alignment">
<parameter_description> the new alignment
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_get_family">
<description>
Gets the family name field of a font description. See
pango_font_description_set_family().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription.
</parameter_description>
</parameter>
</parameters>
<return> The family name field. (Will be %NULL if not previously set.)
</return>
</function>

<function name="pango_font_description_free">
<description>
Frees a font description.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_fc_font_map_shutdown">
<description>
Clears all cached information for the fontmap and marks
all fonts open for the fontmap as dead. (See the shutdown()
virtual function of PangoFcFont.) This function might be used
by a backend when the underlying windowing system for the font
map exits. This function is only intended to be called from
only for backend implementations deriving from #PangoFcFontmap.

Since: 1.4

</description>
<parameters>
<parameter name="fcfontmap">
<parameter_description> a #PangoFcFontmap
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_itemize">
<description>
Breaks a piece of text into segments with consistent
directional level and shaping engine. Each byte of @text will
be contained in exactly one of the items in the returned list;
the generated list of items will be in logical order (the start
offsets of the items are ascending).

@cached_iter should be an iterator over @attrs currently positioned at a
range before or containing @start_index; @cached_iter will be advanced to
the range covering the position just after @start_index + @length.
(i.e. if itemizing in a loop, just keep passing in the same @cached_iter).


</description>
<parameters>
<parameter name="context">
<parameter_description>   a structure holding information that affects
               the itemization process.
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description>      the text to itemize.
</parameter_description>
</parameter>
<parameter name="start_index">
<parameter_description> first byte in @text to process
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description>    the number of bytes (not characters) to process
after @start_index.
This must be &amp;gt;= 0.
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description>     the set of attributes that apply to @text.
</parameter_description>
</parameter>
<parameter name="cached_iter">
<parameter_description>      Cached attribute iterator, or NULL
</parameter_description>
</parameter>
</parameters>
<return> a GList of PangoItem structures.
</return>
</function>

<function name="pango_x_font_subfont_xlfd">
<description>
Determines the X Logical Font Description for the specified
subfont.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont which must be from the X backend.
</parameter_description>
</parameter>
<parameter name="subfont_id">
<parameter_description> the id of a subfont within the font.
</parameter_description>
</parameter>
</parameters>
<return> A newly-allocated string containing the XLFD for the
subfont. This string must be freed with g_free().
</return>
</function>

<function name="pango_attr_list_splice">
<description>
This function splices attribute list @other into @list.
This operation is equivalent to stretching every attribute
that applies at position @pos in @list by an amount @len,
and then calling pango_attr_list_change() with a copy
of each attribute in @other in sequence (offset in position by @pos).

This operation proves useful for, for instance, inserting
a preedit string in the middle of an edit buffer.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
<parameter name="other">
<parameter_description> another #PangoAttrList
</parameter_description>
</parameter>
<parameter name="pos">
<parameter_description> the position in @list at which to insert @other
</parameter_description>
</parameter>
<parameter name="len">
<parameter_description> the length of the spliced segment. (Note that this
must be specified since the attributes in @other
may only be present at some subsection of this range)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_get_matrix">
<description>
Gets the transformation matrix that will be applied when
rendering. See pango_renderer_set_matrix().


</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
</parameters>
<return> the matrix, or %NULL if no matrix has been set
(which is the same as the identity matrix). The returned
matrix is owned by Pango and must not be modified or
freed.

Since: 1.8
</return>
</function>

<function name="pango_fontset_simple_new">
<description>
Creates a new #PangoFontsetSimple for the given language.


</description>
<parameters>
<parameter name="language">
<parameter_description> a #PangoLanguage tag
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #PangoFontsetSimple.
</return>
</function>

<function name="pango_win32_font_logfont">
<description>
Determine the LOGFONT struct for the specified bfont.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont which must be from the Win32 backend
</parameter_description>
</parameter>
</parameters>
<return> A newly allocated LOGFONT struct. It must be
freed with g_free().
</return>
</function>

<function name="pango_map_get_engine">
<description>
Returns the best engine listed in the map for a given script


</description>
<parameters>
<parameter name="map">
<parameter_description> a #PangoMap
</parameter_description>
</parameter>
<parameter name="script">
<parameter_description> a #PangoScript
</parameter_description>
</parameter>
</parameters>
<return> the best engine, if one is listed for the script,
or %NULL. The lookup may cause the engine to be loaded;
once an engine is loaded, it won&apos;t be unloaded. If multiple
engines are exact for the script, the choice of which is
returned is arbitrary.
</return>
</function>

<function name="pango_layout_iter_get_run_extents">
<description>
Gets the extents of the current run in layout coordinates
(origin is the top left of the entire layout).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle to fill with ink extents
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle to fill with logical extents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_xft_renderer_set_default_color">
<description>
Sets the default foreground color for a #XftRenderer.

Since: 1.8

</description>
<parameters>
<parameter name="xftrenderer">
<parameter_description> a #XftRenderer
</parameter_description>
</parameter>
<parameter name="default_color">
<parameter_description> the default foreground color
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_face_list_sizes">
<description>
List the available sizes for a font. This is only applicable to bitmap
fonts. For scalable fonts, stores %NULL at the location pointed to by
@sizes and 0 at the location pointed to by @n_sizes. The sizes returned
are in pango units and are sorted in ascending order.

Since: 1.4

</description>
<parameters>
<parameter name="face">
<parameter_description> a #PangoFontFace.
</parameter_description>
</parameter>
<parameter name="sizes">
<parameter_description> location to store a pointer to an array of int. This array
should be freed with g_free().
</parameter_description>
</parameter>
<parameter name="n_sizes">
<parameter_description> location to store the number of elements in @sizes
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_has_glyph">
<description>
Checks if the given glyph is present in a X font.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont which must be from the X backend.
</parameter_description>
</parameter>
<parameter name="glyph">
<parameter_description> the index of a glyph in the font. (Formed
using the #PANGO_X_MAKE_GLYPH macro)
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the glyph is present.
</return>
</function>

<function name="pango_font_description_set_variant">
<description>
Sets the variant field of a font description. The #PangoVariant
can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="variant">
<parameter_description> the variant type for the font description.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_context_set_font_map">
<description>
Sets the font map to be searched when fonts are looked-up in this context.
This is only for internal use by Pango backends, a #PangoContext obtained
via one of the recommended methods should already have a suitable font map.

</description>
<parameters>
<parameter name="context">
<parameter_description> a #PangoContext
</parameter_description>
</parameter>
<parameter name="font_map">
<parameter_description> the #PangoFontMap to set.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_font_cache_load">
<description>
Creates a #HFONT from a LOGFONT. The
result may be newly loaded, or it may have been previously
stored


</description>
<parameters>
<parameter name="cache">
<parameter_description> a #PangoWin32FontCache
</parameter_description>
</parameter>
<parameter name="logfont">
<parameter_description> a pointer to a LOGFONT structure describing the font to load.
</parameter_description>
</parameter>
</parameters>
<return> The font structure, or %NULL if the font could
not be loaded. In order to free this structure, you must call
pango_win32_font_cache_unload().
</return>
</function>

<function name="pango_ot_buffer_set_zero_width_marks">
<description>
Sets whether characters with a mark class should be forced to zero width.
This setting is needed for proper positioning of Arabic accents,
but will produce incorrect results with standard OpenType indic
fonts.

Since: 1.6

</description>
<parameters>
<parameter name="buffer">
<parameter_description> a #PangoOTBuffer
</parameter_description>
</parameter>
<parameter name="zero_width_marks">
<parameter_description> %TRUE if characters with a mark class should
be forced to zero width.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_justify">
<description>
Sets whether or not each complete line should be stretched to
fill the entire width of the layout. This stretching is typically
done by adding whitespace, but for some scripts (such as Arabic),
the justification is done by extending the characters.

Note that as of Pango-1.4, this functionality is not yet implemented.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="justify">
<parameter_description> whether the lines in the layout should be justified.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_get_mirror_char">
<description>
If @ch has the Unicode mirrored property and there is another unicode
character that typically has a glyph that is the mirror image of @ch&apos;s
glyph, puts that character in the address pointed to by @mirrored_ch.

Use g_unichar_get_mirror_char() instead; the docs for that function
provide full details.


</description>
<parameters>
<parameter name="ch">
<parameter_description> a unicode character
</parameter_description>
</parameter>
<parameter name="mirrored_ch">
<parameter_description> location to store the mirrored character
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @ch has a mirrored character and @mirrored_ch is
filled in, %FALSE otherwise
</return>
</function>

<function name="pango_font_map_list_families">
<description>
List all families for a fontmap. 

</description>
<parameters>
<parameter name="fontmap">
<parameter_description> a #PangoFontMap
</parameter_description>
</parameter>
<parameter name="families">
<parameter_description> location to store a pointer to an array of PangoFontFamily *.
This array should be freed with g_free().
</parameter_description>
</parameter>
<parameter name="n_families">
<parameter_description> location to store the number of elements in @descs
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_glyph_item_iter_next_cluster">
<description>
Advances the iterator to the next cluster in the glyph item.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoGlyphItemIter
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the iterator was advanced, %FALSE if we were already on the
last cluster.
</return>
</function>

<function name="pango_font_description_get_stretch">
<description>
Gets the stretch field of a font description.
See pango_font_description_set_stretch().


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription.
</parameter_description>
</parameter>
</parameters>
<return> the stretch field for the font description. Use
pango_font_description_get_set_fields() to find out if
the field was explicitely set or not.
</return>
</function>

<function name="pango_xft_font_get_font">
<description>
Returns the XftFont of a font.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont.
</parameter_description>
</parameter>
</parameters>
<return> the XftFont associated to @font.
</return>
</function>

<function name="pango_item_new">
<description>
Creates a new #PangoItem structure initialized to default values.


</description>
<parameters>
</parameters>
<return> the new #PangoItem
</return>
</function>

<function name="pango_ot_ruleset_new">
<description>
Creates a new #PangoOTRuleset for the given OpenType info.

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
</parameters>
<return> a new #PangoOTRuleset.
</return>
</function>

<function name="pango_layout_set_indent">
<description>
Sets the width in pango units to indent each paragraph. A negative value
of @indent will produce a hanging indent. That is, the first line will
have the full width, and subsequent lines will be indented by the
absolute value of @indent.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout.
</parameter_description>
</parameter>
<parameter name="indent">
<parameter_description> the amount by which to indentset
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_variant_new">
<description>
Create a new font variant attribute (normal or small caps)


</description>
<parameters>
<parameter name="variant">
<parameter_description> the variant
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_glyph_item_letter_space">
<description>
Adds spacing between the graphemes of @glyph_item to
give the effect of typographic letter spacing.b

Since: 1.6

</description>
<parameters>
<parameter name="glyph_item">
<parameter_description> a #PangoGlyphItem
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description> text that @glyph_item corresponds to
(glyph_item-&amp;gt;item-&amp;gt;offset is an offset from the
start of @text)
</parameter_description>
</parameter>
<parameter name="log_attrs">
<parameter_description> logical attributes for the item (the
first logical attribute refers to the position
before the first character in the item)
</parameter_description>
</parameter>
<parameter name="letter_spacing">
<parameter_description> amount of letter spacing to add
in Pango units. May be negative, though too large
negative values will give ugly results.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_line_x_to_index">
<description>
Converts from x offset to the byte index of the corresponding
character within the text of the layout. If @x_pos is outside the line,
@index_ and @trailing will point to the very first or very last position
in the line. This determination is based on the resolved direction
of the paragraph; for example, if the resolved direction is
right-to-left, then an X position to the right of the line (after it)
results in 0 being stored in @index_ and @trailing. An X position to the
left of the line results in @index_ pointing to the (logical) last
grapheme in the line and @trailing being set to the number of characters
in that grapheme. The reverse is true for a left-to-right line.


</description>
<parameters>
<parameter name="line">
<parameter_description>      a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="x_pos">
<parameter_description>     the x offset (in #PangoGlyphUnit)
from the left edge of the line.
</parameter_description>
</parameter>
<parameter name="index_">
<parameter_description>    location to store calculated byte index for
the grapheme in which the user clicked.
</parameter_description>
</parameter>
<parameter name="trailing">
<parameter_description>  location to store a integer indicating where
in the grapheme the user clicked. It will either
be zero, or the number of characters in the
grapheme. 0 represents the trailing edge of the grapheme.
</parameter_description>
</parameter>
</parameters>
<return> %FALSE if @x_pos was outside the line, %TRUE if inside
</return>
</function>

<function name="pango_matrix_copy">
<description>
Copies a #PangoMatrix.


</description>
<parameters>
<parameter name="matrix">
<parameter_description> a #PangoMatrix
</parameter_description>
</parameter>
</parameters>
<return> a copy of @matrix. The result must be freed with
pango_matrix_free().

Since: 1.6
</return>
</function>

<function name="pango_layout_line_unref">
<description>
Decreases the reference count of a #PangoLayoutLine by one.
if the result is zero, the line and all associated memory
will be freed.

</description>
<parameters>
<parameter name="line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_x_font_cache_unload">
<description>
Frees a font structure previously loaded with pango_x_font_cache_load().

</description>
<parameters>
<parameter name="cache">
<parameter_description> a #PangoXFontCache
</parameter_description>
</parameter>
<parameter name="fs">
<parameter_description> the font structure to unload
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_renderer_draw_glyphs">
<description>
Draws the glyphs in @glyphs with the specified #PangoRenderer.

Since: 1.8

</description>
<parameters>
<parameter name="renderer">
<parameter_description> a #PangoRenderer
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description> a #PangoGlyphString
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description> x position of left edge of baseline, in user space coordinates
in Pango units.
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description> x position of left edge of baseline, in user space coordinates
in Pango units.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_string_new">
<description>
Create a new PangoGlyphString.


</description>
<parameters>
</parameters>
<return>the new PangoGlyphString
</return>
</function>

<function name="pango_layout_get_log_attrs">
<description>
Retrieves an array of logical attributes for each character in
the @layout. 

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> location to store a pointer to an array of logical attributes
This value must be freed with g_free().
</parameter_description>
</parameter>
<parameter name="n_attrs">
<parameter_description> location to store the number of the attributes in the
array. (The stored value will be one more than the total number
of characters in the layout, since there need to be attributes
corresponding to both the position before the first character
and the position after the last character.)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_glyph_string_free">
<description>
Free a glyph string and associated storage.

</description>
<parameters>
<parameter name="string">
<parameter_description>    a PangoGlyphString.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="_pango_layout_line_ellipsize">
<description>
Given a PangoLayoutLine with the runs still in logical order, ellipsize
it according the layout&apos;s policy to fit within the set width of the layout.

</description>
<parameters>
<parameter name="line">
<parameter_description> a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description> Attributes being used for itemization/shaping
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_context_changed">
<description>
Forces recomputation of any state in the #PangoLayout that
might depend on the layout&apos;s context. This function should
be called if you make changes to the context subsequent
to creating the layout.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_list_unref">
<description>
Decrease the reference count of the given attribute list by one.
If the result is zero, free the attribute list and the attributes
it contains.

</description>
<parameters>
<parameter name="list">
<parameter_description> a #PangoAttrList
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_metrics_ref">
<description>
Increases the reference count of a font metrics structure.


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> @metrics
</return>
</function>

<function name="pango_attr_rise_new">
<description>
Create a new baseline displacement attribute.


</description>
<parameters>
<parameter name="rise">
<parameter_description> the amount that the text should be displaced vertically,
in Pango units. Positive values displace the text upwards.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_layout_get_size">
<description>
Determines the logical width and height of a #PangoLayout
in Pango units. (device units divided by %PANGO_SCALE). This
is simply a convenience function around pango_layout_get_extents().

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="width">
<parameter_description> location to store the logical width, or %NULL
</parameter_description>
</parameter>
<parameter name="height">
<parameter_description> location to store the logical height, or %NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_tabs">
<description>
Sets the tabs to use for @layout, overriding the default tabs
(by default, tabs are every 8 spaces). If @tabs is %NULL, the default
tabs are reinstated. @tabs is copied into the layout; you must
free your copy of @tabs yourself.

</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout 
</parameter_description>
</parameter>
<parameter name="tabs">
<parameter_description> a #PangoTabArray
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_itemize_with_base_dir">
<description>
Like pango_itemize(), but the base direction to use when
computing bidirectional levels (see pango_context_set_base_dir ()),
is specified explicitely rather than gotten from the #PangoContext.


</description>
<parameters>
<parameter name="context">
<parameter_description>   a structure holding information that affects
               the itemization process.
</parameter_description>
</parameter>
<parameter name="text">
<parameter_description>      the text to itemize.
</parameter_description>
</parameter>
<parameter name="start_index">
<parameter_description> first byte in @text to process
</parameter_description>
</parameter>
<parameter name="length">
<parameter_description>    the number of bytes (not characters) to process
after @start_index.
This must be &amp;gt;= 0.
</parameter_description>
</parameter>
<parameter name="base_dir">
<parameter_description>  base direction to use for bidirectional processing
</parameter_description>
</parameter>
<parameter name="attrs">
<parameter_description>     the set of attributes that apply to @text.
</parameter_description>
</parameter>
<parameter name="cached_iter">
<parameter_description>      Cached attribute iterator, or NULL
</parameter_description>
</parameter>
</parameters>
<return> a GList of PangoItem structures.
</return>
</function>

<function name="pango_xft_picture_render">
<description>
Renders a #PangoGlyphString onto an Xrender &amp;lt;type&amp;gt;Picture&amp;lt;/type&amp;gt; object.

</description>
<parameters>
<parameter name="display">
<parameter_description>      an X display
</parameter_description>
</parameter>
<parameter name="src_picture">
<parameter_description>  the source picture to draw the string with
</parameter_description>
</parameter>
<parameter name="dest_picture">
<parameter_description> the destination picture to draw the strign onto
</parameter_description>
</parameter>
<parameter name="font">
<parameter_description>         the font in which to draw the string
</parameter_description>
</parameter>
<parameter name="glyphs">
<parameter_description>       the glyph string to draw
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>            the x position of start of string (in pixels)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>            the y position of baseline (in pixels)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_line_get_x_ranges">
<description>
Gets a list of visual ranges corresponding to a given logical range.
This list is not necessarily minimal - there may be consecutive
ranges which are adjacent. The ranges will be sorted from left to
right. The ranges are with respect to the left edge of the entire
layout, not with respect to the line.

</description>
<parameters>
<parameter name="line">
<parameter_description>        a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="start_index">
<parameter_description> Start byte index of the logical range. If this value
is less than the start index for the line, then
the first range will extend all the way to the leading
edge of the layout. Otherwise it will start at the
leading edge of the first character.
</parameter_description>
</parameter>
<parameter name="end_index">
<parameter_description>   Ending byte index of the logical range. If this value
is greater than the end index for the line, then
the last range will extend all the way to the trailing
edge of the layout. Otherwise, it will end at the
trailing edge of the last character.
</parameter_description>
</parameter>
<parameter name="ranges">
<parameter_description>      location to store a pointer to an array of ranges.
The array will be of length &amp;lt;literal&amp;gt;2*n_ranges&amp;lt;/literal&amp;gt;, 
with each range starting at &amp;lt;literal&amp;gt;(*ranges)[2*n]&amp;lt;/literal&amp;gt;
and of width &amp;lt;literal&amp;gt;(*ranges)[2*n + 1] - (*ranges)[2*n]&amp;lt;/literal&amp;gt;. 
This array must be freed with g_free(). The coordinates are relative 
to the layout and are in #PangoGlyphUnit.
</parameter_description>
</parameter>
<parameter name="n_ranges">
<parameter_description> The number of ranges stored in @ranges.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_iterator_destroy">
<description>
Destroy a #PangoAttrIterator and free all associated memory.

</description>
<parameters>
<parameter name="iterator">
<parameter_description> a #PangoAttrIterator.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_ot_info_list_features">
<description>
Obtains the list of features for the given language of the given script.

</description>
<parameters>
<parameter name="info">
<parameter_description> a #PangoOTInfo.
</parameter_description>
</parameter>
<parameter name="table_type">
<parameter_description> the table type to obtain information about.
</parameter_description>
</parameter>
<parameter name="tag">
<parameter_description> unused parameter.
</parameter_description>
</parameter>
<parameter name="script_index">
<parameter_description> the index of the script to obtain information about. 
</parameter_description>
</parameter>
<parameter name="language_index">
<parameter_description> the indes of the language to list features for, or
0xffff, to list features for the default language of the script.
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated array containing the tags of the available
features. 
</return>
</function>

<function name="pango_font_metrics_unref">
<description>
Decreases the reference count of a font metrics structure. If
the result is zero, frees the structure and any associated
memory.

</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_xft_render_layout_line">
<description>
Render a #PangoLayoutLine onto a #XftDraw

Since: 1.8

</description>
<parameters>
<parameter name="draw">
<parameter_description>      an #XftDraw
</parameter_description>
</parameter>
<parameter name="color">
<parameter_description>     the foreground color in which to draw the layout line
(may be overriden by color attributes)
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description>      a #PangoLayoutLine
</parameter_description>
</parameter>
<parameter name="x">
<parameter_description>         the x position of start of string (in pango units)
</parameter_description>
</parameter>
<parameter name="y">
<parameter_description>         the y position of baseline (in pango units)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_description_copy_static">
<description>
Like pango_font_description_copy(), but only a shallow copy is made
of the family name and other allocated fields. The result can only
be used until @desc is modififed or freed. This is meant to be used
when the copy is only needed temporarily.


</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
</parameters>
<return> a newly-allocated #PangoFontDescription. This value
must be freed using pango_font_description_free().
</return>
</function>

<function name="pango_attr_style_new">
<description>
Create a new font slant style attribute.


</description>
<parameters>
<parameter name="style">
<parameter_description> the slant style
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_font_get_font_map">
<description>
Gets the font map for which the font was created.


</description>
<parameters>
<parameter name="font">
<parameter_description> a #PangoFont
</parameter_description>
</parameter>
</parameters>
<return> the #PangoFontMap for the font
</return>
</function>

<function name="pango_layout_iter_next_run">
<description>
Moves @iter forward to the next run in visual order. If @iter was
already at the end of the layout, returns %FALSE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> whether motion was possible
</return>
</function>

<function name="pango_cairo_update_context">
<description>
Updates a #PangoContext previously created for use with Cairo to
match the current transformation and target surface of a Cairo
context. If any layouts have been created for the context,
it&apos;s necessary to call pango_layout_context_changed() on those
layouts.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="context">
<parameter_description> a #PangoContext, from pango_cairo_font_map_create_context()
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_get_context">
<description>
Retrieves the #PangoContext used for this layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> The #PangoContext for the layout. This does not
have an additional refcount added, so if you want to keep
a copy of this around, you must reference it yourself.
</return>
</function>

<function name="pango_parse_style">
<description>
Parses a font style. The allowed values are &quot;normal&quot;,
&quot;italic&quot; and &quot;oblique&quot;, case variations being
ignored.


</description>
<parameters>
<parameter name="str">
<parameter_description> a string to parse.
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> a #PangoStyle to store the result in.
</parameter_description>
</parameter>
<parameter name="warn">
<parameter_description> if %TRUE, issue a g_warning() on bad input.
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if @str was successfully parsed.
</return>
</function>

<function name="pango_attr_strikethrough_new">
<description>
Create a new font strike-through attribute.


</description>
<parameters>
<parameter name="strikethrough">
<parameter_description> %TRUE if the text should be struck-through.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_glyph_string_copy">
<description>
Copy a glyph string and associated storage.


</description>
<parameters>
<parameter name="string">
<parameter_description> a PangoGlyphString.
</parameter_description>
</parameter>
</parameters>
<return>the copied PangoGlyphString
</return>
</function>

<function name="pango_layout_get_line_count">
<description>
Retrieves the count of lines for the @layout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> the line count
</return>
</function>

<function name="pango_layout_iter_get_line_yrange">
<description>
Divides the vertical space in the #PangoLayout being iterated over
between the lines in the layout, and returns the space belonging to
the current line.  A line&apos;s range includes the line&apos;s logical
extents, plus half of the spacing above and below the line, if
pango_layout_set_spacing() has been called to set layout spacing.
The y positions are in layout coordinates (origin at top left of the
entire layout).


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
<parameter name="y0_">
<parameter_description> start of line 
</parameter_description>
</parameter>
<parameter name="y1_">
<parameter_description> end of line
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_font_family_list_faces">
<description>
Lists the different font faces that make up @family. The faces
in a family share a common design, but differ in slant, weight,
width and other aspects.

</description>
<parameters>
<parameter name="family">
<parameter_description> a #PangoFontFamily
</parameter_description>
</parameter>
<parameter name="faces">
<parameter_description> location to store an array of pointers to #PangoFontFace
objects, or %NULL. This array should be freed with g_free()
when it is no longer needed.
</parameter_description>
</parameter>
<parameter name="n_faces">
<parameter_description> location to store number of elements in @faces.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_cairo_show_layout">
<description>
Draws a #PangoLayoutLine in the specified cairo context.
The top-left corner of the #PangoLayout will be drawn
at the current point of the cairo context.

Since: 1.10

</description>
<parameters>
<parameter name="cr">
<parameter_description> a Cairo context
</parameter_description>
</parameter>
<parameter name="layout">
<parameter_description> a Pango layout
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_set_single_paragraph_mode">
<description>
If @setting is %TRUE, do not treat newlines and similar characters
as paragraph separators; instead, keep all text in a single paragraph,
and display a glyph for paragraph separator characters. Used when
you want to allow editing of newlines on a single text line.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="setting">
<parameter_description> new setting
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_win32_get_dc">
<description>
Obtains a handle to the Windows device context that is used by Pango.


</description>
<parameters>
</parameters>
<return> A handle to the Windows device context that is used by Pango.
</return>
</function>

<function name="pango_layout_iter_get_line_extents">
<description>
Obtains the extents of the current line. @ink_rect or @logical_rect
can be NULL if you aren&apos;t interested in them. Extents are in layout
coordinates (origin is the top-left corner of the entire
#PangoLayout).  Thus the extents returned by this function will be
the same width/height but not at the same x/y as the extents
returned from pango_layout_line_get_extents().


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
<parameter name="ink_rect">
<parameter_description> rectangle to fill with ink extents
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> rectangle to fill with logical extents
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_layout_iter_next_char">
<description>
Moves @iter forward to the next character in visual order. If @iter was already at
the end of the layout, returns %FALSE.


</description>
<parameters>
<parameter name="iter">
<parameter_description> a #PangoLayoutIter
</parameter_description>
</parameter>
</parameters>
<return> whether motion was possible
</return>
</function>

<function name="pango_font_description_set_style">
<description>
Sets the style field of a #PangoFontDescription. The
#PangoStyle enumeration describes whether the font is slanted and
the manner in which it is slanted; it can be either
#PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE.
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.

</description>
<parameters>
<parameter name="desc">
<parameter_description> a #PangoFontDescription
</parameter_description>
</parameter>
<parameter name="style">
<parameter_description> the style for the font description
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

<function name="pango_attr_shape_new">
<description>
Create a new shape attribute. A shape is used to impose a
particular ink and logical rect on the result of shaping a
particular glyph. This might be used, for instance, for
embedding a picture or a widget inside a PangoLayout.


</description>
<parameters>
<parameter name="ink_rect">
<parameter_description>     ink rectangle to assign to each character
</parameter_description>
</parameter>
<parameter name="logical_rect">
<parameter_description> logical rectangle assign to each character
</parameter_description>
</parameter>
</parameters>
<return> the newly created attribute
</return>
</function>

<function name="pango_layout_get_single_paragraph_mode">
<description>
Obtains the value set by pango_layout_set_single_paragraph_mode().


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
</parameters>
<return> %TRUE if the layout does not break paragraphs at 
paragraph separator characters
</return>
</function>

<function name="pango_context_new">
<description>
Creates a new #PangoContext initialized to default value.

This function is only useful when implementing a new backend
for Pango, something applications won&apos;t do. You should use
the context creation function for the backend you are using,
for example, pango_xft_get_context(), pango_win32_get_context()
or, pango_ft2_font_map_create_context().

If you are using Pango as part of a higher-level system,
that system may have it&apos;s own ways of create a #PangoContext.
For instance, the GTK+ toolkit has, among others,
gdk_pango_context_get_for_screen(), and 
gtk_widget_get_pango_context().


</description>
<parameters>
</parameters>
<return> the new #PangoContext
</return>
</function>

<function name="pango_tab_array_copy">
<description>
Copies a #PangoTabArray


</description>
<parameters>
<parameter name="src">
<parameter_description> #PangoTabArray to copy
</parameter_description>
</parameter>
</parameters>
<return> Newly-allocated #PangoTabArray
</return>
</function>

<function name="pango_font_metrics_get_underline_position">
<description>
Gets the suggested position to draw the underline.
The value returned is the distance &amp;lt;emphasis&amp;gt;above&amp;lt;/emphasis&amp;gt; the
baseline of the top of the underline. Since most fonts have
underline positions beneath the baseline, this value is typically
negative.


</description>
<parameters>
<parameter name="metrics">
<parameter_description> a #PangoFontMetrics structure
</parameter_description>
</parameter>
</parameters>
<return> the suggested underline position, in Pango units.

Since: 1.6
</return>
</function>

<function name="pango_attr_fallback_new">
<description>
Create a new font fallback attribute.

If fallback is disabled, characters will only be used from the
closest matching font on the system. No fallback will be done to
other fonts on the system that might contain the characters in the
text.


</description>
<parameters>
<parameter name="enable_fallback">
<parameter_description> %TRUE if we should fall back on other fonts 
for characters the active font is missing.
</parameter_description>
</parameter>
</parameters>
<return> the new #PangoAttribute.
</return>
</function>

<function name="pango_layout_get_line">
<description>
Retrieves a particular line from a #PangoLayout.


</description>
<parameters>
<parameter name="layout">
<parameter_description> a #PangoLayout
</parameter_description>
</parameter>
<parameter name="line">
<parameter_description> the index of a line, which must be between 0 and
&amp;lt;literal&amp;gt;pango_layout_get_line_count(layout) - 1&amp;lt;/literal&amp;gt;, inclusive.
</parameter_description>
</parameter>
</parameters>
<return> the requested #PangoLayoutLine, or %NULL if the
index is out of range. This layout line can
be ref&apos;ed and retained, but will become invalid
if changes are made to the #PangoLayout.
</return>
</function>

<function name="pango_xft_set_default_substitute">
<description>
Sets a function that will be called to do final configuration
substitution on a #FcPattern before it is used to load
the font. This function can be used to do things like set
hinting and antialiasing options.

Since: 1.2

</description>
<parameters>
<parameter name="display">
<parameter_description> an X Display
</parameter_description>
</parameter>
<parameter name="screen">
<parameter_description> the screen number of a screen within @display
</parameter_description>
</parameter>
<parameter name="func">
<parameter_description> function to call to to do final config tweaking
on #FcPattern objects.
</parameter_description>
</parameter>
<parameter name="data">
<parameter_description> data to pass to @func
</parameter_description>
</parameter>
<parameter name="notify">
<parameter_description> function to call when @data is no longer used.
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>

</root>
