<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.0"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Pango" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="fontconfig" version="2.0"/>
  <include name="freetype2" version="2.0"/>
  <package name="freetype2"/>
  <package name="gobject-2.0"/>
  <package name="pangoft2"/>
  <namespace name="PangoFT2"
             version="1.0"
             shared-library="libpangoft2-1.0.so.0"
             c:prefix="PangoFT2">
    <class name="FontMap"
           c:type="PangoFT2FontMap"
           parent="PangoFcFontMap"
           glib:type-name="PangoFT2FontMap"
           glib:get-type="pango_ft2_font_map_get_type">
      <constructor name="new" c:identifier="pango_ft2_font_map_new">
        <return-value transfer-ownership="full">
          <type name="FontMap" c:type="PangoFontMap*"/>
        </return-value>
      </constructor>
      <function name="for_display"
                c:identifier="pango_ft2_font_map_for_display">
        <return-value transfer-ownership="full">
          <type name="Pango.FontMap" c:type="PangoFontMap*"/>
        </return-value>
      </function>
      <method name="set_resolution"
              c:identifier="pango_ft2_font_map_set_resolution">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="dpi_x" transfer-ownership="none">
            <type name="double" c:type="double"/>
          </parameter>
          <parameter name="dpi_y" transfer-ownership="none">
            <type name="double" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_substitute"
              c:identifier="pango_ft2_font_map_set_default_substitute">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <type name="SubstituteFunc" c:type="PangoFT2SubstituteFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="any" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="call">
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="substitute_changed"
              c:identifier="pango_ft2_font_map_substitute_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="create_context"
              c:identifier="pango_ft2_font_map_create_context">
        <return-value transfer-ownership="full">
          <type name="Pango.Context" c:type="PangoContext*"/>
        </return-value>
      </method>
    </class>
    <constant name="PANGO_FC_GRAVITY" value="pangogravity">
      <type name="utf8"/>
    </constant>
    <constant name="PANGO_FC_PRGNAME" value="pangoprgname">
      <type name="utf8"/>
    </constant>
    <constant name="PANGO_FC_VERSION" value="pangoversion">
      <type name="utf8"/>
    </constant>
    <constant name="PANGO_RENDER_TYPE_FC" value="PangoRenderFc">
      <type name="utf8"/>
    </constant>
    <constant name="PANGO_RENDER_TYPE_FT2" value="PangoRenderFT2">
      <type name="utf8"/>
    </constant>
    <class name="PangoFcDecoder"
           c:type="PangoFcDecoder"
           doc="#PangoFcDecoder is a virtual base class that implementations will
inherit from.  It&apos;s the interface that is used to define a custom
encoding for a font.  These objects are created in your code from a
function callback that was originally registered with
pango_fc_font_map_add_decoder_find_func().  Pango requires
information about the supported charset for a font as well as the
individual character to glyph conversions.  Pango gets that
information via the #get_charset and #get_glyph callbacks into your
object implementation."
           version="1.6"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="PangoFcDecoder"
           glib:get-type="pango_fc_decoder_get_type"
           glib:type-struct="PangoFcDecoderClass">
      <virtual-method name="get_charset" invoker="get_charset">
        <return-value transfer-ownership="full">
          <type name="fontconfig.CharSet" c:type="FcCharSet*"/>
        </return-value>
        <parameters>
          <parameter name="fcfont" transfer-ownership="none">
            <type name="PangoFcFont" c:type="PangoFcFont*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_glyph" invoker="get_glyph">
        <return-value transfer-ownership="full">
          <type name="Pango.Glyph" c:type="PangoGlyph"/>
        </return-value>
        <parameters>
          <parameter name="fcfont" transfer-ownership="none">
            <type name="PangoFcFont" c:type="PangoFcFont*"/>
          </parameter>
          <parameter name="wc" transfer-ownership="none">
            <type name="uint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_charset"
              c:identifier="pango_fc_decoder_get_charset"
              doc="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.
or freed."
              version="1.6">
        <return-value transfer-ownership="full">
          <type name="fontconfig.CharSet" c:type="FcCharSet*"/>
        </return-value>
        <parameters>
          <parameter name="fcfont" transfer-ownership="none">
            <type name="PangoFcFont" c:type="PangoFcFont*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_glyph"
              c:identifier="pango_fc_decoder_get_glyph"
              doc="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.)
covered by the font."
              version="1.6">
        <return-value transfer-ownership="full">
          <type name="Pango.Glyph" c:type="PangoGlyph"/>
        </return-value>
        <parameters>
          <parameter name="fcfont" transfer-ownership="none">
            <type name="PangoFcFont" c:type="PangoFcFont*"/>
          </parameter>
          <parameter name="wc" transfer-ownership="none">
            <type name="uint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="PangoFcDecoderClass"
            c:type="PangoFcDecoderClass"
            glib:is-gtype-struct-for="PangoFcDecoder"
            doc="includes a list of supported characters in the font.  The
