[pangomm] Regenerate _docs.xml file.



commit 37c6aa285ac7b81524ca4e985c5b4ed4fd9df46f
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Feb 4 08:42:57 2015 +0100

    Regenerate _docs.xml file.

 pango/src/pango_docs.xml |14147 +++++++++++++++++++++++++---------------------
 1 files changed, 7591 insertions(+), 6556 deletions(-)
---
diff --git a/pango/src/pango_docs.xml b/pango/src/pango_docs.xml
index f83bf92..b993f8f 100644
--- a/pango/src/pango_docs.xml
+++ b/pango/src/pango_docs.xml
@@ -1,760 +1,1173 @@
 <root>
-<function name="pango_layout_get_justify">
+<enum name="PangoAlignment">
 <description>
-Gets whether each complete line should be stretched to fill the entire
-width of the layout.
-
+A #PangoAlignment describes how to align the lines of a #PangoLayout within the
+available space. If the #PangoLayout is set to justify
+using pango_layout_set_justify(), this only has effect for partial lines.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="PANGO_ALIGN_LEFT">
+<parameter_description> Put all available space on the right
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ALIGN_CENTER">
+<parameter_description> Center the line within the available space
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ALIGN_RIGHT">
+<parameter_description> Put all available space on the left
 </parameter_description>
 </parameter>
 </parameters>
-<return> the justify.
-</return>
-</function>
+</enum>
 
-<function name="pango_renderer_draw_error_underline">
+<enum name="PangoAttrType">
 <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)
-
-This should be called while @renderer is already active.  Use
-pango_renderer_activate() to activate a renderer.
-
-Since: 1.8
+The #PangoAttrType
+distinguishes between different types of attributes. Along with the
+predefined values, it is possible to allocate additional values
+for custom attributes using pango_attr_type_register(). The predefined
+values are given below. The type of structure used to store the
+attribute is listed in parentheses after the description.
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
+<parameter name="PANGO_ATTR_INVALID">
+<parameter_description> does not happen
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> X coordinate of underline, in Pango units in user coordinate system
+<parameter name="PANGO_ATTR_LANGUAGE">
+<parameter_description> language (#PangoAttrLanguage)
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> Y coordinate of underline, in Pango units in user coordinate system
+<parameter name="PANGO_ATTR_FAMILY">
+<parameter_description> font family name list (#PangoAttrString)
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> width of underline, in Pango units in user coordinate system
+<parameter name="PANGO_ATTR_STYLE">
+<parameter_description> font slant style (#PangoAttrInt)
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> height of underline, in Pango units in user coordinate system
+<parameter name="PANGO_ATTR_WEIGHT">
+<parameter_description> font weight (#PangoAttrInt)
 </parameter_description>
 </parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="pango_renderer_get_layout_line">
-<description>
-Gets the layout line currently being rendered using @renderer.
-Calling this function only makes sense from inside a subclass's
-methods, like in its draw_shape&lt;!----&gt;() for example.
-
-The returned layout line should not be modified while still being
-rendered.
-
-Since: 1.20
-
-</description>
-<parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
+<parameter name="PANGO_ATTR_VARIANT">
+<parameter_description> font variant (normal or small caps) (#PangoAttrInt)
 </parameter_description>
 </parameter>
-</parameters>
-<return> the layout line, or %NULL if no layout line is being
-rendered using @renderer at this time.
-
-</return>
-</function>
-
-<function name="pango_layout_get_alignment">
-<description>
-Gets 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 name="PANGO_ATTR_STRETCH">
+<parameter_description> font stretch (#PangoAttrInt)
 </parameter_description>
 </parameter>
-</parameters>
-<return> the alignment.
-</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 scaled by %PANGO_SCALE.) This
-is simply a convenience function around
-pango_layout_get_pixel_extents().
-
-</description>
-<parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="PANGO_ATTR_SIZE">
+<parameter_description> font size in points scaled by %PANGO_SCALE (#PangoAttrInt)
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> location to store the logical width, or %NULL
+<parameter name="PANGO_ATTR_FONT_DESC">
+<parameter_description> font description (#PangoAttrFontDesc)
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> location to store the logical height, or %NULL
+<parameter name="PANGO_ATTR_FOREGROUND">
+<parameter_description> foreground color (#PangoAttrColor)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_BACKGROUND">
+<parameter_description> background color (#PangoAttrColor)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_UNDERLINE">
+<parameter_description> whether the text has an underline (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_STRIKETHROUGH">
+<parameter_description> whether the text is struck-through (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_RISE">
+<parameter_description> baseline displacement (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_SHAPE">
+<parameter_description> shape (#PangoAttrShape)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_SCALE">
+<parameter_description> font size scale factor (#PangoAttrFloat)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_FALLBACK">
+<parameter_description> whether fallback is enabled (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_LETTER_SPACING">
+<parameter_description> letter spacing (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_UNDERLINE_COLOR">
+<parameter_description> underline color (#PangoAttrColor)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_STRIKETHROUGH_COLOR">
+<parameter_description> strikethrough color (#PangoAttrColor)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_ABSOLUTE_SIZE">
+<parameter_description> font size in pixels scaled by %PANGO_SCALE (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_GRAVITY">
+<parameter_description> base text gravity (#PangoAttrInt)
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ATTR_GRAVITY_HINT">
+<parameter_description> gravity hint (#PangoAttrInt)
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_ot_tag_from_language">
+<enum name="PangoBidiType">
 <description>
-Finds the OpenType language-system tag best describing @language.
+The #PangoBidiType type represents the bidirectional character
+type of a Unicode character as specified by the
+&lt;ulink url=&quot;http://www.unicode.org/reports/tr9/&quot;&gt;Unicode bidirectional 
algorithm&lt;/ulink&gt;.
 
-Since: 1.18
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> A #PangoLanguage, or %NULL
+<parameter name="PANGO_BIDI_TYPE_L">
+<parameter_description> Left-to-Right
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_LRE">
+<parameter_description> Left-to-Right Embedding
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_LRO">
+<parameter_description> Left-to-Right Override
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_R">
+<parameter_description> Right-to-Left
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_AL">
+<parameter_description> Right-to-Left Arabic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_RLE">
+<parameter_description> Right-to-Left Embedding
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_RLO">
+<parameter_description> Right-to-Left Override
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_PDF">
+<parameter_description> Pop Directional Format
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_EN">
+<parameter_description> European Number
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_ES">
+<parameter_description> European Number Separator
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_ET">
+<parameter_description> European Number Terminator
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_AN">
+<parameter_description> Arabic Number
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_CS">
+<parameter_description> Common Number Separator
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_NSM">
+<parameter_description> Nonspacing Mark
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_BN">
+<parameter_description> Boundary Neutral
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_B">
+<parameter_description> Paragraph Separator
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_S">
+<parameter_description> Segment Separator
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_WS">
+<parameter_description> Whitespace
+</parameter_description>
+</parameter>
+<parameter name="PANGO_BIDI_TYPE_ON">
+<parameter_description> Other Neutrals
 </parameter_description>
 </parameter>
 </parameters>
-<return> #PangoOTTag best matching @language or
-%PANGO_OT_TAG_DEFAULT_LANGUAGE if none found or if @language
-is %NULL.
-
-</return>
-</function>
+</enum>
 
-<function name="pango_ft2_render_layout_line">
+<enum name="PangoCoverageLevel">
 <description>
-Render a #PangoLayoutLine onto a FreeType2 bitmap
+Used to indicate how well a font can represent a particular Unicode
+character point for a particular script.
 
 </description>
 <parameters>
-<parameter name="bitmap">
-<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the line onto
+<parameter name="PANGO_COVERAGE_NONE">
+<parameter_description> The character is not representable with the font.
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description>      a #PangoLayoutLine
+<parameter name="PANGO_COVERAGE_FALLBACK">
+<parameter_description> The character is represented in a way that may be
+comprehensible but is not the correct graphical form.
+For instance, a Hangul character represented as a
+a sequence of Jamos, or a Latin transliteration of a Cyrillic word.
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>         the x position of start of string (in pixels)
+<parameter name="PANGO_COVERAGE_APPROXIMATE">
+<parameter_description> The character is represented as basically the correct
+graphical form, but with a stylistic variant inappropriate for
+the current script.
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>         the y position of baseline (in pixels)
+<parameter name="PANGO_COVERAGE_EXACT">
+<parameter_description> The character is represented as the correct graphical form.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_ot_info_find_feature">
+<enum name="PangoDirection">
 <description>
-Finds the index of a feature.  If the feature is not found, sets
- feature_index to PANGO_OT_NO_FEATURE, which is safe to pass to
-pango_ot_ruleset_add_feature() and similar functions.
-
-In the future, this may set @feature_index to an special value that if used
-in pango_ot_ruleset_add_feature() will ask Pango to synthesize the
-requested feature based on Unicode properties and data.  However, this
-function will still return %FALSE in those cases.  So, users may want to
-ignore the return value of this function in certain cases.
+The #PangoDirection type represents a direction in the
+Unicode bidirectional algorithm; not every value in this
+enumeration makes sense for every usage of #PangoDirection;
+for example, the return value of pango_unichar_direction()
+and pango_find_base_dir() cannot be %PANGO_DIRECTION_WEAK_LTR
+or %PANGO_DIRECTION_WEAK_RTL, since every character is either
+neutral or has a strong direction; on the other hand
+%PANGO_DIRECTION_NEUTRAL doesn't make sense to pass
+to pango_itemize_with_base_dir().
 
+The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL
+values come from an earlier interpretation of this
+enumeration as the writing direction of a block of
+text and are no longer used; See #PangoGravity for how
+vertical text is handled in Pango.
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #PangoOTInfo.
+<parameter name="PANGO_DIRECTION_LTR">
+<parameter_description> A strong left-to-right direction
 </parameter_description>
 </parameter>
-<parameter name="table_type">
-<parameter_description> the table type to obtain information about.
+<parameter name="PANGO_DIRECTION_RTL">
+<parameter_description> A strong right-to-left direction
 </parameter_description>
 </parameter>
-<parameter name="feature_tag">
-<parameter_description> the tag of the feature to find.
+<parameter name="PANGO_DIRECTION_TTB_LTR">
+<parameter_description> Deprecated value; treated the
+same as %PANGO_DIRECTION_RTL.
 </parameter_description>
 </parameter>
-<parameter name="script_index">
-<parameter_description> the index of the script.
+<parameter name="PANGO_DIRECTION_TTB_RTL">
+<parameter_description> Deprecated value; treated the
+same as %PANGO_DIRECTION_LTR
 </parameter_description>
 </parameter>
-<parameter name="language_index">
-<parameter_description> the index of the language whose features are searched,
-or %PANGO_OT_DEFAULT_LANGUAGE to use the default language of the script.
+<parameter name="PANGO_DIRECTION_WEAK_LTR">
+<parameter_description> A weak left-to-right direction
 </parameter_description>
 </parameter>
-<parameter name="feature_index">
-<parameter_description> location to store the index of the feature, or %NULL.
+<parameter name="PANGO_DIRECTION_WEAK_RTL">
+<parameter_description> A weak right-to-left direction
 </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().
-
-Since: 1.4
-
-</description>
-<parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="PANGO_DIRECTION_NEUTRAL">
+<parameter_description> No direction specified
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the bidirectional base direction
-is computed from the layout's contents, %FALSE otherwise.
-
-</return>
-</function>
+</enum>
 
-<function name="pango_ot_buffer_set_rtl">
+<enum name="PangoEllipsizeMode">
 <description>
-Sets whether glyphs will be rendered right-to-left.  This setting
-is needed for proper horizontal positioning of right-to-left scripts.
-
-Since: 1.4
+The #PangoEllipsizeMode type describes what sort of (if any)
+ellipsization should be applied to a line of text. In
+the ellipsization process characters are removed from the
+text in order to make it fit to a given width and replaced
+with an ellipsis.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer
+<parameter name="PANGO_ELLIPSIZE_NONE">
+<parameter_description> No ellipsization
 </parameter_description>
 </parameter>
-<parameter name="rtl">
-<parameter_description> %TRUE for right-to-left text
+<parameter name="PANGO_ELLIPSIZE_START">
+<parameter_description> Omit characters at the start of the text
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ELLIPSIZE_MIDDLE">
+<parameter_description> Omit characters in the middle of the text
+</parameter_description>
+</parameter>
+<parameter name="PANGO_ELLIPSIZE_END">
+<parameter_description> Omit characters at the end of the text
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_font_description_set_size">
+<enum name="PangoFontMask">
 <description>
-Sets the size field of a font description in fractional points. This is mutually
-exclusive with pango_font_description_set_absolute_size().
+The bits in a #PangoFontMask correspond to fields in a
+#PangoFontDescription that have been set.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="PANGO_FONT_MASK_FAMILY">
+<parameter_description> the font family is specified.
 </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 name="PANGO_FONT_MASK_STYLE">
+<parameter_description> the font style is specified.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_FONT_MASK_VARIANT">
+<parameter_description> the font variant is specified.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_FONT_MASK_WEIGHT">
+<parameter_description> the font weight is specified.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_FONT_MASK_STRETCH">
+<parameter_description> the font stretch is specified.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_FONT_MASK_SIZE">
+<parameter_description> the font size is specified.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_FONT_MASK_GRAVITY">
+<parameter_description> the font gravity is specified (Since: 1.16.)
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_layout_set_width">
+<enum name="PangoGravity">
 <description>
-Sets the width to which the lines of the #PangoLayout should wrap or
-ellipsized.  The default value is -1: no width set.
+The #PangoGravity type represents the orientation of glyphs in a segment
+of text.  This is useful when rendering vertical text layouts.  In
+those situations, the layout is rotated using a non-identity PangoMatrix,
+and then glyph orientation is controlled using #PangoGravity.
+Not every value in this enumeration makes sense for every usage of
+#PangoGravity; for example, %PANGO_GRAVITY_AUTO only can be passed to
+pango_context_set_base_gravity() and can only be returned by
+pango_context_get_base_gravity().
+
+See also: #PangoGravityHint
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout.
+<parameter name="PANGO_GRAVITY_SOUTH">
+<parameter_description> Glyphs stand upright (default)
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> the desired width in Pango units, or -1 to indicate that no
-wrapping or ellipsization should be performed.
+<parameter name="PANGO_GRAVITY_EAST">
+<parameter_description> Glyphs are rotated 90 degrees clockwise
+</parameter_description>
+</parameter>
+<parameter name="PANGO_GRAVITY_NORTH">
+<parameter_description> Glyphs are upside-down
+</parameter_description>
+</parameter>
+<parameter name="PANGO_GRAVITY_WEST">
+<parameter_description> Glyphs are rotated 90 degrees counter-clockwise
+</parameter_description>
+</parameter>
+<parameter name="PANGO_GRAVITY_AUTO">
+<parameter_description> Gravity is resolved from the context matrix
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_script_iter_new">
+<enum name="PangoGravityHint">
 <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().
+The #PangoGravityHint defines how horizontal scripts should behave in a
+vertical context.  That is, English excerpt in a vertical paragraph for
+example.
 
-Since: 1.4
+See #PangoGravity.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="text">
-<parameter_description> a UTF-8 string
+<parameter name="PANGO_GRAVITY_HINT_NATURAL">
+<parameter_description> scripts will take their natural gravity based
+on the base gravity and the script.  This is the default.
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description> length of @text, or -1 if @text is nul-terminated.
+<parameter name="PANGO_GRAVITY_HINT_STRONG">
+<parameter_description> always use the base gravity set, regardless of
+the script.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_GRAVITY_HINT_LINE">
+<parameter_description> for scripts not in their natural direction (eg.
+Latin in East gravity), choose per-script gravity such that every script
+respects the line progression.  This means, Latin and Arabic will take
+opposite gravities and both flow top-to-bottom for example.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new script iterator, initialized
-to point at the first range in the text, which should be
-freed with pango_script_iter_free(). If the string is
-empty, it will point at an empty range.
+</enum>
 
-</return>
-</function>
-
-<function name="pango_layout_get_tabs">
+<enum name="PangoOTTableType">
 <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().
-
+The &lt;type&gt;PangoOTTableType&lt;/type&gt; enumeration values are used to
+identify the various OpenType tables in the
+&lt;function&gt;pango_ot_info_*&lt;/function&gt; functions.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="PANGO_OT_TABLE_GSUB">
+<parameter_description> The GSUB table.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_OT_TABLE_GPOS">
+<parameter_description> The GPOS table.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a copy of the tabs for this layout, or %NULL.
-</return>
-</function>
+</enum>
 
-<function name="pango_layout_iter_get_baseline">
+<enum name="PangoRenderPart">
 <description>
-Gets the Y position of the current line's baseline, in layout
-coordinates (origin at top left of the entire layout).
+#PangoRenderPart defines different items to render for such
+purposes as setting colors.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="PANGO_RENDER_PART_FOREGROUND">
+<parameter_description> the text itself
+</parameter_description>
+</parameter>
+<parameter name="PANGO_RENDER_PART_BACKGROUND">
+<parameter_description> the area behind the text
+</parameter_description>
+</parameter>
+<parameter name="PANGO_RENDER_PART_UNDERLINE">
+<parameter_description> underlines
+</parameter_description>
+</parameter>
+<parameter name="PANGO_RENDER_PART_STRIKETHROUGH">
+<parameter_description> strikethrough lines
 </parameter_description>
 </parameter>
 </parameters>
-<return> baseline of current line.
-</return>
-</function>
+</enum>
 
-<function name="pango_cairo_layout_path">
+<enum name="PangoScript">
 <description>
-Adds the text in a #PangoLayout 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
+The #PangoScript enumeration identifies different writing
+systems. The values correspond to the names as defined in the
+Unicode standard.
+Note that new types may be added in the future. Applications should be ready
+to handle unknown values.  This enumeration is interchangeable with
+#GUnicodeScript.  See &lt;ulink
+url=&quot;http://www.unicode.org/reports/tr24/&quot;&gt;Unicode Standard Annex
+#24: Script names&lt;/ulink&gt;.
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="PANGO_SCRIPT_INVALID_CODE">
+<parameter_description> a value never returned from pango_script_for_unichar()
 </parameter_description>
 </parameter>
-<parameter name="layout">
-<parameter_description> a Pango layout
+<parameter name="PANGO_SCRIPT_COMMON">
+<parameter_description> a character used by multiple different scripts
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_INHERITED">
+<parameter_description> a mark glyph that takes its script from the
+base glyph to which it is attached
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_ARABIC">
+<parameter_description>        Arabic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_ARMENIAN">
+<parameter_description> Armenian
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BENGALI">
+<parameter_description>        Bengali
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BOPOMOFO">
+<parameter_description> Bopomofo
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CHEROKEE">
+<parameter_description>        Cherokee
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_COPTIC">
+<parameter_description>        Coptic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CYRILLIC">
+<parameter_description>        Cyrillic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_DESERET">
+<parameter_description>        Deseret
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_DEVANAGARI">
+<parameter_description>        Devanagari
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_ETHIOPIC">
+<parameter_description>        Ethiopic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_GEORGIAN">
+<parameter_description>        Georgian
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_GOTHIC">
+<parameter_description>        Gothic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_GREEK">
+<parameter_description>        Greek
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_GUJARATI">
+<parameter_description>        Gujarati
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_GURMUKHI">
+<parameter_description>        Gurmukhi
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_HAN">
+<parameter_description>        Han
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_HANGUL">
+<parameter_description>        Hangul
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_HEBREW">
+<parameter_description>        Hebrew
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_HIRAGANA">
+<parameter_description>        Hiragana
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_KANNADA">
+<parameter_description>        Kannada
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_KATAKANA">
+<parameter_description>        Katakana
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_KHMER">
+<parameter_description>        Khmer
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LAO">
+<parameter_description>        Lao
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LATIN">
+<parameter_description>        Latin
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MALAYALAM">
+<parameter_description>        Malayalam
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MONGOLIAN">
+<parameter_description>        Mongolian
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MYANMAR">
+<parameter_description>        Myanmar
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_OGHAM">
+<parameter_description>        Ogham
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_OLD_ITALIC">
+<parameter_description>        Old Italic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_ORIYA">
+<parameter_description>        Oriya
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_RUNIC">
+<parameter_description>        Runic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SINHALA">
+<parameter_description>        Sinhala
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SYRIAC">
+<parameter_description>        Syriac
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TAMIL">
+<parameter_description>        Tamil
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TELUGU">
+<parameter_description>        Telugu
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_THAANA">
+<parameter_description>        Thaana
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_THAI">
+<parameter_description>        Thai
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TIBETAN">
+<parameter_description>        Tibetan
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CANADIAN_ABORIGINAL">
+<parameter_description>        Canadian Aboriginal
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_YI">
+<parameter_description>        Yi
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TAGALOG">
+<parameter_description>        Tagalog
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_HANUNOO">
+<parameter_description>        Hanunoo
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BUHID">
+<parameter_description>        Buhid
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TAGBANWA">
+<parameter_description>        Tagbanwa
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BRAILLE">
+<parameter_description>        Braille
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CYPRIOT">
+<parameter_description>        Cypriot
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LIMBU">
+<parameter_description>        Limbu
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_OSMANYA">
+<parameter_description>        Osmanya
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SHAVIAN">
+<parameter_description>        Shavian
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LINEAR_B">
+<parameter_description>        Linear B
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TAI_LE">
+<parameter_description>        Tai Le
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_UGARITIC">
+<parameter_description>        Ugaritic
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_NEW_TAI_LUE">
+<parameter_description>        New Tai Lue. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BUGINESE">
+<parameter_description>        Buginese. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_GLAGOLITIC">
+<parameter_description>        Glagolitic. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TIFINAGH">
+<parameter_description>        Tifinagh. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SYLOTI_NAGRI">
+<parameter_description>        Syloti Nagri. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_OLD_PERSIAN">
+<parameter_description>        Old Persian. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_KHAROSHTHI">
+<parameter_description>        Kharoshthi. Since 1.10
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_UNKNOWN">
+<parameter_description>                an unassigned code point. Since 1.14
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BALINESE">
+<parameter_description>                Balinese. Since 1.14
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CUNEIFORM">
+<parameter_description>        Cuneiform. Since 1.14
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_PHOENICIAN">
+<parameter_description>        Phoenician. Since 1.14
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_PHAGS_PA">
+<parameter_description>                Phags-pa. Since 1.14
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_NKO">
+<parameter_description>                N'Ko. Since 1.14
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_KAYAH_LI">
+<parameter_description>   Kayah Li. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LEPCHA">
+<parameter_description>     Lepcha. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_REJANG">
+<parameter_description>     Rejang. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SUNDANESE">
+<parameter_description>  Sundanese. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SAURASHTRA">
+<parameter_description> Saurashtra. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CHAM">
+<parameter_description>       Cham. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_OL_CHIKI">
+<parameter_description>   Ol Chiki. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_VAI">
+<parameter_description>        Vai. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CARIAN">
+<parameter_description>     Carian. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LYCIAN">
+<parameter_description>     Lycian. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_LYDIAN">
+<parameter_description>     Lydian. Since 1.20.1
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BATAK">
+<parameter_description>      Batak. Since 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_BRAHMI">
+<parameter_description>     Brahmi. Since 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MANDAIC">
+<parameter_description>    Mandaic. Since 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_CHAKMA">
+<parameter_description>               Chakma. Since: 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MEROITIC_CURSIVE">
+<parameter_description>     Meroitic Cursive. Since: 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS">
+<parameter_description> Meroitic Hieroglyphs. Since: 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_MIAO">
+<parameter_description>                 Miao. Since: 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SHARADA">
+<parameter_description>              Sharada. Since: 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_SORA_SOMPENG">
+<parameter_description>         Sora Sompeng. Since: 1.32
+</parameter_description>
+</parameter>
+<parameter name="PANGO_SCRIPT_TAKRI">
+<parameter_description>                Takri. Since: 1.32
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_layout_get_pixel_extents">
+<enum name="PangoStretch">
 <description>
-Computes the logical and ink extents of @layout in device units.
-This function just calls pango_layout_get_extents() followed by
-two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
-such that the rounded rectangles fully contain the unrounded one (that is,
-passes them as first argument to pango_extents_to_pixels()).
+An enumeration specifying the width of the font relative to other designs
+within a family.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description>   a #PangoLayout
+<parameter name="PANGO_STRETCH_ULTRA_CONDENSED">
+<parameter_description> ultra condensed width
 </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 name="PANGO_STRETCH_EXTRA_CONDENSED">
+<parameter_description> extra condensed width
 </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 name="PANGO_STRETCH_CONDENSED">
+<parameter_description> condensed width
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STRETCH_SEMI_CONDENSED">
+<parameter_description> semi condensed width
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STRETCH_NORMAL">
+<parameter_description> the normal width
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STRETCH_SEMI_EXPANDED">
+<parameter_description> semi expanded width
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STRETCH_EXPANDED">
+<parameter_description> expanded width
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STRETCH_EXTRA_EXPANDED">
+<parameter_description> extra expanded width
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STRETCH_ULTRA_EXPANDED">
+<parameter_description> ultra expanded width
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_font_description_get_style">
+<enum name="PangoStyle">
 <description>
-Gets the style field of a #PangoFontDescription. See
-pango_font_description_set_style().
-
+An enumeration specifying the various slant styles possible for a font.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="PANGO_STYLE_NORMAL">
+<parameter_description> the font is upright.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STYLE_OBLIQUE">
+<parameter_description> the font is slanted, but in a roman style.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_STYLE_ITALIC">
+<parameter_description> the font is slanted in an italic style.
 </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 explicitly set or not.
-</return>
-</function>
+</enum>
 
-<function name="pango_font_description_get_set_fields">
+<enum name="PangoTabAlign">
 <description>
-Determines which fields in a font description have been set.
-
+A #PangoTabAlign specifies where a tab stop appears relative to the text.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="PANGO_TAB_LEFT">
+<parameter_description> the tab stop appears to the left of the text.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a bitmask with bits set corresponding to the
-fields in @desc that have been set.
-</return>
-</function>
+</enum>
 
-<function name="pango_font_face_describe">
+<enum name="PangoUnderline">
 <description>
-Returns the family, style, variant, weight and stretch of
-a #PangoFontFace. The size field of the resulting font description
-will be unset.
-
+The #PangoUnderline enumeration is used to specify
+whether text should be underlined, and if so, the type
+of underlining.
 
 </description>
 <parameters>
-<parameter name="face">
-<parameter_description> a #PangoFontFace
+<parameter name="PANGO_UNDERLINE_NONE">
+<parameter_description> no underline should be drawn
+</parameter_description>
+</parameter>
+<parameter name="PANGO_UNDERLINE_SINGLE">
+<parameter_description> a single underline should be drawn
+</parameter_description>
+</parameter>
+<parameter name="PANGO_UNDERLINE_DOUBLE">
+<parameter_description> a double underline should be drawn
+</parameter_description>
+</parameter>
+<parameter name="PANGO_UNDERLINE_LOW">
+<parameter_description> a single underline should be drawn at a position
+beneath the ink extents of the text being
+underlined. This should be used only for underlining
+single characters, such as for keyboard
+accelerators. %PANGO_UNDERLINE_SINGLE should
+be used for extended portions of text.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_UNDERLINE_ERROR">
+<parameter_description> a wavy underline should be drawn below.
+This underline is typically used to indicate
+an error such as a possilble mispelling; in some
+cases a contrasting color may automatically
+be used. This type of underlining is available since Pango 1.4.
 </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>
+</enum>
 
-<function name="pango_module_register">
+<enum name="PangoVariant">
 <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.
+An enumeration specifying capitalization variant of the font.
 
 </description>
 <parameters>
-<parameter name="module">
-<parameter_description> a #PangoIncludedModule
+<parameter name="PANGO_VARIANT_NORMAL">
+<parameter_description> A normal font.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_VARIANT_SMALL_CAPS">
+<parameter_description> A font with the lower case characters
+replaced by smaller variants of the capital characters.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
-</function>
+</enum>
 
-<function name="pango_matrix_transform_point">
+<enum name="PangoWeight">
 <description>
-Transforms the point (@x, @y) by @matrix.
-
-Since: 1.16
+An enumeration specifying the weight (boldness) of a font. This is a numerical
+value ranging from 100 to 1000, but there are some predefined values:
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix, or %NULL
+<parameter name="PANGO_WEIGHT_THIN">
+<parameter_description> the thin weight (= 100; Since: 1.24)
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> in/out X position
+<parameter name="PANGO_WEIGHT_ULTRALIGHT">
+<parameter_description> the ultralight weight (= 200)
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> in/out Y position
+<parameter name="PANGO_WEIGHT_LIGHT">
+<parameter_description> the light weight (= 300)
 </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 those of @old_match are, or if @old_match is %NULL,
-determines if @new_match is a match at all.
-Approximate matching is done for
-weight and style; other style attributes must match exactly.
-Style attributes are all attributes other than family and size-related
-attributes.  Approximate matching for style considers PANGO_STYLE_OBLIQUE
-and PANGO_STYLE_ITALIC as matches, but not as good a match as when the
-styles are equal.
-
-Note that @old_match must match @desc.
-
-
-</description>
-<parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="PANGO_WEIGHT_SEMILIGHT">
+<parameter_description> the semilight weight (= 350; Since: 1.36.7)
 </parameter_description>
 </parameter>
-<parameter name="old_match">
-<parameter_description> a #PangoFontDescription, or %NULL
+<parameter name="PANGO_WEIGHT_BOOK">
+<parameter_description> the book weight (= 380; Since: 1.24)
 </parameter_description>
 </parameter>
-<parameter name="new_match">
-<parameter_description> a #PangoFontDescription
+<parameter name="PANGO_WEIGHT_NORMAL">
+<parameter_description> the default weight (= 400)
 </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.
-
-Since: 1.4
-
-</description>
-<parameters>
-<parameter name="font">
-<parameter_description> a #PangoFcFont
+<parameter name="PANGO_WEIGHT_MEDIUM">
+<parameter_description> the normal weight (= 500; Since: 1.24)
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> Unicode codepoint to look up
+<parameter name="PANGO_WEIGHT_SEMIBOLD">
+<parameter_description> the semibold weight (= 600)
 </parameter_description>
 </parameter>
-</parameters>
-<return> %TRUE if @font has the requested codepoint.
-
-</return>
-</function>
-
-<function name="pango_cairo_context_set_resolution">
-<description>
-Sets the resolution for the context. 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="context">
-<parameter_description> a #PangoContext, from a pangocairo font map
+<parameter name="PANGO_WEIGHT_BOLD">
+<parameter_description> the bold weight (= 700)
 </parameter_description>
 </parameter>
-<parameter name="dpi">
-<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren't actually
-involved; the terminology is conventional.) A 0 or negative value
-means to use the resolution from the font map.
+<parameter name="PANGO_WEIGHT_ULTRABOLD">
+<parameter_description> the ultrabold weight (= 800)
 </parameter_description>
 </parameter>
-</parameters>
-<return></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_GET_UNKNOWN_GLYPH() instead.
-
-
-</description>
-<parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="PANGO_WEIGHT_HEAVY">
+<parameter_description> the heavy weight (= 900)
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> the Unicode character for which a glyph is needed.
+<parameter name="PANGO_WEIGHT_ULTRAHEAVY">
+<parameter_description> the ultraheavy weight (= 1000; Since: 1.24)
 </parameter_description>
 </parameter>
 </parameters>
-<return> a glyph index into @font.
-</return>
-</function>
+</enum>
 
-<function name="pango_font_description_get_gravity">
+<enum name="PangoWrapMode">
 <description>
-Gets the gravity field of a font description. See
-pango_font_description_set_gravity().
-
-Since: 1.16
+A #PangoWrapMode describes how to wrap the lines of a #PangoLayout to the desired width.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="PANGO_WRAP_WORD">
+<parameter_description> wrap lines at word boundaries.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_WRAP_CHAR">
+<parameter_description> wrap lines at character boundaries.
+</parameter_description>
+</parameter>
+<parameter name="PANGO_WRAP_WORD_CHAR">
+<parameter_description> wrap lines at word boundaries, but fall back to character boundaries if there is not
+enough space for a full word.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the gravity field for the font description. Use
-pango_font_description_get_set_fields() to find out if
-the field was explicitly set or not.
-
-</return>
-</function>
+</enum>
 
-<function name="pango_layout_iter_get_run">
+<function name="pango_attr_background_new">
 <description>
-Gets the current run. When iterating by run, at the end of each
-line, there'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.
-
-Use the faster pango_layout_iter_get_run_readonly() if you do not plan
-to modify the contents of the run (glyphs, glyph widths, etc.).
+Create a new background color attribute.
 
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<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 current run.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_tab_array_resize">
+<function name="pango_attr_fallback_new">
 <description>
-Resizes a tab array. You must subsequently initialize any tabs that
-were added as a result of growing the array.
+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.
 
+Since: 1.4
 
 </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 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></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+
+</return>
 </function>
 
-<function name="pango_x_find_first_subfont">
+<function name="pango_attr_family_new">
 <description>
-Looks for subfonts with the @charset charset,
-in @font, and puts the first one in * rfont 
+Create a new font family attribute.
 
 
 </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 name="family">
+<parameter_description> the family or comma separated list of families
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if * rfont now contains a font.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_context_get_metrics">
+<function name="pango_attr_font_desc_new">
 <description>
-Get overall metric information for a 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.
+Create a new font description attribute. This attribute
+allows setting family, style, weight, variant, stretch,
+and size simultaneously.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
-</parameter_description>
-</parameter>
 <parameter name="desc">
-<parameter_description> a #PangoFontDescription structure.  %NULL means that the font
-description from the context will be used.
-</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 context, metrics
-for the default language (as determined by
-pango_language_get_default()) will be returned.
+<parameter_description> the font description
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
-when finished using the object.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_attr_strikethrough_color_new">
+<function name="pango_attr_foreground_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.
+Create a new foreground color attribute.
 
-Since: 1.8
 
 </description>
 <parameters>
@@ -771,1045 +1184,823 @@ Since: 1.8
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_layout_is_ellipsized">
+<function name="pango_attr_gravity_hint_new">
 <description>
-Queries whether the layout had to ellipsize any paragraphs.
-
-This returns %TRUE if the ellipsization mode for @layout
-is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
-and there are paragraphs exceeding that width that have to be
-ellipsized.
+Create a new gravity hint attribute.
 
 Since: 1.16
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="hint">
+<parameter_description> the gravity hint value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if any paragraphs had to be ellipsized, %FALSE
-otherwise.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 
 </return>
 </function>
 
-<function name="pango_ot_ruleset_new_from_description">
+<function name="pango_attr_gravity_new">
 <description>
-Creates a new #PangoOTRuleset for the given OpenType infor and
-matching the given ruleset description.
-
-This is a convenience function that calls pango_ot_ruleset_new_for() and
-adds the static GSUB/GPOS features to the resulting ruleset, followed by
-adding other features to both GSUB and GPOS.
-
-The static feature map members of @desc should be alive as
-long as @info is.
+Create a new gravity attribute.
 
-Since: 1.18
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #PangoOTInfo.
-</parameter_description>
-</parameter>
-<parameter name="desc">
-<parameter_description> a #PangoOTRulesetDescription.
+<parameter name="gravity">
+<parameter_description> the gravity value; should not be %PANGO_GRAVITY_AUTO.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoOTRuleset, which
-should be freed with g_object_unref().
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 
 </return>
 </function>
 
-<function name="pango_win32_font_select_font">
+<function name="pango_attr_iterator_copy">
 <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 pango_win32_font_get_metrics_factor() for information about
-converting from the coordinate space used by this function
-into Pango units.
+Copy a #PangoAttrIterator
 
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont from the Win32 backend
-</parameter_description>
-</parameter>
-<parameter name="hdc">
-<parameter_description> a windows device context
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the operation succeeded.
+<return> the newly allocated
+#PangoAttrIterator, which should be freed with
+pango_attr_iterator_destroy().
 </return>
 </function>
 
-<function name="pango_layout_get_spacing">
+<function name="pango_attr_iterator_destroy">
 <description>
-Gets the amount of spacing between the lines of the layout.
-
+Destroy a #PangoAttrIterator and free all associated memory.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the spacing in Pango units.
-</return>
+<return></return>
 </function>
 
-<function name="pango_tab_array_free">
+<function name="pango_attr_iterator_get">
 <description>
-Frees a tab array and associated resources.
+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="tab_array">
-<parameter_description> a #PangoTabArray
+<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></return>
+<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_layout_line_ref">
+<function name="pango_attr_iterator_get_attrs">
 <description>
-Increase the reference count of a #PangoLayoutLine by one.
+Gets a list of all attributes at the current position of the
+iterator.
 
-Since: 1.10
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="line">
-<parameter_description> a #PangoLayoutLine, may be %NULL
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
 </parameter_description>
 </parameter>
 </parameters>
-<return> the line passed in.
+<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_renderer_draw_trapezoid">
+<function name="pango_attr_iterator_get_font">
 <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
+Get the font and other attributes at the current iterator position.
 
 </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 name="iterator">
+<parameter_description> a #PangoAttrIterator
 </parameter_description>
 </parameter>
-<parameter name="y2">
-<parameter_description> Y coordinate of bottom of trapezoid
+<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:
+&lt;literal&gt;pango_font_description_set_family (desc, pango_font_description_get_family 
(desc))&lt;/literal&gt;.
 </parameter_description>
 </parameter>
-<parameter name="x12">
-<parameter_description> X coordinate of left end of bottom of trapezoid
+<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="x22">
-<parameter_description> X coordinate of right end of bottom of trapezoid
+<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_context_load_font">
+<function name="pango_attr_iterator_next">
 <description>
-Loads the font in one of the fontmaps in the context
-that is the closest match for @desc.
+Advance the iterator until the next change of style.
 
 
 </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 name="iterator">
+<parameter_description> a #PangoAttrIterator
 </parameter_description>
 </parameter>
 </parameters>
-<return> the font loaded, or %NULL if no font matched.
+<return> %FALSE if the iterator is at the end of the list, otherwise %TRUE
 </return>
 </function>
 
-<function name="pango_language_get_sample_string">
+<function name="pango_attr_iterator_range">
 <description>
-Get a string that is representative of the characters needed to
-render a particular language.
-
-The sample text may be a pangram, but is not necessarily.  It is chosen to
-be demonstrative of normal text in the language, as well as exposing font
-feature requirements unique to the language.  It is suitable for use
-as sample text in a font selection dialog.
-
-If @language is %NULL, the default language as found by
-pango_language_get_default() is used.
-
-If Pango does not have a sample string for @language, the classic
-&quot;The quick brown fox...&quot; is returned.  This can be detected by
-comparing the returned pointer value to that returned for (non-existent)
-language code &quot;xx&quot;.  That is, compare to:
-&lt;informalexample&gt;&lt;programlisting&gt;
-pango_language_get_sample_string (pango_language_from_string (&quot;xx&quot;))
-&lt;/programlisting&gt;&lt;/informalexample&gt;
-
+Get the range of the current segment. Note that the
+stored return values are signed, not unsigned like
+the values in #PangoAttribute. To deal with this API
+oversight, stored return values that wouldn't fit into
+a signed integer are clamped to %G_MAXINT.
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #PangoLanguage, or %NULL
+<parameter name="iterator">
+<parameter_description> a #PangoAttrIterator
 </parameter_description>
 </parameter>
-</parameters>
-<return> the sample string. This value is owned by Pango
-and should not be freed.
-</return>
-</function>
-
-<function name="pango_fc_font_key_get_context_key">
-<description>
-Gets the context key member of @key.
-
-Since: 1.24
-
-</description>
-<parameters>
-<parameter name="key">
-<parameter_description> the font key
+<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> the context key, which is owned by @key and should not be modified.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_type_get_name">
+<function name="pango_attr_language_new">
 <description>
-Fetches the attribute type name passed in when registering the type using
-pango_attr_type_register().
-
-The returned value is an interned string (see g_intern_string() for what
-that means) that should not be modified or freed.
+Create a new language tag attribute.
 
-Since: 1.22
 
 </description>
 <parameters>
-<parameter name="type">
-<parameter_description> an attribute type ID to fetch the name for
+<parameter name="language">
+<parameter_description> language tag
 </parameter_description>
 </parameter>
 </parameters>
-<return> the type ID name (which may be %NULL), or %NULL if @type is
-a built-in Pango attribute type or invalid. 
-
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_units_to_double">
+<function name="pango_attr_letter_spacing_new">
 <description>
-Converts a number in Pango units to floating-point: divides
-it by %PANGO_SCALE.
+Create a new letter-spacing attribute.
 
-Since: 1.16
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="i">
-<parameter_description> value in Pango units
+<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 double value.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 
 </return>
 </function>
 
-<function name="pango_x_font_cache_load">
+<function name="pango_attr_list_change">
 <description>
-Loads a #XFontStruct from a X Logical Font Description. The
-result may be newly loaded, or it may have been previously
-stored.
+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="cache">
-<parameter_description> a #PangoXFontCache
+<parameter name="list">
+<parameter_description> a #PangoAttrList
 </parameter_description>
 </parameter>
-<parameter name="xlfd">
-<parameter_description> the X Logical Font Description to load.
+<parameter name="attr">
+<parameter_description> the attribute to insert. Ownership of this
+value is assumed by the list.
 </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>
+<return></return>
 </function>
 
-<function name="pango_config_key_get">
+<function name="pango_attr_list_copy">
 <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).)
+ list (nullable): a #PangoAttrList, may be %NULL
+
+Copy @list and return an identical new list.
 
 
 </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> the newly allocated #PangoAttrList, with a
+reference count of one, which should
+be freed with pango_attr_list_unref().
+Returns %NULL if @list was %NULL.
 </return>
 </function>
 
-<function name="pango_matrix_free">
+<function name="pango_attr_list_filter">
 <description>
-Free a #PangoMatrix created with pango_matrix_copy().
+Given a #PangoAttrList and callback function, removes any elements
+of @list for which @func returns %TRUE and inserts them into
+a new list.
 
-Since: 1.6
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix, may be %NULL
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> callback function; returns %TRUE
+if an attribute should be filtered out.
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> Data to be passed to @func
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the new #PangoAttrList or
+%NULL if no attributes of the given types were found.
+
+</return>
 </function>
 
-<function name="pango_get_lib_subdirectory">
+<function name="pango_attr_list_get_iterator">
 <description>
-On Unix, returns the name of the &quot;pango&quot; subdirectory of LIBDIR
-(which is set at compile time). On Windows, returns the lib\pango
-subdirectory of the Pango installation directory (which is deduced
-at run time from the DLL's location).
+Create a iterator initialized to the beginning of the list.
+ list must not be modified until this iterator is freed.
 
 
 </description>
 <parameters>
+<parameter name="list">
+<parameter_description> a #PangoAttrList
+</parameter_description>
+</parameter>
 </parameters>
-<return> the Pango lib directory. The returned string should
-not be freed.
+<return> the newly allocated #PangoAttrIterator, which should
+be freed with pango_attr_iterator_destroy().
 </return>
 </function>
 
-<function name="pango_font_description_set_family_static">
+<function name="pango_attr_list_insert">
 <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.
+Insert the given attribute into the #PangoAttrList. It will
+be inserted after all other attributes with a matching
+ start_index 
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="list">
+<parameter_description> a #PangoAttrList
 </parameter_description>
 </parameter>
-<parameter name="family">
-<parameter_description> a string representing the family name.
+<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_render_layout">
+<function name="pango_attr_list_insert_before">
 <description>
-Render a #PangoLayout onto a FreeType2 bitmap
+Insert the given attribute into the #PangoAttrList. It will
+be inserted before all other attributes with a matching
+ start_index 
 
 </description>
 <parameters>
-<parameter name="bitmap">
-<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; 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 name="list">
+<parameter_description> a #PangoAttrList
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>         the Y position of the top of the layout (in pixels)
+<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_layout_xy_to_index">
+<function name="pango_attr_list_new">
 <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.
+Create a new empty attribute list with a reference count of one.
 
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description>    a #PangoLayout
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description>         the X offset (in Pango units)
-from the left edge of the layout.
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description>         the Y offset (in Pango units)
-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, %FALSE otherwise.
+<return> the newly allocated #PangoAttrList,
+which should be freed with pango_attr_list_unref().
 </return>
 </function>
 
-<function name="pango_fc_fontset_key_get_absolute_size">
+<function name="pango_attr_list_ref">
 <description>
-Gets the absolute font size of @key in Pango units.  This is adjusted
-for both resolution and transformation matrix.
+Increase the reference count of the given attribute list by one.
 
-Since: 1.24
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="key">
-<parameter_description> the fontset key
+<parameter name="list">
+<parameter_description> a #PangoAttrList, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the pixel size of @key.
+<return> The attribute list passed in
 
 </return>
 </function>
 
-<function name="pango_layout_get_extents">
+<function name="pango_attr_list_splice">
 <description>
-Computes the logical and ink extents of @layout. Logical extents
-are usually what you want for positioning things.  Note that both extents
-may have non-zero x and y.  You may want to use those to offset where you
-render the layout.  Not doing that is a very typical bug that shows up as
-right-to-left layouts not being correctly positioned in a layout with
-a set width.
+This function opens up a hole in @list, fills it in with attributes from
+the left, and then merges @other on top of the hole.
 
-The extents are given in layout coordinates and in Pango units; layout
-coordinates begin at the top left corner of the layout.
+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 pre-edit string in the middle of an edit buffer.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description>   a #PangoLayout
+<parameter name="list">
+<parameter_description> a #PangoAttrList
 </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 name="other">
+<parameter_description> another #PangoAttrList
 </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 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_fc_fontset_key_get_description">
+<function name="pango_attr_list_unref">
 <description>
-Gets the font description of @key.
-
-Since: 1.24
+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="key">
-<parameter_description> the fontset key
+<parameter name="list">
+<parameter_description> a #PangoAttrList, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the font description, which is owned by @key and should not be modified.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_parse_variant">
+<function name="pango_attr_rise_new">
 <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.
+Create a new baseline displacement attribute.
 
 
 </description>
 <parameters>
-<parameter name="str">
-<parameter_description> a string to parse.
-</parameter_description>
-</parameter>
-<parameter name="variant">
-<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 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> %TRUE if @str was successfully parsed.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_xft_font_unlock_face">
+<function name="pango_attr_scale_new">
 <description>
-Releases a font previously obtained with
-pango_xft_font_lock_face().
+Create a new font size scale attribute. The base font for the
+affected text will have its size multiplied by @scale_factor.
 
-Use pango_fc_font_unlock_face() instead.
-
-Since: 1.2
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="scale_factor">
+<parameter_description> factor to scale the font
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+</return>
 </function>
 
-<function name="pango_attribute_init">
+<function name="pango_attr_shape_new">
 <description>
-Initializes @attr's klass to @klass,
-it's start_index to %PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING
-and end_index to %PANGO_ATTR_INDEX_TO_TEXT_END
-such that the attribute applies
-to the entire text by default.
+Create a new shape attribute. A shape is used to impose a
+particular ink and logical rectangle on the result of shaping a
+particular glyph. This might be used, for instance, for
+embedding a picture or a widget inside a #PangoLayout.
 
-Since: 1.20
 
 </description>
 <parameters>
-<parameter name="attr">
-<parameter_description> a #PangoAttribute
+<parameter name="ink_rect">
+<parameter_description>     ink rectangle to assign to each character
 </parameter_description>
 </parameter>
-<parameter name="klass">
-<parameter_description> a #PangoAttributeClass
+<parameter name="logical_rect">
+<parameter_description> logical rectangle to assign to each character
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+</return>
 </function>
 
-<function name="pango_cairo_font_map_create_context">
+<function name="pango_attr_shape_new_with_data">
 <description>
-Create a #PangoContext for the given fontmap.
-
-Since: 1.10
+Like pango_attr_shape_new(), but a user data pointer is also
+provided; this pointer can be accessed when later
+rendering the glyph.
 
-Deprecated: 1.22: Use pango_font_map_create_context() instead.
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoCairoFontMap
+<parameter name="ink_rect">
+<parameter_description>     ink rectangle to assign to each character
 </parameter_description>
 </parameter>
-</parameters>
-<return> the newly created context; free with g_object_unref().
-
-</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 name="logical_rect">
+<parameter_description> logical rectangle to assign to each character
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description>    the length (in bytes) of @text
+<parameter name="data">
+<parameter_description>         user data pointer
 </parameter_description>
 </parameter>
-<parameter name="analysis">
-<parameter_description>  #PangoAnalysis structure from pango_itemize()
+<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="glyphs">
-<parameter_description>    glyph string in which to store results
+<parameter name="destroy_func">
+<parameter_description> function to free @data when the
+attribute is freed, or %NULL
 </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.
-
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
 
-</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 occurred.
 </return>
 </function>
 
-<function name="pango_font_get_glyph_extents">
+<function name="pango_attr_size_new">
 <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.
+Create a new font-size attribute in fractional points.
 
-If @font is %NULL, this function gracefully sets some sane values in the
-output variables and returns.
 
 </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 name="size">
+<parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a point.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+</return>
 </function>
 
-<function name="pango_ft2_font_map_create_context">
+<function name="pango_attr_size_new_absolute">
 <description>
-Create a #PangoContext for the given fontmap.
-
-Since: 1.2
+Create a new font-size attribute in device units.
 
-Deprecated: 1.22: Use pango_font_map_create_context() instead.
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoFT2Fontmap
+<parameter name="size">
+<parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a device unit.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly created context; free with g_object_unref().
+<return> the newly allocated #PangoAttribute, which should be
+freed with pango_attribute_destroy().
 
 </return>
 </function>
 
-<function name="pango_layout_set_auto_dir">
+<function name="pango_attr_stretch_new">
 <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 according to the base direction
-of the layout's #PangoContext. (See pango_context_set_base_dir()).
-
-When the auto-computed direction of a paragraph differs from the
-base direction of the context, the interpretation of
-%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.
+Create a new font stretch attribute
 
-Since: 1.4
 
 </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's contents.
+<parameter name="stretch">
+<parameter_description> the stretch
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+</return>
 </function>
 
-<function name="pango_gravity_get_for_script">
+<function name="pango_attr_strikethrough_color_new">
 <description>
-Based on the script, base gravity, and hint, returns actual gravity
-to use in laying out a single #PangoItem.
-
-If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
-preferred gravity of @script.  To get the preferred gravity of a script,
-pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.
+Create a new strikethrough color attribute. This attribute
+modifies the color of strikethrough lines. If not set, strikethrough
+lines will use the foreground color.
 
-Since: 1.16
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="script">
-<parameter_description> #PangoScript to query
+<parameter name="red">
+<parameter_description> the red value (ranging from 0 to 65535)
 </parameter_description>
 </parameter>
-<parameter name="base_gravity">
-<parameter_description> base gravity of the paragraph
+<parameter name="green">
+<parameter_description> the green value
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> orientation hint
+<parameter name="blue">
+<parameter_description> the blue value
 </parameter_description>
 </parameter>
 </parameters>
-<return> resolved gravity suitable to use for a run of text
-with @script.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 
 </return>
 </function>
 
-<function name="pango_attr_weight_new">
+<function name="pango_attr_strikethrough_new">
 <description>
-Create a new font weight attribute.
+Create a new strike-through attribute.
 
 
 </description>
 <parameters>
-<parameter name="weight">
-<parameter_description> the weight
+<parameter name="strikethrough">
+<parameter_description> %TRUE if the text should be struck-through.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_win32_font_map_for_display">
+<function name="pango_attr_style_new">
 <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>
+Create a new font slant style attribute.
 
-<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 name="style">
+<parameter_description> the slant style
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+</return>
 </function>
 
-<function name="pango_ft2_font_get_face">
+<function name="pango_attr_type_get_name">
 <description>
-Returns the native FreeType2 &lt;type&gt;FT_Face&lt;/type&gt; structure used for this #PangoFont.
-This may be useful if you want to use FreeType2 functions directly.
+Fetches the attribute type name passed in when registering the type using
+pango_attr_type_register().
 
-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().
+The returned value is an interned string (see g_intern_string() for what
+that means) that should not be modified or freed.
 
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont
+<parameter name="type">
+<parameter_description> an attribute type ID to fetch the name for
 </parameter_description>
 </parameter>
 </parameters>
-<return> a pointer to a &lt;type&gt;FT_Face&lt;/type&gt; structure, with the size set correctly,
-or %NULL if @font is %NULL.
+<return> the type ID name (which may be %NULL), or
+%NULL if @type is a built-in Pango attribute type or invalid.
+
 </return>
 </function>
 
-<function name="pango_win32_font_description_from_logfont">
+<function name="pango_attr_type_register">
 <description>
-Creates a #PangoFontDescription that matches the specified LOGFONTA.
-
-The face name, italicness and weight fields in the LOGFONTA are used
-to set up the resulting #PangoFontDescription. If the face name in
-the LOGFONTA contains non-ASCII characters the font is temporarily
-loaded (using CreateFontIndirect()) and an ASCII (usually English)
-name for it is looked up from the font name tables in the font
-data. If that doesn't work, the face name is converted from the
-system codepage to UTF-8 and that is used.
+Allocate a new attribute type ID.  The attribute type name can be accessed
+later by using pango_attr_type_get_name().
 
-Since: 1.12
 
 </description>
 <parameters>
-<parameter name="lfp">
-<parameter_description> a LOGFONTA
+<parameter name="name">
+<parameter_description> an identifier for the type
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoFontDescription, which
-should be freed using pango_font_description_free()
-
+<return> the new type ID.
 </return>
 </function>
 
-<function name="pango_coverage_unref">
+<function name="pango_attr_underline_color_new">
 <description>
-Decrease the reference count on the #PangoCoverage by one.
-If the result is zero, free the coverage and all associated memory.
+Create a new underline color attribute. This attribute
+modifies the color of underlines. If not set, underlines
+will use the foreground color.
+
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="coverage">
-<parameter_description> a #PangoCoverage
+<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></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+
+</return>
 </function>
 
-<function name="pango_font_get_coverage">
+<function name="pango_attr_underline_new">
 <description>
-Computes the coverage map for a given font and language tag.
+Create a new underline-style attribute.
 
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont
-</parameter_description>
-</parameter>
-<parameter name="language">
-<parameter_description> the language tag
+<parameter name="underline">
+<parameter_description> the underline style.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated #PangoCoverage object.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_attr_iterator_get">
+<function name="pango_attr_variant_new">
 <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.
+Create a new font variant attribute (normal or small caps)
 
 
 </description>
 <parameters>
-<parameter name="iterator">
-<parameter_description> a #PangoAttrIterator
-</parameter_description>
-</parameter>
-<parameter name="type">
-<parameter_description> the type of attribute to find.
+<parameter name="variant">
+<parameter_description> the variant
 </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> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_scan_string">
+<function name="pango_attr_weight_new">
 <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 '&quot;'. Instead a quoted string, '\&quot;' represents
-a literal quote. Leading white space outside of quotes is skipped.
+Create a new font weight attribute.
 
 
 </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 name="weight">
+<parameter_description> the weight
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE if a parse error occurred.
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
 </return>
 </function>
 
-<function name="pango_context_set_language">
+<function name="pango_attribute_copy">
 <description>
-Sets the global language tag for the context.  The default language
-for the locale of the running process can be found using
-pango_language_get_default().
+Make a copy of an attribute.
+
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
-</parameter_description>
-</parameter>
-<parameter name="language">
-<parameter_description> the new language tag.
+<parameter name="attr">
+<parameter_description> a #PangoAttribute
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoAttribute,
+which should be freed with pango_attribute_destroy().
+</return>
 </function>
 
-<function name="pango_layout_set_text">
+<function name="pango_attribute_destroy">
 <description>
-Sets the text of the layout.
-
-Note that if you have used
-pango_layout_set_markup() or pango_layout_set_markup_with_accel() on
- layout before, you may want to call pango_layout_set_attributes() to clear
-the attributes set on the layout from the markup as this function does not
-clear attributes.
+Destroy a #PangoAttribute and free all associated memory.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> a valid UTF-8 string
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> maximum length of @text, in bytes. -1 indicates that
-the string is nul-terminated and the length should be
-calculated.  The text will also be truncated on
-encountering a nul-termination even when @length is
-positive.
+<parameter name="attr">
+<parameter_description> a #PangoAttribute.
 </parameter_description>
 </parameter>
 </parameters>
@@ -1838,187 +2029,203 @@ attributes apply to.
 </return>
 </function>
 
-<function name="pango_coverage_max">
+<function name="pango_attribute_init">
 <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.
+Initializes @attr's klass to @klass,
+it's start_index to %PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING
+and end_index to %PANGO_ATTR_INDEX_TO_TEXT_END
+such that the attribute applies
+to the entire text by default.
+
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="coverage">
-<parameter_description> a #PangoCoverage
+<parameter name="attr">
+<parameter_description> a #PangoAttribute
 </parameter_description>
 </parameter>
-<parameter name="other">
-<parameter_description> another #PangoCoverage
+<parameter name="klass">
+<parameter_description> a #PangoAttrClass
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_win32_render_layout_line">
+<function name="pango_bidi_type_for_unichar">
 <description>
-Render a #PangoLayoutLine onto a device context. For underlining to
-work property the text alignment of the DC should have TA_BASELINE
-and TA_LEFT.
+Determines the normative bidirectional character type of a
+character, as specified in the Unicode Character Database.
+
+A simplified version of this function is available as
+pango_unichar_direction().
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="hdc">
-<parameter_description>       DC 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 name="ch">
+<parameter_description> a Unicode character
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the bidirectional character type, as used in the
+Unicode bidirectional algorithm.
+
+</return>
 </function>
 
-<function name="pango_ft2_render">
+<function name="pango_break">
 <description>
-Renders a #PangoGlyphString onto a FreeType2 bitmap.
+Determines possible line, word, and character breaks
+for a string of Unicode text with a single analysis.  For most
+purposes you may want to use pango_get_log_attrs().
 
 </description>
 <parameters>
-<parameter name="bitmap">
-<parameter_description>  the FreeType2 bitmap onto which to draw the string
+<parameter name="text">
+<parameter_description>      the text to process
 </parameter_description>
 </parameter>
-<parameter name="font">
-<parameter_description>    the font in which to draw the string
+<parameter name="length">
+<parameter_description>    length of @text in bytes (may be -1 if @text is nul-terminated)
 </parameter_description>
 </parameter>
-<parameter name="glyphs">
-<parameter_description>  the glyph string to draw
+<parameter name="analysis">
+<parameter_description>  #PangoAnalysis structure from pango_itemize()
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>       the x position of the start of the string (in pixels)
+<parameter name="attrs">
+<parameter_description> an array to store character
+information in
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>       the y position of the baseline (in pixels)
+<parameter name="attrs_len">
+<parameter_description> size of the array passed as @attrs
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_move_cursor_visually">
+<function name="pango_cairo_context_get_font_options">
 <description>
-Computes a new cursor position from an old position and
-a count of positions to move visually. If @direction is positive,
-then the new strong cursor position will be one position
-to the right of the old cursor position. If @direction is negative,
-then the new strong cursor position will be one position
-to the left of the old cursor position.
-
-In the presence of bidirectional 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.
+Retrieves any font rendering options previously set with
+pango_cairo_context_set_font_options(). This function does not report options
+that are derived from the target surface by pango_cairo_update_context()
 
-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.
+Since: 1.10
 
 </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 &gt; 0, the cursor
-was at the leading edge.
+<parameter name="context">
+<parameter_description> a #PangoContext, from a pangocairo font map
 </parameter_description>
 </parameter>
-<parameter name="direction">
-<parameter_description>    direction to move cursor. A negative
-value indicates motion to the left.
+</parameters>
+<return> the font options previously set on the
+context, or %NULL if no options have been set. This value is
+owned by the context and must not be modified or freed.
+
+</return>
+</function>
+
+<function name="pango_cairo_context_get_resolution">
+<description>
+Gets the resolution for the context. See pango_cairo_context_set_resolution()
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from a pangocairo font map
 </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.
+</parameters>
+<return> the resolution in &quot;dots per inch&quot;. A negative value will
+be returned if no resolution has previously been set.
+
+</return>
+</function>
+
+<function name="pango_cairo_context_get_shape_renderer">
+<description>
+Sets callback function for context to use for rendering attributes
+of type %PANGO_ATTR_SHAPE.  See #PangoCairoShapeRendererFunc for
+details.
+
+Retrieves callback function and associated user data for rendering
+attributes of type %PANGO_ATTR_SHAPE as set by
+pango_cairo_context_set_shape_renderer(), if any.
+
+Since: 1.18
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #PangoContext, from a pangocairo font map
 </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 name="data">
+<parameter_description> Pointer to #gpointer to return user data
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the shape rendering callback previously
+set on the context, or %NULL if no shape rendering callback have
+been set.
+
+</return>
 </function>
 
-<function name="pango_layout_iter_copy">
+<function name="pango_cairo_context_set_font_options">
 <description>
-Copies a #PangLayoutIter.
+Sets the font options used when rendering text with this context.
+These options override any options that pango_cairo_update_context()
+derives from the target surface.
 
-Since: 1.20
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter, may be %NULL
+<parameter name="context">
+<parameter_description> a #PangoContext, from a pangocairo font map
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> a #cairo_font_options_t, or %NULL to unset
+any previously set options. A copy is made.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoLayoutIter, which should
-be freed with pango_layout_iter_free(), or %NULL if
- iter was %NULL.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_gravity_new">
+<function name="pango_cairo_context_set_resolution">
 <description>
-Create a new gravity attribute.
+Sets the resolution for the context. 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.16
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="gravity">
-<parameter_description> the gravity value; should not be %PANGO_GRAVITY_AUTO.
+<parameter name="context">
+<parameter_description> a #PangoContext, from a pangocairo font map
+</parameter_description>
+</parameter>
+<parameter name="dpi">
+<parameter_description> the resolution in &quot;dots per inch&quot;. (Physical inches aren't actually
+involved; the terminology is conventional.) A 0 or negative value
+means to use the resolution from the font map.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-
-</return>
+<return></return>
 </function>
 
 <function name="pango_cairo_context_set_shape_renderer">
@@ -2036,8 +2243,8 @@ Since: 1.18
 </parameter_description>
 </parameter>
 <parameter name="func">
-<parameter_description> Callback function for rendering attributes of type
-%PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.
+<parameter_description> Callback function for rendering attributes of
+type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.
 </parameter_description>
 </parameter>
 <parameter name="data">
@@ -2053,373 +2260,458 @@ context is freed to release @data, or %NULL.
 <return></return>
 </function>
 
-<function name="pango_x_font_map_get_font_cache">
+<function name="pango_cairo_create_context">
 <description>
-Obtains the font cache associated with the given font map.
+Creates a context object set up to match the current transformation
+and target surface of the Cairo context.  This context can then be
+used to create a layout using pango_layout_new().
 
+This function is a convenience function that creates a context using
+the default font map, then updates it to @cr.  If you just need to
+create a layout for use with @cr and do not need to access #PangoContext
+directly, you can use pango_cairo_create_layout() instead.
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="font_map">
-<parameter_description> a #PangoXFontMap.
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #PangoXFontCache of @font_map.
+<return> the newly created #PangoContext. Free with
+g_object_unref().
+
 </return>
 </function>
 
-<function name="pango_win32_get_context">
+<function name="pango_cairo_create_layout">
 <description>
-Retrieves a #PangoContext appropriate for rendering with Windows fonts.
+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()
 
-Deprecated: 1.22: Use pango_win32_font_map_for_display() followed by
-pango_font_map_create_context() instead.
+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.
+
+Since: 1.10
 
 </description>
 <parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
 </parameters>
-<return> the new #PangoContext
+<return> the newly created #PangoLayout. Free with
+g_object_unref().
 
 </return>
 </function>
 
-<function name="pango_font_description_set_stretch">
+<function name="pango_cairo_error_underline_path">
 <description>
-Sets the stretch field of a font description. The stretch field
-specifies how narrow or wide the font should be.
+Add a squiggly line to the current path in the specified cairo context 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.14
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="stretch">
-<parameter_description> the stretch for the font description
+<parameter name="x">
+<parameter_description> The X coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The Y coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Non-negative width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Non-negative height of the rectangle
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_item_new">
+<function name="pango_cairo_font_get_scaled_font">
 <description>
-Creates a new #PangoItem structure initialized to default values.
+Gets the #cairo_scaled_font_t used by @font.
+The scaled font can be referenced and kept using
+cairo_scaled_font_reference().
 
+Since: 1.18
 
 </description>
 <parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont from a #PangoCairoFontMap
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly allocated #PangoItem, which should
-be freed with pango_item_free().
+<return> the #cairo_scaled_font_t used by @font,
+or %NULL if @font is %NULL.
+
 </return>
 </function>
 
-<function name="pango_parse_enum">
+<function name="pango_cairo_font_map_create_context">
 <description>
-Parses an enum type and stores the result in @value.
+Create a #PangoContext for the given fontmap.
 
-If @str does not match the nick name of any of the possible values for the
-enum and is not an integer, %FALSE is returned, a warning is issued
-if @warn is %TRUE, and a
-string representing the list of possible values is stored in
- possible_values   The list is slash-separated, eg.
-&quot;none/start/middle/end&quot;.  If failed and @possible_values is not %NULL,
-returned string should be freed using g_free().
+Since: 1.10
 
-Since: 1.16
+Deprecated: 1.22: Use pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="type">
-<parameter_description> enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE.
-</parameter_description>
-</parameter>
-<parameter name="str">
-<parameter_description> string to parse.  May be %NULL.
-</parameter_description>
-</parameter>
-<parameter name="value">
-<parameter_description> integer to store the result in, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="warn">
-<parameter_description> if %TRUE, issue a g_warning() on bad input.
-</parameter_description>
-</parameter>
-<parameter name="possible_values">
-<parameter_description> place to store list of possible values on failure, or %NULL.
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @str was successfully parsed.
+<return> the newly created context; free with g_object_unref().
 
 </return>
 </function>
 
-<function name="pango_version_string">
+<function name="pango_cairo_font_map_get_default">
 <description>
-This is similar to the macro %PANGO_VERSION_STRING except that
-it returns the version of Pango available at run-time, as opposed to
-the version available at compile-time.
+Gets a default #PangoCairoFontMap to use with Cairo.
 
-Since: 1.16
+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.
+
+The default Cairo fontmap can be changed by using
+pango_cairo_font_map_set_default().  This can be used to
+change the Cairo font backend that the default fontmap
+uses for example.
+
+Note that since Pango 1.32.6, the default fontmap is per-thread.
+Each thread gets its own default fontmap.  In this way,
+PangoCairo can be used safely from multiple threads.
+
+Since: 1.10
 
 </description>
 <parameters>
 </parameters>
-<return> A string containing the version of Pango library
-available at run time.
-The returned string is owned by Pango and should not be modified
-or freed.
+<return> the default PangoCairo fontmap
+for the current thread. This object is owned by Pango and must not be freed.
 
 </return>
 </function>
 
-<function name="pango_cairo_show_layout_line">
+<function name="pango_cairo_font_map_get_font_type">
 <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.
+Gets the type of Cairo font backend that @fontmap uses.  
 
-Since: 1.10
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description> a #PangoLayoutLine
+</parameters>
+<return> the #cairo_font_type_t cairo font backend type
+
+</return>
+</function>
+
+<function name="pango_cairo_font_map_get_resolution">
+<description>
+Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()
+
+Since: 1.10
+
+</description>
+<parameters>
+<parameter name="fontmap">
+<parameter_description> a #PangoCairoFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the resolution in &quot;dots per inch&quot;
+
+</return>
 </function>
 
-<function name="pango_layout_iter_get_line">
+<function name="pango_cairo_font_map_new">
 <description>
-Gets the current line.
+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.
 
-Use the faster pango_layout_iter_get_line_readonly() if you do not plan
-to modify the contents of the line (glyphs, glyph widths, etc.).
+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.
+
+You can override the type of backend returned by using an
+environment variable %PANGOCAIRO_BACKEND.  Supported types,
+based on your build, are fc (fontconfig), win32, and coretext.
+If requested type is not available, NULL is returned. Ie.
+this is only useful for testing, when at least two backends
+are compiled in.
 
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
-</parameter_description>
-</parameter>
 </parameters>
-<return> the current line.
+<return> the newly allocated #PangoFontMap,
+which should be freed with g_object_unref().
+
 </return>
 </function>
 
-<function name="pango_win32_font_get_glyph_index">
+<function name="pango_cairo_font_map_new_for_font_type">
 <description>
-Obtains the index of the glyph for @wc in @font, or 0, if not
-covered.
+Creates a new #PangoCairoFontMap object of the type suitable
+to be used with cairo font backend of type @fonttype.
+
+In most cases one should simply use @pango_cairo_font_map_new(),
+or in fact in most of those cases, just use
+ pango_cairo_font_map_get_default().
 
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
-</parameter_description>
-</parameter>
-<parameter name="wc">
-<parameter_description> a Unicode character.
+<parameter name="fonttype">
+<parameter_description> desired #cairo_font_type_t
 </parameter_description>
 </parameter>
 </parameters>
-<return> the glyph index for @wc.
+<return> the newly allocated
+#PangoFontMap of suitable type which should be freed
+with g_object_unref(), or %NULL if the requested
+cairo font backend is not supported / compiled in.
+
 </return>
 </function>
 
-<function name="pango_ft2_font_map_substitute_changed">
+<function name="pango_cairo_font_map_set_default">
 <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 substitution function will return different
-results for the same input pattern, you must call this function.
+Sets a default #PangoCairoFontMap to use with Cairo.
 
-Since: 1.2
+This can be used to change the Cairo font backend that the
+default fontmap uses for example.  The old default font map
+is unreffed and the new font map referenced.
+
+Note that since Pango 1.32.6, the default fontmap is per-thread.
+This function only changes the default fontmap for
+the current thread.   Default fontmaps of exisiting threads
+are not changed.  Default fontmaps of any new threads will
+still be created using pango_cairo_font_map_new().
+
+A value of %NULL for @fontmap will cause the current default
+font map to be released and a new default font
+map to be created on demand, using pango_cairo_font_map_new().
+
+Since: 1.22
 
 </description>
 <parameters>
 <parameter name="fontmap">
-<parameter_description> a #PangoFT2Fontmap
+<parameter_description> The new default font map, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_glyph_item_iter_free">
+<function name="pango_cairo_font_map_set_resolution">
 <description>
-Frees a #PangoGlyphItemIter created by pango_glyph_item_iter_copy().
+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.22
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoGlyphItemIter, may be %NULL
+<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't actually
+involved; the terminology is conventional.)
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_description_merge_static">
+<function name="pango_cairo_glyph_string_path">
 <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.
+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="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="desc_to_merge">
-<parameter_description> the #PangoFontDescription to merge from
+<parameter name="font">
+<parameter_description> a #PangoFont from a #PangoCairoFontMap
 </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 name="glyphs">
+<parameter_description> a #PangoGlyphString
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_map_create_context">
+<function name="pango_cairo_layout_line_path">
 <description>
-Creates a #PangoContext connected to @fontmap.  This is equivalent
-to pango_context_new() followed by pango_context_set_font_map().
-
-If you are using Pango as part of a higher-level system,
-that system may have it's own way of create a #PangoContext.
-For instance, the GTK+ toolkit has, among others,
-gdk_pango_context_get_for_screen(), and
-gtk_widget_get_pango_context().  Use those instead.
+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.22
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoFontMap
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoContext, which should
-be freed with g_object_unref().
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_font_desc_new">
+<function name="pango_cairo_layout_path">
 <description>
-Create a new font description attribute. This attribute
-allows setting family, style, weight, variant, stretch,
-and size simultaneously.
+Adds the text in a #PangoLayout 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="desc">
-<parameter_description> the font description
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> a Pango layout
 </parameter_description>
 </parameter>
 </parameters>
-<return>  the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_glyph_item_apply_attrs">
+<function name="pango_cairo_show_error_underline">
 <description>
-Splits a shaped item (PangoGlyphItem) into multiple items based
-on an attribute list. The idea is that if you have attributes
-that don'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 strikethrough, then the cluster will end
-up with both underline and strikethrough attributes. In these
-cases, it may happen that item-&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.
+Draw a squiggly line in the specified cairo context 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.2
+Since: 1.14
 
 </description>
 <parameters>
-<parameter name="glyph_item">
-<parameter_description> a shaped item
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="text">
-<parameter_description> text that @list applies to
+<parameter name="x">
+<parameter_description> The X coordinate of one corner of the rectangle
 </parameter_description>
 </parameter>
-<parameter name="list">
-<parameter_description> a #PangoAttrList
+<parameter name="y">
+<parameter_description> The Y coordinate of one corner of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> Non-negative width of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> Non-negative height of the rectangle
 </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().
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_foreground_new">
+<function name="pango_cairo_show_glyph_item">
 <description>
-Create a new foreground color attribute.
+Draws the glyphs in @glyph_item in the specified cairo context,
+embedding the text associated with the glyphs in the output if the
+output format supports it (PDF for example), otherwise it acts
+similar to pango_cairo_show_glyph_string().
 
+The origin of the glyphs (the left edge of the baseline) will
+be drawn at the current point of the cairo context.
+
+Note that @text is the start of the text for layout, which is then
+indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="red">
-<parameter_description> the red value (ranging from 0 to 65535)
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="green">
-<parameter_description> the green value
+<parameter name="text">
+<parameter_description> the UTF-8 text that @glyph_item refers to
 </parameter_description>
 </parameter>
-<parameter name="blue">
-<parameter_description> the blue value
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_cairo_update_layout">
+<function name="pango_cairo_show_glyph_string">
 <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.
+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
 
@@ -2429,1039 +2721,909 @@ Since: 1.10
 <parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="layout">
-<parameter_description> a #PangoLayout, from pango_cairo_create_layout()
+<parameter name="font">
+<parameter_description> a #PangoFont from a #PangoCairoFontMap
 </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 name="glyphs">
+<parameter_description> a #PangoGlyphString
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_fc_decoder_get_charset">
+<function name="pango_cairo_show_layout">
 <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.
+Draws a #PangoLayout 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.6
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="decoder">
-<parameter_description> a #PangoFcDecoder
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="fcfont">
-<parameter_description> the #PangoFcFont to query.
+<parameter name="layout">
+<parameter_description> a Pango layout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #FcCharset for @fcfont; must not be modified
-or freed.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_language_new">
+<function name="pango_cairo_show_layout_line">
 <description>
-Create a new language tag attribute.
+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="language">
-<parameter_description> language tag
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_context_set_gravity_hint">
+<function name="pango_cairo_update_context">
 <description>
-Sets the gravity hint for the context.
-
-The gravity hint is used in laying vertical text out, and is only relevant
-if gravity of the context as returned by pango_context_get_gravity()
-is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST.
+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's necessary to call pango_layout_context_changed() on those
+layouts.
 
-Since: 1.16
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="cr">
+<parameter_description> a Cairo context
 </parameter_description>
 </parameter>
-<parameter name="hint">
-<parameter_description> the new gravity hint
+<parameter name="context">
+<parameter_description> a #PangoContext, from a pangocairo font map
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_get_font_description">
+<function name="pango_cairo_update_layout">
 <description>
-Gets the font description for the layout, if any.
+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.8
+Since: 1.10
 
 </description>
 <parameters>
+<parameter name="cr">
+<parameter_description> a Cairo context
+</parameter_description>
+</parameter>
 <parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter_description> a #PangoLayout, from pango_cairo_create_layout()
 </parameter_description>
 </parameter>
 </parameters>
-<return> a pointer to the layout's font description,
-or %NULL if the font description from the layout's
-context is inherited. This value is owned by the layout
-and must not be modified or freed.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_parse_weight">
+<function name="pango_color_copy">
 <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.
+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="str">
-<parameter_description> a string to parse.
-</parameter_description>
-</parameter>
-<parameter name="weight">
-<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 name="src">
+<parameter_description> color to copy, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @str was successfully parsed.
+<return> the newly allocated #PangoColor, which
+should be freed with pango_color_free(), or %NULL if
+ src was %NULL.
 </return>
 </function>
 
-<function name="pango_x_render">
+<function name="pango_color_free">
 <description>
-Renders a #PangoGlyphString onto an X drawable.
+Frees a color allocated by pango_color_copy().
 
 </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 name="color">
+<parameter_description> an allocated #PangoColor, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_xft_get_font_map">
+<function name="pango_color_parse">
 <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.
+Fill in the fields of a color from a string specification. The
+string can either one of a large set of standard names. (Taken
+from the CSS &lt;ulink 
url=&quot;http://dev.w3.org/csswg/css-color/#named-colors&quot;&gt;specification&lt;/ulink&gt;), or it can be 
a hexadecimal
+value in the
+form '&#35;rgb' '&#35;rrggbb' '&#35;rrrgggbbb' or '&#35;rrrrggggbbbb' where
+'r', 'g' and 'b' are hex digits of the red, green, and blue
+components of the color, respectively. (White in the four
+forms is '&#35;fff' '&#35;ffffff' '&#35;fffffffff' and '&#35;ffffffffffff')
 
-Since: 1.2
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X display
+<parameter name="color">
+<parameter_description> a #PangoColor structure in which to store the
+result, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="screen">
-<parameter_description> the screen number of a screen within @display
+<parameter name="spec">
+<parameter_description> a string specifying the new color
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoFontMap object, owned by Pango.
-
+<return> %TRUE if parsing of the specifier succeeded,
+otherwise false.
 </return>
 </function>
 
-<function name="pango_x_fallback_shape">
+<function name="pango_color_to_string">
 <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.
+Returns a textual specification of @color in the hexadecimal form
+&lt;literal&gt;&#35;rrrrggggbbbb&lt;/literal&gt;, where &lt;literal&gt;r&lt;/literal&gt;,
+&lt;literal&gt;g&lt;/literal&gt; and &lt;literal&gt;b&lt;/literal&gt; are hex digits representing
+the red, green, and blue components respectively.
+
+Since: 1.16
 
 </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 name="color">
+<parameter_description> a #PangoColor
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a newly-allocated text string that must be freed with g_free().
+
+</return>
 </function>
 
-<function name="pango_cairo_glyph_string_path">
+<function name="pango_config_key_get">
 <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.
+Looks up a key in the Pango config database
+(pseudo-win.ini style, read from $sysconfdir/pango/pangorc,
+$XDG_CONFIG_HOME/pango/pangorc, and getenv (PANGO_RC_FILE).)
 
-Since: 1.10
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
-</parameter_description>
-</parameter>
-<parameter name="font">
-<parameter_description> a #PangoFont from a #PangoCairoFontMap
-</parameter_description>
-</parameter>
-<parameter name="glyphs">
-<parameter_description> a #PangoGlyphString
+<parameter name="key">
+<parameter_description> Key to look up, in the form &quot;SECTION/KEY&quot;.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<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_glyph_item_free">
+<function name="pango_config_key_get_system">
 <description>
-Frees a #PangoGlyphItem and resources to which it points.
+Looks up a key, consulting only the Pango system config database
+in $sysconfdir/pango/pangorc.
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="glyph_item">
-<parameter_description> a #PangoGlyphItem, may be %NULL
+<parameter name="key">
+<parameter_description> Key to look up, in the form &quot;SECTION/KEY&quot;.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<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_renderer_set_matrix">
+<function name="pango_context_changed">
 <description>
-Sets the transformation matrix that will be applied when rendering.
+Forces a change in the context, which will cause any #PangoLayout
+using this context to re-layout.
 
-Since: 1.8
+This function is only useful when implementing a new backend
+for Pango, something applications won't do. Backends should
+call this function if they have attached extra data to the context
+and such data is changed.
+
+Since: 1.32.4
 
 </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 name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_attr_underline_new">
+<function name="pango_context_get_base_dir">
 <description>
-Create a new underline-style attribute.
+Retrieves the base direction for the context. See
+pango_context_set_base_dir().
 
 
 </description>
 <parameters>
-<parameter name="underline">
-<parameter_description> the underline style.
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the base direction for the context.
 </return>
 </function>
 
-<function name="pango_layout_is_wrapped">
+<function name="pango_context_get_base_gravity">
 <description>
-Queries whether the layout had to wrap any paragraphs.
-
-This returns %TRUE if a positive width is set on @layout,
-ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
-and there are paragraphs exceeding the layout width that have
-to be wrapped.
+Retrieves the base gravity for the context. See
+pango_context_set_base_gravity().
 
 Since: 1.16
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if any paragraphs had to be wrapped, %FALSE
-otherwise.
+<return> the base gravity for the context.
 
 </return>
 </function>
 
-<function name="pango_layout_get_iter">
+<function name="pango_context_get_font_description">
 <description>
-Returns an iterator to iterate over the visual extents of the layout.
+Retrieve the default font description for the context.
 
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #PangoLayoutIter that should be freed using
-pango_layout_iter_free().
+<return> a pointer to the context's default font
+description. This value must not be modified or freed.
 </return>
 </function>
 
-<function name="pango_language_get_scripts">
+<function name="pango_context_get_font_map">
 <description>
-Determines the scripts used to to write @language.
-If nothing is known about the language tag @language,
-or if @language is %NULL, then %NULL is returned.
-The list of scripts returned starts with the script that the
-language uses most and continues to the one it uses least.
-
-The value @num_script points at will be set to the number
-of scripts in the returned array (or zero if %NULL is returned).
-
-Most languages use only one script for writing, but there are
-some that use two (Latin and Cyrillic for example), and a few
-use three (Japanese for example).  Applications should not make
-any assumptions on the maximum number of scripts returned
-though, except that it is positive if the return value is not
-%NULL, and it is a small number.
+Gets the #PangoFontMap used to look up fonts for this context.
 
-The pango_language_includes_script() function uses this function
-internally.
-
-Since: 1.22
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #PangoLanguage, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="num_scripts">
-<parameter_description> location to return number of scripts, or %NULL
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> An array of #PangoScript values, with the
-number of entries in the array stored in @num_scripts, or
-%NULL if Pango does not have any information about this
-particular language tag (also the case if @language is %NULL).
-The returned array is owned by Pango and should not be modified
-or freed.
- 
+<return> the font map for the #PangoContext.
+This value is owned by Pango and should not be unreferenced.
+
 </return>
 </function>
 
-<function name="pango_cairo_context_set_font_options">
+<function name="pango_context_get_gravity">
 <description>
-Sets the font options used when rendering text with this context.
-These options override any options that pango_cairo_update_context()
-derives from the target surface.
+Retrieves the gravity for the context. This is similar to
+pango_context_get_base_gravity(), except for when the base gravity
+is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
+to return the gravity from the current context matrix.
 
-Since: 1.10
+Since: 1.16
 
 </description>
 <parameters>
 <parameter name="context">
-<parameter_description> a #PangoContext, from a pangocairo font map
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> a #cairo_font_options_t, or %NULL to unset any previously set
-options. A copy is made.
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the resolved gravity for the context.
+
+</return>
 </function>
 
-<function name="pango_layout_set_spacing">
+<function name="pango_context_get_gravity_hint">
 <description>
-Sets the amount of spacing in Pango unit between the lines of the
-layout.
+Retrieves the gravity hint for the context. See
+pango_context_set_gravity_hint() for details.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout.
-</parameter_description>
-</parameter>
-<parameter name="spacing">
-<parameter_description> the amount of spacing
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the gravity hint for the context.
+
+</return>
 </function>
 
-<function name="pango_attr_scale_new">
+<function name="pango_context_get_language">
 <description>
-Create a new font size scale attribute. The base font for the
-affected text will have its size multiplied by @scale_factor.
+Retrieves the global language tag for the context.
 
 
 </description>
 <parameters>
-<parameter name="scale_factor">
-<parameter_description> factor to scale the font
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the global language tag.
 </return>
 </function>
 
-<function name="pango_attr_list_get_iterator">
+<function name="pango_context_get_matrix">
 <description>
-Create a iterator initialized to the beginning of the list.
- list must not be modified until this iterator is freed.
+Gets the transformation matrix that will be applied when
+rendering with this context. See pango_context_set_matrix().
 
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttrIterator, which should
-be freed with pango_attr_iterator_destroy().
+<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.
+
 </return>
 </function>
 
-<function name="pango_layout_iter_get_run_extents">
+<function name="pango_context_get_metrics">
 <description>
-Gets the extents of the current run in layout coordinates
-(origin is the top left of the entire layout).
+Get overall metric information for a 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="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="ink_rect">
-<parameter_description> rectangle to fill with ink extents, or %NULL
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription structure.  %NULL means that the
+font description from the context will be used.
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle to fill with logical extents, or %NULL
+<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 context, metrics
+for the default language (as determined by pango_language_get_default())
+will be returned.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
+when finished using the object.
+</return>
 </function>
 
-<function name="pango_layout_get_lines_readonly">
+<function name="pango_context_get_serial">
 <description>
-Returns the lines of the @layout as a list.
+Returns the current serial number of @context.  The serial number is
+initialized to an small number larger than zero when a new context
+is created and is increased whenever the context is changed using any
+of the setter functions, or the #PangoFontMap it uses to find fonts has
+changed. The serial may wrap, but will never have the value 0. Since it
+can wrap, never compare it with &quot;less than&quot;, always use &quot;not equals&quot;.
 
-This is a faster alternative to pango_layout_get_lines(),
-but the user is not expected
-to modify the contents of the lines (glyphs, glyph widths, etc.).
+This can be used to automatically detect changes to a #PangoContext, and
+is only useful when implementing objects that need update when their
+#PangoContext changes, like #PangoLayout.
 
-Since: 1.16
+Since: 1.32.4
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="context">
+<parameter_description> a #PangoContext
 </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's
-text or properties.  No changes should be made to the lines.
+<return> The current serial number of @context.
 
 </return>
 </function>
 
-<function name="pango_font_description_set_weight">
+<function name="pango_context_list_families">
 <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.
+List all families for a context.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="weight">
-<parameter_description> the weight for the font description.
+<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_xft_render_layout">
+<function name="pango_context_load_font">
 <description>
-Render a #PangoLayout onto a #XftDraw
+Loads the font in one of the fontmaps in the context
+that is the closest match for @desc.
 
-Since: 1.8
 
 </description>
 <parameters>
-<parameter name="draw">
-<parameter_description>      an #XftDraw
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="color">
-<parameter_description>     the foreground color in which to draw the layout
-(may be overridden by color attributes)
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the font to load
 </parameter_description>
 </parameter>
-<parameter name="layout">
-<parameter_description>    a #PangoLayout
+</parameters>
+<return> the newly allocated #PangoFont
+that was loaded, or %NULL if no font matched.
+</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="x">
-<parameter_description>         the X position of the left of the layout (in Pango units)
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the fonts to load
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>         the Y position of the top of the layout (in Pango units)
+<parameter name="language">
+<parameter_description> a #PangoLanguage the fonts will be used for
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated
+#PangoFontset loaded, or %NULL if no font matched.
+</return>
 </function>
 
-<function name="pango_win32_font_cache_new">
+<function name="pango_context_new">
 <description>
-Creates a font cache.
+Creates a new #PangoContext initialized to default values.
+
+This function is not particularly useful as it should always
+be followed by a pango_context_set_font_map() call, and the
+function pango_font_map_create_context() does these two steps
+together and hence users are recommended to use that.
+
+If you are using Pango as part of a higher-level system,
+that system may have it's own way of create a #PangoContext.
+For instance, the GTK+ toolkit has, among others,
+gdk_pango_context_get_for_screen(), and
+gtk_widget_get_pango_context().  Use those instead.
 
 
 </description>
 <parameters>
 </parameters>
-<return> The new font cache. This must be freed with
-pango_win32_font_cache_free().
+<return> the newly allocated #PangoContext, which should
+be freed with g_object_unref().
 </return>
 </function>
 
-<function name="pango_font_metrics_new">
+<function name="pango_context_set_base_dir">
 <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.
+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> a newly-created #PangoFontMetrics structure
-with a reference count of 1.
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_description_get_weight">
+<function name="pango_context_set_base_gravity">
 <description>
-Gets the weight field of a font description. See
-pango_font_description_set_weight().
+Sets the base gravity for the context.
 
+The base gravity is used in laying vertical text out.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="gravity">
+<parameter_description> the new base gravity
 </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 explicitly set or not.
-</return>
+<return></return>
 </function>
 
-<function name="pango_matrix_scale">
+<function name="pango_context_set_font_description">
 <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
+Set the default font description for the context
 
 </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 name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="scale_y">
-<parameter_description> amount to scale by in Y direction
+<parameter name="desc">
+<parameter_description> the new pango font description
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_renderer_set_color">
+<function name="pango_context_set_font_map">
 <description>
-Sets the color for part of the rendering.
-
-Since: 1.8
+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="renderer">
-<parameter_description> a #PangoRenderer
-</parameter_description>
-</parameter>
-<parameter name="part">
-<parameter_description> the part to change the color of
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="color">
-<parameter_description> the new color or %NULL to unset the current color
+<parameter name="font_map">
+<parameter_description> the #PangoFontMap to set.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_cairo_context_get_shape_renderer">
+<function name="pango_context_set_gravity_hint">
 <description>
-Sets callback function for context to use for rendering attributes
-of type %PANGO_ATTR_SHAPE.  See #PangoCairoShapeRendererFunc for
-details.
+Sets the gravity hint for the context.
 
-Retrieves callback function and associated user data for rendering
-attributes of type %PANGO_ATTR_SHAPE as set by
-pango_cairo_context_set_shape_renderer(), if any.
+The gravity hint is used in laying vertical text out, and is only relevant
+if gravity of the context as returned by pango_context_get_gravity()
+is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST.
 
-Since: 1.18
+Since: 1.16
 
 </description>
 <parameters>
 <parameter name="context">
-<parameter_description> a #PangoContext, from a pangocairo font map
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="data">
-<parameter_description> Pointer to #gpointer to return user data
+<parameter name="hint">
+<parameter_description> the new gravity hint
 </parameter_description>
 </parameter>
 </parameters>
-<return> the shape rendering callback previously set on the context, or %NULL
-if no shape rendering callback have been set.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_description_to_string">
+<function name="pango_context_set_language">
 <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.
-
+Sets the global language tag for the context.  The default language
+for the locale of the running process can be found using
+pango_language_get_default().
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="context">
+<parameter_description> a #PangoContext
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> the new language tag.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new string that must be freed with g_free().
-</return>
+<return></return>
 </function>
 
-<function name="pango_layout_line_get_extents">
+<function name="pango_context_set_matrix">
 <description>
-Computes the logical and ink extents of a layout line. See
-pango_font_get_glyph_extents() for details about the interpretation
-of the rectangles.
+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
+coordinates after the application of the matrix. So, they don'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="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
+<parameter name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle used to store the logical extents of the glyph
-string, or %NULL
+<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_font_face_is_synthesized">
+<function name="pango_core_text_font_get_ctfont">
 <description>
-Returns whether a #PangoFontFace is synthesized by the underlying
-font rendering engine from another face, perhaps by shearing, emboldening,
-or lightening it.
+Returns the CTFontRef of a font.
 
-Since: 1.18
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="face">
-<parameter_description> a #PangoFontFace
+<parameter name="font">
+<parameter_description> A #PangoCoreTextFont
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether @face is synthesized.
+<return> the CTFontRef associated to @font.
 
 </return>
 </function>
 
-<function name="pango_cairo_font_map_set_resolution">
+<function name="pango_coverage_copy">
 <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).
+Copy an existing #PangoCoverage. (This function may now be unnecessary
+since we refcount the structure. File a bug if you use it.)
 
-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't actually
-involved; the terminology is conventional.)
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoCoverage,
+with a reference count of one, which should be freed
+with pango_coverage_unref().
+</return>
 </function>
 
-<function name="pango_layout_iter_get_layout_extents">
+<function name="pango_coverage_from_bytes">
 <description>
-Obtains the extents of the #PangoLayout being iterated
-over. @ink_rect or @logical_rect can be %NULL if you
-aren't interested in them.
+Convert data generated from pango_coverage_to_bytes() back
+to a #PangoCoverage
 
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
-</parameter_description>
-</parameter>
-<parameter name="ink_rect">
-<parameter_description> rectangle to fill with ink extents, or %NULL
+<parameter name="bytes">
+<parameter_description> binary data
+representing a #PangoCoverage
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle to fill with logical extents, or %NULL
+<parameter name="n_bytes">
+<parameter_description> the size of @bytes in bytes
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a newly allocated
+#PangoCoverage, or %NULL if the data was invalid.
+</return>
 </function>
 
-<function name="pango_layout_get_cursor_pos">
+<function name="pango_coverage_get">
 <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.
+Determine whether a particular index is covered by @coverage
+
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
 </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> the index to check
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the coverage level of @coverage for character @index_.
+</return>
 </function>
 
-<function name="pango_renderer_draw_glyph">
+<function name="pango_coverage_max">
 <description>
-Draws a single glyph with coordinates in device space.
-
-Since: 1.8
+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="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 name="coverage">
+<parameter_description> a #PangoCoverage
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> Y coordinate of left edge of baseline of glyph
+<parameter name="other">
+<parameter_description> another #PangoCoverage
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_attr_underline_color_new">
+<function name="pango_coverage_new">
 <description>
-Create a new underline color attribute. This attribute
-modifies the color of underlines. If not set, underlines
-will use the foreground color.
+Create a new #PangoCoverage
 
-Since: 1.8
 
 </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 newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-
+<return> the newly allocated #PangoCoverage,
+initialized to %PANGO_COVERAGE_NONE
+with a reference count of one, which
+should be freed with pango_coverage_unref().
 </return>
 </function>
 
-<function name="pango_font_description_set_absolute_size">
+<function name="pango_coverage_ref">
 <description>
-Sets the size field of a font description, in device units. This is mutually
-exclusive with pango_font_description_set_size() which sets the font size
-in points.
-
-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>
+Increase the reference count on the #PangoCoverage by one
 
-<function name="pango_color_free">
-<description>
-Frees a color allocated by pango_color_copy().
 
 </description>
 <parameters>
-<parameter name="color">
-<parameter_description> an allocated #PangoColor, may be %NULL
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> @coverage
+</return>
 </function>
 
-<function name="pango_renderer_draw_glyph_item">
+<function name="pango_coverage_set">
 <description>
-Draws the glyphs in @glyph_item with the specified #PangoRenderer,
-embedding the text associated with the glyphs in the output if the
-output format supports it (PDF for example).
-
-Note that @text is the start of the text for layout, which is then
-indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.
-
-If @text is %NULL, this simply calls pango_renderer_draw_glyphs().
-
-The default implementation of this method simply falls back to
-pango_renderer_draw_glyphs().
-
-Since: 1.22
+Modify a particular index within @coverage
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> the UTF-8 text that @glyph_item refers to, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="glyph_item">
-<parameter_description> a #PangoGlyphItem
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> X position of left edge of baseline, in user space coordinates
-in Pango units.
+<parameter name="index_">
+<parameter_description> the index to modify
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> Y position of left edge of baseline, in user space coordinates
-in Pango units.
+<parameter name="level">
+<parameter_description> the new level for @index_
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_renderer_get_color">
+<function name="pango_coverage_to_bytes">
 <description>
-Gets the current rendering color for the specified part.
-
-Since: 1.8
+Convert a #PangoCoverage structure into a flat binary format
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
 </parameter_description>
 </parameter>
-<parameter name="part">
-<parameter_description> the part to get the color for
+<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> the color for the specified part, or %NULL
-if it hasn't been set and should be inherited from the
-environment.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_glyph_item_copy">
+<function name="pango_coverage_unref">
 <description>
-Make a deep copy of an existing #PangoGlyphItem structure.
-
-Since: 1.20
+Decrease the reference count on the #PangoCoverage by one.
+If the result is zero, free the coverage and all associated memory.
 
 </description>
 <parameters>
-<parameter name="orig">
-<parameter_description> a #PangoGlyphItem, may be %NULL
+<parameter name="coverage">
+<parameter_description> a #PangoCoverage
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoGlyphItem, which should
-be freed with pango_glyph_item_free(), or %NULL
-if @orig was %NULL.
-
-</return>
+<return></return>
 </function>
 
 <function name="pango_default_break">
@@ -3500,1410 +3662,1361 @@ simply use pango_get_log_attrs().
 <return></return>
 </function>
 
-<function name="pango_find_paragraph_boundary">
+<function name="pango_extents_to_pixels">
 <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.
+Converts extents from Pango units to device units, dividing by the
+%PANGO_SCALE factor and performing rounding.
 
-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).
+The @inclusive rectangle is converted by flooring the x/y coordinates and extending
+width/height, such that the final rectangle completely includes the original
+rectangle.
+
+The @nearest rectangle is converted by rounding the coordinates
+of the rectangle to the nearest device unit (pixel).
+
+The rule to which argument to use is: if you want the resulting device-space
+rectangle to completely contain the original rectangle, pass it in as @inclusive.
+If you want two touching-but-not-overlapping rectangles stay
+touching-but-not-overlapping after rounding to device units, pass them in
+as @nearest.
+
+Since: 1.16
 
 </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 name="inclusive">
+<parameter_description> rectangle to round to pixels inclusively, or %NULL.
 </parameter_description>
 </parameter>
-<parameter name="next_paragraph_start">
-<parameter_description> return location for start of next paragraph
+<parameter name="nearest">
+<parameter_description> rectangle to round to nearest pixels, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_map_get_shape_engine_type">
+<function name="pango_fc_decoder_get_charset">
 <description>
-Returns the render ID for shape engines for this fontmap.
-See the &lt;structfield&gt;render_type&lt;/structfield&gt; field of
-#PangoEngineInfo.
+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.
 
-Since: 1.4
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoFontMap
+<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 ID string for shape engines for
-this fontmap. Owned by Pango, should not be modified
+<return> the #FcCharset for @fcfont; must not be modified
 or freed.
 
 </return>
 </function>
 
-<function name="pango_attr_shape_new_with_data">
+<function name="pango_fc_decoder_get_glyph">
 <description>
-Like pango_attr_shape_new(), but a user data pointer is also
-provided; this pointer can be accessed when later
-rendering the glyph.
+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.)
 
-Since: 1.8
+Since: 1.6
 
 </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 to assign to each character
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description>         user data pointer
+<parameter name="decoder">
+<parameter_description> a #PangoFcDecoder
 </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 name="fcfont">
+<parameter_description> a #PangoFcFont to query.
 </parameter_description>
 </parameter>
-<parameter name="destroy_func">
-<parameter_description> function to free @data when the attribute
-is freed, or %NULL
+<parameter name="wc">
+<parameter_description> the Unicode code point to convert to a single #PangoGlyph.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the glyph index, or 0 if the glyph isn't
+covered by the font.
 
 </return>
 </function>
 
-<function name="pango_attr_list_change">
+<function name="pango_fc_font_description_from_pattern">
 <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.
+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't make sense in
+the context of #PangoFontDescription, so will be ignored.
 
-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.
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList
+<parameter name="pattern">
+<parameter_description> a #FcPattern
 </parameter_description>
 </parameter>
-<parameter name="attr">
-<parameter_description> the attribute to insert. Ownership of this value is
-assumed by the list.
+<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></return>
+<return> a new #PangoFontDescription. Free with
+pango_font_description_free().
+
+</return>
 </function>
 
-<function name="pango_coverage_copy">
+<function name="pango_fc_font_get_glyph">
 <description>
-Copy an existing #PangoCoverage. (This function may now be unnecessary
-since we refcount the structure. File a bug if you use it.)
+Gets the glyph index for a given Unicode character
+for @font. If you only want to determine
+whether the font has the glyph, use pango_fc_font_has_char().
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="coverage">
-<parameter_description> a #PangoCoverage
+<parameter name="font">
+<parameter_description> a #PangoFcFont
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> Unicode character to look up
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoCoverage,
-with a reference count of one, which
-should be freed with pango_coverage_unref().
+<return> the glyph index, or 0, if the Unicode
+character doesn't exist in the font.
+
 </return>
 </function>
 
-<function name="pango_renderer_prepare_run">
+<function name="pango_fc_font_get_raw_extents">
 <description>
-Set up the state of the #PangoRenderer for rendering @run.
+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.
 
-Since: 1.8
+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's current form, and also expose glyph information
+caching functionality similar to pango_ft2_font_set_glyph_info().
+
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
+<parameter name="fcfont">
+<parameter_description> a #PangoFcFont
 </parameter_description>
 </parameter>
-<parameter name="run">
-<parameter_description> a #PangoLayoutRun
+<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_attr_size_new">
+<function name="pango_fc_font_get_unknown_glyph">
 <description>
-Create a new font-size attribute in fractional points.
+Returns the index of a glyph suitable for drawing @wc as an
+unknown character.
 
+Use PANGO_GET_UNKNOWN_GLYPH() instead.
+
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="size">
-<parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a point.
+<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> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> a glyph index into @font.
+
 </return>
 </function>
 
-<function name="pango_item_copy">
+<function name="pango_fc_font_has_char">
 <description>
-Copy an existing #PangoItem structure.
+Determines whether @font has a glyph for the codepoint @wc.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="item">
-<parameter_description> a #PangoItem, may be %NULL
+<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 newly allocated #PangoItem, which should
-be freed with pango_item_free(), or %NULL if
- item was NULL.
+<return> %TRUE if @font has the requested codepoint.
+
 </return>
 </function>
 
-<function name="pango_matrix_transform_pixel_rectangle">
+<function name="pango_fc_font_kern_glyphs">
 <description>
-First transforms the @rect using @matrix, then calculates the bounding box
-of the transformed rectangle.  The rectangle should be in device units
-(pixels).
-
-This function is useful for example when you want to draw a rotated
- PangoLayout to an image buffer, and want to know how large the image
-should be and how much you should shift the layout when rendering.
-
-For better accuracy, you should use pango_matrix_transform_rectangle() on
-original rectangle in Pango units and convert to pixels afterward
-using pango_extents_to_pixels()'s first argument.
+Adjust each adjacent pair of glyphs in @glyphs according to
+kerning information in @font.
 
-Since: 1.16
+Since: 1.4
+Deprecated: 1.32
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix, or %NULL
+<parameter name="font">
+<parameter_description> a #PangoFcFont
 </parameter_description>
 </parameter>
-<parameter name="rect">
-<parameter_description> in/out bounding box in device units, or %NULL
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_attr_letter_spacing_new">
+<function name="pango_fc_font_key_get_context_key">
 <description>
-Create a new letter-spacing attribute.
+Gets the context key member of @key.
 
-Since: 1.6
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="letter_spacing">
-<parameter_description> amount of extra space to add between graphemes
-of the text, in Pango units.
+<parameter name="key">
+<parameter_description> the font key
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the context key, which is owned by @key and should not be modified.
 
 </return>
 </function>
 
-<function name="pango_cairo_create_context">
+<function name="pango_fc_font_key_get_matrix">
 <description>
-Creates a context object set up to match the current transformation
-and target surface of the Cairo context.  This context can then be
-used to create a layout using pango_layout_new().
-
-This function is a convenience function that creates a context using
-the default font map, then updates it to @cr.  If you just need to
-create a layout for use with @cr and do not need to access #PangoContext
-directly, you can use pango_cairo_create_layout() instead.
+Gets the matrix member of @key.
 
-Since: 1.22
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="key">
+<parameter_description> the font key
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly created #PangoContext. Free with
-g_object_unref().
+<return> the matrix, which is owned by @key and should not be modified.
 
 </return>
 </function>
 
-<function name="pango_attr_list_insert_before">
+<function name="pango_fc_font_key_get_pattern">
 <description>
-Insert the given attribute into the #PangoAttrList. It will
-be inserted before all other attributes with a matching
- start_index 
+Gets the fontconfig pattern member of @key.
+
+Since: 1.24
 
 </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 name="key">
+<parameter_description> the font key
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the pattern, which is owned by @key and should not be modified.
+
+</return>
 </function>
 
-<function name="pango_x_get_context">
+<function name="pango_fc_font_lock_face">
 <description>
-Retrieves a #PangoContext appropriate for rendering with X fonts on the
-given display.
+Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
+This face will be kept around until you call
+pango_fc_font_unlock_face().
 
-Deprecated: 1.22: Use pango_x_font_map_for_display() followed by
-pango_font_map_create_context() instead.
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X display (As returned by XOpenDisplay().)
+<parameter name="font">
+<parameter_description> a #PangoFcFont.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #PangoContext.
+<return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
 
 </return>
 </function>
 
-<function name="pango_layout_set_font_description">
+<function name="pango_fc_font_map_add_decoder_find_func">
 <description>
-Sets the default font description for the layout. If no font
-description is set on the layout, the font description from
-the layout's context is used.
+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="layout">
-<parameter_description> a #PangoLayout
+<parameter name="fcfontmap">
+<parameter_description> The #PangoFcFontMap to add this method to.
 </parameter_description>
 </parameter>
-<parameter name="desc">
-<parameter_description> the new #PangoFontDescription, or %NULL to unset the
-current font description
+<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_ot_ruleset_maybe_add_features">
+<function name="pango_fc_font_map_cache_clear">
 <description>
-This is a convenience function that 
-for each feature in the feature map array @features
-converts the feature name to a #PangoOTTag feature tag using PANGO_OT_TAG_MAKE()
-and calls pango_ot_ruleset_maybe_add_feature() on it.
+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 of the
+font map, or if fontconfig has been reinitialized to new
+configuration.
 
-Since: 1.18
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="ruleset">
-<parameter_description> a #PangoOTRuleset.
-</parameter_description>
-</parameter>
-<parameter name="table_type">
-<parameter_description> the table type to add features to.
-</parameter_description>
-</parameter>
-<parameter name="features">
-<parameter_description> array of feature name and property bits to add.
-</parameter_description>
-</parameter>
-<parameter name="n_features">
-<parameter_description> number of feature records in @features array.
+<parameter name="fcfontmap">
+<parameter_description> a #PangoFcFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> The number of features in @features that were found
-and added to @ruleset.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_fontset_get_metrics">
+<function name="pango_fc_font_map_create_context">
 <description>
-Get overall metric information for the fonts in the fontset.
+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.
+
+Since: 1.4
 
+Deprecated: 1.22: Use pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="fontset">
-<parameter_description> a #PangoFontset
+<parameter name="fcfontmap">
+<parameter_description> a #PangoFcFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
-when finished using the object.
+<return> a new #PangoContext
+
 </return>
 </function>
 
-<function name="pango_ot_buffer_output">
+<function name="pango_fc_font_map_find_decoder">
 <description>
-Exports the glyphs in a #PangoOTBuffer into a #PangoGlyphString.  This is
-typically used after the OpenType layout processing is over, to convert the
-resulting glyphs into a generic Pango glyph string.
+Finds the decoder to use for @pattern.  Decoders can be added to
+a font map using pango_fc_font_map_add_decoder_find_func().
 
-Since: 1.4
+Since: 1.26
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer
+<parameter name="fcfontmap">
+<parameter_description> The #PangoFcFontMap to use.
 </parameter_description>
 </parameter>
-<parameter name="glyphs">
-<parameter_description> a #PangoGlyphString
+<parameter name="pattern">
+<parameter_description> The #FcPattern to find the decoder for.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a newly created #PangoFcDecoder object or
+%NULL if no decoder is set for @pattern.
+
+</return>
 </function>
 
-<function name="pango_ft2_get_unknown_glyph">
+<function name="pango_fc_font_map_shutdown">
 <description>
-Return the index of a glyph suitable for drawing unknown characters with
- font, or %PANGO_GLYPH_EMPTY if no suitable glyph found.
-
-If you want to draw an unknown-box for a character that is not covered
-by the font,
-use PANGO_GET_UNKNOWN_GLYPH() instead.
+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
+only for backend implementations deriving from #PangoFcFontMap.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont
+<parameter name="fcfontmap">
+<parameter_description> a #PangoFcFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> a glyph index into @font, or %PANGO_GLYPH_EMPTY
-</return>
+<return></return>
 </function>
 
-<function name="pango_win32_get_unknown_glyph">
+<function name="pango_fc_font_unlock_face">
 <description>
-Returns the index of a glyph suitable for drawing @wc as an
-unknown character.
-
-Use PANGO_GET_UNKNOWN_GLYPH() instead.
+Releases a font previously obtained with
+pango_fc_font_lock_face().
 
+Since: 1.4
 
 </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> a #PangoFcFont.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a glyph index into @font
-</return>
+<return></return>
 </function>
 
-<function name="pango_context_get_language">
+<function name="pango_fc_fontset_key_get_absolute_size">
 <description>
-Retrieves the global language tag for the context.
+Gets the absolute font size of @key in Pango units.  This is adjusted
+for both resolution and transformation matrix.
 
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="key">
+<parameter_description> the fontset key
 </parameter_description>
 </parameter>
 </parameters>
-<return> the global language tag.
+<return> the pixel size of @key.
+
 </return>
 </function>
 
-<function name="pango_attr_family_new">
+<function name="pango_fc_fontset_key_get_context_key">
 <description>
-Create a new font family attribute.
+Gets the context key member of @key.
 
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="family">
-<parameter_description> the family or comma separated list of families
+<parameter name="key">
+<parameter_description> the font key
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the context key, which is owned by @key and should not be modified.
+
 </return>
 </function>
 
-<function name="pango_ot_info_list_languages">
+<function name="pango_fc_fontset_key_get_description">
 <description>
-Obtains the list of available languages for a given script.
+Gets the font description of @key.
 
+Since: 1.24
 
 </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 name="key">
+<parameter_description> the fontset key
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated zero-terminated array containing the tags of the
-available languages.  Should be freed using g_free().
+<return> the font description, which is owned by @key and should not be modified.
+
 </return>
 </function>
 
-<function name="pango_x_font_map_for_display">
+<function name="pango_fc_fontset_key_get_language">
 <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().
+Gets the language member of @key.
 
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X #Display.
+<parameter name="key">
+<parameter_description> the fontset key
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoXFontMap for @display.
+<return> the language
+
 </return>
 </function>
 
-<function name="pango_fontset_simple_append">
+<function name="pango_fc_fontset_key_get_matrix">
 <description>
-Adds a font to the fontset.
+Gets the matrix member of @key.
+
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="fontset">
-<parameter_description> a #PangoFontsetSimple.
-</parameter_description>
-</parameter>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="key">
+<parameter_description> the fontset key
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the matrix, which is owned by @key and should not be modified.
+
+</return>
 </function>
 
-<function name="pango_font_describe">
+<function name="pango_fc_fontset_key_get_resolution">
 <description>
-Returns a description of the font, with font size set in points.
-Use pango_font_describe_with_absolute_size() if you want the font
-size in device units.
+Gets the resolution of @key
 
+Since: 1.24
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont
+<parameter name="key">
+<parameter_description> the fontset key
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated #PangoFontDescription object.
+<return> the resolution of @key
+
 </return>
 </function>
 
-<function name="pango_font_description_get_size">
+<function name="pango_find_base_dir">
 <description>
-Gets the size field of a font description.
-See pango_font_description_set_size().
+Searches a string the first character that has a strong
+direction, according to the Unicode bidirectional algorithm.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<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 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 or it has been set to 0 explicitly.
-Use pango_font_description_get_set_fields() to
-find out if the field was explicitly set or not.
+<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_xft_renderer_set_draw">
+<function name="pango_find_map">
 <description>
-Sets the #XftDraw object that the renderer is drawing to.
-The renderer must not be currently active.
+Locate a #PangoMap for a particular engine type and render
+type. The resulting map can be used to determine the engine
+for each character.
 
-Since: 1.8
 
 </description>
 <parameters>
-<parameter name="xftrenderer">
-<parameter_description> a #PangoXftRenderer
+<parameter name="language">
+<parameter_description> the language tag for which to find the map
 </parameter_description>
 </parameter>
-<parameter name="draw">
-<parameter_description> a #XftDraw
+<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>
+<return> the suitable #PangoMap.
+</return>
 </function>
 
-<function name="pango_fc_font_get_raw_extents">
+<function name="pango_find_paragraph_boundary">
 <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's current form, and also expose glyph information
-caching functionality similar to pango_ft2_font_set_glyph_info().
+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.
 
-Since: 1.6
+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="fcfont">
-<parameter_description> a #PangoFcFont
-</parameter_description>
-</parameter>
-<parameter name="load_flags">
-<parameter_description> flags to pass to FT_Load_Glyph()
+<parameter name="text">
+<parameter_description> UTF-8 text
 </parameter_description>
 </parameter>
-<parameter name="glyph">
-<parameter_description> the glyph index to load
+<parameter name="length">
+<parameter_description> length of @text in bytes, or -1 if nul-terminated
 </parameter_description>
 </parameter>
-<parameter name="ink_rect">
-<parameter_description> location to store ink extents of the glyph, or %NULL
+<parameter name="paragraph_delimiter_index">
+<parameter_description> return location for index of
+delimiter
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> location to store logical extents of the glyph or %NULL
+<parameter name="next_paragraph_start">
+<parameter_description> return location for start of next
+paragraph
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_ot_info_find_script">
+<function name="pango_font_describe">
 <description>
-Finds the index of a script.  If not found, tries to find the 'DFLT'
-and then 'dflt' scripts and return the index of that in @script_index.
-If none of those is found either, %PANGO_OT_NO_SCRIPT is placed in
- script_index 
-
-All other functions taking an input script_index parameter know
-how to handle %PANGO_OT_NO_SCRIPT, so one can ignore the return
-value of this function completely and proceed, to enjoy the automatic
-fallback to the 'DFLT'/'dflt' script.
+Returns a description of the font, with font size set in points.
+Use pango_font_describe_with_absolute_size() if you want the font
+size in device units.
 
 
 </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 name="font">
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the script was found.
+<return> a newly-allocated #PangoFontDescription object.
 </return>
 </function>
 
-<function name="pango_ot_ruleset_description_hash">
+<function name="pango_font_describe_with_absolute_size">
 <description>
-Computes a hash of a #PangoOTRulesetDescription structure suitable
-to be used, for example, as an argument to g_hash_table_new().
+Returns a description of the font, with absolute font size set
+(in device units). Use pango_font_describe() if you want the font
+size in points.
 
-Since: 1.18
+Since: 1.14
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a ruleset description
+<parameter name="font">
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
 </parameters>
-<return> the hash value.
+<return> a newly-allocated #PangoFontDescription object.
 
 </return>
 </function>
 
-<function name="pango_layout_get_unknown_glyphs_count">
+<function name="pango_font_description_better_match">
 <description>
-Counts the number unknown glyphs in @layout.  That is, zero if
-glyphs for all characters in the layout text were found, or more
-than zero otherwise.
+Determines if the style attributes of @new_match are a closer match
+for @desc than those of @old_match are, or if @old_match is %NULL,
+determines if @new_match is a match at all.
+Approximate matching is done for
+weight and style; other style attributes must match exactly.
+Style attributes are all attributes other than family and size-related
+attributes.  Approximate matching for style considers PANGO_STYLE_OBLIQUE
+and PANGO_STYLE_ITALIC as matches, but not as good a match as when the
+styles are equal.
 
-This function can be used to determine if there are any fonts
-available to render all characters in a certain string, or when
-used in combination with %PANGO_ATTR_FALLBACK, to check if a
-certain font supports all the characters in the string.
+Note that @old_match must match @desc.
 
-Since: 1.16
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<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> The number of unknown glyphs in @layout.
-
+<return> %TRUE if @new_match is a better match
 </return>
 </function>
 
-<function name="pango_font_metrics_get_underline_thickness">
+<function name="pango_font_description_copy">
 <description>
-Gets the suggested thickness to draw for the underline.
+Make a copy of a #PangoFontDescription.
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the suggested underline thickness, in Pango units.
-
+<return> the newly allocated
+#PangoFontDescription, which should be freed with
+pango_font_description_free(), or %NULL if @desc was
+%NULL.
 </return>
 </function>
 
-<function name="pango_layout_set_markup_with_accel">
+<function name="pango_font_description_copy_static">
 <description>
-Sets the layout text and attribute list from marked-up text (see
-&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;). Replaces
-the current text and attribute list.
+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 modified or freed. This is meant to be used
+when the copy is only needed temporarily.
 
-If @accel_marker is nonzero, the given character will mark the
-character following it as an accelerator. For example, @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> marked-up text
-(see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;)
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> length of marked-up text in bytes, or -1 if @markup is
-nul-terminated
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription, may be %NULL
 </parameter_description>
 </parameter>
-<parameter name="accel_marker">
-<parameter_description> marker for accelerators in the text
+</parameters>
+<return> the newly allocated
+#PangoFontDescription, which should be freed with
+pango_font_description_free(), or %NULL if @desc was
+%NULL.
+</return>
+</function>
+
+<function name="pango_font_description_equal">
+<description>
+Compares two font descriptions for equality. Two font descriptions
+are considered equal if the fonts they describe are provably identical.
+This means that their masks do not have to match, as long as other fields
+are all the same. (Two font descriptions may result in identical fonts
+being loaded, but still compare %FALSE.)
+
+
+</description>
+<parameters>
+<parameter name="desc1">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="accel_char">
-<parameter_description> return location for first located accelerator, or %NULL
+<parameter name="desc2">
+<parameter_description> another #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the two font descriptions are identical,
+%FALSE otherwise.
+</return>
 </function>
 
-<function name="pango_font_metrics_get_strikethrough_position">
+<function name="pango_font_description_free">
 <description>
-Gets the suggested position to draw the strikethrough.
-The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
-baseline of the top of the strikethrough.
-
-Since: 1.6
+Frees a font description.
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the suggested strikethrough position, in Pango units.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_cairo_font_map_new">
+<function name="pango_font_description_from_string">
 <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.
+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, stretch, or gravity, and SIZE
+is a decimal number (size in points) or optionally followed by the
+unit modifier &quot;px&quot; for absolute size. Any one of the options may
+be absent.  If FAMILY-LIST is absent, then the family_name field of
+the resulting font description will be initialized to %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.
 
-Since: 1.10
 
 </description>
 <parameters>
+<parameter name="str">
+<parameter_description> string representation of a font description.
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly allocated #PangoFontMap, which should
-be freed with g_object_unref().
-
+<return> a new #PangoFontDescription.
 </return>
 </function>
 
-<function name="pango_xft_font_get_display">
+<function name="pango_font_description_get_family">
 <description>
-Returns the X display of the XftFont of a font.
+Gets the family name field of a font description. See
+pango_font_description_set_family().
 
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the X display of the XftFont associated to @font.
+<return> the family name field for the font
+description, or %NULL if not previously set.  This
+has the same life-time as the font description itself
+and should not be freed.
 </return>
 </function>
 
-<function name="pango_layout_iter_get_run_readonly">
+<function name="pango_font_description_get_gravity">
 <description>
-Gets the current run. When iterating by run, at the end of each
-line, there'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.
-
-This is a faster alternative to pango_layout_iter_get_run(),
-but the user is not expected
-to modify the contents of the run (glyphs, glyph widths, etc.).
+Gets the gravity field of a font description. See
+pango_font_description_set_gravity().
 
 Since: 1.16
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return> the current run, that should not be modified.
+<return> the gravity field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
 
 </return>
 </function>
 
-<function name="pango_ft2_font_get_kerning">
+<function name="pango_font_description_get_set_fields">
 <description>
-Retrieves kerning information for a combination of two glyphs.
-
-Use pango_fc_font_kern_glyphs() instead.
+Determines which fields in a font description have been set.
 
 
 </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 name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return> The amount of kerning (in Pango units) to apply for
-the given combination of glyphs.
+<return> a bitmask with bits set corresponding to the
+fields in @desc that have been set.
 </return>
 </function>
 
-<function name="pango_font_description_new">
+<function name="pango_font_description_get_size">
 <description>
-Creates a new font description structure with all fields unset.
+Gets the size field of a font description.
+See pango_font_description_set_size().
 
 
 </description>
 <parameters>
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly allocated #PangoFontDescription, which
-should be freed using pango_font_description_free().
+<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 or it has been set to 0 explicitly.
+Use pango_font_description_get_set_fields() to
+find out if the field was explicitly set or not.
 </return>
 </function>
 
-<function name="pango_ft2_render_layout_line_subpixel">
+<function name="pango_font_description_get_size_is_absolute">
 <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.)
+Determines whether the size of the font is in points (not absolute) or device units (absolute).
+See pango_font_description_set_size() and pango_font_description_set_absolute_size().
 
-Since: 1.6
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="bitmap">
-<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; 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 name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether 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 explicitly set or not.
+
+</return>
 </function>
 
-<function name="pango_find_map">
+<function name="pango_font_description_get_stretch">
 <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.
+Gets the stretch field of a font description.
+See pango_font_description_set_stretch().
 
 
 </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 name="desc">
+<parameter_description> a #PangoFontDescription.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the suitable #PangoMap.
+<return> the stretch field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
 </return>
 </function>
 
-<function name="pango_coverage_get">
+<function name="pango_font_description_get_style">
 <description>
-Determine whether a particular index is covered by @coverage
+Gets the style field of a #PangoFontDescription. See
+pango_font_description_set_style().
 
 
 </description>
 <parameters>
-<parameter name="coverage">
-<parameter_description> a #PangoCoverage
-</parameter_description>
-</parameter>
-<parameter name="index_">
-<parameter_description> the index to check
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return> the coverage level of @coverage for character @index_.
+<return> the style field for the font description.
+Use pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
 </return>
 </function>
 
-<function name="pango_find_base_dir">
+<function name="pango_font_description_get_variant">
 <description>
-Searches a string the first character that has a strong
-direction, according to the Unicode bidirectional algorithm.
+Gets the variant field of a #PangoFontDescription. See
+pango_font_description_set_variant().
 
-Since: 1.4
 
 </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 name="desc">
+<parameter_description> a #PangoFontDescription.
 </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> the variant field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
 </return>
 </function>
 
-<function name="pango_attr_iterator_copy">
+<function name="pango_font_description_get_weight">
 <description>
-Copy a #PangoAttrIterator
+Gets the weight field of a font description. See
+pango_font_description_set_weight().
 
 
 </description>
 <parameters>
-<parameter name="iterator">
-<parameter_description> a #PangoAttrIterator.
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttrIterator, which should
-be freed with pango_attr_iterator_destroy().
+<return> the weight field for the font description. Use
+pango_font_description_get_set_fields() to find out if
+the field was explicitly set or not.
 </return>
 </function>
 
-<function name="pango_context_get_matrix">
+<function name="pango_font_description_hash">
 <description>
-Gets the transformation matrix that will be applied when
-rendering with this context. See pango_context_set_matrix().
+Computes a hash of a #PangoFontDescription structure suitable
+to be used, for example, as an argument to g_hash_table_new().
+The hash value is independent of @desc-&gt;mask.
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </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.
-
+<return> the hash value.
 </return>
 </function>
 
-<function name="pango_x_render_layout">
+<function name="pango_font_description_merge">
 <description>
-Renders a #PangoLayout onto an X drawable.
+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.
+
+If @desc_to_merge is %NULL, this function performs nothing.
 
 </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 name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>         the x position of the left of the layout (in pixels).
+<parameter name="desc_to_merge">
+<parameter_description> the #PangoFontDescription to merge from, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>         the y position of the top of the layout (in pixels).
+<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_glyph_string_extents">
+<function name="pango_font_description_merge_static">
 <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.
+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="glyphs">
-<parameter_description>   a #PangoGlyphString
-</parameter_description>
-</parameter>
-<parameter name="font">
-<parameter_description>     a #PangoFont
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </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 name="desc_to_merge">
+<parameter_description> the #PangoFontDescription to merge from
 </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 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_font_describe_with_absolute_size">
+<function name="pango_font_description_new">
 <description>
-Returns a description of the font, with absolute font size set
-(in device units). Use pango_font_describe() if you want the font
-size in points.
+Creates a new font description structure with all fields unset.
 
-Since: 1.14
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont
-</parameter_description>
-</parameter>
 </parameters>
-<return> a newly-allocated #PangoFontDescription object.
-
+<return> the newly allocated #PangoFontDescription, which
+should be freed using pango_font_description_free().
 </return>
 </function>
 
-<function name="pango_glyph_item_iter_init_end">
+<function name="pango_font_description_set_absolute_size">
 <description>
-Initializes a #PangoGlyphItemIter structure to point to the
-last cluster in a glyph item.
-See #PangoGlyphItemIter for details of cluster orders.
+Sets the size field of a font description, in device units. This is mutually
+exclusive with pango_font_description_set_size() which sets the font size
+in points.
 
-Since: 1.22
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoGlyphItemIter
-</parameter_description>
-</parameter>
-<parameter name="glyph_item">
-<parameter_description> the glyph item to iterate over
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="text">
-<parameter_description> text corresponding to the glyph item
+<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> %FALSE if there are no clusters in the glyph item
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_context_set_base_gravity">
+<function name="pango_font_description_set_family">
 <description>
-Sets the base gravity for the context.
-
-The base gravity is used in laying vertical text out.
-
-Since: 1.16
+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="context">
-<parameter_description> a #PangoContext
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription.
 </parameter_description>
 </parameter>
-<parameter name="gravity">
-<parameter_description> the new base gravity
+<parameter name="family">
+<parameter_description> a string representing the family name.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_matrix_get_font_scale_factor">
+<function name="pango_font_description_set_family_static">
 <description>
-Returns the scale factor of a matrix on the height of the font.
-That is, the scale factor in the direction perpendicular to the
-vector that the X coordinate is mapped to.
-
-Since: 1.12
+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="matrix">
-<parameter_description> a #PangoMatrix, may be %NULL
+<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> the scale factor of @matrix on the height of the font,
-or 1.0 if @matrix is %NULL.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_family_is_monospace">
+<function name="pango_font_description_set_gravity">
 <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.
+Sets the gravity field of a font description. The gravity field
+specifies how the glyphs should be rotated.  If @gravity is
+%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
+the font description.
 
-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.
+This function is seldom useful to the user.  Gravity should normally
+be set on a #PangoContext.
 
-Since: 1.4
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="family">
-<parameter_description> a #PangoFontFamily
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
+</parameter_description>
+</parameter>
+<parameter name="gravity">
+<parameter_description> the gravity for the font description.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the family is monospace.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_type_register">
+<function name="pango_font_description_set_size">
 <description>
-Allocate a new attribute type ID.  The attribute type name can be accessed
-later by using pango_attr_type_get_name().
-
+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="name">
-<parameter_description> an identifier for the type
+<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> the new type ID.
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_metrics_get_strikethrough_thickness">
+<function name="pango_font_description_set_stretch">
 <description>
-Gets the suggested thickness to draw for the strikethrough.
-
-Since: 1.6
+Sets the stretch field of a font description. The stretch field
+specifies how narrow or wide the font should be.
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<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> the suggested strikethrough thickness, in Pango units.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_x_context_set_funcs">
+<function name="pango_font_description_set_style">
 <description>
-Sets the functions that will be used to get GC's in various colors when
-rendering layouts with this context.
+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="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 name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="free_gc_func">
-<parameter_description> function called to free a GC created with @get_gc_func.
+<parameter name="style">
+<parameter_description> the style for the font description
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_line_index_to_x">
+<function name="pango_font_description_set_variant">
 <description>
-Converts an index within a line to a X position.
-
+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="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 &gt; 0, the trailing edge of the grapheme,
-if 0, the leading of the grapheme.
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="x_pos">
-<parameter_description> location to store the x_offset (in Pango unit)
+<parameter name="variant">
+<parameter_description> the variant type for the font description.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_renderer_draw_layout_line">
+<function name="pango_font_description_set_weight">
 <description>
-Draws @line with the specified #PangoRenderer.
-
-Since: 1.8
+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="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 name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> Y position of left edge of baseline, in user space coordinates
-in Pango units.
+<parameter name="weight">
+<parameter_description> the weight for the font description.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_fc_font_map_cache_clear">
+<function name="pango_font_description_to_filename">
 <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 of the
-font map, or if fontconfig has been reinitialized to new
-configuration.
+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.
 
-Since: 1.4
 
 </description>
 <parameters>
-<parameter name="fcfontmap">
-<parameter_description> a #PangoFcFontmap
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new string that must be freed with g_free().
+</return>
 </function>
 
-<function name="pango_skip_space">
+<function name="pango_font_description_to_string">
 <description>
-Skips 0 or more characters of white space.
+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="pos">
-<parameter_description> in/out string position
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE if skipping the white space leaves
-the position at a '\0' character.
+<return> a new string that must be freed with g_free().
 </return>
 </function>
 
-<function name="pango_font_description_merge">
+<function name="pango_font_description_unset_fields">
 <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.
-
-If @desc_to_merge is %NULL, this function performs nothing.
+Unsets some of the fields in a #PangoFontDescription.  The unset
+fields will get back to their default values.
 
 </description>
 <parameters>
@@ -4911,93 +5024,120 @@ If @desc_to_merge is %NULL, this function performs nothing.
 <parameter_description> a #PangoFontDescription
 </parameter_description>
 </parameter>
-<parameter name="desc_to_merge">
-<parameter_description> the #PangoFontDescription to merge from, or %NULL
-</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 name="to_unset">
+<parameter_description> bitmask of fields in the @desc to unset.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_language_includes_script">
+<function name="pango_font_descriptions_free">
 <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.
+Frees an array of font descriptions.
 
-This routine is used in Pango's itemization process when
-determining if a supplied language tag is relevant to
-a particular section of text. It probably is not useful for
-applications in most circumstances.
+</description>
+<parameters>
+<parameter name="descs">
+<parameter_description> a pointer
+to an array of #PangoFontDescription, may be %NULL
+</parameter_description>
+</parameter>
+<parameter name="n_descs">
+<parameter_description> number of font descriptions in @descs
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
 
-This function uses pango_language_get_scripts() internally.
+<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.
 
-Since: 1.4
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #PangoLanguage, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="script">
-<parameter_description> a #PangoScript
+<parameter name="face">
+<parameter_description> a #PangoFontFace
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @script is one of the scripts used
-to write @language or if nothing is known about @language
-(including the case that @language is %NULL),
-%FALSE otherwise.
- 
+<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_xft_shutdown_display">
+<function name="pango_font_face_get_face_name">
 <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.
+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.
 
-Since: 1.2
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X display
+<parameter name="face">
+<parameter_description> a #PangoFontFace.
 </parameter_description>
 </parameter>
-<parameter name="screen">
-<parameter_description> the screen number of a screen within @display
+</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_font_face_is_synthesized">
+<description>
+Returns whether a #PangoFontFace is synthesized by the underlying
+font rendering engine from another face, perhaps by shearing, emboldening,
+or lightening it.
+
+Since: 1.18
+
+</description>
+<parameters>
+<parameter name="face">
+<parameter_description> a #PangoFontFace
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether @face is synthesized.
+
+</return>
 </function>
 
-<function name="pango_coverage_ref">
+<function name="pango_font_face_list_sizes">
 <description>
-Increase the reference count on the #PangoCoverage by one
+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="coverage">
-<parameter_description> a #PangoCoverage
+<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> @coverage
-</return>
+<return></return>
 </function>
 
 <function name="pango_font_family_get_name">
@@ -5019,380 +5159,433 @@ by the family object and must not be modified or freed.
 </return>
 </function>
 
-<function name="pango_language_matches">
+<function name="pango_font_family_is_monospace">
 <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 '*', the range is exactly the tag,
-or the range is a prefix of the tag, and the character after it
-in the tag is '-'.
+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.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a language tag (see pango_language_from_string()),
-%NULL is allowed and matches nothing but '*'
-</parameter_description>
-</parameter>
-<parameter name="range_list">
-<parameter_description> a list of language ranges, separated by ';', ':',
-',', or space characters.
-Each element must either be '*', or a RFC 3066 language range
-canonicalized as by pango_language_from_string()
+<parameter name="family">
+<parameter_description> a #PangoFontFamily
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if a match was found.
+<return> %TRUE if the family is monospace.
+
 </return>
 </function>
 
-<function name="pango_font_map_load_font">
+<function name="pango_font_family_list_faces">
 <description>
-Load the font in the fontmap that is the closest match for @desc.
-
+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="fontmap">
-<parameter_description> a #PangoFontMap
+<parameter name="family">
+<parameter_description> a #PangoFontFamily
 </parameter_description>
 </parameter>
-<parameter name="context">
-<parameter_description> the #PangoContext the font will be used with
+<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="desc">
-<parameter_description> a #PangoFontDescription describing the font to load
+<parameter name="n_faces">
+<parameter_description> location to store number of elements in @faces.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the font loaded, or %NULL if no font matched.
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_description_to_filename">
+<function name="pango_font_find_shaper">
 <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.
+Finds the best matching shaper for a font for a particular
+language tag and character point.
 
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<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> a Unicode character.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new string that must be freed with g_free().
+<return> the best matching shaper.
 </return>
 </function>
 
-<function name="pango_attr_list_filter">
+<function name="pango_font_get_coverage">
 <description>
-Given a #PangoAttrList and callback function, removes any elements
-of @list for which @func returns %TRUE and inserts them into
-a new list.
+Computes the coverage map for a given font and language tag.
 
-Since: 1.2
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> callback function; returns %TRUE if an attribute
-should be filtered out.
+<parameter name="font">
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
-<parameter name="data">
-<parameter_description> Data to be passed to @func
+<parameter name="language">
+<parameter_description> the language tag
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #PangoAttrList or %NULL if
-no attributes of the given types were found.
-
+<return> a newly-allocated #PangoCoverage
+object.
 </return>
 </function>
 
-<function name="pango_layout_get_ellipsize">
+<function name="pango_font_get_font_map">
 <description>
-Gets the type of ellipsization being performed for @layout.
-See pango_layout_set_ellipsize()
+Gets the font map for which the font was created.
 
-Since: 1.6
+Note that the font maintains a &lt;firstterm&gt;weak&lt;/firstterm&gt; reference
+to the font map, so if all references to font map are dropped, the font
+map will be finalized even if there are fonts created with the font
+map that are still alive.  In that case this function will return %NULL.
+It is the responsibility of the user to ensure that the font map is kept
+alive.  In most uses this is not an issue as a #PangoContext holds
+a reference to the font map.
+
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="font">
+<parameter_description> a #PangoFont, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the current ellipsization mode for @layout.
-
-Use pango_layout_is_ellipsized() to query whether any paragraphs
-were actually ellipsized.
+<return> the #PangoFontMap for the
+font, or %NULL if @font is %NULL.
 
 </return>
 </function>
 
-<function name="pango_font_description_get_variant">
+<function name="pango_font_get_glyph_extents">
 <description>
-Gets the variant field of a #PangoFontDescription. See
-pango_font_description_set_variant().
+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.
 
+If @font is %NULL, this function gracefully sets some sane values in the
+output variables and returns.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription.
+<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> the variant field for the font description. Use
-pango_font_description_get_set_fields() to find out if
-the field was explicitly set or not.
-</return>
+<return></return>
 </function>
 
-<function name="pango_fc_font_get_unknown_glyph">
+<function name="pango_font_get_metrics">
 <description>
-Returns the index of a glyph suitable for drawing @wc as an
-unknown character.
+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.
 
-Use PANGO_GET_UNKNOWN_GLYPH() instead.
+If @font is %NULL, this function gracefully sets some sane values in the
+output variables and returns.
 
-Since: 1.4
 
 </description>
 <parameters>
 <parameter name="font">
-<parameter_description> a #PangoFcFont
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> the Unicode character for which a glyph is needed.
+<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 glyph index into @font.
-
+<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
+when finished using the object.
 </return>
 </function>
 
-<function name="pango_item_free">
+<function name="pango_font_map_changed">
 <description>
-Free a #PangoItem and all associated memory.
+Forces a change in the context, which will cause any #PangoContext
+using this fontmap to change.
+
+This function is only useful when implementing a new backend
+for Pango, something applications won't do. Backends should
+call this function if they have attached extra data to the context
+and such data is changed.
+
+Since: 1.34
 
 </description>
 <parameters>
-<parameter name="item">
-<parameter_description> a #PangoItem, may be %NULL
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_description_hash">
+<function name="pango_font_map_create_context">
 <description>
-Computes a hash of a #PangoFontDescription structure suitable
-to be used, for example, as an argument to g_hash_table_new().
-The hash value is independent of @desc-&gt;mask.
+Creates a #PangoContext connected to @fontmap.  This is equivalent
+to pango_context_new() followed by pango_context_set_font_map().
 
+If you are using Pango as part of a higher-level system,
+that system may have it's own way of create a #PangoContext.
+For instance, the GTK+ toolkit has, among others,
+gdk_pango_context_get_for_screen(), and
+gtk_widget_get_pango_context().  Use those instead.
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> the hash value.
+<return> the newly allocated #PangoContext,
+which should be freed with g_object_unref().
+
 </return>
 </function>
 
-<function name="pango_layout_get_attributes">
+<function name="pango_font_map_get_serial">
 <description>
-Gets the attribute list for the layout, if any.
+Returns the current serial number of @fontmap.  The serial number is
+initialized to an small number larger than zero when a new fontmap
+is created and is increased whenever the fontmap is changed. It may
+wrap, but will never have the value 0. Since it can wrap, never compare
+it with &quot;less than&quot;, always use &quot;not equals&quot;.
+
+The fontmap can only be changed using backend-specific API, like changing
+fontmap resolution.
+
+This can be used to automatically detect changes to a #PangoFontMap, like
+in #PangoContext.
 
+Since: 1.32.4
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoAttrList.
+<return> The current serial number of @fontmap.
+
 </return>
 </function>
 
-<function name="pango_layout_iter_at_last_line">
+<function name="pango_font_map_get_shape_engine_type">
 <description>
-Determines whether @iter is on the last line of the layout.
+Returns the render ID for shape engines for this fontmap.
+See the &lt;structfield&gt;render_type&lt;/structfield&gt; field of
+#PangoEngineInfo.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @iter is on the last line.
+<return> the ID string for shape engines for
+this fontmap. Owned by Pango, should not be modified
+or freed.
+
 </return>
 </function>
 
-<function name="pango_coverage_from_bytes">
+<function name="pango_font_map_list_families">
 <description>
-Convert data generated from pango_converage_to_bytes() back
-to a #PangoCoverage
-
+List all families for a fontmap.
 
 </description>
 <parameters>
-<parameter name="bytes">
-<parameter_description> binary data representing a #PangoCoverage
+<parameter name="fontmap">
+<parameter_description> a #PangoFontMap
 </parameter_description>
 </parameter>
-<parameter name="n_bytes">
-<parameter_description> the size of @bytes in bytes
+<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 @families
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly allocated #PangoCoverage, or %NULL if
-the data was invalid.
-</return>
+<return></return>
 </function>
 
-<function name="pango_get_log_attrs">
+<function name="pango_font_map_load_font">
 <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'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).
+Load the font in the fontmap that is the closest match for @desc.
+
 
 </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 name="fontmap">
+<parameter_description> a #PangoFontMap
 </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 name="context">
+<parameter_description> the #PangoContext the font will be used with
 </parameter_description>
 </parameter>
-<parameter name="attrs_len">
-<parameter_description> length of @log_attrs array
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the font to load
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoFont
+loaded, or %NULL if no font matched.
+</return>
 </function>
 
-<function name="pango_renderer_draw_rectangle">
+<function name="pango_font_map_load_fontset">
 <description>
-Draws an axis-aligned rectangle in user space coordinates with the
-specified #PangoRenderer.
+Load a set of fonts in the fontmap that can be used to render
+a font matching @desc.
 
-This should be called while @renderer is already active.  Use
-pango_renderer_activate() to activate a renderer.
-
-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 name="fontmap">
+<parameter_description> a #PangoFontMap
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> Y position at which to draw rectangle, in user space coordinates in Pango units
+<parameter name="context">
+<parameter_description> the #PangoContext the font will be used with
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> width of rectangle in Pango units in user space coordinates
+<parameter name="desc">
+<parameter_description> a #PangoFontDescription describing the font to load
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> height of rectangle in Pango units in user space coordinates
+<parameter name="language">
+<parameter_description> a #PangoLanguage the fonts will be used for
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated
+#PangoFontset loaded, or %NULL if no font matched.
+</return>
 </function>
 
-<function name="pango_ft2_font_map_for_display">
+<function name="pango_font_metrics_get_approximate_char_width">
 <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.
+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> a #PangoFT2FontMap.
+<return> the character width, in Pango units.
 </return>
 </function>
 
-<function name="pango_fc_font_description_from_pattern">
+<function name="pango_font_metrics_get_approximate_digit_width">
 <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't make sense in
-the context of #PangoFontDescription, so will be ignored.
+Gets the approximate digit width for a font metrics structure.
+This is merely a representative value useful, for example, for
+determining the initial size for a window. Actual digits in
+text can be wider or narrower than this, though this value
+is generally somewhat more accurate than the result of
+pango_font_metrics_get_approximate_char_width() for digits.
 
-Since: 1.4
 
 </description>
 <parameters>
-<parameter name="pattern">
-<parameter_description> a #FcPattern
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
 </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)
+</parameters>
+<return> the digit width, in Pango units.
+</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> a new #PangoFontDescription. Free with
-pango_font_description_free().
-
+<return> the ascent, in Pango units.
 </return>
 </function>
 
@@ -5416,833 +5609,665 @@ where the ink will be.)
 </return>
 </function>
 
-<function name="pango_ot_ruleset_description_copy">
+<function name="pango_font_metrics_get_strikethrough_position">
 <description>
-Creates a copy of @desc, which should be freed with
-pango_ot_ruleset_description_free(). Primarily used internally
-by pango_ot_ruleset_get_for_description() to cache rulesets for
-ruleset descriptions.
+Gets the suggested position to draw the strikethrough.
+The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
+baseline of the top of the strikethrough.
 
-Since: 1.18
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> ruleset description to copy
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoOTRulesetDescription, which
-should be freed with pango_ot_ruleset_description_free().
+<return> the suggested strikethrough position, in Pango units.
 
 </return>
 </function>
 
-<function name="pango_layout_get_lines">
+<function name="pango_font_metrics_get_strikethrough_thickness">
 <description>
-Returns the lines of the @layout as a list.
-
-Use the faster pango_layout_get_lines_readonly() if you do not plan
-to modify the contents of the lines (glyphs, glyph widths, etc.).
+Gets the suggested thickness to draw for the strikethrough.
 
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
 </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's
-text or properties.
+<return> the suggested strikethrough thickness, in Pango units.
+
 </return>
 </function>
 
-<function name="pango_font_description_equal">
+<function name="pango_font_metrics_get_underline_position">
 <description>
-Compares two font descriptions for equality. Two font descriptions
-are considered equal if the fonts they describe are provably identical.
-This means that their masks do not have to match, as long as other fields
-are all the same. (Two font descriptions may result in identical fonts
-being loaded, but still compare %FALSE.)
+Gets the suggested position to draw the underline.
+The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
+baseline of the top of the underline. Since most fonts have
+underline positions beneath the baseline, this value is typically
+negative.
 
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="desc1">
-<parameter_description> a #PangoFontDescription
-</parameter_description>
-</parameter>
-<parameter name="desc2">
-<parameter_description> another #PangoFontDescription
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the two font descriptions are identical,
-%FALSE otherwise.
+<return> the suggested underline position, in Pango units.
+
 </return>
 </function>
 
-<function name="pango_glyph_string_get_width">
+<function name="pango_font_metrics_get_underline_thickness">
 <description>
-Computes the logical width of the glyph string as can also be computed
-using pango_glyph_string_extents().  However, since this only computes the
-width, it's much faster.  This is in fact only a convenience function that
-computes the sum of geometry.width for each glyph in the @glyphs.
+Gets the suggested thickness to draw for the underline.
 
-Since: 1.14
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="glyphs">
-<parameter_description>   a #PangoGlyphString
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure
 </parameter_description>
 </parameter>
 </parameters>
-<return> the logical width of the glyph string.
+<return> the suggested underline thickness, in Pango units.
 
 </return>
 </function>
 
-<function name="pango_context_set_base_dir">
+<function name="pango_font_metrics_new">
 <description>
-Sets the base direction for the context.
+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.
 
-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>
+<return> a newly-created #PangoFontMetrics structure
+with a reference count of 1.
+</return>
 </function>
 
-<function name="pango_glyph_string_get_logical_widths">
+<function name="pango_font_metrics_ref">
 <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.
+Increase the reference count of a font metrics structure by one.
 
-See also pango_glyph_item_get_logical_widths().
 
 </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 the number of characters in
-text (equal to g_utf8_strlen (text, length) unless
-text has NUL bytes)
-to be filled in with the resulting character widths.
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> @metrics
+</return>
 </function>
 
-<function name="pango_x_shutdown_display">
+<function name="pango_font_metrics_unref">
 <description>
-Free cached resources for the given X display structure.
+Decrease the reference count of a font metrics structure by one. If
+the result is zero, frees the structure and any associated
+memory.
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X #Display
+<parameter name="metrics">
+<parameter_description> a #PangoFontMetrics structure, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_iter_get_index">
+<function name="pango_fontset_foreach">
 <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()).
+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="iter">
-<parameter_description> a #PangoLayoutIter
+<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> current byte index.
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_info_list_scripts">
+<function name="pango_fontset_get_font">
 <description>
-Obtains the list of available scripts.
+Returns the font in the fontset that contains the best glyph for the
+Unicode character @wc.
 
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #PangoOTInfo.
+<parameter name="fontset">
+<parameter_description> a #PangoFontset
 </parameter_description>
 </parameter>
-<parameter name="table_type">
-<parameter_description> the table type to obtain information about.
+<parameter name="wc">
+<parameter_description> a Unicode character
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated zero-terminated array containing the tags of the
-available scripts.  Should be freed using g_free().
+<return> a #PangoFont. The caller must call
+g_object_unref when finished with the font.
 </return>
 </function>
 
-<function name="pango_renderer_part_changed">
+<function name="pango_fontset_get_metrics">
 <description>
-Informs Pango that the way that the rendering 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
-
-&lt;informalexample&gt;&lt;programlisting&gt;
-pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
-&lt;/programlisting&gt;&lt;/informalexample&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())
+Get overall metric information for the fonts in the fontset.
 
-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 name="fontset">
+<parameter_description> a #PangoFontset
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
+when finished using the object.
+</return>
 </function>
 
-<function name="pango_layout_line_get_pixel_extents">
+<function name="pango_fontset_simple_append">
 <description>
-Computes the logical and ink extents of @layout_line in device units.
-This function just calls pango_layout_line_get_extents() followed by
-two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
-such that the rounded rectangles fully contain the unrounded one (that is,
-passes them as first argument to pango_extents_to_pixels()).
+Adds a font to the fontset.
 
 </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
+<parameter name="fontset">
+<parameter_description> a #PangoFontsetSimple.
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle used to store the logical extents of the glyph
-string, or %NULL
+<parameter name="font">
+<parameter_description> a #PangoFont.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_color_parse">
+<function name="pango_fontset_simple_new">
 <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 &lt;filename&gt;rgb.txt&lt;/filename&gt; file), or it can be a hex value in the
-form 'rgb' 'rrggbb' 'rrrgggbbb' or 'rrrrggggbbbb' where
-'r', 'g' and 'b' are hex digits of the red, green, and blue
-components of the color, respectively. (White in the four
-forms is 'fff' 'ffffff' 'fffffffff' and 'ffffffffffff')
+Creates a new #PangoFontsetSimple for the given language.
 
 
 </description>
 <parameters>
-<parameter name="color">
-<parameter_description> a #PangoColor structure in which to store the result, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="spec">
-<parameter_description> a string specifying the new color
+<parameter name="language">
+<parameter_description> a #PangoLanguage tag
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if parsing of the specifier succeeded,
-otherwise false.
+<return> the newly allocated #PangoFontsetSimple, which should
+be freed with g_object_unref().
 </return>
 </function>
 
-<function name="pango_attr_iterator_get_attrs">
+<function name="pango_fontset_simple_size">
 <description>
-Gets a list of all attributes at the current position of the
-iterator.
+Returns the number of fonts in the fontset.
 
-Since: 1.2
 
 </description>
 <parameters>
-<parameter name="iterator">
-<parameter_description> a #PangoAttrIterator
+<parameter name="fontset">
+<parameter_description> a #PangoFontsetSimple.
 </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> the size of @fontset.
 </return>
 </function>
 
-<function name="pango_cairo_layout_line_path">
+<function name="pango_ft2_font_get_coverage">
 <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.
+Gets the #PangoCoverage for a &lt;type&gt;PangoFT2Font&lt;/type&gt;. Use
+pango_font_get_coverage() instead.
 
-Since: 1.10
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="font">
+<parameter_description> a &lt;type&gt;PangoFT2Font&lt;/type&gt;.
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description> a #PangoLayoutLine
+<parameter name="language">
+<parameter_description> a language tag.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a #PangoCoverage.
+</return>
 </function>
 
-<function name="pango_layout_new">
+<function name="pango_ft2_font_get_face">
 <description>
-Create a new #PangoLayout object with attributes initialized to
-default values for a particular #PangoContext.
+Returns the native FreeType2 &lt;type&gt;FT_Face&lt;/type&gt; 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="context">
-<parameter_description> a #PangoContext
+<parameter name="font">
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoLayout, with a reference
-count of one, which should be freed with
-g_object_unref().
+<return> a pointer to a &lt;type&gt;FT_Face&lt;/type&gt;
+structure, with the size set correctly, or %NULL if
+ font is %NULL.
 </return>
 </function>
 
-<function name="pango_font_description_set_gravity">
+<function name="pango_ft2_font_get_kerning">
 <description>
-Sets the gravity field of a font description. The gravity field
-specifies how the glyphs should be rotated.  If @gravity is
-%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
-the font description.
+Retrieves kerning information for a combination of two glyphs.
 
-This function is seldom useful to the user.  Gravity should normally
-be set on a #PangoContext.
+Use pango_fc_font_kern_glyphs() instead.
 
-Since: 1.16
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
-</parameter_description>
-</parameter>
-<parameter name="gravity">
-<parameter_description> the gravity for the font description.
+<parameter name="font">
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="pango_scan_int">
-<description>
-Scans an integer.
-Leading white space is skipped.
-
-
-</description>
-<parameters>
-<parameter name="pos">
-<parameter_description> in/out string position
+<parameter name="left">
+<parameter_description> the left #PangoGlyph
 </parameter_description>
 </parameter>
-<parameter name="out">
-<parameter_description> an int into which to write the result
+<parameter name="right">
+<parameter_description> the right #PangoGlyph
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE if a parse error occurred.
+<return> The amount of kerning (in Pango units) to apply for
+the given combination of glyphs.
 </return>
 </function>
 
-<function name="pango_x_get_unknown_glyph">
+<function name="pango_ft2_font_map_create_context">
 <description>
-Returns the index of a glyph suitable for drawing unknown characters;
-you should generally use PANGO_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
-representative of a certain Unicode range.)
+Create a #PangoContext for the given fontmap.
 
+Since: 1.2
+
+Deprecated: 1.22: Use pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2FontMap
 </parameter_description>
 </parameter>
 </parameters>
-<return> a glyph index into @font.
+<return> the newly created context; free with g_object_unref().
+
 </return>
 </function>
 
-<function name="pango_ot_ruleset_description_equal">
+<function name="pango_ft2_font_map_for_display">
 <description>
-Compares two ruleset descriptions for equality.
-Two ruleset descriptions are considered equal if the rulesets
-they describe are provably identical.  This means that their
-script, language, and all feature sets should be equal.  For static feature
-sets, the array addresses are compared directly, while for other
-features, the list of features is compared one by one.
-(Two ruleset descriptions may result in identical rulesets
-being created, but still compare %FALSE.)
+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.
 
-Since: 1.18
 
 </description>
 <parameters>
-<parameter name="desc1">
-<parameter_description> a ruleset description
-</parameter_description>
-</parameter>
-<parameter name="desc2">
-<parameter_description> a ruleset description
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE if two ruleset descriptions are identical,
-%FALSE otherwise.
-
+<return> a #PangoFT2FontMap.
 </return>
 </function>
 
-<function name="pango_ot_info_get">
+<function name="pango_ft2_font_map_new">
 <description>
-Returns the #PangoOTInfo structure for the given FreeType font face.
+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()).
 
 Since: 1.2
 
 </description>
 <parameters>
-<parameter name="face">
-<parameter_description> a &lt;type&gt;FT_Face&lt;/type&gt;.
-</parameter_description>
-</parameter>
 </parameters>
-<return> the #PangoOTInfo for @face. This object will have
-the same lifetime as @face.
+<return> the newly created fontmap object. Unref
+with g_object_unref() when you are finished with it.
 
 </return>
 </function>
 
-<function name="pango_version_check">
+<function name="pango_ft2_font_map_set_default_substitute">
 <description>
-Checks that the Pango library in use is compatible with the
-given version. Generally you would pass in the constants
-%PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO
-as the three arguments to this function; that produces
-a check that the library in use at run-time is compatible with
-the version of Pango the application or module was compiled against.
-
-Compatibility is defined by two things: first the version
-of the running library is newer than the version
- required_major required_minor @required_micro. Second
-the running library must be binary compatible with the
-version @required_major required_minor  required_micro
-(same major version.)
-
-For compile-time version checking use PANGO_VERSION_CHECK().
+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.16
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="required_major">
-<parameter_description> the required major version.
+<parameter name="fontmap">
+<parameter_description> a #PangoFT2FontMap
 </parameter_description>
 </parameter>
-<parameter name="required_minor">
-<parameter_description> the required minor version.
+<parameter name="func">
+<parameter_description> function to call to to do final config tweaking
+on #FcPattern objects.
 </parameter_description>
 </parameter>
-<parameter name="required_micro">
-<parameter_description> the required major version.
+<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> %NULL if the Pango library is compatible with the
-given version, or a string describing the version mismatch.
-The returned string is owned by Pango and should not be modified
-or freed.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_metrics_get_ascent">
+<function name="pango_ft2_font_map_set_resolution">
 <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.)
+Sets the horizontal and vertical resolutions for the fontmap.
 
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<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> the ascent, in Pango units.
-</return>
+<return></return>
 </function>
 
-<function name="pango_coverage_to_bytes">
+<function name="pango_ft2_font_map_substitute_changed">
 <description>
-Convert a #PangoCoverage structure into a flat binary format
+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 substitution function will return different
+results for the same input pattern, you must call this function.
+
+Since: 1.2
 
 </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 name="fontmap">
+<parameter_description> a #PangoFT2FontMap
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_gravity_to_rotation">
+<function name="pango_ft2_get_context">
 <description>
-Converts a #PangoGravity value to its natural rotation in radians.
- gravity should not be %PANGO_GRAVITY_AUTO.
-
-Note that pango_matrix_rotate() takes angle in degrees, not radians.
-So, to call pango_matrix_rotate() with the output of this function
-you should multiply it by (180. / G_PI).
+Retrieves a #PangoContext for the default PangoFT2 fontmap
+(see pango_ft2_font_map_for_display()) and sets the resolution
+for the default fontmap to @dpi_x by @dpi_y.
 
-Since: 1.16
+Deprecated: 1.22: Use pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="gravity">
-<parameter_description> gravity to query
+<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 rotation value corresponding to @gravity.
+<return> the new #PangoContext
 
 </return>
 </function>
 
-<function name="pango_extents_to_pixels">
+<function name="pango_ft2_get_unknown_glyph">
 <description>
-Converts extents from Pango units to device units, dividing by the
-%PANGO_SCALE factor and performing rounding.
-
-The @inclusive rectangle is converted by flooring the x/y coordinates and extending
-width/height, such that the final rectangle completely includes the original
-rectangle.
-
-The @nearest rectangle is converted by rounding the coordinates
-of the rectangle to the nearest device unit (pixel).
+Return the index of a glyph suitable for drawing unknown characters with
+ font, or %PANGO_GLYPH_EMPTY if no suitable glyph found.
 
-The rule to which argument to use is: if you want the resulting device-space
-rectangle to completely contain the original rectangle, pass it in as @inclusive.
-If you want two touching-but-not-overlapping rectangles stay
-touching-but-not-overlapping after rounding to device units, pass them in
-as @nearest.
+If you want to draw an unknown-box for a character that is not covered
+by the font,
+use PANGO_GET_UNKNOWN_GLYPH() instead.
 
-Since: 1.16
 
 </description>
 <parameters>
-<parameter name="inclusive">
-<parameter_description> rectangle to round to pixels inclusively, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="nearest">
-<parameter_description> rectangle to round to nearest pixels, or %NULL.
+<parameter name="font">
+<parameter_description> a #PangoFont
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a glyph index into @font, or %PANGO_GLYPH_EMPTY
+</return>
 </function>
 
-<function name="pango_glyph_string_index_to_x">
+<function name="pango_ft2_render">
 <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.
+Renders a #PangoGlyphString onto a FreeType2 bitmap.
 
 </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 name="bitmap">
+<parameter_description>  the FreeType2 bitmap onto which to draw the string
 </parameter_description>
 </parameter>
-<parameter name="analysis">
-<parameter_description>  the analysis information return from pango_itemize()
+<parameter name="font">
+<parameter_description>    the font in which to draw the string
 </parameter_description>
 </parameter>
-<parameter name="index_">
-<parameter_description>    the byte index within @text
+<parameter name="glyphs">
+<parameter_description>  the glyph string to draw
 </parameter_description>
 </parameter>
-<parameter name="trailing">
-<parameter_description>  whether we should compute the result for the beginning (%FALSE)
-or end (%TRUE) of the character.
+<parameter name="x">
+<parameter_description>       the x position of the start of the string (in pixels)
 </parameter_description>
 </parameter>
-<parameter name="x_pos">
-<parameter_description>     location to store result
+<parameter name="y">
+<parameter_description>       the y position of the baseline (in pixels)
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_glyph_item_iter_next_cluster">
+<function name="pango_ft2_render_layout">
 <description>
-Advances the iterator to the next cluster in the glyph item.
-See #PangoGlyphItemIter for details of cluster orders.
-
-Since: 1.22
+Render a #PangoLayout onto a FreeType2 bitmap
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoGlyphItemIter
+<parameter name="bitmap">
+<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
 </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_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 name="layout">
+<parameter_description>    a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="positions_in_pixels">
-<parameter_description> whether positions are in pixel units
+<parameter name="x">
+<parameter_description>         the X position of the left of the layout (in pixels)
 </parameter_description>
 </parameter>
-</parameters>
-<return> the newly allocated #PangoTabArray, which should
-be freed with pango_tab_array_free().
-</return>
-</function>
-
-<function name="pango_atsui_font_get_cgfont">
-<description>
-Returns the CGFontRef of a font.
-
-Since: 1.18
-
-</description>
-<parameters>
-<parameter name="font">
-<parameter_description> A #PangoATSUIFont
+<parameter name="y">
+<parameter_description>         the Y position of the top of the layout (in pixels)
 </parameter_description>
 </parameter>
 </parameters>
-<return> the CGFontRef associated to @font.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_item_split">
+<function name="pango_ft2_render_layout_line">
 <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'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't available, so pango_item_split() can't count the char
-length of the split items itself.
-
+Render a #PangoLayoutLine onto a FreeType2 bitmap
 
 </description>
 <parameters>
-<parameter name="orig">
-<parameter_description> a #PangoItem
+<parameter name="bitmap">
+<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the line onto
 </parameter_description>
 </parameter>
-<parameter name="split_index">
-<parameter_description> byte index of position to split item, relative to the start of the item
+<parameter name="line">
+<parameter_description>      a #PangoLayoutLine
 </parameter_description>
 </parameter>
-<parameter name="split_offset">
-<parameter_description> number of chars between start of @orig and @split_index
+<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> new item representing text before @split_index, which
-should be freed with pango_item_free().
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_description_get_size_is_absolute">
+<function name="pango_ft2_render_layout_line_subpixel">
 <description>
-Determines whether the size of the font is in points (not absolute) or device units (absolute).
-See pango_font_description_set_size() and pango_font_description_set_absolute_size().
+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.8
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="bitmap">
+<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; 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> whether 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 explicitly set or not.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_break">
+<function name="pango_ft2_render_layout_subpixel">
 <description>
-Determines possible line, word, and character breaks
-for a string of Unicode text with a single analysis.  For most
-purposes you may want to use pango_get_log_attrs().
+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="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 name="bitmap">
+<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
 </parameter_description>
 </parameter>
-<parameter name="analysis">
-<parameter_description>  #PangoAnalysis structure from pango_itemize()
+<parameter name="layout">
+<parameter_description>    a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="attrs">
-<parameter_description>     an array to store character information in
+<parameter name="x">
+<parameter_description>         the X position of the left of the layout (in Pango units)
 </parameter_description>
 </parameter>
-<parameter name="attrs_len">
-<parameter_description> size of the array passed as @attrs
+<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_render_transformed">
+<function name="pango_ft2_render_transformed">
 <description>
-Renders a #PangoGlyphString onto a windows DC, possibly
+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="hdc">
-<parameter_description>     a windows device context
-</parameter_description>
-</parameter>
-<parameter name="matrix">
-<parameter_description>  a #PangoMatrix, or %NULL to use an identity transformation
+<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>
@@ -6272,574 +6297,656 @@ Use of the global PangoFT2 fontmap is deprecated.
 <return></return>
 </function>
 
-<function name="pango_x_render_layout_line">
+<function name="pango_get_lib_subdirectory">
 <description>
-Renders a #PangoLayoutLine onto an X drawable.
+On Unix, returns the name of the &quot;pango&quot; subdirectory of LIBDIR
+(which is set at compile time). On Windows, returns the lib\pango
+subdirectory of the Pango installation directory (which is deduced
+at run time from the DLL's location).
+
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description>   the X display.
+</parameters>
+<return> the Pango lib directory. The returned string should
+not be freed.
+</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'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="drawable">
-<parameter_description>  the drawable on which to draw.
+<parameter name="length">
+<parameter_description> length in bytes of @text
 </parameter_description>
 </parameter>
-<parameter name="gc">
-<parameter_description>        GC to use for uncolored drawing.
+<parameter name="level">
+<parameter_description> embedding level, or -1 if unknown
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description>      a #PangoLayoutLine.
+<parameter name="language">
+<parameter_description> language tag
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>         the x position of start of string (in pixels).
+<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="y">
-<parameter_description>         the y position of baseline (in pixels).
+<parameter name="attrs_len">
+<parameter_description> length of @log_attrs array
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_fc_font_key_get_pattern">
+<function name="pango_get_mirror_char">
 <description>
-Gets the fontconfig pattern member of @key.
+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'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.
 
-Since: 1.24
 
 </description>
 <parameters>
-<parameter name="key">
-<parameter_description> the font key
+<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> the pattern, which is owned by @key and should not be modified.
-
+<return> %TRUE if @ch has a mirrored character and @mirrored_ch is
+filled in, %FALSE otherwise
 </return>
 </function>
 
-<function name="pango_coverage_set">
+<function name="pango_get_sysconf_subdirectory">
 <description>
-Modify a particular index within @coverage
+On Unix, returns the name of the &quot;pango&quot; subdirectory of SYSCONFDIR
+(which is set at compile time). On Windows, returns the etc\pango
+subdirectory of the Pango installation directory (which is deduced
+at run time from the DLL's location).
+
 
 </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>
+<return> the Pango sysconf directory. The returned string should
+not be freed.
+</return>
 </function>
 
-<function name="pango_fc_font_lock_face">
+<function name="pango_glyph_item_apply_attrs">
 <description>
-Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
-This face will be kept around until you call
-pango_fc_font_unlock_face().
+Splits a shaped item (PangoGlyphItem) into multiple items based
+on an attribute list. The idea is that if you have attributes
+that don'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.
 
-Since: 1.4
+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 strikethrough, then the cluster will end
+up with both underline and strikethrough attributes. In these
+cases, it may happen that item-&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.
+
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFcFont.
+<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> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
+<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().
 
 </return>
 </function>
 
-<function name="pango_attr_iterator_range">
+<function name="pango_glyph_item_copy">
 <description>
-Get the range of the current segment. Note that the
-stored return values are signed, not unsigned like
-the values in #PangoAttribute. To deal with this API
-oversight, stored return values that wouldn't fit into
-a signed integer are clamped to %G_MAXINT.
+Make a deep copy of an existing #PangoGlyphItem structure.
+
+Since: 1.20
 
 </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 name="orig">
+<parameter_description> a #PangoGlyphItem, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoGlyphItem, which should
+be freed with pango_glyph_item_free(), or %NULL
+if @orig was %NULL.
+
+</return>
 </function>
 
-<function name="pango_renderer_draw_glyphs">
+<function name="pango_glyph_item_free">
 <description>
-Draws the glyphs in @glyphs with the specified #PangoRenderer.
+Frees a #PangoGlyphItem and resources to which it points.
 
-Since: 1.8
+Since: 1.6
 
 </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> Y position of left edge of baseline, in user space coordinates
-in Pango units.
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_ft2_render_layout_subpixel">
+<function name="pango_glyph_item_get_logical_widths">
 <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.)
+Given a #PangoGlyphItem 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.
 
-Since: 1.6
+See also pango_glyph_string_get_logical_widths().
+
+Since: 1.26
 
 </description>
 <parameters>
-<parameter name="bitmap">
-<parameter_description>    a &lt;type&gt;FT_Bitmap&lt;/type&gt; to render the layout onto
-</parameter_description>
-</parameter>
-<parameter name="layout">
-<parameter_description>    a #PangoLayout
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>         the X position of the left of the layout (in Pango units)
+<parameter name="text">
+<parameter_description> text that @glyph_item corresponds to
+(glyph_item-&gt;item-&gt;offset is an offset from the
+start of @text)
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>         the Y position of the top of the layout (in Pango units)
+<parameter name="logical_widths">
+<parameter_description> an array whose length is the number of
+characters in glyph_item (equal to
+glyph_item-&gt;item-&gt;num_chars) to be filled in with
+the resulting character widths.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_xft_get_context">
+<function name="pango_glyph_item_iter_copy">
 <description>
-Retrieves a #PangoContext appropriate for rendering with
-Xft fonts on the given screen of the given display.
+Make a shallow copy of an existing #PangoGlyphItemIter structure.
 
-Deprecated: 1.22: Use pango_xft_get_font_map() followed by
-pango_font_map_create_context() instead.
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X display.
-</parameter_description>
-</parameter>
-<parameter name="screen">
-<parameter_description> an X screen.
+<parameter name="orig">
+<parameter_description> a #PangoGlyphItemIter, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #PangoContext.
+<return> the newly allocated #PangoGlyphItemIter, which should
+be freed with pango_glyph_item_iter_free(), or %NULL
+if @orig was %NULL.
 
 </return>
 </function>
 
-<function name="pango_script_iter_next">
+<function name="pango_glyph_item_iter_free">
 <description>
-Advances a #PangoScriptIter to the next range. If @iter
-is already at the end, it is left unchanged and %FALSE
-is returned.
+Frees a #PangoGlyphItemIter created by pango_glyph_item_iter_copy().
 
-Since: 1.4
+Since: 1.22
 
 </description>
 <parameters>
 <parameter name="iter">
-<parameter_description> a #PangoScriptIter
+<parameter_description> a #PangoGlyphItemIter, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @iter was successfully advanced.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_iterator_get_font">
+<function name="pango_glyph_item_iter_init_end">
 <description>
-Get the font and other attributes at the current iterator position.
+Initializes a #PangoGlyphItemIter structure to point to the
+last cluster in a glyph item.
+See #PangoGlyphItemIter for details of cluster orders.
+
+Since: 1.22
 
 </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:
-&lt;literal&gt;pango_font_description_set_family (desc, pango_font_description_get_family 
(desc))&lt;/literal&gt;.
+<parameter name="iter">
+<parameter_description> a #PangoGlyphItemIter
 </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 name="glyph_item">
+<parameter_description> the glyph item to iterate over
 </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 name="text">
+<parameter_description> text corresponding to the glyph item
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if there are no clusters in the glyph item
+
+</return>
 </function>
 
-<function name="pango_glyph_string_set_size">
+<function name="pango_glyph_item_iter_init_start">
 <description>
-Resize a glyph string to the given length.
+Initializes a #PangoGlyphItemIter structure to point to the
+first cluster in a glyph item.
+See #PangoGlyphItemIter for details of cluster orders.
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="string">
-<parameter_description>    a #PangoGlyphString.
+<parameter name="iter">
+<parameter_description> a #PangoGlyphItemIter
 </parameter_description>
 </parameter>
-<parameter name="new_len">
-<parameter_description>   the new length of the string.
+<parameter name="glyph_item">
+<parameter_description> the glyph item to iterate over
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> text corresponding to the glyph item
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if there are no clusters in the glyph item
+
+</return>
 </function>
 
-<function name="pango_ot_ruleset_get_feature_count">
+<function name="pango_glyph_item_iter_next_cluster">
 <description>
-Gets the number of GSUB and GPOS features in the ruleset.
+Advances the iterator to the next cluster in the glyph item.
+See #PangoGlyphItemIter for details of cluster orders.
 
-Since: 1.18
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="ruleset">
-<parameter_description> a #PangoOTRuleset.
-</parameter_description>
-</parameter>
-<parameter name="n_gsub_features">
-<parameter_description> location to store number of GSUB features, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="n_gpos_features">
-<parameter_description> location to store number of GPOS features, or %NULL.
+<parameter name="iter">
+<parameter_description> a #PangoGlyphItemIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> Total number of features in the @ruleset.
+<return> %TRUE if the iterator was advanced, %FALSE if we were already on the
+last cluster.
 
 </return>
 </function>
 
-<function name="pango_win32_shutdown_display">
+<function name="pango_glyph_item_iter_prev_cluster">
 <description>
-Free cached resources.
+Moves the iterator to the preceding cluster in the glyph item.
+See #PangoGlyphItemIter for details of cluster orders.
+
+Since: 1.22
 
 </description>
 <parameters>
+<parameter name="iter">
+<parameter_description> a #PangoGlyphItemIter
+</parameter_description>
+</parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the iterator was moved, %FALSE if we were already on the
+first cluster.
+
+</return>
 </function>
 
-<function name="pango_parse_markup">
+<function name="pango_glyph_item_letter_space">
 <description>
-Parses marked-up text (see
-&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;) to create
-a plain-text string and an attribute list.
-
-If @accel_marker is nonzero, the given character will mark the
-character following it as an accelerator. For example, @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.
-
-If any error happens, none of the output arguments are touched except
-for @error.
+Adds spacing between the graphemes of @glyph_item to
+give the effect of typographic letter spacing.
 
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="markup_text">
-<parameter_description> markup to parse (see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup 
format&lt;/link&gt;)
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem
 </parameter_description>
 </parameter>
-<parameter name="length">
-<parameter_description> length of @markup_text, or -1 if nul-terminated
+<parameter name="text">
+<parameter_description> text that @glyph_item corresponds to
+(glyph_item-&gt;item-&gt;offset is an offset from the
+start of @text)
 </parameter_description>
 </parameter>
-<parameter name="accel_marker">
-<parameter_description> character that precedes an accelerator, or 0 for none
+<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="attr_list">
-<parameter_description> address of return location for a #PangoAttrList, or %NULL
+<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>
-<parameter name="text">
-<parameter_description> address of return location for text with tags stripped, or %NULL
+</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't create a
+zero-length item).
+
+This function is similar in function to pango_item_split() (and uses
+it internally.)
+
+Since: 1.2
+
+</description>
+<parameters>
+<parameter name="orig">
+<parameter_description> a #PangoItem
 </parameter_description>
 </parameter>
-<parameter name="accel_char">
-<parameter_description> address of return location for accelerator char, or %NULL
+<parameter name="text">
+<parameter_description> text to which positions in @orig apply
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> address of return location for errors, or %NULL
+<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> %FALSE if @error is set, otherwise %TRUE
+<return> the newly allocated item representing text before
+ split_index, which should be freed
+with pango_glyph_item_free().
+
 </return>
 </function>
 
-<function name="pango_script_iter_free">
+<function name="pango_glyph_string_copy">
 <description>
-Frees a #PangoScriptIter created with pango_script_iter_new().
+Copy a glyph string and associated storage.
 
-Since: 1.4
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoScriptIter
+<parameter name="string">
+<parameter_description> a #PangoGlyphString, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoGlyphString,
+which should be freed with pango_glyph_string_free(),
+or %NULL if @string was %NULL.
+</return>
 </function>
 
-<function name="pango_context_set_font_description">
+<function name="pango_glyph_string_extents">
 <description>
-Set the default font description for the context
+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="context">
-<parameter_description> a #PangoContext
+<parameter name="glyphs">
+<parameter_description>   a #PangoGlyphString
 </parameter_description>
 </parameter>
-<parameter name="desc">
-<parameter_description> the new pango font description
+<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_attr_stretch_new">
+<function name="pango_glyph_string_extents_range">
 <description>
-Create a new font stretch attribute
-
+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="stretch">
-<parameter_description> the stretch
+<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 &lt;= index &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> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_layout_iter_next_cluster">
+<function name="pango_glyph_string_free">
 <description>
-Moves @iter forward to the next cluster in visual order. If @iter
-was already at the end of the layout, returns %FALSE.
-
+Free a glyph string and associated storage.
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="string">
+<parameter_description> a #PangoGlyphString, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether motion was possible.
-</return>
+<return></return>
 </function>
 
-<function name="pango_get_sysconf_subdirectory">
+<function name="pango_glyph_string_get_logical_widths">
 <description>
-On Unix, returns the name of the &quot;pango&quot; subdirectory of SYSCONFDIR
-(which is set at compile time). On Windows, returns the etc\pango
-subdirectory of the Pango installation directory (which is deduced
-at run time from the DLL's location).
+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.
 
+See also pango_glyph_item_get_logical_widths().
 
 </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 the number of
+characters in text (equal to g_utf8_strlen (text,
+length) unless text has NUL bytes) to be filled in
+with the resulting character widths.
+</parameter_description>
+</parameter>
 </parameters>
-<return> the Pango sysconf directory. The returned string should
-not be freed.
-</return>
+<return></return>
 </function>
 
-<function name="pango_cairo_font_map_set_default">
+<function name="pango_glyph_string_get_width">
 <description>
-Sets a default #PangoCairoFontMap to use with Cairo.
-
-This can be used to change the Cairo font backend that the
-default fontmap uses for example.  The old default font map
-is unreffed and the new font map referenced.
-
-A value of %NULL for @fontmap will cause the current default
-font map to be released and a new default font
-map to be created on demand, using pango_cairo_font_map_new().
+Computes the logical width of the glyph string as can also be computed
+using pango_glyph_string_extents().  However, since this only computes the
+width, it's much faster.  This is in fact only a convenience function that
+computes the sum of geometry.width for each glyph in the @glyphs.
 
-Since: 1.22
+Since: 1.14
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> The new default font map, or %NULL
+<parameter name="glyphs">
+<parameter_description>   a #PangoGlyphString
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the logical width of the glyph string.
+
+</return>
 </function>
 
-<function name="pango_quantize_line_geometry">
+<function name="pango_glyph_string_index_to_x">
 <description>
-Quantizes the thickness and position of a line, typically an
-underline or strikethrough, to whole device pixels, that is integer
-multiples of %PANGO_SCALE. The purpose of this function is to avoid
-such lines looking blurry.
-
-Care is taken to make sure @thickness is at least one pixel when this
-function returns, but returned @position may become zero as a result
-of rounding.
-
-Since: 1.12
+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="thickness">
-<parameter_description> pointer to the thickness of a line, in Pango units
+<parameter name="glyphs">
+<parameter_description>    the glyphs return from pango_shape()
 </parameter_description>
 </parameter>
-<parameter name="position">
-<parameter_description> corresponding position
+<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 (%FALSE)
+or end (%TRUE) 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_font_face_get_face_name">
+<function name="pango_glyph_string_new">
 <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.
+Create a new #PangoGlyphString.
 
 
 </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> the newly allocated #PangoGlyphString, which
+should be freed with pango_glyph_string_free().
 </return>
 </function>
 
-<function name="pango_x_font_cache_new">
+<function name="pango_glyph_string_set_size">
 <description>
-Creates a font cache for the specified display.
-
+Resize a glyph string to the given length.
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description> an X display.
+<parameter name="string">
+<parameter_description>    a #PangoGlyphString.
 </parameter_description>
 </parameter>
-</parameters>
-<return> The newly allocated #PangoXFontCache, which should 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 Standard Annex #24). No check is made for @ch being a
-valid Unicode character; if you pass in invalid character, the
-result is undefined.
-
-As of Pango 1.18, this function simply returns the return value of
-g_unichar_get_script().
-
-Since: 1.4
-
-</description>
-<parameters>
-<parameter name="ch">
-<parameter_description> a Unicode character
+<parameter name="new_len">
+<parameter_description>   the new length of the string.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #PangoScript for the character.
-
-</return>
+<return></return>
 </function>
 
 <function name="pango_glyph_string_x_to_index">
@@ -6874,11 +6981,11 @@ attributes for the text to compute the valid cursor position.
 </parameter_description>
 </parameter>
 <parameter name="index_">
-<parameter_description>    location to store calculated byte index within @text
+<parameter_description> location to store calculated byte index within @text
 </parameter_description>
 </parameter>
 <parameter name="trailing">
-<parameter_description>  location to store a boolean indicating
+<parameter_description> location to store a boolean indicating
 whether the user clicked on the leading or trailing
 edge of the character.
 </parameter_description>
@@ -6887,587 +6994,669 @@ edge of the character.
 <return></return>
 </function>
 
-<function name="pango_win32_render_layout">
+<function name="pango_gravity_get_for_matrix">
 <description>
-Render a #PangoLayoutLine onto an X drawable
+Finds the gravity that best matches the rotation component
+in a #PangoMatrix.
+
+Since: 1.16
 
 </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 name="matrix">
+<parameter_description> a #PangoMatrix
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the gravity of @matrix, which will never be
+%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL
+
+</return>
 </function>
 
-<function name="pango_font_description_unset_fields">
+<function name="pango_gravity_get_for_script">
 <description>
-Unsets some of the fields in a #PangoFontDescription.  The unset
-fields will get back to their default values.
+Based on the script, base gravity, and hint, returns actual gravity
+to use in laying out a single #PangoItem.
+
+If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
+preferred gravity of @script.  To get the preferred gravity of a script,
+pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="script">
+<parameter_description> #PangoScript to query
 </parameter_description>
 </parameter>
-<parameter name="to_unset">
-<parameter_description> bitmask of fields in the @desc to unset.
+<parameter name="base_gravity">
+<parameter_description> base gravity of the paragraph
 </parameter_description>
 </parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="pango_fc_fontset_key_get_language">
-<description>
-Gets the language member of @key.
-
-Since: 1.24
-
-</description>
-<parameters>
-<parameter name="key">
-<parameter_description> the fontset key
+<parameter name="hint">
+<parameter_description> orientation hint
 </parameter_description>
 </parameter>
 </parameters>
-<return> the language
+<return> resolved gravity suitable to use for a run of text
+with @script.
 
 </return>
 </function>
 
-<function name="pango_layout_set_wrap">
+<function name="pango_gravity_get_for_script_and_width">
 <description>
-Sets the wrap mode; the wrap mode only has effect if a width
-is set on the layout with pango_layout_set_width().
-To turn off wrapping, set the width to -1.
+Based on the script, East Asian width, base gravity, and hint,
+returns actual gravity to use in laying out a single character
+or #PangoItem.
 
-</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>
+This function is similar to pango_gravity_get_for_script() except
+that this function makes a distinction between narrow/half-width and
+wide/full-width characters also.  Wide/full-width characters always
+stand &lt;emphasis&gt;upright&lt;/emphasis&gt;, that is, they always take the base gravity,
+whereas narrow/full-width characters are always rotated in vertical
+context.
 
-<function name="pango_ft2_font_map_set_resolution">
-<description>
-Sets the horizontal and vertical resolutions for the fontmap.
+If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
+preferred gravity of @script.
 
-Since: 1.2
+Since: 1.26
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoFT2Fontmap
+<parameter name="script">
+<parameter_description> #PangoScript to query
 </parameter_description>
 </parameter>
-<parameter name="dpi_x">
-<parameter_description> dots per inch in the X direction
+<parameter name="wide">
+<parameter_description> %TRUE for wide characters as returned by g_unichar_iswide()
 </parameter_description>
 </parameter>
-<parameter name="dpi_y">
-<parameter_description> dots per inch in the Y direction
+<parameter name="base_gravity">
+<parameter_description> base gravity of the paragraph
+</parameter_description>
+</parameter>
+<parameter name="hint">
+<parameter_description> orientation hint
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> resolved gravity suitable to use for a run of text
+with @script and @wide.
+
+</return>
 </function>
 
-<function name="pango_layout_get_text">
+<function name="pango_gravity_to_rotation">
 <description>
-Gets the text in the layout. The returned text should not
-be freed or modified.
+Converts a #PangoGravity value to its natural rotation in radians.
+ gravity should not be %PANGO_GRAVITY_AUTO.
 
+Note that pango_matrix_rotate() takes angle in degrees, not radians.
+So, to call pango_matrix_rotate() with the output of this function
+you should multiply it by (180. / G_PI).
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="gravity">
+<parameter_description> gravity to query
 </parameter_description>
 </parameter>
 </parameters>
-<return> the text in the @layout.
+<return> the rotation value corresponding to @gravity.
+
 </return>
 </function>
 
-<function name="pango_layout_get_baseline">
+<function name="pango_is_zero_width">
 <description>
-Gets the Y position of baseline of the first line in @layout.
+Checks @ch to see if it is a character that should not be
+normally rendered on the screen.  This includes all Unicode characters
+with &quot;ZERO WIDTH&quot; in their name, as well as &lt;firstterm&gt;bidi&lt;/firstterm&gt; formatting 
characters, and
+a few other ones.  This is totally different from g_unichar_iszerowidth()
+and is at best misnamed.
 
-Since: 1.22
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="ch">
+<parameter_description> a Unicode character
 </parameter_description>
 </parameter>
 </parameters>
-<return> baseline of first line, from top of @layout.
+<return> %TRUE if @ch is a zero-width character, %FALSE otherwise
 
 </return>
 </function>
 
-<function name="pango_context_get_font_map">
+<function name="pango_item_copy">
 <description>
-Gets the #PangoFontmap used to look up fonts for this context.
+Copy an existing #PangoItem structure.
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="item">
+<parameter_description> a #PangoItem, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the font map for the #PangoContext. This value
-is owned by Pango and should not be unreferenced.
-
+<return> the newly allocated #PangoItem, which
+should be freed with pango_item_free(), or %NULL if
+ item was %NULL.
 </return>
 </function>
 
-<function name="pango_fc_font_get_glyph">
+<function name="pango_item_free">
 <description>
-Gets the glyph index for a given Unicode character
-for @font. If you only want to determine
-whether the font has the glyph, use pango_fc_font_has_char().
-
-Since: 1.4
+Free a #PangoItem and all associated memory.
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFcFont
-</parameter_description>
-</parameter>
-<parameter name="wc">
-<parameter_description> Unicode character to look up
+<parameter name="item">
+<parameter_description> a #PangoItem, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the glyph index, or 0, if the Unicode
-character doesn't exist in the font.
+<return></return>
+</function>
+
+<function name="pango_item_new">
+<description>
+Creates a new #PangoItem structure initialized to default values.
 
+
+</description>
+<parameters>
+</parameters>
+<return> the newly allocated #PangoItem, which should
+be freed with pango_item_free().
 </return>
 </function>
 
-<function name="pango_context_load_fontset">
+<function name="pango_item_split">
 <description>
-Load a set of fonts in the context that can be used to render
-a font matching @desc.
+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'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't available, so pango_item_split() can't count the char
+length of the split items itself.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="orig">
+<parameter_description> a #PangoItem
 </parameter_description>
 </parameter>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription describing the fonts to load
+<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="language">
-<parameter_description> a #PangoLanguage the fonts will be used for
+<parameter name="split_offset">
+<parameter_description> number of chars between start of @orig and @split_index
 </parameter_description>
 </parameter>
 </parameters>
-<return> the fontset, or %NULL if no font matched.
+<return> new item representing text before @split_index, which
+should be freed with pango_item_free().
 </return>
 </function>
 
-<function name="pango_ft2_font_map_set_default_substitute">
+<function name="pango_itemize">
 <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.
+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).
 
-Since: 1.2
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoFT2FontMap
+<parameter name="context">
+<parameter_description>   a structure holding information that affects
+              the itemization process.
 </parameter_description>
 </parameter>
-<parameter name="func">
-<parameter_description> function to call to to do final config tweaking
-on #FcPattern objects.
+<parameter name="text">
+<parameter_description>      the text to itemize.
 </parameter_description>
 </parameter>
-<parameter name="data">
-<parameter_description> data to pass to @func
+<parameter name="start_index">
+<parameter_description> first byte in @text to process
 </parameter_description>
 </parameter>
-<parameter name="notify">
-<parameter_description> function to call when @data is no longer used.
+<parameter name="length">
+<parameter_description>    the number of bytes (not characters) to process
+after @start_index.
+This must be &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></return>
+<return> a #GList of #PangoItem
+structures. The items should be freed using pango_item_free()
+probably in combination with g_list_foreach(), and the list itself
+using g_list_free().
+</return>
 </function>
 
-<function name="pango_cairo_context_get_font_options">
+<function name="pango_itemize_with_base_dir">
 <description>
-Retrieves any font rendering options previously set with
-pango_cairo_font_map_set_font_options(). This function does not report options
-that are derived from the target surface by pango_cairo_update_context()
+Like pango_itemize(), but the base direction to use when
+computing bidirectional levels (see pango_context_set_base_dir ()),
+is specified explicitly rather than gotten from the #PangoContext.
 
-Since: 1.10
+Since: 1.4
 
 </description>
 <parameters>
 <parameter name="context">
-<parameter_description> a #PangoContext, from a pangocairo font map
+<parameter_description>   a structure holding information that affects
+the itemization process.
+</parameter_description>
+</parameter>
+<parameter name="base_dir">
+<parameter_description>  base direction to use for bidirectional processing
+</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 &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> the font options previously set on the context, or %NULL
-if no options have been set. This value is owned by the context
-and must not be modified or freed.
+<return> a #GList of
+#PangoItem structures.  The items should be freed using
+pango_item_free() probably in combination with
+g_list_foreach(), and the list itself using g_list_free().
 
 </return>
 </function>
 
-<function name="pango_fontset_simple_size">
+<function name="pango_language_from_string">
 <description>
-Returns the number of fonts in the fontset.
+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 '_' to '-', and stripping all characters other
+than letters and '-'.
+
+Use pango_language_get_default() if you want to get the #PangoLanguage for
+the current locale of the process.
 
 
 </description>
 <parameters>
-<parameter name="fontset">
-<parameter_description> a #PangoFontsetSimple.
+<parameter name="language">
+<parameter_description> a string representing a language tag, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the size of @fontset.
+<return> an opaque pointer to a
+#PangoLanguage structure, or %NULL if @language was
+%NULL.  The returned pointer will be valid forever
+after, and should not be freed.
 </return>
 </function>
 
-<function name="pango_split_file_list">
+<function name="pango_language_get_default">
 <description>
-Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
-white space and substituting ~/ with $HOME/.
+Returns the #PangoLanguage for the current locale of the process.
+Note that this can change over the life of an application.
 
+On Unix systems, this is the return value is derived from
+&lt;literal&gt;setlocale(LC_CTYPE, NULL)&lt;/literal&gt;, and the user can
+affect this through the environment variables LC_ALL, LC_CTYPE or
+LANG (checked in that order). The locale string typically is in
+the form lang_COUNTRY, where lang is an ISO-639 language code, and
+COUNTRY is an ISO-3166 country code. For instance, sv_FI for
+Swedish as written in Finland or pt_BR for Portuguese as written in
+Brazil.
+
+On Windows, the C library does not use any such environment
+variables, and setting them won't affect the behavior of functions
+like ctime(). The user sets the locale through the Regional Options
+in the Control Panel. The C library (in the setlocale() function)
+does not use country and language codes, but country and language
+names spelled out in English.
+However, this function does check the above environment
+variables, and does return a Unix-style locale string based on
+either said environment variables or the thread's current locale.
+
+Your application should call &lt;literal&gt;setlocale(LC_ALL, &quot;&quot;);&lt;/literal&gt;
+for the user settings to take effect.  Gtk+ does this in its initialization
+functions automatically (by calling gtk_set_locale()).
+See &lt;literal&gt;man setlocale&lt;/literal&gt; for more details.
+
+Since: 1.16
 
 </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> the default language as a
+#PangoLanguage, must not be freed.
+
 </return>
 </function>
 
-<function name="pango_context_get_base_dir">
+<function name="pango_language_get_sample_string">
 <description>
-Retrieves the base direction for the context. See
-pango_context_set_base_dir().
+Get a string that is representative of the characters needed to
+render a particular language.
+
+The sample text may be a pangram, but is not necessarily.  It is chosen to
+be demonstrative of normal text in the language, as well as exposing font
+feature requirements unique to the language.  It is suitable for use
+as sample text in a font selection dialog.
+
+If @language is %NULL, the default language as found by
+pango_language_get_default() is used.
+
+If Pango does not have a sample string for @language, the classic
+&quot;The quick brown fox...&quot; is returned.  This can be detected by
+comparing the returned pointer value to that returned for (non-existent)
+language code &quot;xx&quot;.  That is, compare to:
+&lt;informalexample&gt;&lt;programlisting&gt;
+pango_language_get_sample_string (pango_language_from_string (&quot;xx&quot;))
+&lt;/programlisting&gt;&lt;/informalexample&gt;
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="language">
+<parameter_description> a #PangoLanguage, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the base direction for the context.
+<return> the sample string. This value is owned by Pango
+and should not be freed.
 </return>
 </function>
 
-<function name="pango_xft_font_has_char">
+<function name="pango_language_get_scripts">
 <description>
-Determines whether @font has a glyph for the codepoint @wc.
+Determines the scripts used to to write @language.
+If nothing is known about the language tag @language,
+or if @language is %NULL, then %NULL is returned.
+The list of scripts returned starts with the script that the
+language uses most and continues to the one it uses least.
 
-Use pango_fc_font_has_char() instead.
+The value @num_script points at will be set to the number
+of scripts in the returned array (or zero if %NULL is returned).
 
-Since: 1.2
+Most languages use only one script for writing, but there are
+some that use two (Latin and Cyrillic for example), and a few
+use three (Japanese for example).  Applications should not make
+any assumptions on the maximum number of scripts returned
+though, except that it is positive if the return value is not
+%NULL, and it is a small number.
+
+The pango_language_includes_script() function uses this function
+internally.
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont for the Xft backend
+<parameter name="language">
+<parameter_description> a #PangoLanguage, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> Unicode codepoint to look up
+<parameter name="num_scripts">
+<parameter_description> location to return number of scripts,
+or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @font has the requested codepoint.
-
+<return> An array of
+#PangoScript values, with the number of entries in the array stored
+in @num_scripts, or %NULL if Pango does not have any information
+about this particular language tag (also the case if @language is
+%NULL).  The returned array is owned by Pango and should not be
+modified or freed.
+ 
 </return>
 </function>
 
-<function name="pango_context_get_font_description">
+<function name="pango_language_includes_script">
 <description>
-Retrieve the default font description for the context.
+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'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.
+
+This function uses pango_language_get_scripts() internally.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="language">
+<parameter_description> a #PangoLanguage, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript
 </parameter_description>
 </parameter>
 </parameters>
-<return> a pointer to the context's default font description.
-This value must not be modified or freed.
+<return> %TRUE if @script is one of the scripts used
+to write @language or if nothing is known about @language
+(including the case that @language is %NULL),
+%FALSE otherwise.
+ 
 </return>
 </function>
 
-<function name="pango_script_iter_get_range">
+<function name="pango_language_matches">
 <description>
-Gets information about the range to which @iter currently points.
-The range is the set of locations p where *start &lt;= p &lt; *end.
-(That is, it doesn't include the character stored at *end)
+Checks if a language tag matches one of the elements in a list of
+language ranges. A language tag is considered to match a range
+in the list if the range is '*', the range is exactly the tag,
+or the range is a prefix of the tag, and the character after it
+in the tag is '-'.
 
-Since: 1.4
 
 </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 name="language">
+<parameter_description> a language tag (see pango_language_from_string()),
+%NULL is allowed and matches nothing but '*'
 </parameter_description>
 </parameter>
-<parameter name="script">
-<parameter_description> location to store script for range, or %NULL
+<parameter name="range_list">
+<parameter_description> a list of language ranges, separated by ';', ':',
+',', or space characters.
+Each element must either be '*', or a RFC 3066 language range
+canonicalized as by pango_language_from_string()
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if a match was found.
+</return>
 </function>
 
-<function name="pango_ot_info_find_language">
+<function name="pango_language_to_string">
 <description>
-Finds the index of a language and its required feature index.
-If the language is not found, sets @language_index to
-PANGO_OT_DEFAULT_LANGUAGE and the required feature of the default language
-system is returned in required_feature_index.  For best compatibility with
-some fonts, also searches the language system tag 'dflt' before falling
-back to the default language system, but that is transparent to the user.
-The user can simply ignore the return value of this function to
-automatically fall back to the default language system.
+Gets the RFC-3066 format string representing the given language tag. 
 
 
 </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 name="language">
+<parameter_description> a language tag.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the language was found.
+<return> a string representing the language tag.  This is owned by
+Pango and should not be freed.
 </return>
 </function>
 
-<function name="pango_cairo_show_glyph_string">
+<function name="pango_layout_context_changed">
 <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
+Forces recomputation of any state in the #PangoLayout that
+might depend on the layout's context. This function should
+be called if you make changes to the context subsequent
+to creating the layout.
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
-</parameter_description>
-</parameter>
-<parameter name="font">
-<parameter_description> a #PangoFont from a #PangoCairoFontMap
-</parameter_description>
-</parameter>
-<parameter name="glyphs">
-<parameter_description> a #PangoGlyphString
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_ft2_font_get_coverage">
+<function name="pango_layout_copy">
 <description>
-Gets the #PangoCoverage for a #PangoFT2Font. Use
-pango_font_get_coverage() instead.
+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="font">
-<parameter_description> a #PangoFT2Font.
-</parameter_description>
-</parameter>
-<parameter name="language">
-<parameter_description> a language tag.
+<parameter name="src">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoCoverage.
+<return> the newly allocated #PangoLayout,
+with a reference count of one, which should be freed
+with g_object_unref().
 </return>
 </function>
 
-<function name="pango_gravity_get_for_script_and_width">
+<function name="pango_layout_get_alignment">
 <description>
-Based on the script, East Asian width, base gravity, and hint,
-returns actual gravity to use in laying out a single character
-or #PangoItem.
-
-This function is similar to pango_gravity_get_for_script() except
-that this function makes a distinction between narrow/half-width and
-wide/full-width characters also.  Wide/full-width characters always
-stand &lt;emph&gt;upright&lt;/emph&gt;, that is, they always take the base gravity,
-whereas narrow/full-width characters are always rotated in vertical
-context.
-
-If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
-preferred gravity of @script.
+Gets the alignment for the layout: how partial lines are
+positioned within the horizontal space available.
 
-Since: 1.26
 
 </description>
 <parameters>
-<parameter name="script">
-<parameter_description> #PangoScript to query
-</parameter_description>
-</parameter>
-<parameter name="wide">
-<parameter_description> %TRUE for wide characters as returned by g_unichar_iswide()
-</parameter_description>
-</parameter>
-<parameter name="base_gravity">
-<parameter_description> base gravity of the paragraph
-</parameter_description>
-</parameter>
-<parameter name="hint">
-<parameter_description> orientation hint
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> resolved gravity suitable to use for a run of text
-with @script and @wide.
-
+<return> the alignment.
 </return>
 </function>
 
-<function name="pango_win32_font_cache_unload">
+<function name="pango_layout_get_attributes">
 <description>
-Frees a font structure previously loaded with pango_win32_font_cache_load().
+Gets the attribute list for the layout, if any.
+
 
 </description>
 <parameters>
-<parameter name="cache">
-<parameter_description> a #PangoWin32FontCache
-</parameter_description>
-</parameter>
-<parameter name="hfont">
-<parameter_description> the HFONT to unload
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a #PangoAttrList.
+</return>
 </function>
 
-<function name="pango_ot_buffer_new">
+<function name="pango_layout_get_auto_dir">
 <description>
-Creates a new #PangoOTBuffer for the given OpenType font.
+Gets whether to calculate the bidirectional base direction
+for the layout according to the contents of the layout.
+See pango_layout_set_auto_dir().
 
 Since: 1.4
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFcFont
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoOTBuffer, which should
-be freed with pango_ot_buffer_destroy().
+<return> %TRUE if the bidirectional base direction
+is computed from the layout's contents, %FALSE otherwise.
 
 </return>
 </function>
 
-<function name="pango_layout_copy">
+<function name="pango_layout_get_baseline">
 <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.
+Gets the Y position of baseline of the first line in @layout.
 
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="src">
+<parameter name="layout">
 <parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoLayout, with a reference
-count of one, which should be freed with
-g_object_unref().
+<return> baseline of first line, from top of @layout.
+
 </return>
 </function>
 
-<function name="pango_layout_set_markup">
+<function name="pango_layout_get_character_count">
 <description>
-Same as pango_layout_set_markup_with_accel(), but
-the markup text isn't scanned for accelerators.
+Returns the number of Unicode characters in the
+the text of @layout.
 
+Since: 1.30
 
 </description>
 <parameters>
@@ -7475,614 +7664,584 @@ the markup text isn't scanned for accelerators.
 <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 if @markup is
-nul-terminated
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> the number of Unicode characters
+in the text of @layout
+
+</return>
 </function>
 
-<function name="pango_language_to_string">
+<function name="pango_layout_get_context">
 <description>
-Gets the RFC-3066 format string representing the given language tag. 
+Retrieves the #PangoContext used for this layout.
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a language tag.
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> a string representing the language tag.  This is owned by
-Pango and should not be freed.
+<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_tab_array_new_with_positions">
+<function name="pango_layout_get_cursor_pos">
 <description>
-This is a convenience function that creates a #PangoTabArray
-and allows you to specify the alignment and position of each
-tab stop. You &lt;emphasis&gt;must&lt;/emphasis&gt; provide an alignment
-and position for @size tab stops.
-
+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="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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="first_alignment">
-<parameter_description> alignment of first tab stop
+<parameter name="index_">
+<parameter_description> the byte index of the cursor
 </parameter_description>
 </parameter>
-<parameter name="first_position">
-<parameter_description> position of first tab stop
+<parameter name="strong_pos">
+<parameter_description> location to store the strong cursor position
+(may be %NULL)
 </parameter_description>
 </parameter>
-<parameter name="varargs">
-<parameter_description> additional alignment/position pairs
+<parameter name="weak_pos">
+<parameter_description> location to store the weak cursor position (may be %NULL)
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoTabArray, which should
-be freed with pango_tab_array_free().
-</return>
+<return></return>
 </function>
 
-<function name="pango_ft2_render_transformed">
+<function name="pango_layout_get_ellipsize">
 <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.
+Gets the type of ellipsization being performed for @layout.
+See pango_layout_set_ellipsize()
 
 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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="glyphs">
-<parameter_description>  the glyph string to draw
+</parameters>
+<return> the current ellipsization mode for @layout.
+
+Use pango_layout_is_ellipsized() to query whether any paragraphs
+were actually ellipsized.
+
+</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.  Note that both extents
+may have non-zero x and y.  You may want to use those to offset where you
+render the layout.  Not doing that is a very typical bug that shows up as
+right-to-left layouts not being correctly positioned in a layout with
+a set width.
+
+The extents are given in layout coordinates and in Pango units; 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="x">
-<parameter_description>       the x position of the start of the string (in Pango
-units in user space coordinates)
+<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="y">
-<parameter_description>       the y position of the baseline (in Pango units
-in user space coordinates)
+<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_script_get_sample_language">
+<function name="pango_layout_get_font_description">
 <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 &lt;literal&gt;ru&lt;/literal&gt; (Russian), the sample language
-for %PANGO_SCRIPT_ARABIC is &lt;literal&gt;ar&lt;/literal&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.
-
-As of 1.18, this function checks the environment variables
-PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
-If one of them is set, it is parsed as a list of language tags
-separated by colons or other separators.  This function
-will return the first language in the parsed list that Pango
-believes may use @script for writing.  This last predicate
-is tested using pango_language_includes_script().  This can
-be used to control Pango's font selection for non-primary
-languages.  For example, a PANGO_LANGUAGE enviroment variable
-set to &quot;en:fa&quot; makes Pango choose fonts suitable for Persian (fa) 
-instead of Arabic (ar) when a segment of Arabic text is found
-in an otherwise non-Arabic text.  The same trick can be used to
-choose a default language for %PANGO_SCRIPT_HAN when setting
-context language is not feasible.
+Gets the font description for the layout, if any.
 
-Since: 1.4
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="script">
-<parameter_description> a #PangoScript
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoLanguage that is representative
-of the script, or %NULL if no such language exists.
+<return> a pointer to the layout's font
+description, or %NULL if the font description from the layout's
+context is inherited. This value is owned by the layout and must
+not be modified or freed.
 
 </return>
 </function>
 
-<function name="pango_win32_font_cache_loadw">
+<function name="pango_layout_get_height">
 <description>
-Creates a HFONT from a LOGFONTW. The
-result may be newly loaded, or it may have been previously
-stored
+Gets the height of layout used for ellipsization.  See
+pango_layout_set_height() for details.
 
-Since: 1.16
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="cache">
-<parameter_description> a #PangoWin32FontCache
-</parameter_description>
-</parameter>
-<parameter name="logfont">
-<parameter_description> a pointer to a LOGFONTW structure describing the font to load.
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </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> the height, in Pango units if positive, or
+number of lines if negative.
 
 </return>
 </function>
 
-<function name="pango_cairo_font_map_get_font_type">
+<function name="pango_layout_get_indent">
 <description>
-Gets the type of Cairo font backend that @fontmap uses.  
+Gets the paragraph indent width in Pango units. A negative value
+indicates a hanging indentation.
 
-Since: 1.18
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoCairoFontMap
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #cairo_font_type_t cairo font backend type
-
+<return> the indent in Pango units.
 </return>
 </function>
 
-<function name="pango_fc_font_map_create_context">
+<function name="pango_layout_get_iter">
 <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.
+Returns an iterator to iterate over the visual extents of the layout.
 
-Since: 1.4
-
-Deprecated: 1.22: Use pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="fcfontmap">
-<parameter_description> a #PangoFcFontMap
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #PangoContext
-
+<return> the new #PangoLayoutIter that should be freed using
+pango_layout_iter_free().
 </return>
 </function>
 
-<function name="pango_xft_renderer_new">
+<function name="pango_layout_get_justify">
 <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.
+Gets whether each complete line should be stretched to fill the entire
+width of the layout.
 
-Since: 1.8
 
 </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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly created #PangoXftRenderer, which should
-be freed with g_object_unref().
-
+<return> the justify.
 </return>
 </function>
 
-<function name="pango_tab_array_get_tabs">
+<function name="pango_layout_get_line">
 <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.
+Retrieves a particular line from a #PangoLayout.
+
+Use the faster pango_layout_get_line_readonly() if you do not plan
+to modify the contents of the line (glyphs, glyph widths, etc.).
 
 
 </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, or %NULL
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="locations">
-<parameter_description> location to store an array of tab positions, or %NULL
+<parameter name="line">
+<parameter_description> the index of a line, which must be between 0 and
+&lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the requested
+#PangoLayoutLine, or %NULL if the index is out of
+range. This layout line can be ref'ed and retained,
+but will become invalid if changes are made to the
+#PangoLayout.
+</return>
 </function>
 
-<function name="pango_glyph_string_extents_range">
+<function name="pango_layout_get_line_count">
 <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).
+Retrieves the count of lines for the @layout.
+
 
 </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 &lt;= index &lt; end)
-</parameter_description>
-</parameter>
-<parameter name="font">
-<parameter_description>     a #PangoFont
+<parameter name="layout">
+<parameter_description> #PangoLayout
 </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.
+</parameters>
+<return> the line count.
+</return>
+</function>
+
+<function name="pango_layout_get_line_readonly">
+<description>
+Retrieves a particular line from a #PangoLayout.
+
+This is a faster alternative to pango_layout_get_line(),
+but the user is not expected
+to modify the contents of the line (glyphs, glyph widths, etc.).
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </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 name="line">
+<parameter_description> the index of a line, which must be between 0 and
+&lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the requested
+#PangoLayoutLine, or %NULL if the index is out of
+range. This layout line can be ref'ed and retained,
+but will become invalid if changes are made to the
+#PangoLayout.  No changes should be made to the line.
+
+</return>
 </function>
 
-<function name="pango_layout_iter_free">
+<function name="pango_layout_get_lines">
 <description>
-Frees an iterator that's no longer in use.
+Returns the lines of the @layout as a list.
+
+Use the faster pango_layout_get_lines_readonly() if you do not plan
+to modify the contents of the lines (glyphs, glyph widths, etc.).
+
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter, may be %NULL
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<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's
+text or properties.
+</return>
 </function>
 
-<function name="pango_glyph_item_split">
+<function name="pango_layout_get_lines_readonly">
 <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't create a
-zero-length item).
+Returns the lines of the @layout as a list.
 
-This function is similar in function to pango_item_split() (and uses
-it internally.)
+This is a faster alternative to pango_layout_get_lines(),
+but the user is not expected
+to modify the contents of the lines (glyphs, glyph widths, etc.).
 
-Since: 1.2
+Since: 1.16
 
 </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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated item representing text before
- split_index, which should be freed
-with pango_glyph_item_free().
+<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's
+text or properties.  No changes should be made to the lines.
 
 </return>
 </function>
 
-<function name="pango_ot_ruleset_position">
+<function name="pango_layout_get_log_attrs">
 <description>
-Performs the OpenType GPOS positioning on @buffer using the features
-in @ruleset
-
-Since: 1.4
+Retrieves an array of logical attributes for each character in
+the @layout.
 
 </description>
 <parameters>
-<parameter name="ruleset">
-<parameter_description> a #PangoOTRuleset.
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer.
+<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_fc_font_key_get_matrix">
+<function name="pango_layout_get_log_attrs_readonly">
 <description>
-Gets the matrix member of @key.
+Retrieves an array of logical attributes for each character in
+the @layout.
 
-Since: 1.24
+This is a faster alternative to pango_layout_get_log_attrs().
+The returned array is part of @layout and must not be modified.
+Modifying the layout will invalidate the returned array.
+
+The number of attributes returned in @n_attrs 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.
+
+Since: 1.30
 
 </description>
 <parameters>
-<parameter name="key">
-<parameter_description> the font key
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="n_attrs">
+<parameter_description> location to store the number of the attributes in
+the array
 </parameter_description>
 </parameter>
 </parameters>
-<return> the matrix, which is owned by @key and should not be modified.
+<return> an array of logical attributes
 
 </return>
 </function>
 
-<function name="pango_ot_tag_to_script">
+<function name="pango_layout_get_pixel_extents">
 <description>
-Finds the #PangoScript corresponding to @script_tag.
-
-The 'DFLT' script tag is mapped to %PANGO_SCRIPT_COMMON.
+Computes the logical and ink extents of @layout in device units.
+This function just calls pango_layout_get_extents() followed by
+two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
+such that the rounded rectangles fully contain the unrounded one (that is,
+passes them as first argument to pango_extents_to_pixels()).
 
-Note that an OpenType script tag may correspond to multiple
-#PangoScript values.  In such cases, the #PangoScript value
-with the smallest value is returned.
-In particular, %PANGO_SCRIPT_HIRAGANA
-and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
-This function will return %PANGO_SCRIPT_HIRAGANA for
-'kana'.
+</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>
 
-Since: 1.18
+<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 scaled by %PANGO_SCALE.) This
+is simply a convenience function around
+pango_layout_get_pixel_extents().
 
 </description>
 <parameters>
-<parameter name="script_tag">
-<parameter_description> A #PangoOTTag OpenType script tag
+<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> #PangoScript corresponding to @script_tag or
-%PANGO_SCRIPT_UNKNOWN if none found.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_layout_iter_get_line_readonly">
+<function name="pango_layout_get_serial">
 <description>
-Gets the current line for read-only access.
+Returns the current serial number of @layout.  The serial number is
+initialized to an small number  larger than zero when a new layout
+is created and is increased whenever the layout is changed using any
+of the setter functions, or the #PangoContext it uses has changed.
+The serial may wrap, but will never have the value 0. Since it
+can wrap, never compare it with &quot;less than&quot;, always use &quot;not equals&quot;.
 
-This is a faster alternative to pango_layout_iter_get_line(),
-but the user is not expected
-to modify the contents of the line (glyphs, glyph widths, etc.).
+This can be used to automatically detect changes to a #PangoLayout, and
+is useful for example to decide whether a layout needs redrawing.
+To force the serial to be increased, use pango_layout_context_changed().
 
-Since: 1.16
+Since: 1.32.4
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the current line, that should not be modified.
+<return> The current serial number of @layout.
 
 </return>
 </function>
 
-<function name="pango_font_get_metrics">
+<function name="pango_layout_get_single_paragraph_mode">
 <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.
-
-If @font is %NULL, this function gracefully sets some sane values in the
-output variables and returns.
+Obtains the value set by pango_layout_set_single_paragraph_mode().
 
 
 </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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
-when finished using the object.
+<return> %TRUE if the layout does not break paragraphs at
+paragraph separator characters, %FALSE otherwise.
 </return>
 </function>
 
-<function name="pango_matrix_transform_distance">
+<function name="pango_layout_get_size">
 <description>
-Transforms the distance vector (@dx,@dy) by @matrix. This is
-similar to pango_matrix_transform_point() except that the translation
-components of the transformation are ignored. The calculation of
-the returned vector is as follows:
-
-&lt;programlisting&gt;
-dx2 = dx1 * xx + dy1 * xy;
-dy2 = dx1 * yx + dy1 * yy;
-&lt;/programlisting&gt;
-
-Affine transformations are position invariant, so the same vector
-always transforms to the same vector. If (@x1,@y1) transforms
-to (@x2,@y2) then (@x1+ dx1,@y1+ dy1) will transform to
-(@x1+ dx2,@y1+ dy2) for all values of @x1 and @x2.
-
-Since: 1.16
+Determines the logical width and height of a #PangoLayout
+in Pango units (device units scaled by %PANGO_SCALE). This
+is simply a convenience function around pango_layout_get_extents().
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix, or %NULL
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="dx">
-<parameter_description> in/out X component of a distance vector
+<parameter name="width">
+<parameter_description> location to store the logical width, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="dy">
-<parameter_description> yn/out Y component of a distance vector
+<parameter name="height">
+<parameter_description> location to store the logical height, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_tab_array_set_tab">
+<function name="pango_layout_get_spacing">
 <description>
-Sets the alignment and location of a tab stop.
- alignment must always be #PANGO_TAB_LEFT in the current
-implementation.
+Gets the amount of spacing between the lines of the layout.
 
 
 </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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the spacing in Pango units.
+</return>
 </function>
 
-<function name="pango_font_find_shaper">
+<function name="pango_layout_get_tabs">
 <description>
-Finds the best matching shaper for a font for a particular
-language tag and character point.
+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="font">
-<parameter_description> a #PangoFont
-</parameter_description>
-</parameter>
-<parameter name="language">
-<parameter_description> the language tag
-</parameter_description>
-</parameter>
-<parameter name="ch">
-<parameter_description> a Unicode character.
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the best matching shaper.
+<return> a copy of the tabs for this layout, or
+%NULL.
 </return>
 </function>
 
-<function name="pango_fontset_foreach">
+<function name="pango_layout_get_text">
 <description>
-Iterates through all the fonts in a fontset, calling @func for
-each one. If @func returns %TRUE, that stops the iteration.
+Gets the text in the layout. The returned text should not
+be freed or modified.
 
-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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the text in the @layout.
+</return>
 </function>
 
-<function name="pango_layout_get_line_readonly">
+<function name="pango_layout_get_unknown_glyphs_count">
 <description>
-Retrieves a particular line from a #PangoLayout.
+Counts the number unknown glyphs in @layout.  That is, zero if
+glyphs for all characters in the layout text were found, or more
+than zero otherwise.
 
-This is a faster alternative to pango_layout_get_line(),
-but the user is not expected
-to modify the contents of the line (glyphs, glyph widths, etc.).
+This function can be used to determine if there are any fonts
+available to render all characters in a certain string, or when
+used in combination with %PANGO_ATTR_FALLBACK, to check if a
+certain font supports all the characters in the string.
 
 Since: 1.16
 
@@ -8092,41 +8251,45 @@ Since: 1.16
 <parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description> the index of a line, which must be between 0 and
-&lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&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'ed and retained, but will become invalid
-if changes are made to the #PangoLayout.
-No changes should be made to the line.
+<return> The number of unknown glyphs in @layout.
 
 </return>
 </function>
 
-<function name="pango_layout_iter_get_char_extents">
+<function name="pango_layout_get_width">
 <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.
+Gets the width to which the lines of the #PangoLayout should wrap.
 
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle to fill with logical extents
+</parameters>
+<return> the width in Pango units, or -1 if no width set.
+</return>
+</function>
+
+<function name="pango_layout_get_wrap">
+<description>
+Gets the wrap mode for the layout.
+
+Use pango_layout_is_wrapped() to query whether any paragraphs
+were actually wrapped.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> active wrap mode.
+</return>
 </function>
 
 <function name="pango_layout_index_to_line_x">
@@ -8151,68 +8314,80 @@ 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> location to store resulting line index. (which will
+between 0 and pango_layout_get_line_count(layout) - 1), or %NULL
 </parameter_description>
 </parameter>
 <parameter name="x_pos">
-<parameter_description>     location to store resulting position within line
-(%PANGO_SCALE units per device unit)
+<parameter_description> location to store resulting position within line
+(%PANGO_SCALE units per device unit), or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_unichar_direction">
+<function name="pango_layout_index_to_pos">
 <description>
-Determines the inherent direction of a character; either
-%PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or
-%PANGO_DIRECTION_NEUTRAL.
-
-This function is useful to categorize characters into left-to-right
-letters, right-to-left letters, and everything else.  If full
-Unicode bidirectional type of a character is needed,
-pango_bidi_type_for_gunichar() can be used instead.
-
+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 &lt;literal&gt;pos-&gt;x&lt;/literal&gt; is always the leading
+edge of the grapheme and &lt;literal&gt;pos-&gt;x + pos-&gt;width&lt;/literal&gt; the trailing
+edge of the grapheme. If the directionality of the grapheme is right-to-left,
+then &lt;literal&gt;pos-&gt;width&lt;/literal&gt; will be negative.
 
 </description>
 <parameters>
-<parameter name="ch">
-<parameter_description> a Unicode character
+<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> the direction of the character.
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_size_new_absolute">
+<function name="pango_layout_is_ellipsized">
 <description>
-Create a new font-size attribute in device units.
+Queries whether the layout had to ellipsize any paragraphs.
 
-Since: 1.8
+This returns %TRUE if the ellipsization mode for @layout
+is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
+and there are paragraphs exceeding that width that have to be
+ellipsized.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="size">
-<parameter_description> the font size, in %PANGO_SCALE&lt;!-- --&gt;ths of a device unit.
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> %TRUE if any paragraphs had to be ellipsized, %FALSE
+otherwise.
 
 </return>
 </function>
 
-<function name="pango_layout_get_wrap">
+<function name="pango_layout_is_wrapped">
 <description>
-Gets the wrap mode for the layout.
+Queries whether the layout had to wrap any paragraphs.
 
-Use pango_layout_is_wrapped() to query whether any paragraphs
-were actually wrapped.
+This returns %TRUE if a positive width is set on @layout,
+ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
+and there are paragraphs exceeding the layout width that have
+to be wrapped.
 
+Since: 1.16
 
 </description>
 <parameters>
@@ -8221,1214 +8396,1267 @@ were actually wrapped.
 </parameter_description>
 </parameter>
 </parameters>
-<return> active wrap mode.
+<return> %TRUE if any paragraphs had to be wrapped, %FALSE
+otherwise.
+
 </return>
 </function>
 
-<function name="pango_win32_font_cache_free">
+<function name="pango_layout_iter_at_last_line">
 <description>
-Frees a #PangoWin32FontCache and all associated memory. All fonts loaded
-through this font cache will be freed along with the cache.
+Determines whether @iter is on the last line of the layout.
+
 
 </description>
 <parameters>
-<parameter name="cache">
-<parameter_description> a #PangoWin32FontCache
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if @iter is on the last line.
+</return>
 </function>
 
-<function name="pango_font_description_copy">
+<function name="pango_layout_iter_copy">
 <description>
-Make a copy of a #PangoFontDescription.
+Copies a #PangoLayoutIter.
 
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription, may be %NULL
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoFontDescription, which should
-be freed with pango_font_description_free(), or %NULL
-if @desc was %NULL.
+<return> the newly allocated #PangoLayoutIter,
+which should be freed with pango_layout_iter_free(),
+or %NULL if @iter was %NULL.
+
 </return>
 </function>
 
-<function name="pango_ot_buffer_clear">
+<function name="pango_layout_iter_free">
 <description>
-Empties a #PangoOTBuffer, make it ready to add glyphs to.
-
-Since: 1.4
+Frees an iterator that's no longer in use.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_cairo_show_error_underline">
+<function name="pango_layout_iter_get_baseline">
 <description>
-Draw a squiggly line in the specified cairo context 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)
+Gets the Y position of the current line's baseline, in layout
+coordinates (origin at top left of the entire layout).
 
-Since: 1.14
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> The X coordinate of one corner of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> The Y coordinate of one corner of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> Non-negative width of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> Non-negative height of the rectangle
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> baseline of current line.
+</return>
 </function>
 
-<function name="pango_layout_get_indent">
+<function name="pango_layout_iter_get_char_extents">
 <description>
-Gets the paragraph indent width in Pango units. A negative value
-indicates a hanging indentation.
+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="layout">
-<parameter_description> a #PangoLayout
+<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> the indent in Pango units.
-</return>
+<return></return>
 </function>
 
-<function name="pango_fc_decoder_get_glyph">
+<function name="pango_layout_iter_get_cluster_extents">
 <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.)
+Gets the extents of the current cluster, in layout coordinates
+(origin is the top left of the entire layout).
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="decoder">
-<parameter_description> a #PangoFcDecoder
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
-<parameter name="fcfont">
-<parameter_description> a #PangoFcFont to query.
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> the Unicode code point to convert to a single #PangoGlyph.
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the glyph index, or 0 if the glyph isn't
-covered by the font.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_read_line">
+<function name="pango_layout_iter_get_index">
 <description>
-Reads an entire line from a file into a buffer. Lines may
-be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter
-is not written into the buffer. Text after a '#' character is treated as
-a comment and skipped. '\' can be used to escape a # character.
-'\' proceeding a line delimiter combines adjacent lines. A '\' proceeding
-any other character is ignored and written into the output buffer
-unmodified.
+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="stream">
-<parameter_description> a stdio stream
-</parameter_description>
-</parameter>
-<parameter name="str">
-<parameter_description> #GString buffer into which to write the result
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </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't combine lines with '\')
+<return> current byte index.
 </return>
 </function>
 
-<function name="pango_font_description_from_string">
+<function name="pango_layout_iter_get_layout">
 <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, stretch, or gravity, and SIZE
-is a decimal number (size in points) or optionally followed by the
-unit modifier &quot;px&quot; for absolute size. Any one of the options may
-be absent.  If FAMILY-LIST is absent, then the family_name field of
-the resulting font description will be initialized to %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.
+Gets the layout associated with a #PangoLayoutIter.
 
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="str">
-<parameter_description> string representation of a font description.
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #PangoFontDescription.
+<return> the layout associated with @iter.
+
 </return>
 </function>
 
-<function name="pango_cairo_font_get_scaled_font">
+<function name="pango_layout_iter_get_layout_extents">
 <description>
-Gets the #cairo_scaled_font_t used by @font.
-The scaled font can be referenced and kept using
-cairo_scaled_font_reference().
+Obtains the extents of the #PangoLayout being iterated
+over. @ink_rect or @logical_rect can be %NULL if you
+aren't interested in them.
 
-Since: 1.18
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont from a #PangoCairoFontMap
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
+</parameter_description>
+</parameter>
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents,
+or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical
+extents, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #cairo_scaled_font_t used by @font,
-or %NULL if @font is %NULL.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_cairo_show_glyph_item">
+<function name="pango_layout_iter_get_line">
 <description>
-Draws the glyphs in @glyph_item in the specified cairo context,
-embedding the text associated with the glyphs in the output if the
-output format supports it (PDF for example), otherwise it acts
-similar to pango_cairo_show_glyph_string().
-
-The origin of the glyphs (the left edge of the baseline) will
-be drawn at the current point of the cairo context.
+Gets the current line.
 
-Note that @text is the start of the text for layout, which is then
-indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.
+Use the faster pango_layout_iter_get_line_readonly() if you do not plan
+to modify the contents of the line (glyphs, glyph widths, etc.).
 
-Since: 1.22
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> the UTF-8 text that @glyph_item refers to
-</parameter_description>
-</parameter>
-<parameter name="glyph_item">
-<parameter_description> a #PangoGlyphItem
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the current line.
+</return>
 </function>
 
-<function name="pango_renderer_draw_layout">
+<function name="pango_layout_iter_get_line_extents">
 <description>
-Draws @layout with the specified #PangoRenderer.
+Obtains the extents of the current line. @ink_rect or @logical_rect
+can be %NULL if you aren'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().
 
-Since: 1.8
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
-</parameter_description>
-</parameter>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> X position of left edge of baseline, in user space coordinates
-in Pango units.
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> Y position of left edge of baseline, in user space coordinates
-in Pango units.
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_renderer_activate">
+<function name="pango_layout_iter_get_line_readonly">
 <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.
+Gets the current line for read-only access.
 
-Since: 1.8
+This is a faster alternative to pango_layout_iter_get_line(),
+but the user is not expected
+to modify the contents of the line (glyphs, glyph widths, etc.).
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="renderer">
-<parameter_description> a #PangoRenderer
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the current line, that should not be
+modified.
+
+</return>
 </function>
 
-<function name="pango_layout_index_to_pos">
+<function name="pango_layout_iter_get_line_yrange">
 <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 &lt;literal&gt;pos-&gt;x&lt;/literal&gt; is always the leading
-edge of the grapheme and &lt;literal&gt;pos-&gt;x + pos-&gt;width&lt;/literal&gt; the trailing
-edge of the grapheme. If the directionality of the grapheme is right-to-left,
-then &lt;literal&gt;pos-&gt;width&lt;/literal&gt; will be negative.
+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's range includes the line'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="layout">
-<parameter_description> a #PangoLayout
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
-<parameter name="index_">
-<parameter_description> byte index within @layout
+<parameter name="y0_">
+<parameter_description> start of line, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="pos">
-<parameter_description> rectangle in which to store the position of the grapheme
+<parameter name="y1_">
+<parameter_description> end of line, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_win32_font_map_get_font_cache">
+<function name="pango_layout_iter_get_run">
 <description>
-Obtains the font cache associated with the given font map.
+Gets the current run. When iterating by run, at the end of each
+line, there'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.
+
+Use the faster pango_layout_iter_get_run_readonly() if you do not plan
+to modify the contents of the run (glyphs, glyph widths, etc.).
 
 
 </description>
 <parameters>
-<parameter name="font_map">
-<parameter_description> a #PangoWin32FontMap.
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #PangoWin32FontCache of @font_map.
-</return>
-</function>
-
-<function name="pango_version">
-<description>
-This is similar to the macro %PANGO_VERSION except that
-it returns the encoded version of Pango available at run-time,
-as opposed to the version available at compile-time.
-
-A version number can be encoded into an integer using
-PANGO_VERSION_ENCODE().
-
-Since: 1.16
-
-</description>
-<parameters>
-</parameters>
-<return> The encoded version of Pango library
-available at run time.
-
+<return> the current run.
 </return>
 </function>
 
-<function name="pango_font_map_load_fontset">
+<function name="pango_layout_iter_get_run_extents">
 <description>
-Load a set of fonts in the fontmap that can be used to render
-a font matching @desc.
+Gets the extents of the current run in layout coordinates
+(origin is the top left of the entire layout).
 
 
 </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 name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription describing the font to load
+<parameter name="ink_rect">
+<parameter_description> rectangle to fill with ink extents, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="language">
-<parameter_description> a #PangoLanguage the fonts will be used for
+<parameter name="logical_rect">
+<parameter_description> rectangle to fill with logical extents, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the fontset, or %NULL if no font matched.
-</return>
+<return></return>
 </function>
 
-<function name="pango_tab_array_get_size">
+<function name="pango_layout_iter_get_run_readonly">
 <description>
-Gets the number of tab stops in @tab_array.
+Gets the current run. When iterating by run, at the end of each
+line, there'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.
 
+This is a faster alternative to pango_layout_iter_get_run(),
+but the user is not expected
+to modify the contents of the run (glyphs, glyph widths, etc.).
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="tab_array">
-<parameter_description> a #PangoTabArray
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> the number of tab stops in the array.
+<return> the current run, that
+should not be modified.
+
 </return>
 </function>
 
-<function name="pango_layout_set_ellipsize">
+<function name="pango_layout_iter_next_char">
 <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 text so they
-fit within the width and height of layout set with
-pango_layout_set_width() and pango_layout_set_height().
-
-If the layout contains characters such as newlines that
-force it to be layed out in multiple paragraphs, then whether
-each paragraph is ellipsized separately or the entire layout
-is ellipsized as a whole depends on the set height of the layout.
-See pango_layout_set_height() for details.
+Moves @iter forward to the next character in visual order. If @iter was already at
+the end of the layout, returns %FALSE.
 
-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 name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> whether motion was possible.
+</return>
 </function>
 
-<function name="pango_tab_array_get_positions_in_pixels">
+<function name="pango_layout_iter_next_cluster">
 <description>
-Returns %TRUE if the tab positions are in pixels, %FALSE if they are
-in Pango units.
+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="tab_array">
-<parameter_description> a #PangoTabArray
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether positions are in pixels.
+<return> whether motion was possible.
 </return>
 </function>
 
-<function name="pango_cairo_create_layout">
+<function name="pango_layout_iter_next_line">
 <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.
+Moves @iter forward to the start of the next line. If @iter is
+already on the last line, returns %FALSE.
 
-Since: 1.10
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly created #PangoLayout. Free with
-g_object_unref().
-
+<return> whether motion was possible.
 </return>
 </function>
 
-<function name="pango_cairo_font_map_get_resolution">
+<function name="pango_layout_iter_next_run">
 <description>
-Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution()
+Moves @iter forward to the next run in visual order. If @iter was
+already at the end of the layout, returns %FALSE.
 
-Since: 1.10
 
 </description>
 <parameters>
-<parameter name="fontmap">
-<parameter_description> a #PangoCairoFontMap
+<parameter name="iter">
+<parameter_description> a #PangoLayoutIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> the resolution in &quot;dots per inch&quot;
-
+<return> whether motion was possible.
 </return>
 </function>
 
-<function name="pango_xft_render">
+<function name="pango_layout_line_get_extents">
 <description>
-Renders a #PangoGlyphString onto an &lt;type&gt;XftDraw&lt;/type&gt; object wrapping an X drawable.
+Computes the logical and ink extents of a layout line. See
+pango_font_get_glyph_extents() for details about the interpretation
+of the rectangles.
 
 </description>
 <parameters>
-<parameter name="draw">
-<parameter_description>    the &lt;type&gt;XftDraw&lt;/type&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 name="line">
+<parameter_description>     a #PangoLayoutLine
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>       the x position of start of string (in pixels)
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of
+the glyph string as drawn, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>       the y position of baseline (in pixels)
+<parameter name="logical_rect">
+<parameter_description>rectangle used to store the logical
+extents of the glyph string, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_cairo_show_layout">
+<function name="pango_layout_line_get_pixel_extents">
 <description>
-Draws a #PangoLayout 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
+Computes the logical and ink extents of @layout_line in device units.
+This function just calls pango_layout_line_get_extents() followed by
+two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
+such that the rounded rectangles fully contain the unrounded one (that is,
+passes them as first argument to pango_extents_to_pixels()).
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="layout_line">
+<parameter_description> a #PangoLayoutLine
 </parameter_description>
 </parameter>
-<parameter name="layout">
-<parameter_description> a Pango layout
+<parameter name="ink_rect">
+<parameter_description> rectangle used to store the extents of
+the glyph string as drawn, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="logical_rect">
+<parameter_description> rectangle used to store the logical
+extents of the glyph string, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_xft_font_get_glyph">
+<function name="pango_layout_line_get_x_ranges">
 <description>
-Gets the glyph index for a given Unicode character
-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.
-
-Since: 1.2
+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="font">
-<parameter_description> a #PangoFont for the Xft backend
+<parameter name="line">
+<parameter_description>        a #PangoLayoutLine
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> Unicode codepoint to look up
+<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 &lt;literal&gt;2*n_ranges&lt;/literal&gt;,
+with each range starting at &lt;literal&gt;(*ranges)[2*n]&lt;/literal&gt;
+and of width &lt;literal&gt;(*ranges)[2*n + 1] - (*ranges)[2*n]&lt;/literal&gt;.
+This array must be freed with g_free(). The coordinates are relative
+to the layout and are in Pango units.
+</parameter_description>
+</parameter>
+<parameter name="n_ranges">
+<parameter_description> The number of ranges stored in @ranges.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the glyph index, or 0, if the Unicode
-character does not exist in the font.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_glyph_item_get_logical_widths">
+<function name="pango_layout_line_index_to_x">
 <description>
-Given a #PangoGlyphItem 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.
-
-See also pango_glyph_string_get_logical_widths().
+Converts an index within a line to a X position.
 
-Since: 1.26
 
 </description>
 <parameters>
-<parameter name="glyph_item">
-<parameter_description> a #PangoGlyphItem
+<parameter name="line">
+<parameter_description>     a #PangoLayoutLine
 </parameter_description>
 </parameter>
-<parameter name="text">
-<parameter_description> text that @glyph_item corresponds to
-(glyph_item-&gt;item-&gt;offset is an offset from the
-start of @text)
+<parameter name="index_">
+<parameter_description>   byte offset of a grapheme within the layout
 </parameter_description>
 </parameter>
-<parameter name="logical_widths">
-<parameter_description> an array whose length is the number of characters in
-glyph_item (equal to glyph_item-&gt;item-&gt;num_chars)
-to be filled in with the resulting character widths.
+<parameter name="trailing">
+<parameter_description> an integer indicating the edge of the grapheme to retrieve
+the position of. If &gt; 0, the trailing edge of the grapheme,
+if 0, the leading of the grapheme.
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description> location to store the x_offset (in Pango unit)
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_attr_gravity_hint_new">
+<function name="pango_layout_line_ref">
 <description>
-Create a new gravity hint attribute.
+Increase the reference count of a #PangoLayoutLine by one.
 
-Since: 1.16
+Since: 1.10
 
 </description>
 <parameters>
-<parameter name="hint">
-<parameter_description> the gravity hint value.
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the line passed in.
 
 </return>
 </function>
 
-<function name="pango_attr_iterator_next">
+<function name="pango_layout_line_unref">
 <description>
-Advance the iterator until the next change of style.
-
+Decrease 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="iterator">
-<parameter_description> a #PangoAttrIterator
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE if the iterator is at the end of the list, otherwise %TRUE
-</return>
+<return></return>
 </function>
 
-<function name="pango_color_copy">
+<function name="pango_layout_line_x_to_index">
 <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).
+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="src">
-<parameter_description> color to copy, may be %NULL
+<parameter name="line">
+<parameter_description>      a #PangoLayoutLine
+</parameter_description>
+</parameter>
+<parameter name="x_pos">
+<parameter_description>     the X offset (in Pango units)
+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 an 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 leading edge of the grapheme.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoColor, which should
-be freed with pango_color_free(), or %NULL
-if @src was %NULL.
+<return> %FALSE if @x_pos was outside the line, %TRUE if inside
 </return>
 </function>
 
-<function name="pango_attribute_copy">
+<function name="pango_layout_move_cursor_visually">
 <description>
-Make a copy of an attribute.
+Computes a new cursor position from an old position and
+a count of positions to move visually. If @direction is positive,
+then the new strong cursor position will be one position
+to the right of the old cursor position. If @direction is negative,
+then the new strong cursor position will be one position
+to the left of the old cursor position.
 
+In the presence of bidirectional 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="attr">
-<parameter_description> a #PangoAttribute
+<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 &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> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_matrix_translate">
+<function name="pango_layout_new">
 <description>
-Changes the transformation represented by @matrix to be the
-transformation given by first translating by (@tx, @ty)
-then applying the original transformation.
+Create a new #PangoLayout object with attributes initialized to
+default values for a particular #PangoContext.
 
-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 name="context">
+<parameter_description> a #PangoContext
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoLayout, with a reference
+count of one, which should be freed with
+g_object_unref().
+</return>
 </function>
 
-<function name="pango_fontset_get_font">
+<function name="pango_layout_set_alignment">
 <description>
-Returns the font in the fontset that contains the best glyph for the
-Unicode character @wc.
-
+Sets the alignment for the layout: how partial lines are
+positioned within the horizontal space available.
 
 </description>
 <parameters>
-<parameter name="fontset">
-<parameter_description> a #PangoFontset
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> a Unicode character
+<parameter name="alignment">
+<parameter_description> the alignment
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #PangoFont. The caller must call g_object_unref when finished
-with the font.
-</return>
+<return></return>
 </function>
 
-<function name="pango_context_get_gravity_hint">
+<function name="pango_layout_set_attributes">
 <description>
-Retrieves the gravity hint for the context. See
-pango_context_set_gravity_hint() for details.
-
-Since: 1.16
+Sets the text attributes for a layout object.
+References @attrs, so the caller can unref its reference.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="attrs">
+<parameter_description> a #PangoAttrList, can be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the gravity hint for the context.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_ruleset_new_for">
+<function name="pango_layout_set_auto_dir">
 <description>
-Creates a new #PangoOTRuleset for the given OpenType info, script, and
-language.
-
-This function is part of a convenience scheme that highly simplifies
-using a #PangoOTRuleset to represent features for a specific pair of script
-and language.  So one can use this function passing in the script and
-language of interest, and later try to add features to the ruleset by just
-specifying the feature name or tag, without having to deal with finding
-script, language, or feature indices manually.
+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.
 
-In excess to what pango_ot_ruleset_new() does, this function will:
-&lt;itemizedlist&gt;
-&lt;listitem&gt;
-Find the #PangoOTTag script and language tags associated with
- script and @language using pango_ot_tag_from_script() and
-pango_ot_tag_from_language(),
-&lt;/listitem&gt;
-&lt;listitem&gt;
-For each of table types %PANGO_OT_TABLE_GSUB and %PANGO_OT_TABLE_GPOS,
-find the script index of the script tag found and the language
-system index of the language tag found in that script system, using
-pango_ot_info_find_script() and pango_ot_info_find_language(),
-&lt;/listitem&gt;
-&lt;listitem&gt;
-For found language-systems, if they have required feature
-index, add that feature to the ruleset using
-pango_ot_ruleset_add_feature(),
-&lt;/listitem&gt;
-&lt;listitem&gt;
-Remember found script and language indices for both table types,
-and use them in future pango_ot_ruleset_maybe_add_feature() and
-pango_ot_ruleset_maybe_add_features().
-&lt;/listitem&gt;
-&lt;/itemizedlist&gt;
+When %FALSE, the choice between left-to-right and
+right-to-left layout is done according to the base direction
+of the layout's #PangoContext. (See pango_context_set_base_dir()).
 
-Because of the way return values of pango_ot_info_find_script() and
-pango_ot_info_find_language() are ignored, this function automatically
-finds and uses the 'DFLT' script and the default language-system.
+When the auto-computed direction of a paragraph differs from the
+base direction of the context, the interpretation of
+%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.
 
-Since: 1.18
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #PangoOTInfo.
-</parameter_description>
-</parameter>
-<parameter name="script">
-<parameter_description> a #PangoScript.
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="language">
-<parameter_description> a #PangoLanguage.
+<parameter name="auto_dir">
+<parameter_description> if %TRUE, compute the bidirectional base direction
+from the layout's contents.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoOTRuleset, which
-should be freed with g_object_unref().
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_fc_font_map_add_decoder_find_func">
+<function name="pango_layout_set_ellipsize">
 <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.
+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 text so they
+fit within the width and height of layout set with
+pango_layout_set_width() and pango_layout_set_height().
 
-Since: 1.6.
+If the layout contains characters such as newlines that
+force it to be layed out in multiple paragraphs, then whether
+each paragraph is ellipsized separately or the entire layout
+is ellipsized as a whole depends on the set height of the layout.
+See pango_layout_set_height() for details.
+
+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 name="layout">
+<parameter_description> a #PangoLayout
 </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 name="ellipsize">
+<parameter_description> the new ellipsization mode for @layout
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_metrics_get_approximate_digit_width">
+<function name="pango_layout_set_font_description">
 <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 or narrower than this, though this value
-is generally somewhat more accurate than the result of
-pango_font_metrics_get_approximate_char_width() for digits.
-
+Sets the default font description for the layout. If no font
+description is set on the layout, the font description from
+the layout's context is used.
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<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> the digit width, in Pango units.
-</return>
+<return></return>
 </function>
 
-<function name="pango_cairo_font_map_new_for_font_type">
+<function name="pango_layout_set_height">
 <description>
-Creates a new #PangoCairoFontMap object of the type suitable
-to be used with cairo font backend of type @fonttype.
+Sets the height to which the #PangoLayout should be ellipsized at.  There
+are two different behaviors, based on whether @height is positive or
+negative.
 
-In most cases one should simply use @pango_cairo_font_map_new(),
-or in fact in most of those cases, just use
- pango_cairo_font_map_get_default().
+If @height is positive, it will be the maximum height of the layout.  Only
+lines would be shown that would fit, and if there is any text omitted,
+an ellipsis added.  At least one line is included in each paragraph regardless
+of how small the height value is.  A value of zero will render exactly one
+line for the entire layout.
 
-Since: 1.18
+If @height is negative, it will be the (negative of) maximum number of lines per
+paragraph.  That is, the total number of lines shown may well be more than
+this value if the layout contains multiple paragraphs of text.
+The default value of -1 means that first line of each paragraph is ellipsized.
+This behvaior may be changed in the future to act per layout instead of per
+paragraph.  File a bug against pango at &lt;ulink
+url=&quot;http://bugzilla.gnome.org/&quot;&gt;http://bugzilla.gnome.org/&lt;/ulink&gt; if your
+code relies on this behavior.
+
+Height setting only has effect if a positive width is set on
+ layout and ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
+The behavior is undefined if a height other than -1 is set and
+ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the
+future.
+
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="fonttype">
-<parameter_description> desired #cairo_font_type_t
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the desired height of the layout in Pango units if positive,
+or desired number of lines if negative.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoFontMap of suitable type
-which should be freed with g_object_unref(),
-or %NULL if the requested cairo font backend is
-not supported / compiled in.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_ruleset_add_feature">
+<function name="pango_layout_set_indent">
 <description>
-Adds a feature to the ruleset.
+Sets the width in Pango units to indent each paragraph. A negative value
+of @indent will produce a hanging indentation. That is, the first line will
+have the full width, and subsequent lines will be indented by the
+absolute value of @indent.
+
+The indent setting is ignored if layout alignment is set to
+%PANGO_ALIGN_CENTER.
 
 </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 name="layout">
+<parameter_description> a #PangoLayout.
 </parameter_description>
 </parameter>
-<parameter name="property_bit">
-<parameter_description> the property bit to use for this feature. Used to identify
-the glyphs that this feature should be applied to, or
-%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
+<parameter name="indent">
+<parameter_description> the amount by which to indent.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_context_set_matrix">
+<function name="pango_layout_set_justify">
 <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
-coordinates after the application of the matrix. So, they don't scale
-with the matrix, though they may change slightly for different
-matrices, depending on how the text is fit to the pixel grid.
+Sets whether 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 may be done in more complex ways, like extending
+the characters.
 
-Since: 1.6
+Note that this setting is not implemented and so is ignored in Pango
+older than 1.18.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="layout">
+<parameter_description> a #PangoLayout
 </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 name="justify">
+<parameter_description> whether the lines in the layout should be justified.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_x_apply_ligatures">
+<function name="pango_layout_set_markup">
 <description>
-Previously did subfont-specific ligation. Now a no-op.
+Same as pango_layout_set_markup_with_accel(), but
+the markup text isn't scanned for accelerators.
 
 
 </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 name="layout">
+<parameter_description> a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="n_glyphs">
-<parameter_description> unused
+<parameter name="markup">
+<parameter_description> marked-up text
 </parameter_description>
 </parameter>
-<parameter name="clusters">
-<parameter_description> unused
+<parameter name="length">
+<parameter_description> length of marked-up text in bytes, or -1 if @markup is
+null-terminated
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE, always.
-</return>
+<return></return>
 </function>
 
-<function name="pango_coverage_new">
+<function name="pango_layout_set_markup_with_accel">
 <description>
-Create a new #PangoCoverage
+Sets the layout text and attribute list from marked-up text (see
+&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&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, @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> marked-up text
+(see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;)
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> length of marked-up text in bytes, or -1 if @markup is
+null-terminated
+</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 first located accelerator, or %NULL
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly allocated #PangoCoverage,
-initialized to %PANGO_COVERAGE_NONE
-with a reference count of one, which
-should be freed with pango_coverage_unref().
-</return>
+<return></return>
 </function>
 
-<function name="pango_renderer_get_layout">
+<function name="pango_layout_set_single_paragraph_mode">
 <description>
-Gets the layout currently being rendered using @renderer.
-Calling this function only makes sense from inside a subclass's
-methods, like in its draw_shape&lt;!----&gt;() for example.
-
-The returned layout should not be modified while still being
-rendered.
-
-Since: 1.20
+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="renderer">
-<parameter_description> a #PangoRenderer
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="setting">
+<parameter_description> new setting
 </parameter_description>
 </parameter>
 </parameters>
-<return> the layout, or %NULL if no layout is being
-rendered using @renderer at this time.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_color_to_string">
+<function name="pango_layout_set_spacing">
 <description>
-Returns a textual specification of @color in the hexadecimal form
-&lt;literal&gt;rrrrggggbbbb&lt;/literal&gt;, where &lt;literal&gt;r&lt;/literal&gt;,
-&lt;literal&gt;g&lt;/literal&gt; and &lt;literal&gt;b&lt;/literal&gt; are hex digits representing
-the red, green, and blue components respectively.
-
-Since: 1.16
+Sets the amount of spacing in Pango unit between the lines of the
+layout.
 
 </description>
 <parameters>
-<parameter name="color">
-<parameter_description> a #PangoColor
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="spacing">
+<parameter_description> the amount of spacing
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated text string that must be freed with g_free().
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_list_new">
+<function name="pango_layout_set_tabs">
 <description>
-Create a new empty attribute list with a reference count of one.
-
+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, or %NULL
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly allocated #PangoAttrList, which should
-be freed with pango_attr_list_unref().
-</return>
+<return></return>
 </function>
 
-<function name="pango_cairo_font_map_get_default">
+<function name="pango_layout_set_text">
 <description>
-Gets a default #PangoCairoFontMap to use with Cairo.
-
-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.
-
-The default Cairo fontmap can be changed by using
-pango_cairo_font_map_set_default().  This can be used to
-change the Cairo font backend that the default fontmap
-uses for example.
+Sets the text of the layout.
 
-Since: 1.10
+Note that if you have used
+pango_layout_set_markup() or pango_layout_set_markup_with_accel() on
+ layout before, you may want to call pango_layout_set_attributes() to clear
+the attributes set on the layout from the markup as this function does not
+clear attributes.
 
 </description>
 <parameters>
+<parameter name="layout">
+<parameter_description> a #PangoLayout
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> a valid UTF-8 string
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description> maximum length of @text, in bytes. -1 indicates that
+the string is nul-terminated and the length should be
+calculated.  The text will also be truncated on
+encountering a nul-termination even when @length is
+positive.
+</parameter_description>
+</parameter>
 </parameters>
-<return> the default Cairo fontmap for Pango. This
-object is owned by Pango and must not be freed.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_ruleset_description_free">
+<function name="pango_layout_set_width">
 <description>
-Frees a ruleset description allocated by 
-pango_ot_ruleset_description_copy().
-
-Since: 1.18
+Sets the width to which the lines of the #PangoLayout should wrap or
+ellipsized.  The default value is -1: no width set.
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> an allocated #PangoOTRulesetDescription
+<parameter name="layout">
+<parameter_description> a #PangoLayout.
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the desired width in Pango units, or -1 to indicate that no
+wrapping or ellipsization should be performed.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_renderer_deactivate">
+<function name="pango_layout_set_wrap">
 <description>
-Cleans up after rendering operations on @renderer. See
-docs for pango_renderer_activate().
-
-Since: 1.8
+Sets the wrap mode; the wrap mode only has 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="renderer">
-<parameter_description> a #PangoRenderer
+<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_parse_stretch">
+<function name="pango_layout_xy_to_index">
 <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 '_' characters may be omitted.
+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_xy_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="str">
-<parameter_description> a string to parse.
+<parameter name="layout">
+<parameter_description>    a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="stretch">
-<parameter_description> a #PangoStretch to store the result in.
+<parameter name="x">
+<parameter_description>         the X offset (in Pango units)
+from the left edge of the layout.
 </parameter_description>
 </parameter>
-<parameter name="warn">
-<parameter_description> if %TRUE, issue a g_warning() on bad input.
+<parameter name="y">
+<parameter_description>         the Y offset (in Pango units)
+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 @str was successfully parsed.
+<return> %TRUE if the coordinates were inside text, %FALSE otherwise.
 </return>
 </function>
 
-<function name="pango_layout_get_height">
+<function name="pango_log2vis_get_embedding_levels">
 <description>
-Gets the height of layout used for ellipsization.  See
-pango_layout_set_height() for details.
+This will return the bidirectional embedding levels of the input paragraph
+as defined by the Unicode Bidirectional Algorithm available at:
 
-Since: 1.20
+http://www.unicode.org/reports/tr9/
+
+If the input base direction is a weak direction, the direction of the
+characters in the text will determine the final resolved direction.
+
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="text">
+<parameter_description>      the text to itemize.
+</parameter_description>
+</parameter>
+<parameter name="length">
+<parameter_description>    the number of bytes (not characters) to process, or -1
+if @text is nul-terminated and the length should be calculated.
+</parameter_description>
+</parameter>
+<parameter name="pbase_dir">
+<parameter_description> input base direction, and output resolved direction.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the height, in Pango units if positive, or
-number of lines if negative.
+<return> a newly allocated array of embedding levels, one item per
+character (not byte), that should be freed using g_free.
 
 </return>
 </function>
 
-<function name="pango_layout_get_width">
+<function name="pango_lookup_aliases">
 <description>
-Gets the width to which the lines of the #PangoLayout should wrap.
+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 in @n_families.
 
+Deprecated: 1.32: This function is not thread-safe.
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<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>
+<parameter name="n_families">
+<parameter_description> will be set to the length of the @families array.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the width in Pango units, or -1 if no width set.
-</return>
+<return></return>
 </function>
 
-<function name="pango_language_from_string">
+<function name="pango_map_get_engine">
 <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 '_' to '-', and stripping all characters other
-than letters and '-'.
-
-Use pango_language_get_default() if you want to get the #PangoLanguage for
-the current locale of the process.
+Returns the best engine listed in the map for a given script
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a string representing a language tag, or %NULL
+<parameter name="map">
+<parameter_description> a #PangoMap
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript
 </parameter_description>
 </parameter>
 </parameters>
-<return> an opaque pointer to a #PangoLanguage structure, or %NULL
-if @language was %NULL.  The returned pointer will be valid
-forever after, and should not be freed.
+<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't be unloaded. If multiple
+engines are exact for the script, the choice of which is
+returned is arbitrary.
 </return>
 </function>
 
@@ -9465,215 +9693,298 @@ handle this script.
 <return></return>
 </function>
 
-<function name="pango_font_metrics_get_approximate_char_width">
+<function name="pango_markup_parser_finish">
 <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.
+After feeding a pango markup parser some data with g_markup_parse_context_parse(),
+use this function to get the list of pango attributes and text out of the
+markup. This function will not free @context, use g_markup_parse_context_free()
+to do so.
 
+Since: 1.31.0
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<parameter name="context">
+<parameter_description> A valid parse context that was returned from pango_markup_parser_new()
+</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> the character width, in Pango units.
+<return> %FALSE if @error is set, otherwise %TRUE
+
 </return>
 </function>
 
-<function name="pango_font_description_set_family">
+<function name="pango_markup_parser_new">
 <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.
+Parses marked-up text (see
+&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;) to create
+a plain-text string and an attribute list.
+
+If @accel_marker is nonzero, the given character will mark the
+character following it as an accelerator. For example, @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,
+when calling finish(). Two @accel_marker characters following each
+other produce a single literal @accel_marker character.
+
+To feed markup to the parser, use g_markup_parse_context_parse()
+on the returned #GMarkupParseContext. When done with feeding markup
+to the parser, use pango_markup_parser_finish() to get the data out
+of it, and then use g_markup_parse_context_free() to free it.
+
+This function is designed for applications that read pango markup
+from streams. To simply parse a string containing pango markup,
+the simpler pango_parse_markup() API is recommended instead.
+
+Since: 1.31.0
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription.
+<parameter name="accel_marker">
+<parameter_description> character that precedes an accelerator, or 0 for none
 </parameter_description>
 </parameter>
-<parameter name="family">
-<parameter_description> a string representing the family name.
+</parameters>
+<return> a #GMarkupParseContext that should be
+destroyed with g_markup_parse_context_free().
+
+</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_ft2_font_map_new">
+<function name="pango_matrix_copy">
 <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()).
+Copies a #PangoMatrix.
 
-Since: 1.2
+Since: 1.6
 
 </description>
 <parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, may be %NULL
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly created fontmap object. Unref
-with g_object_unref() when you are finished with it.
+<return> the newly allocated #PangoMatrix, which
+should be freed with pango_matrix_free(), or %NULL if
+ matrix was %NULL.
 
 </return>
 </function>
 
-<function name="pango_xft_substitute_changed">
+<function name="pango_matrix_free">
 <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 substitution function will return different
-results for the same input pattern, you must call this function.
+Free a #PangoMatrix created with pango_matrix_copy().
 
-Since: 1.2
+Since: 1.6
 
 </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 name="matrix">
+<parameter_description> a #PangoMatrix, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_lookup_aliases">
+<function name="pango_matrix_get_font_scale_factor">
 <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 in @n_families.
+Returns the scale factor of a matrix on the height of the font.
+That is, the scale factor in the direction perpendicular to the
+vector that the X coordinate is mapped to.
+
+Since: 1.12
 
 </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>
-<parameter name="n_families">
-<parameter_description> will be set to the length of the @families array.
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, may be %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the scale factor of @matrix on the height of the font,
+or 1.0 if @matrix is %NULL.
+
+</return>
 </function>
 
-<function name="pango_font_descriptions_free">
+<function name="pango_matrix_rotate">
 <description>
-Frees an array of font descriptions.
+Changes the transformation represented by @matrix to be the
+transformation given by first rotating by @degrees degrees
+counter-clockwise then applying the original transformation.
+
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="descs">
-<parameter_description> a pointer to an array of #PangoFontDescription, may be %NULL
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix
 </parameter_description>
 </parameter>
-<parameter name="n_descs">
-<parameter_description> number of font descriptions in @descs
+<parameter name="degrees">
+<parameter_description> degrees to rotate counter-clockwise
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_reorder_items">
+<function name="pango_matrix_scale">
 <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.
+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="logical_items">
-<parameter_description>  a #GList of #PangoItem in logical order.
+<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> a #GList of #PangoItem structures in visual order.
-
-(Please open a bug if you use this function.
-It is not a particularly convenient interface, and the code
-is duplicated elsewhere in Pango for that reason.)
-</return>
+<return></return>
 </function>
 
-<function name="pango_win32_get_debug_flag">
+<function name="pango_matrix_transform_distance">
 <description>
-Returns whether debugging is turned on.
+Transforms the distance vector (@dx,@dy) by @matrix. This is
+similar to pango_matrix_transform_point() except that the translation
+components of the transformation are ignored. The calculation of
+the returned vector is as follows:
 
-Since: 1.2
+&lt;programlisting&gt;
+dx2 = dx1 * xx + dy1 * xy;
+dy2 = dx1 * yx + dy1 * yy;
+&lt;/programlisting&gt;
+
+Affine transformations are position invariant, so the same vector
+always transforms to the same vector. If (@x1,@y1) transforms
+to (@x2,@y2) then (@x1+ dx1,@y1+ dy1) will transform to
+(@x1+ dx2,@y1+ dy2) for all values of @x1 and @x2.
+
+Since: 1.16
 
 </description>
 <parameters>
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> in/out X component of a distance vector
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> in/out Y component of a distance vector
+</parameter_description>
+</parameter>
 </parameters>
-<return> %TRUE if debugging is turned on.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_ruleset_get_for_description">
+<function name="pango_matrix_transform_pixel_rectangle">
 <description>
-Returns a ruleset for the given OpenType info and ruleset
-description.  Rulesets are created on demand using
-pango_ot_ruleset_new_from_description().
-The returned ruleset should not be modified or destroyed.
+First transforms the @rect using @matrix, then calculates the bounding box
+of the transformed rectangle.  The rectangle should be in device units
+(pixels).
 
-The static feature map members of @desc should be alive as
-long as @info is.
+This function is useful for example when you want to draw a rotated
+ PangoLayout to an image buffer, and want to know how large the image
+should be and how much you should shift the layout when rendering.
 
-Since: 1.18
+For better accuracy, you should use pango_matrix_transform_rectangle() on
+original rectangle in Pango units and convert to pixels afterward
+using pango_extents_to_pixels()'s first argument.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #PangoOTInfo.
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="desc">
-<parameter_description> a #PangoOTRulesetDescription.
+<parameter name="rect">
+<parameter_description> in/out bounding box in device units, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #PangoOTRuleset for @desc. This object will have
-the same lifetime as @info.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_tag_to_language">
+<function name="pango_matrix_transform_point">
 <description>
-Finds a #PangoLanguage corresponding to @language_tag.
+Transforms the point (@x, @y) by @matrix.
 
-Since: 1.18
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="language_tag">
-<parameter_description> A #PangoOTTag OpenType language-system tag
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> in/out X position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> in/out Y position
 </parameter_description>
 </parameter>
 </parameters>
-<return> #PangoLanguage best matching @language_tag or
-#PangoLanguage corresponding to the string &quot;xx&quot; if none found.
-
-</return>
+<return></return>
 </function>
 
 <function name="pango_matrix_transform_rectangle">
@@ -9713,900 +10024,1223 @@ Since: 1.16
 <return></return>
 </function>
 
-<function name="pango_attr_list_ref">
+<function name="pango_matrix_translate">
 <description>
-Increase the reference count of the given attribute list by one.
+Changes the transformation represented by @matrix to be the
+transformation given by first translating by (@tx, @ty)
+then applying the original transformation.
 
-Since: 1.10
+Since: 1.6
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList, may be %NULL
+<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> The attribute list passed in
+<return></return>
+</function>
 
-</return>
+<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_attr_list_insert">
+<function name="pango_ot_buffer_add_glyph">
 <description>
-Insert the given attribute into the #PangoAttrList. It will
-be inserted after all other attributes with a matching
- start_index 
+Appends a glyph to a #PangoOTBuffer, with @properties identifying which
+features should be applied on this glyph.  See pango_ot_ruleset_add_feature().
+
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
 </parameter_description>
 </parameter>
-<parameter name="attr">
-<parameter_description> the attribute to insert. Ownership of this value is
-assumed by the list.
+<parameter name="glyph">
+<parameter_description> the glyph index to add, like a #PangoGlyph
+</parameter_description>
+</parameter>
+<parameter name="properties">
+<parameter_description> the glyph properties
+</parameter_description>
+</parameter>
+<parameter name="cluster">
+<parameter_description> the cluster that this glyph belongs to
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_fc_fontset_key_get_matrix">
+<function name="pango_ot_buffer_clear">
 <description>
-Gets the matrix member of @key.
+Empties a #PangoOTBuffer, make it ready to add glyphs to.
 
-Since: 1.24
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="key">
-<parameter_description> the fontset key
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
 </parameter_description>
 </parameter>
 </parameters>
-<return> the matrix, which is owned by @key and should not be modified.
+<return></return>
+</function>
 
-</return>
+<function name="pango_ot_buffer_destroy">
+<description>
+Destroys a #PangoOTBuffer and free all associated memory.
+
+Since: 1.4
+
+</description>
+<parameters>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
 </function>
 
-<function name="pango_attr_background_new">
+<function name="pango_ot_buffer_get_glyphs">
 <description>
-Create a new background color attribute.
+Gets the glyph array contained in a #PangoOTBuffer.  The glyphs are
+owned by the buffer and should not be freed, and are only valid as long
+as buffer is not modified.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="red">
-<parameter_description> the red value (ranging from 0 to 65535)
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
 </parameter_description>
 </parameter>
-<parameter name="green">
-<parameter_description> the green value
+<parameter name="glyphs">
+<parameter_description> location to
+store the array of glyphs, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="blue">
-<parameter_description> the blue value
+<parameter name="n_glyphs">
+<parameter_description> location to store the number of
+glyphs, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_ft2_get_context">
+<function name="pango_ot_buffer_new">
 <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.
+Creates a new #PangoOTBuffer for the given OpenType font.
 
-Deprecated: 1.22: Use pango_font_map_create_context() instead.
+Since: 1.4
 
 </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 name="font">
+<parameter_description> a #PangoFcFont
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #PangoContext
+<return> the newly allocated #PangoOTBuffer, which should
+be freed with pango_ot_buffer_destroy().
 
 </return>
 </function>
 
-<function name="pango_win32_font_get_metrics_factor">
+<function name="pango_ot_buffer_output">
 <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.
+Exports the glyphs in a #PangoOTBuffer into a #PangoGlyphString.  This is
+typically used after the OpenType layout processing is over, to convert the
+resulting glyphs into a generic Pango glyph string.
 
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont from the win32 backend
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="glyphs">
+<parameter_description> a #PangoGlyphString
 </parameter_description>
 </parameter>
 </parameters>
-<return> factor to multiply logical units by to get Pango
-units.
-</return>
+<return></return>
 </function>
 
-<function name="pango_xft_font_lock_face">
+<function name="pango_ot_buffer_set_rtl">
 <description>
-Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; 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.
+Sets whether glyphs will be rendered right-to-left.  This setting
+is needed for proper horizontal positioning of right-to-left scripts.
 
-Since: 1.2
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
+</parameter_description>
+</parameter>
+<parameter name="rtl">
+<parameter_description> %TRUE for right-to-left text
 </parameter_description>
 </parameter>
 </parameters>
-<return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_x_load_font">
+<function name="pango_ot_buffer_set_zero_width_marks">
 <description>
-Loads up a logical font based on a &quot;fontset&quot; style text
-specification. This is not remotely useful (Pango API's generally
-work in terms of #PangoFontDescription) and the result may not
-work correctly in all circumstances. Use of this function should
-be avoided.
+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="display">
-<parameter_description> the X display.
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer
 </parameter_description>
 </parameter>
-<parameter name="spec">
-<parameter_description>    a comma-separated list of XLFD's.
+<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> a new #PangoFont.
-</return>
+<return></return>
 </function>
 
-<function name="pango_layout_iter_next_line">
+<function name="pango_ot_info_find_feature">
 <description>
-Moves @iter forward to the start of the next line. If @iter is
-already on the last line, returns %FALSE.
+Finds the index of a feature.  If the feature is not found, sets
+ feature_index to PANGO_OT_NO_FEATURE, which is safe to pass to
+pango_ot_ruleset_add_feature() and similar functions.
+
+In the future, this may set @feature_index to an special value that if used
+in pango_ot_ruleset_add_feature() will ask Pango to synthesize the
+requested feature based on Unicode properties and data.  However, this
+function will still return %FALSE in those cases.  So, users may want to
+ignore the return value of this function in certain cases.
 
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<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 %PANGO_OT_DEFAULT_LANGUAGE 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> whether motion was possible.
+<return> %TRUE if the feature was found.
 </return>
 </function>
 
-<function name="pango_ot_ruleset_substitute">
+<function name="pango_ot_info_find_language">
 <description>
-Performs the OpenType GSUB substitution on @buffer using the features
-in @ruleset
+Finds the index of a language and its required feature index.
+If the language is not found, sets @language_index to
+PANGO_OT_DEFAULT_LANGUAGE and the required feature of the default language
+system is returned in required_feature_index.  For best compatibility with
+some fonts, also searches the language system tag 'dflt' before falling
+back to the default language system, but that is transparent to the user.
+The user can simply ignore the return value of this function to
+automatically fall back to the default language system.
 
-Since: 1.4
 
 </description>
 <parameters>
-<parameter name="ruleset">
-<parameter_description> a #PangoOTRuleset.
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
 </parameter_description>
 </parameter>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer.
+<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></return>
+<return> %TRUE if the language was found.
+</return>
 </function>
 
-<function name="pango_x_list_subfonts">
+<function name="pango_ot_info_find_script">
 <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.
+Finds the index of a script.  If not found, tries to find the 'DFLT'
+and then 'dflt' scripts and return the index of that in @script_index.
+If none of those is found either, %PANGO_OT_NO_SCRIPT is placed in
+ script_index 
+
+All other functions taking an input script_index parameter know
+how to handle %PANGO_OT_NO_SCRIPT, so one can ignore the return
+value of this function completely and proceed, to enjoy the automatic
+fallback to the 'DFLT'/'dflt' script.
 
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
-</parameter_description>
-</parameter>
-<parameter name="charsets">
-<parameter_description> the charsets to list subfonts for.
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
 </parameter_description>
 </parameter>
-<parameter name="n_charsets">
-<parameter_description> the number of charsets in @charsets.
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
 </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 name="script_tag">
+<parameter_description> the tag of the script to find.
 </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 name="script_index">
+<parameter_description> location to store the index of the
+script, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> length of the arrays stored in @subfont_ids and
- subfont_charsets 
+<return> %TRUE if the script was found.
 </return>
 </function>
 
-<function name="pango_attr_list_copy">
+<function name="pango_ot_info_get">
 <description>
-Copy @list and return an identical new list.
+Returns the #PangoOTInfo structure for the given FreeType font face.
 
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList, may be %NULL
+<parameter name="face">
+<parameter_description> a &lt;type&gt;FT_Face&lt;/type&gt;.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttrList, with a
-reference count of one, which should
-be freed with pango_attr_list_unref().
-Returns %NULL if @list was %NULL.
+<return> the #PangoOTInfo for @face. This object will have
+the same lifetime as @face.
+
 </return>
 </function>
 
-<function name="pango_context_list_families">
+<function name="pango_ot_info_list_features">
 <description>
-List all families for a context.
+Obtains the list of features for the given language of the given script.
+
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
 </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 name="table_type">
+<parameter_description> the table type to obtain information about.
 </parameter_description>
 </parameter>
-<parameter name="n_families">
-<parameter_description> location to store the number of elements in @descs
+<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 index of the language to list features for, or
+%PANGO_OT_DEFAULT_LANGUAGE, to list features for the default
+language of the script.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a newly-allocated zero-terminated array containing the tags of the
+available features.  Should be freed using g_free().
+</return>
 </function>
 
-<function name="pango_ot_buffer_destroy">
+<function name="pango_ot_info_list_languages">
 <description>
-Destroys a #PangoOTBuffer and free all associated memory.
+Obtains the list of available languages for a given script.
 
-Since: 1.4
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer
+<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></return>
+<return> a newly-allocated zero-terminated array containing the tags of the
+available languages.  Should be freed using g_free().
+</return>
 </function>
 
-<function name="pango_matrix_concat">
+<function name="pango_ot_info_list_scripts">
 <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.
+Obtains the list of available scripts.
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
 </parameter_description>
 </parameter>
-<parameter name="new_matrix">
-<parameter_description> a #PangoMatrix
+<parameter name="table_type">
+<parameter_description> the table type to obtain information about.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a newly-allocated zero-terminated array containing the tags of the
+available scripts.  Should be freed using g_free().
+</return>
 </function>
 
-<function name="pango_fc_font_kern_glyphs">
+<function name="pango_ot_ruleset_add_feature">
 <description>
-Adjust each adjacent pair of glyphs in @glyphs according to
-kerning information in @font.
-
-Since: 1.4
+Adds a feature to the ruleset.
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFcFont
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
 </parameter_description>
 </parameter>
-<parameter name="glyphs">
-<parameter_description> a #PangoGlyphString
+<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. Used to identify
+the glyphs that this feature should be applied to, or
+%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_bidi_type_for_unichar">
+<function name="pango_ot_ruleset_description_copy">
 <description>
-Determines the normative bidirectional character type of a
-character, as specified in the Unicode Character Database.
-
-A simplified version of this function is available as
-pango_unichar_get_direction().
+Creates a copy of @desc, which should be freed with
+pango_ot_ruleset_description_free(). Primarily used internally
+by pango_ot_ruleset_get_for_description() to cache rulesets for
+ruleset descriptions.
 
-Since: 1.22
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="ch">
-<parameter_description> a Unicode character
+<parameter name="desc">
+<parameter_description> ruleset description to copy
 </parameter_description>
 </parameter>
 </parameters>
-<return> the bidirectional character type, as used in the
-Unicode bidirectional algorithm.
+<return> the newly allocated #PangoOTRulesetDescription, which
+should be freed with pango_ot_ruleset_description_free().
 
 </return>
 </function>
 
-<function name="pango_x_font_get_unknown_glyph">
+<function name="pango_ot_ruleset_description_equal">
 <description>
-Returns the index of a glyph suitable for drawing @wc as an
-unknown character.
-
-Use PANGO_GET_UNKNOWN_GLYPH() instead.
+Compares two ruleset descriptions for equality.
+Two ruleset descriptions are considered equal if the rulesets
+they describe are provably identical.  This means that their
+script, language, and all feature sets should be equal.  For static feature
+sets, the array addresses are compared directly, while for other
+features, the list of features is compared one by one.
+(Two ruleset descriptions may result in identical rulesets
+being created, but still compare %FALSE.)
 
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="desc1">
+<parameter_description> a ruleset description
 </parameter_description>
 </parameter>
-<parameter name="wc">
-<parameter_description> the Unicode character for which a glyph is needed.
+<parameter name="desc2">
+<parameter_description> a ruleset description
 </parameter_description>
 </parameter>
 </parameters>
-<return> a glyph index into @font.
+<return> %TRUE if two ruleset descriptions are identical,
+%FALSE otherwise.
+
 </return>
 </function>
 
-<function name="pango_ot_buffer_add_glyph">
+<function name="pango_ot_ruleset_description_free">
 <description>
-Appends a glyph to a #PangoOTBuffer, with @properties identifying which
-features should be applied on this glyph.  See pango_ruleset_add_feature().
+Frees a ruleset description allocated by 
+pango_ot_ruleset_description_copy().
 
-Since: 1.4
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer
-</parameter_description>
-</parameter>
-<parameter name="glyph">
-<parameter_description> the glyph index to add, like a #PangoGlyph
-</parameter_description>
-</parameter>
-<parameter name="properties">
-<parameter_description> the glyph properties
-</parameter_description>
-</parameter>
-<parameter name="cluster">
-<parameter_description> the cluster that this glyph belongs to
+<parameter name="desc">
+<parameter_description> an allocated #PangoOTRulesetDescription
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_fc_font_unlock_face">
+<function name="pango_ot_ruleset_description_hash">
 <description>
-Releases a font previously obtained with
-pango_fc_font_lock_face().
+Computes a hash of a #PangoOTRulesetDescription structure suitable
+to be used, for example, as an argument to g_hash_table_new().
 
-Since: 1.4
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFcFont.
+<parameter name="desc">
+<parameter_description> a ruleset description
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the hash value.
+
+</return>
 </function>
 
-<function name="pango_tab_array_get_tab">
+<function name="pango_ot_ruleset_get_feature_count">
 <description>
-Gets the alignment and position of a tab stop.
+Gets the number of GSUB and GPOS features in the ruleset.
 
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="tab_array">
-<parameter_description> a #PangoTabArray
-</parameter_description>
-</parameter>
-<parameter name="tab_index">
-<parameter_description> tab stop index
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
 </parameter_description>
 </parameter>
-<parameter name="alignment">
-<parameter_description> location to store alignment, or %NULL
+<parameter name="n_gsub_featuresL">
+<parameter_description> location to store number of
+GSUB features, or %NULL.
 </parameter_description>
 </parameter>
-<parameter name="location">
-<parameter_description> location to store tab position, or %NULL
+<parameter name="n_gpos_features">
+<parameter_description> location to store number of
+GPOS features, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> Total number of features in the @ruleset.
+
+</return>
 </function>
 
-<function name="pango_matrix_rotate">
+<function name="pango_ot_ruleset_get_for_description">
 <description>
-Changes the transformation represented by @matrix to be the
-transformation given by first rotating by @degrees degrees
-counter-clockwise then applying the original transformation.
+Returns a ruleset for the given OpenType info and ruleset
+description.  Rulesets are created on demand using
+pango_ot_ruleset_new_from_description().
+The returned ruleset should not be modified or destroyed.
 
-Since: 1.6
+The static feature map members of @desc should be alive as
+long as @info is.
+
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
 </parameter_description>
 </parameter>
-<parameter name="degrees">
-<parameter_description> degrees to rotate counter-clockwise
+<parameter name="desc">
+<parameter_description> a #PangoOTRulesetDescription.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the #PangoOTRuleset for @desc. This object will have
+the same lifetime as @info.
+
+</return>
 </function>
 
-<function name="pango_trim_string">
+<function name="pango_ot_ruleset_maybe_add_feature">
 <description>
-Trims leading and trailing whitespace from a string.
+This is a convenience function that first tries to find the feature
+using pango_ot_info_find_feature() and the ruleset script and language
+passed to pango_ot_ruleset_new_for(),
+and if the feature is found, adds it to the ruleset.
+
+If @ruleset was not created using pango_ot_ruleset_new_for(), this function
+does nothing.
 
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="str">
-<parameter_description> a string
+<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_tag">
+<parameter_description> the tag of the feature to add.
+</parameter_description>
+</parameter>
+<parameter name="property_bit">
+<parameter_description> the property bit to use for this feature. Used to identify
+the glyphs that this feature should be applied to, or
+%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-allocated string that must be freed with g_free()
+<return> %TRUE if the feature was found and added to ruleset,
+%FALSE otherwise.
+
 </return>
 </function>
 
-<function name="pango_layout_set_alignment">
+<function name="pango_ot_ruleset_maybe_add_features">
 <description>
-Sets the alignment for the layout: how partial lines are
-positioned within the horizontal space available.
+This is a convenience function that 
+for each feature in the feature map array @features
+converts the feature name to a #PangoOTTag feature tag using PANGO_OT_TAG_MAKE()
+and calls pango_ot_ruleset_maybe_add_feature() on it.
+
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
 </parameter_description>
 </parameter>
-<parameter name="alignment">
-<parameter_description> the alignment
+<parameter name="table_type">
+<parameter_description> the table type to add features to.
+</parameter_description>
+</parameter>
+<parameter name="features">
+<parameter_description> array of feature name and property bits to add.
+</parameter_description>
+</parameter>
+<parameter name="n_features">
+<parameter_description> number of feature records in @features array.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> The number of features in @features that were found
+and added to @ruleset.
+
+</return>
 </function>
 
-<function name="pango_fc_fontset_key_get_context_key">
+<function name="pango_ot_ruleset_new">
 <description>
-Gets the context key member of @key.
+Creates a new #PangoOTRuleset for the given OpenType info.
 
-Since: 1.24
 
 </description>
 <parameters>
-<parameter name="key">
-<parameter_description> the font key
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the context key, which is owned by @key and should not be modified.
-
+<return> the newly allocated #PangoOTRuleset, which
+should be freed with g_object_unref().
 </return>
 </function>
 
-<function name="pango_font_description_get_family">
+<function name="pango_ot_ruleset_new_for">
 <description>
-Gets the family name field of a font description. See
-pango_font_description_set_family().
+Creates a new #PangoOTRuleset for the given OpenType info, script, and
+language.
 
+This function is part of a convenience scheme that highly simplifies
+using a #PangoOTRuleset to represent features for a specific pair of script
+and language.  So one can use this function passing in the script and
+language of interest, and later try to add features to the ruleset by just
+specifying the feature name or tag, without having to deal with finding
+script, language, or feature indices manually.
+
+In excess to what pango_ot_ruleset_new() does, this function will:
+&lt;itemizedlist&gt;
+&lt;listitem&gt;
+Find the #PangoOTTag script and language tags associated with
+ script and @language using pango_ot_tag_from_script() and
+pango_ot_tag_from_language(),
+&lt;/listitem&gt;
+&lt;listitem&gt;
+For each of table types %PANGO_OT_TABLE_GSUB and %PANGO_OT_TABLE_GPOS,
+find the script index of the script tag found and the language
+system index of the language tag found in that script system, using
+pango_ot_info_find_script() and pango_ot_info_find_language(),
+&lt;/listitem&gt;
+&lt;listitem&gt;
+For found language-systems, if they have required feature
+index, add that feature to the ruleset using
+pango_ot_ruleset_add_feature(),
+&lt;/listitem&gt;
+&lt;listitem&gt;
+Remember found script and language indices for both table types,
+and use them in future pango_ot_ruleset_maybe_add_feature() and
+pango_ot_ruleset_maybe_add_features().
+&lt;/listitem&gt;
+&lt;/itemizedlist&gt;
+
+Because of the way return values of pango_ot_info_find_script() and
+pango_ot_info_find_language() are ignored, this function automatically
+finds and uses the 'DFLT' script and the default language-system.
+
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription.
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
+<parameter name="script">
+<parameter_description> a #PangoScript.
+</parameter_description>
+</parameter>
+<parameter name="language">
+<parameter_description> a #PangoLanguage.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the family name field for the font description, or
-%NULL if not previously set.  This has the same life-time
-as the font description itself and should not be freed.
+<return> the newly allocated #PangoOTRuleset, which
+should be freed with g_object_unref().
+
 </return>
 </function>
 
-<function name="pango_font_description_free">
+<function name="pango_ot_ruleset_new_from_description">
 <description>
-Frees a font description.
+Creates a new #PangoOTRuleset for the given OpenType infor and
+matching the given ruleset description.
+
+This is a convenience function that calls pango_ot_ruleset_new_for() and
+adds the static GSUB/GPOS features to the resulting ruleset, followed by
+adding other features to both GSUB and GPOS.
+
+The static feature map members of @desc should be alive as
+long as @info is.
+
+Since: 1.18
 
 </description>
 <parameters>
+<parameter name="info">
+<parameter_description> a #PangoOTInfo.
+</parameter_description>
+</parameter>
 <parameter name="desc">
-<parameter_description> a #PangoFontDescription, may be %NULL
+<parameter_description> a #PangoOTRulesetDescription.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the newly allocated #PangoOTRuleset, which
+should be freed with g_object_unref().
+
+</return>
 </function>
 
-<function name="pango_fc_font_map_shutdown">
+<function name="pango_ot_ruleset_position">
 <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
-only for backend implementations deriving from #PangoFcFontmap.
+Performs the OpenType GPOS positioning on @buffer using the features
+in @ruleset
 
 Since: 1.4
 
 </description>
 <parameters>
-<parameter name="fcfontmap">
-<parameter_description> a #PangoFcFontmap
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
+</parameter_description>
+</parameter>
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_glyph_item_iter_init_start">
+<function name="pango_ot_ruleset_substitute">
 <description>
-Initializes a #PangoGlyphItemIter structure to point to the
-first cluster in a glyph item.
-See #PangoGlyphItemIter for details of cluster orders.
+Performs the OpenType GSUB substitution on @buffer using the features
+in @ruleset
 
-Since: 1.22
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoGlyphItemIter
+<parameter name="ruleset">
+<parameter_description> a #PangoOTRuleset.
 </parameter_description>
 </parameter>
-<parameter name="glyph_item">
-<parameter_description> the glyph item to iterate over
+<parameter name="buffer">
+<parameter_description> a #PangoOTBuffer.
 </parameter_description>
 </parameter>
-<parameter name="text">
-<parameter_description> text corresponding to the glyph item
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_ot_tag_from_language">
+<description>
+Finds the OpenType language-system tag best describing @language.
+
+Since: 1.18
+
+</description>
+<parameters>
+<parameter name="language">
+<parameter_description> A #PangoLanguage, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE if there are no clusters in the glyph item
+<return> #PangoOTTag best matching @language or
+%PANGO_OT_TAG_DEFAULT_LANGUAGE if none found or if @language
+is %NULL.
 
 </return>
 </function>
 
-<function name="pango_itemize">
+<function name="pango_ot_tag_from_script">
 <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).
+Finds the OpenType script tag corresponding to @script.
 
- 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).
+The %PANGO_SCRIPT_COMMON, %PANGO_SCRIPT_INHERITED, and
+%PANGO_SCRIPT_UNKNOWN scripts are mapped to the OpenType
+'DFLT' script tag that is also defined as
+%PANGO_OT_TAG_DEFAULT_SCRIPT.
+
+Note that multiple #PangoScript values may map to the same
+OpenType script tag.  In particular, %PANGO_SCRIPT_HIRAGANA
+and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
 
+Since: 1.18
 
 </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 &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 name="script">
+<parameter_description> A #PangoScript
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GList of #PangoItem structures.
+<return> #PangoOTTag corresponding to @script or
+%PANGO_OT_TAG_DEFAULT_SCRIPT if none found.
+
 </return>
 </function>
 
-<function name="pango_x_font_subfont_xlfd">
+<function name="pango_ot_tag_to_language">
 <description>
-Determines the X Logical Font Description for the specified
-subfont.
+Finds a #PangoLanguage corresponding to @language_tag.
 
+Since: 1.18
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont which must be from the X backend.
+<parameter name="language_tag">
+<parameter_description> A #PangoOTTag OpenType language-system tag
 </parameter_description>
 </parameter>
-<parameter name="subfont_id">
-<parameter_description> the id of a subfont within the font.
+</parameters>
+<return> #PangoLanguage best matching @language_tag or
+#PangoLanguage corresponding to the string &quot;xx&quot; if none found.
+
+</return>
+</function>
+
+<function name="pango_ot_tag_to_script">
+<description>
+Finds the #PangoScript corresponding to @script_tag.
+
+The 'DFLT' script tag is mapped to %PANGO_SCRIPT_COMMON.
+
+Note that an OpenType script tag may correspond to multiple
+#PangoScript values.  In such cases, the #PangoScript value
+with the smallest value is returned.
+In particular, %PANGO_SCRIPT_HIRAGANA
+and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
+This function will return %PANGO_SCRIPT_HIRAGANA for
+'kana'.
+
+Since: 1.18
+
+</description>
+<parameters>
+<parameter name="script_tag">
+<parameter_description> A #PangoOTTag OpenType script tag
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-allocated string containing the XLFD for the
-subfont. This string must be freed with g_free().
+<return> #PangoScript corresponding to @script_tag or
+%PANGO_SCRIPT_UNKNOWN if none found.
+
 </return>
 </function>
 
-<function name="pango_ot_ruleset_maybe_add_feature">
+<function name="pango_parse_enum">
 <description>
-This is a convenience function that first tries to find the feature
-using pango_ot_info_find_feature() and the ruleset script and language
-passed to pango_ot_ruleset_new_for(),
-and if the feature is found, adds it to the ruleset.
+Parses an enum type and stores the result in @value.
 
-If @ruleset was not created using pango_ot_ruleset_new_for(), this function
-does nothing.
+If @str does not match the nick name of any of the possible values for the
+enum and is not an integer, %FALSE is returned, a warning is issued
+if @warn is %TRUE, and a
+string representing the list of possible values is stored in
+ possible_values   The list is slash-separated, eg.
+&quot;none/start/middle/end&quot;.  If failed and @possible_values is not %NULL,
+returned string should be freed using g_free().
 
-Since: 1.18
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="ruleset">
-<parameter_description> a #PangoOTRuleset.
+<parameter name="type">
+<parameter_description> enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE.
 </parameter_description>
 </parameter>
-<parameter name="table_type">
-<parameter_description> the table type to add a feature to.
+<parameter name="str">
+<parameter_description> string to parse.  May be %NULL.
 </parameter_description>
 </parameter>
-<parameter name="feature_tag">
-<parameter_description> the tag of the feature to add.
+<parameter name="value">
+<parameter_description> integer to store the result in, or %NULL.
 </parameter_description>
 </parameter>
-<parameter name="property_bit">
-<parameter_description> the property bit to use for this feature. Used to identify
-the glyphs that this feature should be applied to, or
-%PANGO_OT_ALL_GLYPHS if it should be applied to all glyphs.
+<parameter name="warn">
+<parameter_description> if %TRUE, issue a g_warning() on bad input.
+</parameter_description>
+</parameter>
+<parameter name="possible_values">
+<parameter_description> place to store list of possible values on failure, or %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the feature was found and added to ruleset,
-%FALSE otherwise.
+<return> %TRUE if @str was successfully parsed.
 
 </return>
 </function>
 
-<function name="pango_attr_list_splice">
+<function name="pango_parse_markup">
 <description>
-This function opens up a hole in @list, fills it in with attributes from
-the left, and then merges @other on top of the hole.
+Parses marked-up text (see
+&lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup format&lt;/link&gt;) to create
+a plain-text string and an attribute 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).
+If @accel_marker is nonzero, the given character will mark the
+character following it as an accelerator. For example, @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.
+
+To parse a stream of pango markup incrementally, use pango_markup_parser_new().
+
+If any error happens, none of the output arguments are touched except
+for @error.
 
-This operation proves useful for, for instance, inserting
-a pre-edit string in the middle of an edit buffer.
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList
+<parameter name="markup_text">
+<parameter_description> markup to parse (see &lt;link linkend=&quot;PangoMarkupFormat&quot;&gt;markup 
format&lt;/link&gt;)
 </parameter_description>
 </parameter>
-<parameter name="other">
-<parameter_description> another #PangoAttrList
+<parameter name="length">
+<parameter_description> length of @markup_text, or -1 if nul-terminated
 </parameter_description>
 </parameter>
-<parameter name="pos">
-<parameter_description> the position in @list at which to insert @other
+<parameter name="accel_marker">
+<parameter_description> character that precedes an accelerator, or 0 for none
 </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 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></return>
+<return> %FALSE if @error is set, otherwise %TRUE
+</return>
 </function>
 
-<function name="pango_fontset_simple_new">
+<function name="pango_parse_stretch">
 <description>
-Creates a new #PangoFontsetSimple for the given language.
+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 '_' characters may be omitted.
 
 
 </description>
 <parameters>
-<parameter name="language">
-<parameter_description> a #PangoLanguage tag
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="stretch">
+<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> the newly allocated #PangoFontsetSimple, which should
-be freed with g_object_unref().
+<return> %TRUE if @str was successfully parsed.
 </return>
 </function>
 
-<function name="pango_glyph_item_iter_prev_cluster">
+<function name="pango_parse_style">
 <description>
-Moves the iterator to the preceding cluster in the glyph item.
-See #PangoGlyphItemIter for details of cluster orders.
+Parses a font style. The allowed values are &quot;normal&quot;,
+&quot;italic&quot; and &quot;oblique&quot;, case variations being
+ignored.
 
-Since: 1.22
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoGlyphItemIter
+<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 the iterator was moved, %FALSE if we were already on the
-first cluster.
-
+<return> %TRUE if @str was successfully parsed.
 </return>
 </function>
 
-<function name="pango_win32_font_logfont">
+<function name="pango_parse_variant">
 <description>
-Determine the LOGFONTA struct for the specified font. Note that
-Pango internally uses LOGFONTW structs, so if converting the UTF-16
-face name in the LOGFONTW struct to system codepage fails, the
-returned LOGFONTA will have an emppty face name. To get the
-LOGFONTW of a PangoFont, use pango_win32_font_logfontw(). It
-is recommended to do that always even if you don't expect
-to come across fonts with odd names.
+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="font">
-<parameter_description> a #PangoFont which must be from the Win32 backend
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="variant">
+<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> A newly allocated LOGFONTA struct. It must be
-freed with g_free().
+<return> %TRUE if @str was successfully parsed.
 </return>
 </function>
 
-<function name="pango_context_get_base_gravity">
+<function name="pango_parse_weight">
 <description>
-Retrieves the base gravity for the context. See
-pango_context_set_base_gravity().
+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.
 
-Since: 1.16
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="str">
+<parameter_description> a string to parse.
+</parameter_description>
+</parameter>
+<parameter name="weight">
+<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> the base gravity for the context.
-
+<return> %TRUE if @str was successfully parsed.
 </return>
 </function>
 
-<function name="pango_win32_font_logfontw">
+<function name="pango_quantize_line_geometry">
 <description>
-Determine the LOGFONTW struct for the specified font.
+Quantizes the thickness and position of a line, typically an
+underline or strikethrough, to whole device pixels, that is integer
+multiples of %PANGO_SCALE. The purpose of this function is to avoid
+such lines looking blurry.
 
-Since: 1.16
+Care is taken to make sure @thickness is at least one pixel when this
+function returns, but returned @position may become zero as a result
+of rounding.
+
+Since: 1.12
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont which must be from the Win32 backend
+<parameter name="thickness">
+<parameter_description> pointer to the thickness of a line, in Pango units
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> corresponding position
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly allocated LOGFONTW struct. It must be
-freed with g_free().
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_map_get_engine">
+<function name="pango_read_line">
 <description>
-Returns the best engine listed in the map for a given script
+Reads an entire line from a file into a buffer. Lines may
+be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter
+is not written into the buffer. Text after a '#' character is treated as
+a comment and skipped. '\' can be used to escape a # character.
+'\' proceeding a line delimiter combines adjacent lines. A '\' proceeding
+any other character is ignored and written into the output buffer
+unmodified.
 
 
 </description>
 <parameters>
-<parameter name="map">
-<parameter_description> a #PangoMap
+<parameter name="stream">
+<parameter_description> a stdio stream
 </parameter_description>
 </parameter>
-<parameter name="script">
-<parameter_description> a #PangoScript
+<parameter name="str">
+<parameter_description> #GString buffer into which to write the result
 </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't be unloaded. If multiple
-engines are exact for the script, the choice of which is
-returned is arbitrary.
+<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't combine lines with '\')
 </return>
 </function>
 
-<function name="pango_renderer_get_matrix">
+<function name="pango_renderer_activate">
 <description>
-Gets the transformation matrix that will be applied when
-rendering. See pango_renderer_set_matrix().
+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
 
@@ -10617,1527 +11251,1740 @@ Since: 1.8
 </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.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_xft_renderer_set_default_color">
+<function name="pango_renderer_deactivate">
 <description>
-Sets the default foreground color for a #XftRenderer.
+Cleans up after rendering operations on @renderer. See
+docs for pango_renderer_activate().
 
 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 name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_face_list_sizes">
+<function name="pango_renderer_draw_error_underline">
 <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.
+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.4
+This should be called while @renderer is already active.  Use
+pango_renderer_activate() to activate a renderer.
+
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="face">
-<parameter_description> a #PangoFontFace.
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </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 name="x">
+<parameter_description> X coordinate of underline, in Pango units in user coordinate system
 </parameter_description>
 </parameter>
-<parameter name="n_sizes">
-<parameter_description> location to store the number of elements in @sizes
+<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_x_has_glyph">
+<function name="pango_renderer_draw_glyph">
 <description>
-Checks if the given glyph is present in a X font.
+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 which must be from the X backend.
+<parameter_description> a #PangoFont
 </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> the glyph index of a single glyph
 </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 name="x">
+<parameter_description> X coordinate of left edge of baseline of glyph
 </parameter_description>
 </parameter>
-<parameter name="variant">
-<parameter_description> the variant type for the font description.
+<parameter name="y">
+<parameter_description> Y coordinate of left edge of baseline of glyph
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_context_set_font_map">
+<function name="pango_renderer_draw_glyph_item">
 <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.
+Draws the glyphs in @glyph_item with the specified #PangoRenderer,
+embedding the text associated with the glyphs in the output if the
+output format supports it (PDF for example).
+
+Note that @text is the start of the text for layout, which is then
+indexed by &lt;literal&gt;@glyph_item-&gt;item-&gt;offset&lt;/literal&gt;.
+
+If @text is %NULL, this simply calls pango_renderer_draw_glyphs().
+
+The default implementation of this method simply falls back to
+pango_renderer_draw_glyphs().
+
+Since: 1.22
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
-<parameter name="font_map">
-<parameter_description> the #PangoFontMap to set.
+<parameter name="text">
+<parameter_description> the UTF-8 text that @glyph_item refers to, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="glyph_item">
+<parameter_description> a #PangoGlyphItem
+</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> Y position of left edge of baseline, in user space coordinates
+in Pango units.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_win32_font_cache_load">
+<function name="pango_renderer_draw_glyphs">
 <description>
-Creates a HFONT from a LOGFONTA. The
-result may be newly loaded, or it may have been previously
-stored
+Draws the glyphs in @glyphs with the specified #PangoRenderer.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="cache">
-<parameter_description> a #PangoWin32FontCache
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
-<parameter name="logfont">
-<parameter_description> a pointer to a LOGFONTA structure describing the font to load.
+<parameter name="font">
+<parameter_description> a #PangoFont
 </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 name="glyphs">
+<parameter_description> a #PangoGlyphString
 </parameter_description>
 </parameter>
-<parameter name="zero_width_marks">
-<parameter_description> %TRUE if characters with a mark class should
-be forced to zero width.
+<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> Y position of left edge of baseline, in user space coordinates
+in Pango units.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_language_get_default">
+<function name="pango_renderer_draw_layout">
 <description>
-Returns the #PangoLanguage for the current locale of the process.
-Note that this can change over the life of an application.
-
-On Unix systems, this is the return value is derived from
-&lt;literal&gt;setlocale(LC_CTYPE, NULL)&lt;/literal&gt;, and the user can
-affect this through the environment variables LC_ALL, LC_CTYPE or
-LANG (checked in that order). The locale string typically is in
-the form lang_COUNTRY, where lang is an ISO-639 language code, and
-COUNTRY is an ISO-3166 country code. For instance, sv_FI for
-Swedish as written in Finland or pt_BR for Portuguese as written in
-Brazil.
-
-On Windows, the C library does not use any such environment
-variables, and setting them won't affect the behavior of functions
-like ctime(). The user sets the locale through the Regional Options
-in the Control Panel. The C library (in the setlocale() function)
-does not use country and language codes, but country and language
-names spelled out in English.
-However, this function does check the above environment
-variables, and does return a Unix-style locale string based on
-either said environment variables or the thread's current locale.
-
-Your application should call &lt;literal&gt;setlocale(LC_ALL, &quot;&quot;);&lt;/literal&gt;
-for the user settings to take effect.  Gtk+ does this in its initialization
-functions automatically (by calling gtk_set_locale()).
-See &lt;literal&gt;man setlocale&lt;/literal&gt; for more details.
+Draws @layout with the specified #PangoRenderer.
 
-Since: 1.16
+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> Y position of left edge of baseline, in user space coordinates
+in Pango units.
+</parameter_description>
+</parameter>
 </parameters>
-<return> the default language as a #PangoLanguage, must not be
-freed.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_layout_set_justify">
+<function name="pango_renderer_draw_layout_line">
 <description>
-Sets whether 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 may be done in more complex ways, like extending
-the characters.
+Draws @line with the specified #PangoRenderer.
 
-Note that this setting is not implemented and so is ignored in Pango
-older than 1.18.
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
-<parameter name="justify">
-<parameter_description> whether the lines in the layout should be justified.
+<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> Y position of left edge of baseline, in user space coordinates
+in Pango units.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_get_mirror_char">
+<function name="pango_renderer_draw_rectangle">
 <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's
-glyph, puts that character in the address pointed to by @mirrored_ch.
+Draws an axis-aligned rectangle in user space coordinates with the
+specified #PangoRenderer.
 
-Use g_unichar_get_mirror_char() instead; the docs for that function
-provide full details.
+This should be called while @renderer is already active.  Use
+pango_renderer_activate() to activate a renderer.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="ch">
-<parameter_description> a Unicode character
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
-<parameter name="mirrored_ch">
-<parameter_description> location to store the mirrored character
+<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 Pango units in user space coordinates
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height of rectangle in Pango units in user space coordinates
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @ch has a mirrored character and @mirrored_ch is
-filled in, %FALSE otherwise
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_map_list_families">
+<function name="pango_renderer_draw_trapezoid">
 <description>
-List all families for a fontmap.
+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="fontmap">
-<parameter_description> a #PangoFontMap
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </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 name="part">
+<parameter_description> type of object this trapezoid is part of
 </parameter_description>
 </parameter>
-<parameter name="n_families">
-<parameter_description> location to store the number of elements in @families
+<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> Y coordinate of bottom of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="x12">
+<parameter_description> X coordinate of left end of bottom of trapezoid
+</parameter_description>
+</parameter>
+<parameter name="x22">
+<parameter_description> X coordinate of right end of bottom of trapezoid
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_description_get_stretch">
+<function name="pango_renderer_get_color">
 <description>
-Gets the stretch field of a font description.
-See pango_font_description_set_stretch().
+Gets the current rendering color for the specified part.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription.
+<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 stretch field for the font description. Use
-pango_font_description_get_set_fields() to find out if
-the field was explicitly set or not.
+<return> the color for the
+specified part, or %NULL if it hasn't been set and should be
+inherited from the environment.
+
 </return>
 </function>
 
-<function name="pango_xft_font_get_font">
+<function name="pango_renderer_get_layout">
 <description>
-Returns the XftFont of a font.
+Gets the layout currently being rendered using @renderer.
+Calling this function only makes sense from inside a subclass's
+methods, like in its draw_shape&lt;!----&gt;() for example.
+
+The returned layout should not be modified while still being
+rendered.
 
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont.
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> the XftFont associated to @font, or %NULL if @font is %NULL.
+<return> the layout, or %NULL if
+no layout is being rendered using @renderer at this time.
+
 </return>
 </function>
 
-<function name="pango_win32_font_done_font">
+<function name="pango_renderer_get_layout_line">
 <description>
-Releases any resources allocated by pango_win32_font_done_font()
+Gets the layout line currently being rendered using @renderer.
+Calling this function only makes sense from inside a subclass's
+methods, like in its draw_shape&lt;!----&gt;() for example.
+
+The returned layout line should not be modified while still being
+rendered.
+
+Since: 1.20
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> a #PangoFont from the win32 backend
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the layout line, or %NULL
+if no layout line is being rendered using @renderer at this time.
+
+</return>
 </function>
 
-<function name="pango_ot_ruleset_new">
+<function name="pango_renderer_get_matrix">
 <description>
-Creates a new #PangoOTRuleset for the given OpenType info.
+Gets the transformation matrix that will be applied when
+rendering. See pango_renderer_set_matrix().
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="info">
-<parameter_description> a #PangoOTInfo.
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoOTRuleset, which
-should be freed with g_object_unref().
+<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.
+
 </return>
 </function>
 
-<function name="pango_layout_set_indent">
+<function name="pango_renderer_part_changed">
 <description>
-Sets the width in Pango units to indent each paragraph. A negative value
-of @indent will produce a hanging indentation. That is, the first line will
-have the full width, and subsequent lines will be indented by the
-absolute value of @indent.
+Informs Pango that the way that the rendering 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
 
-The indent setting is ignored if layout alignment is set to
-%PANGO_ALIGN_CENTER.
+&lt;informalexample&gt;&lt;programlisting&gt;
+pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
+&lt;/programlisting&gt;&lt;/informalexample&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="layout">
-<parameter_description> a #PangoLayout.
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
-<parameter name="indent">
-<parameter_description> the amount by which to indent.
+<parameter name="part">
+<parameter_description> the part for which rendering has changed.
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_attr_variant_new">
+<function name="pango_renderer_prepare_run">
 <description>
-Create a new font variant attribute (normal or small caps)
+Set up the state of the #PangoRenderer for rendering @run.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="variant">
-<parameter_description> the variant
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
+</parameter_description>
+</parameter>
+<parameter name="run">
+<parameter_description> a #PangoLayoutRun
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_glyph_item_letter_space">
+<function name="pango_renderer_set_color">
 <description>
-Adds spacing between the graphemes of @glyph_item to
-give the effect of typographic letter spacing.
+Sets the color for part of the rendering.
 
-Since: 1.6
+Since: 1.8
 
 </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-&gt;item-&gt;offset is an offset from the
-start of @text)
+<parameter name="renderer">
+<parameter_description> a #PangoRenderer
 </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 name="part">
+<parameter_description> the part to change the color of
 </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 name="color">
+<parameter_description> the new color or %NULL to unset the current color
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_line_x_to_index">
+<function name="pango_renderer_set_matrix">
 <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.
+Sets the transformation matrix that will be applied when rendering.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="line">
-<parameter_description>      a #PangoLayoutLine
-</parameter_description>
-</parameter>
-<parameter name="x_pos">
-<parameter_description>     the X offset (in Pango units)
-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 name="renderer">
+<parameter_description> a #PangoRenderer
 </parameter_description>
 </parameter>
-<parameter name="trailing">
-<parameter_description>  location to store an 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 leading edge of the grapheme.
+<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> %FALSE if @x_pos was outside the line, %TRUE if inside
-</return>
+<return></return>
 </function>
 
-<function name="pango_matrix_copy">
+<function name="pango_reorder_items">
 <description>
-Copies a #PangoMatrix.
+From a list of items in logical order and the associated
+directional levels, produce a list in visual order.
+The original list is unmodified.
 
-Since: 1.6
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix, may be %NULL
+<parameter name="logical_items">
+<parameter_description> a #GList of #PangoItem in logical order.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoMatrix, which should
-be freed with pango_matrix_free(), or %NULL if
- matrix was %NULL.
+<return> a #GList
+of #PangoItem structures in visual order.
 
+(Please open a bug 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_layout_line_unref">
+<function name="pango_scan_int">
 <description>
-Decrease the reference count of a #PangoLayoutLine by one.
-If the result is zero, the line and all associated memory
-will be freed.
+Scans an integer.
+Leading white space is skipped.
+
 
 </description>
 <parameters>
-<parameter name="line">
-<parameter_description> a #PangoLayoutLine
+<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></return>
+<return> %FALSE if a parse error occurred.
+</return>
 </function>
 
-<function name="pango_x_font_cache_unload">
+<function name="pango_scan_string">
 <description>
-Frees a font structure previously loaded with pango_x_font_cache_load().
+Scans a string into a #GString buffer. The string may either
+be a sequence of non-white-space characters, or a quoted
+string with '&quot;'. Instead a quoted string, '\&quot;' represents
+a literal quote. Leading white space outside of quotes is skipped.
+
 
 </description>
 <parameters>
-<parameter name="cache">
-<parameter_description> a #PangoXFontCache
+<parameter name="pos">
+<parameter_description> in/out string position
 </parameter_description>
 </parameter>
-<parameter name="fs">
-<parameter_description> the font structure to unload
+<parameter name="out">
+<parameter_description> a #GString into which to write the result
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if a parse error occurred.
+</return>
 </function>
 
-<function name="pango_layout_set_attributes">
+<function name="pango_scan_word">
 <description>
-Sets the text attributes for a layout object.
-References @attrs, so the caller can unref its reference.
+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="layout">
-<parameter_description> a #PangoLayout
+<parameter name="pos">
+<parameter_description> in/out string position
 </parameter_description>
 </parameter>
-<parameter name="attrs">
-<parameter_description> a #PangoAttrList, can be %NULL
+<parameter name="out">
+<parameter_description> a #GString into which to write the result
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if a parse error occurred.
+</return>
 </function>
 
-<function name="pango_attribute_destroy">
+<function name="pango_script_for_unichar">
 <description>
-Destroy a #PangoAttribute and free all associated memory.
+Looks up the #PangoScript for a particular character (as defined by
+Unicode Standard Annex \#24). No check is made for @ch being a
+valid Unicode character; if you pass in invalid character, the
+result is undefined.
+
+As of Pango 1.18, this function simply returns the return value of
+g_unichar_get_script().
+
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="attr">
-<parameter_description> a #PangoAttribute.
+<parameter name="ch">
+<parameter_description> a Unicode character
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the #PangoScript for the character.
+
+</return>
 </function>
 
-<function name="pango_glyph_string_new">
+<function name="pango_script_get_sample_language">
 <description>
-Create a new #PangoGlyphString.
+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 &lt;literal&gt;ru&lt;/literal&gt; (Russian), the sample language
+for %PANGO_SCRIPT_ARABIC is &lt;literal&gt;ar&lt;/literal&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.
+
+As of 1.18, this function checks the environment variables
+PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
+If one of them is set, it is parsed as a list of language tags
+separated by colons or other separators.  This function
+will return the first language in the parsed list that Pango
+believes may use @script for writing.  This last predicate
+is tested using pango_language_includes_script().  This can
+be used to control Pango's font selection for non-primary
+languages.  For example, a PANGO_LANGUAGE enviroment variable
+set to &quot;en:fa&quot; makes Pango choose fonts suitable for Persian (fa) 
+instead of Arabic (ar) when a segment of Arabic text is found
+in an otherwise non-Arabic text.  The same trick can be used to
+choose a default language for %PANGO_SCRIPT_HAN when setting
+context language is not feasible.
+
+Since: 1.4
 
 </description>
 <parameters>
+<parameter name="script">
+<parameter_description> a #PangoScript
+</parameter_description>
+</parameter>
 </parameters>
-<return> the newly allocated #PangoGlyphString, which
-should be freed with pango_glyph_string_free().
+<return> a #PangoLanguage that is representative
+of the script, or %NULL if no such language exists.
+
 </return>
 </function>
 
-<function name="pango_layout_get_log_attrs">
+<function name="pango_script_iter_free">
 <description>
-Retrieves an array of logical attributes for each character in
-the @layout.
+Frees a #PangoScriptIter created with pango_script_iter_new().
+
+Since: 1.4
 
 </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 name="iter">
+<parameter_description> a #PangoScriptIter
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_glyph_string_free">
+<function name="pango_script_iter_get_range">
 <description>
-Free a glyph string and associated storage.
+Gets information about the range to which @iter currently points.
+The range is the set of locations p where *start &lt;= p &lt; *end.
+(That is, it doesn't include the character stored at *end)
+
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="string">
-<parameter_description> a #PangoGlyphString, may be %NULL
+<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_layout_set_height">
+<function name="pango_script_iter_new">
 <description>
-Sets the height to which the #PangoLayout should be ellipsized at.  There
-are two different behaviors, based on whether @height is positive or
-negative.
-
-If @height is positive, it will be the maximum height of the layout.  Only
-lines would be shown that would fit, and if there is any text omitted,
-an ellipsis added.  At least one line is included in each paragraph regardless
-of how small the height value is.  A value of zero will render exactly one
-line for the entire layout.
-
-If @height is negative, it will be the (negative of) maximum number of lines per
-paragraph.  That is, the total number of lines shown may well be more than
-this value if the layout contains multiple paragraphs of text.
-The default value of -1 means that first line of each paragraph is ellipsized.
-This behvaior may be changed in the future to act per layout instead of per
-paragraph.  File a bug against pango at &lt;ulink
-url=&quot;http://bugzilla.gnome.org/&quot;&gt;http://bugzilla.gnome.org/&lt;/ulink&gt; if your
-code relies on this behavior.
-
-Height setting only has effect if a positive width is set on
- layout and ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
-The behavior is undefined if a height other than -1 is set and
-ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the
-future.
+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().
 
-Since: 1.20
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout.
+<parameter name="text">
+<parameter_description> a UTF-8 string
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> the desired height of the layout in Pango units if positive,
-or desired number of lines if negative.
+<parameter name="length">
+<parameter_description> length of @text, or -1 if @text is nul-terminated.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the new script iterator, initialized
+to point at the first range in the text, which should be
+freed with pango_script_iter_free(). If the string is
+empty, it will point at an empty range.
+
+</return>
 </function>
 
-<function name="pango_gravity_get_for_matrix">
+<function name="pango_script_iter_next">
 <description>
-Finds the gravity that best matches the rotation component
-in a #PangoMatrix.
+Advances a #PangoScriptIter to the next range. If @iter
+is already at the end, it is left unchanged and %FALSE
+is returned.
 
-Since: 1.16
+Since: 1.4
 
 </description>
 <parameters>
-<parameter name="matrix">
-<parameter_description> a #PangoMatrix
+<parameter name="iter">
+<parameter_description> a #PangoScriptIter
 </parameter_description>
 </parameter>
 </parameters>
-<return> the gravity of @matrix, which will never be
-%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL
+<return> %TRUE if @iter was successfully advanced.
 
 </return>
 </function>
 
-<function name="pango_cairo_error_underline_path">
+<function name="pango_shape">
 <description>
-Add a squiggly line to the current path in the specified cairo context 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)
+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().
 
-Since: 1.14
+It is recommended that you use pango_shape_full() instead, since
+that API allows for shaping interaction happening across text item
+boundaries.
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
+<parameter name="text">
+<parameter_description>      the text to process
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> The X coordinate of one corner of the rectangle
+<parameter name="length">
+<parameter_description>    the length (in bytes) of @text
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> The Y coordinate of one corner of the rectangle
+<parameter name="analysis">
+<parameter_description>  #PangoAnalysis structure from pango_itemize()
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> Non-negative width of the rectangle
+<parameter name="glyphs">
+<parameter_description>    glyph string in which to store results
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> Non-negative height of the rectangle
+</parameters>
+<return></return>
+</function>
+
+<function name="pango_shape_full">
+<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().
+
+This is similar to pango_shape(), except it also can optionally take
+the full paragraph text as input, which will then be used to perform
+certain cross-item shaping interactions.  If you have access to the broader
+text of which @item_text is part of, provide the broader text as
+ paragraph_text   If @paragraph_text is %NULL, item text is used instead.
+
+Since: 1.32
+
+</description>
+<parameters>
+<parameter name="item_text">
+<parameter_description>        valid UTF-8 text to shape.
+</parameter_description>
+</parameter>
+<parameter name="item_length">
+<parameter_description>      the length (in bytes) of @item_text. -1 means nul-terminated text.
+</parameter_description>
+</parameter>
+<parameter name="paragraph_text">
+<parameter_description> text of the paragraph (see details).  May be %NULL.
+</parameter_description>
+</parameter>
+<parameter name="paragraph_length">
+<parameter_description> the length (in bytes) of @paragraph_text. -1 means nul-terminated 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_layout_context_changed">
+<function name="pango_skip_space">
 <description>
-Forces recomputation of any state in the #PangoLayout that
-might depend on the layout's context. This function should
-be called if you make changes to the context subsequent
-to creating the layout.
+Skips 0 or more characters of white space.
+
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="pos">
+<parameter_description> in/out string position
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if skipping the white space leaves
+the position at a '\0' character.
+</return>
 </function>
 
-<function name="pango_cairo_context_get_resolution">
+<function name="pango_split_file_list">
 <description>
-Gets the resolution for the context. See pango_cairo_context_set_resolution()
+Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
+white space and substituting ~/ with $HOME/.
 
-Since: 1.10
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext, from a pangocairo font map
+<parameter name="str">
+<parameter_description> a %G_SEARCHPATH_SEPARATOR separated list of filenames
 </parameter_description>
 </parameter>
 </parameters>
-<return> the resolution in &quot;dots per inch&quot;. A negative value will
-be returned if no resolution has previously been set.
+<return> a list of
+strings to be freed with g_strfreev()
+</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> the newly allocated #PangoTabArray, which should
+be freed with pango_tab_array_free().
 </return>
 </function>
 
-<function name="pango_attr_list_unref">
+<function name="pango_tab_array_free">
 <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.
+Frees a tab array and associated resources.
+
 
 </description>
 <parameters>
-<parameter name="list">
-<parameter_description> a #PangoAttrList, may be %NULL
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_font_metrics_ref">
+<function name="pango_tab_array_get_positions_in_pixels">
 <description>
-Increase the reference count of a font metrics structure by one.
+Returns %TRUE if the tab positions are in pixels, %FALSE if they are
+in Pango units.
 
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure, may be %NULL
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
 </parameter_description>
 </parameter>
 </parameters>
-<return> @metrics
+<return> whether positions are in pixels.
 </return>
 </function>
 
-<function name="pango_attr_rise_new">
+<function name="pango_tab_array_get_size">
 <description>
-Create a new baseline displacement attribute.
+Gets the number of tab stops in @tab_array.
 
 
 </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 name="tab_array">
+<parameter_description> a #PangoTabArray
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> the number of tab stops in the array.
 </return>
 </function>
 
-<function name="pango_layout_get_size">
+<function name="pango_tab_array_get_tab">
 <description>
-Determines the logical width and height of a #PangoLayout
-in Pango units (device units scaled by %PANGO_SCALE). This
-is simply a convenience function around pango_layout_get_extents().
+Gets the alignment and position of a tab stop.
+
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> location to store the logical width, or %NULL
+<parameter name="tab_index">
+<parameter_description> tab stop index
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> location to store the logical height, or %NULL
+<parameter name="alignment">
+<parameter_description> location to store alignment, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="location">
+<parameter_description> location to store tab position, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_set_tabs">
+<function name="pango_tab_array_get_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.
+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="layout">
-<parameter_description> a #PangoLayout
+<parameter name="tab_array">
+<parameter_description> a #PangoTabArray
 </parameter_description>
 </parameter>
-<parameter name="tabs">
-<parameter_description> a #PangoTabArray, or %NULL
+<parameter name="alignments">
+<parameter_description> location to store an array of tab
+stop alignments, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="locations">
+<parameter_description> location to store an array
+of tab positions, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_itemize_with_base_dir">
+<function name="pango_tab_array_new">
 <description>
-Like pango_itemize(), but the base direction to use when
-computing bidirectional levels (see pango_context_set_base_dir ()),
-is specified explicitly rather than gotten from the #PangoContext.
+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.
 
-Since: 1.4
 
 </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 &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 name="initial_size">
+<parameter_description> Initial number of tab stops to allocate, can be 0
 </parameter_description>
 </parameter>
-<parameter name="cached_iter">
-<parameter_description>      Cached attribute iterator, or %NULL
+<parameter name="positions_in_pixels">
+<parameter_description> whether positions are in pixel units
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GList of #PangoItem structures.  The items should be
-freed using pango_item_free() probably in combination with g_list_foreach(),
-and the list itself using g_list_free().
-
+<return> the newly allocated #PangoTabArray, which should
+be freed with pango_tab_array_free().
 </return>
 </function>
 
-<function name="pango_xft_picture_render">
+<function name="pango_tab_array_new_with_positions">
 <description>
-Renders a #PangoGlyphString onto an Xrender &lt;type&gt;Picture&lt;/type&gt; object.
+This is a convenience function that creates a #PangoTabArray
+and allows you to specify the alignment and position of each
+tab stop. You &lt;emphasis&gt;must&lt;/emphasis&gt; provide an alignment
+and position for @size tab stops.
+
 
 </description>
 <parameters>
-<parameter name="display">
-<parameter_description>      an X display
+<parameter name="size">
+<parameter_description> number of tab stops in the array
 </parameter_description>
 </parameter>
-<parameter name="src_picture">
-<parameter_description>  the source picture to draw the string with
+<parameter name="positions_in_pixels">
+<parameter_description> whether positions are in pixel units
 </parameter_description>
 </parameter>
-<parameter name="dest_picture">
-<parameter_description> the destination picture to draw the string onto
+<parameter name="first_alignment">
+<parameter_description> alignment of first tab stop
 </parameter_description>
 </parameter>
-<parameter name="font">
-<parameter_description>         the font in which to draw the string
+<parameter name="first_position">
+<parameter_description> position of first tab stop
 </parameter_description>
 </parameter>
-<parameter name="glyphs">
-<parameter_description>       the glyph string to draw
+<parameter name="Varargs">
+<parameter_description> additional alignment/position pairs
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>            the x position of start of string (in pixels)
+</parameters>
+<return> the newly allocated #PangoTabArray, which should
+be freed with pango_tab_array_free().
+</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="y">
-<parameter_description>            the y position of baseline (in pixels)
+<parameter name="new_size">
+<parameter_description> new size of the array
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_layout_line_get_x_ranges">
+<function name="pango_tab_array_set_tab">
 <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.
+Sets the alignment and location of a tab stop.
+ alignment must always be #PANGO_TAB_LEFT in the current
+implementation.
+
 
 </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 name="tab_array">
+<parameter_description> a #PangoTabArray
 </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 name="tab_index">
+<parameter_description> the index of a tab stop
 </parameter_description>
 </parameter>
-<parameter name="ranges">
-<parameter_description>
-location to store a pointer to an array of ranges.
-The array will be of length &lt;literal&gt;2*n_ranges&lt;/literal&gt;,
-with each range starting at &lt;literal&gt;(*ranges)[2*n]&lt;/literal&gt;
-and of width &lt;literal&gt;(*ranges)[2*n + 1] - (*ranges)[2*n]&lt;/literal&gt;.
-This array must be freed with g_free(). The coordinates are relative
-to the layout and are in Pango units.
+<parameter name="alignment">
+<parameter_description> tab alignment
 </parameter_description>
 </parameter>
-<parameter name="n_ranges">
-<parameter_description> The number of ranges stored in @ranges.
+<parameter name="location">
+<parameter_description> tab location in Pango units
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="pango_attr_iterator_destroy">
+<function name="pango_trim_string">
 <description>
-Destroy a #PangoAttrIterator and free all associated memory.
+Trims leading and trailing whitespace from a string.
+
 
 </description>
 <parameters>
-<parameter name="iterator">
-<parameter_description> a #PangoAttrIterator.
+<parameter name="str">
+<parameter_description> a string
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> A newly-allocated string that must be freed with g_free()
+</return>
 </function>
 
-<function name="pango_ot_info_list_features">
+<function name="pango_unichar_direction">
 <description>
-Obtains the list of features for the given language of the given script.
+Determines the inherent direction of a character; either
+%PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or
+%PANGO_DIRECTION_NEUTRAL.
+
+This function is useful to categorize characters into left-to-right
+letters, right-to-left letters, and everything else.  If full
+Unicode bidirectional type of a character is needed,
+pango_bidi_type_for_unichar() can be used instead.
 
 
 </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 index of the language to list features for, or
-%PANGO_OT_DEFAULT_LANGUAGE, to list features for the default
-language of the script.
+<parameter name="ch">
+<parameter_description> a Unicode character
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated zero-terminated array containing the tags of the
-available features.  Should be freed using g_free().
+<return> the direction of the character.
 </return>
 </function>
 
-<function name="pango_font_metrics_unref">
+<function name="pango_units_from_double">
 <description>
-Decrease the reference count of a font metrics structure by one. If
-the result is zero, frees the structure and any associated
-memory.
+Converts a floating-point number to Pango units: multiplies
+it by %PANGO_SCALE and rounds to nearest integer.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure, may be %NULL
+<parameter name="d">
+<parameter_description> double floating-point value
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the value in Pango units.
+
+</return>
 </function>
 
-<function name="pango_fc_font_map_find_decoder">
+<function name="pango_units_to_double">
 <description>
-Finds the decoder to use for @pattern.  Decoders can be added to
-a font map using pango_fc_font_map_add_decoder_find_func().
+Converts a number in Pango units to floating-point: divides
+it by %PANGO_SCALE.
 
-Since: 1.26.
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="fcfontmap">
-<parameter_description> The #PangoFcFontMap to use.
-</parameter_description>
-</parameter>
-<parameter name="pattern">
-<parameter_description> The #FcPattern to find the decoder for.
+<parameter name="i">
+<parameter_description> value in Pango units
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly created #PangoFcDecoder object or %NULL if
-no decoder is set for @pattern.
+<return> the double value.
 
 </return>
 </function>
 
-<function name="pango_xft_render_layout_line">
+<function name="pango_version">
 <description>
-Render a #PangoLayoutLine onto a #XftDraw
+This is similar to the macro %PANGO_VERSION except that
+it returns the encoded version of Pango available at run-time,
+as opposed to the version available at compile-time.
 
-Since: 1.8
+A version number can be encoded into an integer using
+PANGO_VERSION_ENCODE().
+
+Since: 1.16
 
 </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 overridden by color attributes)
+</parameters>
+<return> The encoded version of Pango library
+available at run time.
+
+</return>
+</function>
+
+<function name="pango_version_check">
+<description>
+Checks that the Pango library in use is compatible with the
+given version. Generally you would pass in the constants
+%PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO
+as the three arguments to this function; that produces
+a check that the library in use at run-time is compatible with
+the version of Pango the application or module was compiled against.
+
+Compatibility is defined by two things: first the version
+of the running library is newer than the version
+ required_major required_minor @required_micro. Second
+the running library must be binary compatible with the
+version @required_major required_minor  required_micro
+(same major version.)
+
+For compile-time version checking use PANGO_VERSION_CHECK().
+
+Since: 1.16
+
+</description>
+<parameters>
+<parameter name="required_major">
+<parameter_description> the required major version.
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description>      a #PangoLayoutLine
+<parameter name="required_minor">
+<parameter_description> the required minor version.
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description>         the x position of start of string (in Pango units)
+<parameter name="required_micro">
+<parameter_description> the required major version.
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description>         the y position of baseline (in Pango units)
+</parameters>
+<return> %NULL if the Pango library is compatible
+with the given version, or a string describing the version
+mismatch.  The returned string is owned by Pango and should not
+be modified or freed.
+
+</return>
+</function>
+
+<function name="pango_version_string">
+<description>
+This is similar to the macro %PANGO_VERSION_STRING except that
+it returns the version of Pango available at run-time, as opposed to
+the version available at compile-time.
+
+Since: 1.16
+
+</description>
+<parameters>
+</parameters>
+<return> A string containing the version of Pango library
+available at run time.
+The returned string is owned by Pango and should not be modified
+or freed.
+
+</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_atsui_font_get_atsfont">
+<function name="pango_win32_font_cache_load">
 <description>
-Returns the ATSFontRef of a font.
+Creates a HFONT from a LOGFONTA. The
+result may be newly loaded, or it may have been previously
+stored
 
-Since: 1.28
 
 </description>
 <parameters>
-<parameter name="font">
-<parameter_description> A #PangoATSUIFont
+<parameter name="cache">
+<parameter_description> a #PangoWin32FontCache
+</parameter_description>
+</parameter>
+<parameter name="logfont">
+<parameter_description> a pointer to a LOGFONTA structure describing the font to load.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the ATSFontRef associated to @font.
-
+<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_font_metrics_get_underline_position">
+<function name="pango_win32_font_cache_loadw">
 <description>
-Gets the suggested position to draw the underline.
-The value returned is the distance &lt;emphasis&gt;above&lt;/emphasis&gt; the
-baseline of the top of the underline. Since most fonts have
-underline positions beneath the baseline, this value is typically
-negative.
+Creates a HFONT from a LOGFONTW. The
+result may be newly loaded, or it may have been previously
+stored
 
-Since: 1.6
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="metrics">
-<parameter_description> a #PangoFontMetrics structure
+<parameter name="cache">
+<parameter_description> a #PangoWin32FontCache
+</parameter_description>
+</parameter>
+<parameter name="logfont">
+<parameter_description> a pointer to a LOGFONTW structure describing the font to load.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the suggested underline position, in Pango units.
+<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_context_get_gravity">
+<function name="pango_win32_font_cache_new">
 <description>
-Retrieves the gravity for the context. This is similar to
-pango_context_get_base_gravity(), except for when the base gravity
-is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
-to return the gravity from the current context matrix.
+Creates a font cache.
 
-Since: 1.16
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #PangoContext
+</parameters>
+<return> The new font cache. This must be freed with
+pango_win32_font_cache_free().
+</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> the resolved gravity for the context.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_font_description_copy_static">
+<function name="pango_win32_font_description_from_logfont">
 <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 modified or freed. This is meant to be used
-when the copy is only needed temporarily.
+Creates a #PangoFontDescription that matches the specified LOGFONTA.
+
+The face name, italicness and weight fields in the LOGFONTA are used
+to set up the resulting #PangoFontDescription. If the face name in
+the LOGFONTA contains non-ASCII characters the font is temporarily
+loaded (using CreateFontIndirect()) and an ASCII (usually English)
+name for it is looked up from the font name tables in the font
+data. If that doesn't work, the face name is converted from the
+system codepage to UTF-8 and that is used.
 
+Since: 1.12
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription, may be %NULL
+<parameter name="lfp">
+<parameter_description> a LOGFONTA
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoFontDescription, which should
-be freed with pango_font_description_free(), or %NULL
-if @desc was %NULL.
+<return> the newly allocated #PangoFontDescription, which
+should be freed using pango_font_description_free()
+
 </return>
 </function>
 
-<function name="pango_is_zero_width">
+<function name="pango_win32_font_description_from_logfontw">
 <description>
-Checks @ch to see if it is a character that should not be
-normally rendered on the screen.  This includes all Unicode characters
-with &quot;ZERO WIDTH&quot; in their name, as well as &lt;firstterm&gt;bidi&lt;/firstterm&gt; formatting 
characters, and
-a few other ones.  This is totally different from g_unichar_iszerowidth()
-and is at best misnamed.
+Creates a #PangoFontDescription that matches the specified LOGFONTW.
 
-Since: 1.10
+The face name, italicness and weight fields in the LOGFONTW are used
+to set up the resulting #PangoFontDescription. If the face name in
+the LOGFONTW contains non-ASCII characters the font is temporarily
+loaded (using CreateFontIndirect()) and an ASCII (usually English)
+name for it is looked up from the font name tables in the font
+data. If that doesn't work, the face name is converted from UTF-16
+to UTF-8 and that is used.
+
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="ch">
-<parameter_description> a Unicode character
+<parameter name="lfp">
+<parameter_description> a LOGFONTW
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @ch is a zero-width character, %FALSE otherwise
+<return> the newly allocated #PangoFontDescription, which
+should be freed using pango_font_description_free()
 
 </return>
 </function>
 
-<function name="pango_attr_style_new">
+<function name="pango_win32_font_done_font">
 <description>
-Create a new font slant style attribute.
-
+Releases any resources allocated by pango_win32_font_done_font()
 
 </description>
 <parameters>
-<parameter name="style">
-<parameter_description> the slant style
+<parameter name="font">
+<parameter_description> a #PangoFont from the win32 backend
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-</return>
+<return></return>
 </function>
 
-<function name="pango_fc_fontset_key_get_resolution">
+<function name="pango_win32_font_get_glyph_index">
 <description>
-Gets the resolution of @key
+Obtains the index of the glyph for @wc in @font, or 0, if not
+covered.
 
-Since: 1.24
 
 </description>
 <parameters>
-<parameter name="key">
-<parameter_description> the fontset key
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
+<parameter name="wc">
+<parameter_description> a Unicode character.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the resolution of @key
-
+<return> the glyph index for @wc.
 </return>
 </function>
 
-<function name="pango_glyph_item_iter_copy">
+<function name="pango_win32_font_get_metrics_factor">
 <description>
-Make a shallow copy of an existing #PangoGlyphItemIter structure.
+Returns the scale factor from logical units in the coordinate
+space used by pango_win32_font_select_font() to Pango units
+in user space.
 
-Since: 1.22
 
 </description>
 <parameters>
-<parameter name="orig">
-<parameter_description> a #PangoGlyphItemIter, may be %NULL
+<parameter name="font">
+<parameter_description> a #PangoFont from the win32 backend
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoGlyphItemIter, which should
-be freed with pango_glyph_item_iter_free(), or %NULL
-if @orig was %NULL.
-
+<return> factor to multiply logical units by to get Pango
+units.
 </return>
 </function>
 
-<function name="pango_font_get_font_map">
+<function name="pango_win32_font_logfont">
 <description>
-Gets the font map for which the font was created.
-
-Note that the font maintains a &lt;firstterm&gt;weak&lt;/firstterm&gt; reference
-to the font map, so if all references to font map are dropped, the font
-map will be finalized even if there are fonts created with the font
-map that are still alive.  In that case this function will return %NULL.
-It is the responsibility of the user to ensure that the font map is kept
-alive.  In most uses this is not an issue as a #PangoContext holds
-a reference to the font map.
+Determine the LOGFONTA struct for the specified font. Note that
+Pango internally uses LOGFONTW structs, so if converting the UTF-16
+face name in the LOGFONTW struct to system codepage fails, the
+returned LOGFONTA will have an emppty face name. To get the
+LOGFONTW of a PangoFont, use pango_win32_font_logfontw(). It
+is recommended to do that always even if you don't expect
+to come across fonts with odd names.
 
-Since: 1.10
 
 </description>
 <parameters>
 <parameter name="font">
-<parameter_description> a #PangoFont, or %NULL
+<parameter_description> a #PangoFont which must be from the Win32 backend
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #PangoFontMap for the font, or %NULL if @font is %NULL.
-
+<return> A newly allocated LOGFONTA struct. It must be
+freed with g_free().
 </return>
 </function>
 
-<function name="pango_layout_iter_next_run">
+<function name="pango_win32_font_logfontw">
 <description>
-Moves @iter forward to the next run in visual order. If @iter was
-already at the end of the layout, returns %FALSE.
+Determine the LOGFONTW struct for the specified font.
 
+Since: 1.16
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="font">
+<parameter_description> a #PangoFont which must be from the Win32 backend
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether motion was possible.
+<return> A newly allocated LOGFONTW struct. It must be
+freed with g_free().
+
 </return>
 </function>
 
-<function name="pango_cairo_update_context">
+<function name="pango_win32_font_map_for_display">
 <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's necessary to call pango_layout_context_changed() on those
-layouts.
+Returns a &lt;type&gt;PangoWin32FontMap&lt;/type&gt;. 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().
 
-Since: 1.10
 
 </description>
 <parameters>
-<parameter name="cr">
-<parameter_description> a Cairo context
-</parameter_description>
-</parameter>
-<parameter name="context">
-<parameter_description> a #PangoContext, from a pangocairo font map
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> a #PangoFontMap.
+</return>
 </function>
 
-<function name="pango_layout_get_context">
+<function name="pango_win32_font_map_get_font_cache">
 <description>
-Retrieves the #PangoContext used for this layout.
+Obtains the font cache associated with the given font map.
 
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="font_map">
+<parameter_description> a &lt;type&gt;PangoWin32FontMap&lt;/type&gt;.
 </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> the #PangoWin32FontCache of @font_map.
 </return>
 </function>
 
-<function name="pango_parse_style">
+<function name="pango_win32_font_select_font">
 <description>
-Parses a font style. The allowed values are &quot;normal&quot;,
-&quot;italic&quot; and &quot;oblique&quot;, case variations being
-ignored.
+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 pango_win32_font_get_metrics_factor() for information about
+converting from the coordinate space used by this function
+into Pango units.
 
 
 </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 name="font">
+<parameter_description> a #PangoFont from the Win32 backend
 </parameter_description>
 </parameter>
-<parameter name="warn">
-<parameter_description> if %TRUE, issue a g_warning() on bad input.
+<parameter name="hdc">
+<parameter_description> a windows device context
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @str was successfully parsed.
+<return> %TRUE if the operation succeeded.
 </return>
 </function>
 
-<function name="pango_layout_iter_get_cluster_extents">
+<function name="pango_win32_get_context">
 <description>
-Gets the extents of the current cluster, in layout coordinates
-(origin is the top left of the entire layout).
+Retrieves a #PangoContext appropriate for rendering with Windows fonts.
 
+Deprecated: 1.22: Use pango_win32_font_map_for_display() followed by
+pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
-</parameter_description>
-</parameter>
-<parameter name="ink_rect">
-<parameter_description> rectangle to fill with ink extents, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle to fill with logical extents, or %NULL
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> the new #PangoContext
+
+</return>
 </function>
 
-<function name="pango_attr_strikethrough_new">
+<function name="pango_win32_get_dc">
 <description>
-Create a new strike-through attribute.
+Obtains a handle to the Windows device context that is used by Pango.
 
 
 </description>
 <parameters>
-<parameter name="strikethrough">
-<parameter_description> %TRUE if the text should be struck-through.
-</parameter_description>
-</parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> A handle to the Windows device context that is used by Pango.
 </return>
 </function>
 
-<function name="pango_glyph_string_copy">
+<function name="pango_win32_get_debug_flag">
 <description>
-Copy a glyph string and associated storage.
+Returns whether debugging is turned on.
 
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="string">
-<parameter_description> a #PangoGlyphString, may be %NULL
-</parameter_description>
-</parameter>
 </parameters>
-<return> the newly allocated #PangoGlyphString, which
-should be freed with pango_glyph_string_free(),
-or %NULL if @string was %NULL.
+<return> %TRUE if debugging is turned on.
+
 </return>
 </function>
 
-<function name="pango_layout_get_line_count">
+<function name="pango_win32_get_unknown_glyph">
 <description>
-Retrieves the count of lines for the @layout.
+Returns the index of a glyph suitable for drawing @wc as an
+unknown character.
+
+Use PANGO_GET_UNKNOWN_GLYPH() instead.
 
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> #PangoLayout
+<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> the line count.
+<return> a glyph index into @font
 </return>
 </function>
 
-<function name="pango_layout_iter_get_line_yrange">
+<function name="pango_win32_render">
 <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's range includes the line'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).
+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_win32_render_layout">
+<description>
+Render a #PangoLayoutLine onto an X drawable
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="hdc">
+<parameter_description>       HDC to use for uncolored drawing
 </parameter_description>
 </parameter>
-<parameter name="y0_">
-<parameter_description> start of line
+<parameter name="layout">
+<parameter_description>    a #PangoLayout
 </parameter_description>
 </parameter>
-<parameter name="y1_">
-<parameter_description> end of line
+<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_family_list_faces">
+<function name="pango_win32_render_layout_line">
 <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.
+Render a #PangoLayoutLine onto a device context. For underlining to
+work property the text alignment of the DC should have TA_BASELINE
+and TA_LEFT.
 
 </description>
 <parameters>
-<parameter name="family">
-<parameter_description> a #PangoFontFamily
+<parameter name="hdc">
+<parameter_description>       DC to use for uncolored drawing
 </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 name="line">
+<parameter_description>      a #PangoLayoutLine
 </parameter_description>
 </parameter>
-<parameter name="n_faces">
-<parameter_description> location to store number of elements in @faces.
+<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_render_transformed">
+<function name="pango_win32_render_transformed">
 <description>
-Renders a #PangoGlyphString onto a #XftDraw, possibly
+Renders a #PangoGlyphString onto a windows DC, 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 name="hdc">
+<parameter_description>     a windows device context
 </parameter_description>
 </parameter>
-<parameter name="color">
-<parameter_description>   the color in which to draw the glyphs
+<parameter name="matrix">
+<parameter_description> a #PangoMatrix, or %NULL to use an identity
+transformation
 </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>
@@ -12156,393 +13003,462 @@ in user space coordinates)
 <return></return>
 </function>
 
-<function name="pango_layout_set_single_paragraph_mode">
+<function name="pango_win32_shutdown_display">
 <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.
+Free cached resources.
 
 </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">
+<function name="pango_xft_font_get_display">
 <description>
-Obtains a handle to the Windows device context that is used by Pango.
+Returns the X display of the XftFont of a font.
 
 
 </description>
 <parameters>
+<parameter name="font">
+<parameter_description> a #PangoFont.
+</parameter_description>
+</parameter>
 </parameters>
-<return> A handle to the Windows device context that is used by Pango.
+<return> the X display of the XftFont associated to @font.
 </return>
 </function>
 
-<function name="pango_layout_iter_get_line_extents">
+<function name="pango_xft_font_get_font">
 <description>
-Obtains the extents of the current line. @ink_rect or @logical_rect
-can be %NULL if you aren'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().
+Returns the XftFont of a font.
 
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
-</parameter_description>
-</parameter>
-<parameter name="ink_rect">
-<parameter_description> rectangle to fill with ink extents, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="logical_rect">
-<parameter_description> rectangle to fill with logical extents, or %NULL
+<parameter name="font">
+<parameter_description> a #PangoFont.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the XftFont associated to @font, or %NULL
+if @font is %NULL.
+</return>
 </function>
 
-<function name="pango_layout_iter_next_char">
+<function name="pango_xft_font_get_glyph">
 <description>
-Moves @iter forward to the next character in visual order. If @iter was already at
-the end of the layout, returns %FALSE.
+Gets the glyph index for a given Unicode character
+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.
 
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<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> whether motion was possible.
+<return> the glyph index, or 0, if the Unicode
+character does not exist in the font.
+
 </return>
 </function>
 
-<function name="pango_font_description_set_style">
+<function name="pango_xft_font_get_unknown_glyph">
 <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.
+Returns the index of a glyph suitable for drawing @wc as an
+unknown character.
+
+Use PANGO_GET_UNKNOWN_GLYPH() instead.
+
 
 </description>
 <parameters>
-<parameter name="desc">
-<parameter_description> a #PangoFontDescription
+<parameter name="font">
+<parameter_description> a #PangoFont.
 </parameter_description>
 </parameter>
-<parameter name="style">
-<parameter_description> the style for the font description
+<parameter name="wc">
+<parameter_description> the Unicode character for which a glyph is needed.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a glyph index into @font.
+</return>
 </function>
 
-<function name="pango_attr_shape_new">
+<function name="pango_xft_font_has_char">
 <description>
-Create a new shape attribute. A shape is used to impose a
-particular ink and logical rectangle on the result of shaping a
-particular glyph. This might be used, for instance, for
-embedding a picture or a widget inside a #PangoLayout.
+Determines whether @font has a glyph for the codepoint @wc.
+
+Use pango_fc_font_has_char() instead.
 
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="ink_rect">
-<parameter_description>     ink rectangle to assign to each character
+<parameter name="font">
+<parameter_description> a #PangoFont for the Xft backend
 </parameter_description>
 </parameter>
-<parameter name="logical_rect">
-<parameter_description> logical rectangle to assign to each character
+<parameter name="wc">
+<parameter_description> Unicode codepoint to look up
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
+<return> %TRUE if @font has the requested codepoint.
+
 </return>
 </function>
 
-<function name="pango_layout_iter_get_layout">
+<function name="pango_xft_font_lock_face">
 <description>
-Gets the layout associated with a #PangoLayoutIter.
+Gets the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with a font,
+This face will be kept around until you call
+pango_xft_font_unlock_face().
 
-Since: 1.20
+Use pango_fc_font_lock_face() instead.
+
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #PangoLayoutIter
+<parameter name="font">
+<parameter_description> a #PangoFont.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the layout associated with @iter.
+<return> the FreeType &lt;type&gt;FT_Face&lt;/type&gt; associated with @font.
 
 </return>
 </function>
 
-<function name="pango_ot_tag_from_script">
+<function name="pango_xft_font_unlock_face">
 <description>
-Finds the OpenType script tag corresponding to @script.
-
-The %PANGO_SCRIPT_COMMON, %PANGO_SCRIPT_INHERITED, and
-%PANGO_SCRIPT_UNKNOWN scripts are mapped to the OpenType
-'DFLT' script tag that is also defined as
-%PANGO_OT_TAG_DEFAULT_SCRIPT.
+Releases a font previously obtained with
+pango_xft_font_lock_face().
 
-Note that multiple #PangoScript values may map to the same
-OpenType script tag.  In particular, %PANGO_SCRIPT_HIRAGANA
-and %PANGO_SCRIPT_KATAKANA both map to the OT tag 'kana'.
+Use pango_fc_font_unlock_face() instead.
 
-Since: 1.18
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="script">
-<parameter_description> A #PangoScript
+<parameter name="font">
+<parameter_description> a #PangoFont.
 </parameter_description>
 </parameter>
 </parameters>
-<return> #PangoOTTag corresponding to @script or
-%PANGO_OT_TAG_DEFAULT_SCRIPT if none found.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_ot_buffer_get_glyphs">
+<function name="pango_xft_get_context">
 <description>
-Gets the glyph array contained in a #PangoOTBuffer.  The glyphs are
-owned by the buffer and should not be freed, and are only valid as long
-as buffer is not modified.
+Retrieves a #PangoContext appropriate for rendering with
+Xft fonts on the given screen of the given display.
 
-Since: 1.4
+Deprecated: 1.22: Use pango_xft_get_font_map() followed by
+pango_font_map_create_context() instead.
 
 </description>
 <parameters>
-<parameter name="buffer">
-<parameter_description> a #PangoOTBuffer
-</parameter_description>
-</parameter>
-<parameter name="glyphs">
-<parameter_description> location to store the array of glyphs, or %NULL
+<parameter name="display">
+<parameter_description> an X display.
 </parameter_description>
 </parameter>
-<parameter name="n_glyphs">
-<parameter_description> location to store the number of glyphs, or %NULL
+<parameter name="screen">
+<parameter_description> an X screen.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the new #PangoContext.
+
+</return>
 </function>
 
-<function name="pango_layout_get_single_paragraph_mode">
+<function name="pango_xft_get_font_map">
 <description>
-Obtains the value set by pango_layout_set_single_paragraph_mode().
+Returns the #PangoXftFontMap for the given display and screen.
+The fontmap is owned by Pango and will be valid until
+the display is closed.
 
+Since: 1.2
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<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> %TRUE if the layout does not break paragraphs at
-paragraph separator characters, %FALSE otherwise.
+<return> a #PangoFontMap object, owned by Pango.
+
 </return>
 </function>
 
-<function name="pango_context_new">
+<function name="pango_xft_picture_render">
 <description>
-Creates a new #PangoContext initialized to default values.
-
-This function is not particularly useful as it should always
-be followed by a pango_context_set_font_map() call, and the
-function pango_font_map_create_context() does these two steps
-together and hence users are recommended to use that.
+Renders a #PangoGlyphString onto an Xrender &lt;type&gt;Picture&lt;/type&gt; object.
 
-If you are using Pango as part of a higher-level system,
-that system may have it's own way of create a #PangoContext.
-For instance, the GTK+ toolkit has, among others,
-gdk_pango_context_get_for_screen(), and
-gtk_widget_get_pango_context().  Use those instead.
+</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 string 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_xft_render">
+<description>
+Renders a #PangoGlyphString onto an &lt;type&gt;XftDraw&lt;/type&gt; object wrapping an X drawable.
 
 </description>
 <parameters>
+<parameter name="draw">
+<parameter_description>    the &lt;type&gt;XftDraw&lt;/type&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> the newly allocated #PangoContext, which should
-be freed with g_object_unref().
-</return>
+<return></return>
 </function>
 
-<function name="pango_tab_array_copy">
+<function name="pango_xft_render_layout">
 <description>
-Copies a #PangoTabArray
+Render a #PangoLayout onto a #XftDraw
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="src">
-<parameter_description> #PangoTabArray to copy
+<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 overridden 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> the newly allocated #PangoTabArray, which should
-be freed with pango_tab_array_free().
-</return>
+<return></return>
 </function>
 
-<function name="pango_win32_font_description_from_logfontw">
+<function name="pango_xft_render_layout_line">
 <description>
-Creates a #PangoFontDescription that matches the specified LOGFONTW.
-
-The face name, italicness and weight fields in the LOGFONTW are used
-to set up the resulting #PangoFontDescription. If the face name in
-the LOGFONTW contains non-ASCII characters the font is temporarily
-loaded (using CreateFontIndirect()) and an ASCII (usually English)
-name for it is looked up from the font name tables in the font
-data. If that doesn't work, the face name is converted from UTF-16
-to UTF-8 and that is used.
+Render a #PangoLayoutLine onto a #XftDraw
 
-Since: 1.16
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="lfp">
-<parameter_description> a LOGFONTW
+<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 overridden 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> the newly allocated #PangoFontDescription, which
-should be freed using pango_font_description_free()
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_attr_fallback_new">
+<function name="pango_xft_render_transformed">
 <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.
+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.4
+Since: 1.8
 
 </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 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> the newly allocated #PangoAttribute, which should be
-freed with pango_attribute_destroy().
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_layout_get_line">
+<function name="pango_xft_renderer_new">
 <description>
-Retrieves a particular line from a #PangoLayout.
-
-Use the faster pango_layout_get_line_readonly() if you do not plan
-to modify the contents of the line (glyphs, glyph widths, etc.).
+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.
 
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout
+<parameter name="display">
+<parameter_description> an X display
 </parameter_description>
 </parameter>
-<parameter name="line">
-<parameter_description> the index of a line, which must be between 0 and
-&lt;literal&gt;pango_layout_get_line_count(layout) - 1&lt;/literal&gt;, inclusive.
+<parameter name="screen">
+<parameter_description>   the index of the screen for @display to which rendering will be done
 </parameter_description>
 </parameter>
 </parameters>
-<return> the requested #PangoLayoutLine, or %NULL if the
-index is out of range. This layout line can
-be ref'ed and retained, but will become invalid
-if changes are made to the #PangoLayout.
+<return> the newly created #PangoXftRenderer, which should
+be freed with g_object_unref().
+
 </return>
 </function>
 
-<function name="pango_log2vis_get_embedding_levels">
+<function name="pango_xft_renderer_set_default_color">
 <description>
-This will return the bidirectional embedding levels of the input paragraph
-as defined by the Unicode Bidirectional Algorithm available at:
-
-http://www.unicode.org/reports/tr9/
-
-If the input base direction is a weak direction, the direction of the
-characters in the text will determine the final resolved direction.
+Sets the default foreground color for a #XftRenderer.
 
-Since: 1.4
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="text">
-<parameter_description>      the text to itemize.
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description>    the number of bytes (not characters) to process, or -1
-if @text is nul-terminated and the length should be calculated.
+<parameter name="xftrenderer">
+<parameter_description> a #XftRenderer
 </parameter_description>
 </parameter>
-<parameter name="pbase_dir">
-<parameter_description> input base direction, and output resolved direction.
+<parameter name="default_color">
+<parameter_description> the default foreground color
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly allocated array of embedding levels, one item per
-character (not byte), that should be freed using g_free.
-
-</return>
+<return></return>
 </function>
 
-<function name="pango_units_from_double">
+<function name="pango_xft_renderer_set_draw">
 <description>
-Converts a floating-point number to Pango units: multiplies
-it by %PANGO_SCALE and rounds to nearest integer.
+Sets the #XftDraw object that the renderer is drawing to.
+The renderer must not be currently active.
 
-Since: 1.16
+Since: 1.8
 
 </description>
 <parameters>
-<parameter name="d">
-<parameter_description> double floating-point value
+<parameter name="xftrenderer">
+<parameter_description> a #PangoXftRenderer
+</parameter_description>
+</parameter>
+<parameter name="draw">
+<parameter_description> a #XftDraw
 </parameter_description>
 </parameter>
 </parameters>
-<return> the value in Pango units.
-
-</return>
+<return></return>
 </function>
 
 <function name="pango_xft_set_default_substitute">
@@ -12581,4 +13497,123 @@ on #FcPattern objects.
 <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_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 substitution 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="script_engine_create">
+<description>
+Function to be provided by the module to create an instance
+of one of the engines implemented by the module.
+
+
+</description>
+<parameters>
+<parameter name="id">
+<parameter_description> the ID of an engine as reported by script_engine_list.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #PangoEngine of the specified
+type, or %NULL if an error occurred. (In normal operation,
+a module should not return %NULL. A %NULL return is only
+acceptable in the case where system misconfiguration or
+bugs in the driver routine are encountered.)
+</return>
+</function>
+
+<function name="script_engine_exit">
+<description>
+Function to be provided by the module that is called
+when the module is unloading. Frequently does nothing.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="script_engine_init">
+<description>
+Function to be provided by a module to register any
+GObject types in the module.
+
+</description>
+<parameters>
+<parameter name="module">
+<parameter_description> a #GTypeModule structure used to associate any
+GObject types created in this module with the module.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="script_engine_list">
+<description>
+Function to be provided by a module to list the engines that the
+module supplies. The function stores a pointer to an array
+of #PangoEngineInfo structures and the length of that array in
+the given location.
+
+Note that script_engine_init() will not be called before this
+function.
+
+</description>
+<parameters>
+<parameter name="engines">
+<parameter_description> location to store a pointer to an array of engines.
+</parameter_description>
+</parameter>
+<parameter name="n_engines">
+<parameter_description> location to store the number of elements in @engines.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 </root>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]