#FcCharSet that is returned should be an internal reference to your
code.  Pango will not free this structure.  It is important that
you make this callback fast because this callback is called
separately for each character to determine Unicode coverage.
code point.
Class structure for #PangoFcDecoder."
            version="1.6">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_charset">
        <callback name="get_charset" c:type="get_charset">
          <return-value transfer-ownership="full">
            <type name="fontconfig.CharSet" c:type="FcCharSet*"/>
          </return-value>
          <parameters>
            <parameter name="decoder" transfer-ownership="none">
              <type name="PangoFcDecoder" c:type="PangoFcDecoder*"/>
            </parameter>
            <parameter name="fcfont" transfer-ownership="none">
              <type name="PangoFcFont" c:type="PangoFcFont*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_glyph">
        <callback name="get_glyph" c:type="get_glyph">
          <return-value transfer-ownership="full">
            <type name="Pango.Glyph" c:type="PangoGlyph"/>
          </return-value>
          <parameters>
            <parameter name="decoder" transfer-ownership="none">
              <type name="PangoFcDecoder" c:type="PangoFcDecoder*"/>
            </parameter>
            <parameter name="fcfont" transfer-ownership="none">
              <type name="PangoFcFont" c:type="PangoFcFont*"/>
            </parameter>
            <parameter name="wc" transfer-ownership="none">
              <type name="uint32" c:type="guint32"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pango_reserved1">
        <callback name="pango_reserved1" c:type="_pango_reserved1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="pango_reserved2">
        <callback name="pango_reserved2" c:type="_pango_reserved2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="pango_reserved3">
        <callback name="pango_reserved3" c:type="_pango_reserved3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="pango_reserved4">
        <callback name="pango_reserved4" c:type="_pango_reserved4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <callback name="PangoFcDecoderFindFunc"
              c:type="PangoFcDecoderFindFunc"
              doc="Callback function passed to pango_fc_font_map_add_decoder_find_func().
or %NULL if the default decoder handling should be used.">
      <return-value transfer-ownership="full">
        <type name="PangoFcDecoder" c:type="PangoFcDecoder*"/>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="fontconfig.Pattern" c:type="FcPattern*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <type name="any" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="PangoFcFont"
           c:type="PangoFcFont"
           parent="Pango.Font"
           abstract="1"
           glib:type-name="PangoFcFont"
           glib:get-type="pango_fc_font_get_type"
           glib:type-struct="PangoFcFontClass">
      <function name="description_from_pattern"
                c:identifier="pango_fc_font_description_from_pattern"
                doc="the @pattern; otherwise the resulting pattern will be unsized.
(only %FC_SIZE is examined, not %FC_PIXEL_SIZE)
Creates a #PangoFontDescription that matches the specified
Fontconfig pattern as closely as possible. Many possible Fontconfig
pattern values, such as %FC_RASTERIZER or %FC_DPI, don&apos;t make sense in
the context of #PangoFontDescription, so will be ignored.
pango_font_description_free()."
                version="1.4">
        <return-value transfer-ownership="full">
          <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <type name="fontconfig.Pattern" c:type="FcPattern*"/>
          </parameter>
          <parameter name="include_size" transfer-ownership="none">
            <type name="boolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </function>
      <method name="lock_face"
              c:identifier="pango_fc_font_lock_face"
              doc="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()."
              version="1.4">
        <return-value transfer-ownership="full">
          <type name="freetype2.Face" c:type="FT_Face"/>
        </return-value>
      </method>
      <method name="unlock_face"
              c:identifier="pango_fc_font_unlock_face"
              doc="Releases a font previously obtained with
pango_fc_font_lock_face()."
              version="1.4">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="fontmap" writable="1">
        <type name="PangoFcFontMap" c:type="PangoFcFontMap"/>
      </property>
      <property name="pattern" writable="1" construct-only="1">
        <type name="any" c:type="gpointer"/>
      </property>
    </class>
    <record name="PangoFcFontClass"
            c:type="PangoFcFontClass"
            glib:is-gtype-struct-for="PangoFcFont">
    </record>
    <class name="PangoFcFontMap"
           c:type="PangoFcFontMap"
           parent="Pango.FontMap"
           abstract="1"
           glib:type-name="PangoFcFontMap"
           glib:get-type="pango_fc_font_map_get_type"
           glib:type-struct="PangoFcFontMapClass">
      <method name="cache_clear"
              c:identifier="pango_fc_font_map_cache_clear"
              doc="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."
              version="1.4">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="add_decoder_find_func"
              c:identifier="pango_fc_font_map_add_decoder_find_func"
              doc="fontmap is finalized and the decoder is released.
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."
              version="1.6.">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="findfunc"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <type name="PangoFcDecoderFindFunc"
                  c:type="PangoFcDecoderFindFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="any" c:type="gpointer"/>
          </parameter>
          <parameter name="dnotify" transfer-ownership="none" scope="call">
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_decoder"
              c:identifier="pango_fc_font_map_find_decoder"
              doc="Finds the decoder to use for @pattern.  Decoders can be added to
a font map using pango_fc_font_map_add_decoder_find_func().
no decoder is set for @pattern."
              version="1.26.">
        <return-value transfer-ownership="full">
          <type name="PangoFcDecoder" c:type="PangoFcDecoder*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <type name="fontconfig.Pattern" c:type="FcPattern*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="PangoFcFontMapClass"
            c:type="PangoFcFontMapClass"
            glib:is-gtype-struct-for="PangoFcFontMap">
    </record>
    <record name="PangoFcFontMapPrivate" c:type="PangoFcFontMapPrivate">
    </record>
    <callback name="SubstituteFunc" c:type="PangoFT2SubstituteFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="fontconfig.Pattern" c:type="FcPattern*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="any" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_coverage"
              c:identifier="pango_ft2_font_get_coverage"
              doc="Gets the #PangoCoverage for a #PangoFT2Font. Use
pango_font_get_coverage() instead.">
      <return-value transfer-ownership="full">
        <type name="Pango.Coverage" c:type="PangoCoverage*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.Font" c:type="PangoFont*"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="Pango.Language" c:type="PangoLanguage*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_face"
              c:identifier="pango_ft2_font_get_face"
              doc="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().
or %NULL if @font is %NULL.">
      <return-value transfer-ownership="full">
        <type name="freetype2.Face" c:type="FT_Face"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.Font" c:type="PangoFont*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_kerning"
              c:identifier="pango_ft2_font_get_kerning"
              doc="Retrieves kerning information for a combination of two glyphs.
Use pango_fc_font_kern_glyphs() instead.
the given combination of glyphs.">
      <return-value transfer-ownership="none" doc="to apply for">
        <type name="int" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.Font" c:type="PangoFont*"/>
        </parameter>
        <parameter name="left" transfer-ownership="none">
          <type name="Pango.Glyph" c:type="PangoGlyph"/>
        </parameter>
        <parameter name="right" transfer-ownership="none">
          <type name="Pango.Glyph" c:type="PangoGlyph"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_context" c:identifier="pango_ft2_get_context">
      <return-value transfer-ownership="full">
        <type name="Pango.Context" c:type="PangoContext*"/>
      </return-value>
      <parameters>
        <parameter name="dpi_x" transfer-ownership="none">
          <type name="double" c:type="double"/>
        </parameter>
        <parameter name="dpi_y" transfer-ownership="none">
          <type name="double" c:type="double"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_unknown_glyph"
              c:identifier="pango_ft2_get_unknown_glyph"
              doc="Return the index of a glyph suitable for drawing unknown characters with
If you want to draw an unknown-box for a character that is not covered
by the font,
use PANGO_GET_UNKNOWN_GLYPH() instead.">
      <return-value transfer-ownership="full">
        <type name="Pango.Glyph" c:type="PangoGlyph"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.Font" c:type="PangoFont*"/>
        </parameter>
      </parameters>
    </function>
    <function name="render" c:identifier="pango_ft2_render">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bitmap" transfer-ownership="none">
          <type name="freetype2.Bitmap" c:type="FT_Bitmap*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.Font" c:type="PangoFont*"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="int" c:type="gint"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="int" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="render_layout" c:identifier="pango_ft2_render_layout">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bitmap" transfer-ownership="none">
          <type name="freetype2.Bitmap" c:type="FT_Bitmap*"/>
        </parameter>
        <parameter name="layout" transfer-ownership="none">
          <type name="Pango.Layout" c:type="PangoLayout*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="render_layout_line"
              c:identifier="pango_ft2_render_layout_line">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bitmap" transfer-ownership="none">
          <type name="freetype2.Bitmap" c:type="FT_Bitmap*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="render_layout_line_subpixel"
              c:identifier="pango_ft2_render_layout_line_subpixel">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bitmap" transfer-ownership="none">
          <type name="freetype2.Bitmap" c:type="FT_Bitmap*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="render_layout_subpixel"
              c:identifier="pango_ft2_render_layout_subpixel">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bitmap" transfer-ownership="none">
          <type name="freetype2.Bitmap" c:type="FT_Bitmap*"/>
        </parameter>
        <parameter name="layout" transfer-ownership="none">
          <type name="Pango.Layout" c:type="PangoLayout*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="render_transformed"
              c:identifier="pango_ft2_render_transformed">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bitmap" transfer-ownership="none">
          <type name="freetype2.Bitmap" c:type="FT_Bitmap*"/>
        </parameter>
        <parameter name="matrix" transfer-ownership="none">
          <type name="Pango.Matrix" c:type="PangoMatrix*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.Font" c:type="PangoFont*"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="int" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="shutdown_display"
              c:identifier="pango_ft2_shutdown_display">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
  </namespace>
</repository>
