<?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.2"
            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="GObject" version="2.0"/>
  <package name="harfbuzz-gobject"/>
  <c:include name="hb-gobject.h"/>
  <namespace name="HarfBuzz"
             version="0.0"
             shared-library="libharfbuzz-gobject.so,libharfbuzz.so"
             c:identifier-prefixes="hb_"
             c:symbol-prefixes="hb,hb_gobject">
    <alias name="bool_t" c:type="hb_bool_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="89">Data type for booleans.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="95"/>
      <type name="gint" c:type="int"/>
    </alias>
    <alias name="codepoint_t" c:type="hb_codepoint_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="97">Data type for holding Unicode codepoints. Also
used to hold glyph IDs.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="104"/>
      <type name="guint32" c:type="uint32_t"/>
    </alias>
    <alias name="color_t" c:type="hb_color_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="887">Data type for holding color values. Colors are eight bits per
channel RGB plus alpha transparency.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="895"/>
      <type name="guint32" c:type="uint32_t"/>
    </alias>
    <alias name="font_get_font_h_extents_func_t"
           c:type="hb_font_get_font_h_extents_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="137">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the extents for a font, for horizontal-direction
text segments. Extents must be returned in an #hb_glyph_extents output
parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="147"/>
      <type name="font_get_font_extents_func_t"
            c:type="hb_font_get_font_extents_func_t"/>
    </alias>
    <alias name="font_get_font_v_extents_func_t"
           c:type="hb_font_get_font_v_extents_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="149">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the extents for a font, for vertical-direction
text segments. Extents must be returned in an #hb_glyph_extents output
parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="159"/>
      <type name="font_get_font_extents_func_t"
            c:type="hb_font_get_font_extents_func_t"/>
    </alias>
    <alias name="font_get_glyph_h_advance_func_t"
           c:type="hb_font_get_glyph_h_advance_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="254">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advance for a specified glyph, in
horizontal-direction text segments. Advances must be returned in
an #hb_position_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="264"/>
      <type name="font_get_glyph_advance_func_t"
            c:type="hb_font_get_glyph_advance_func_t"/>
    </alias>
    <alias name="font_get_glyph_h_advances_func_t"
           c:type="hb_font_get_glyph_h_advances_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="302">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advances for a sequence of glyphs, in
horizontal-direction text segments.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="311"/>
      <type name="font_get_glyph_advances_func_t"
            c:type="hb_font_get_glyph_advances_func_t"/>
    </alias>
    <alias name="font_get_glyph_h_kerning_func_t"
           c:type="hb_font_get_glyph_h_kerning_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="386">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the kerning-adjustment value for a glyph-pair in
the specified font, for horizontal text segments.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="395"/>
      <type name="font_get_glyph_kerning_func_t"
            c:type="hb_font_get_glyph_kerning_func_t"/>
    </alias>
    <alias name="font_get_glyph_h_origin_func_t"
           c:type="hb_font_get_glyph_h_origin_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="347">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the (X,Y) coordinates (in font units) of the
origin for a glyph, for horizontal-direction text segments. Each
coordinate must be returned in an #hb_position_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="357"/>
      <type name="font_get_glyph_origin_func_t"
            c:type="hb_font_get_glyph_origin_func_t"/>
    </alias>
    <alias name="font_get_glyph_v_advance_func_t"
           c:type="hb_font_get_glyph_v_advance_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="266">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advance for a specified glyph, in
vertical-direction text segments. Advances must be returned in
an #hb_position_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="276"/>
      <type name="font_get_glyph_advance_func_t"
            c:type="hb_font_get_glyph_advance_func_t"/>
    </alias>
    <alias name="font_get_glyph_v_advances_func_t"
           c:type="hb_font_get_glyph_v_advances_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="313">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advances for a sequence of glyphs, in
vertical-direction text segments.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="322"/>
      <type name="font_get_glyph_advances_func_t"
            c:type="hb_font_get_glyph_advances_func_t"/>
    </alias>
    <alias name="font_get_glyph_v_kerning_func_t"
           c:type="hb_font_get_glyph_v_kerning_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="226">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the kerning-adjustment value for a glyph-pair in
the specified font, for vertical text segments.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="235"/>
      <type name="font_get_glyph_kerning_func_t"
            c:type="hb_font_get_glyph_kerning_func_t"/>
    </alias>
    <alias name="font_get_glyph_v_origin_func_t"
           c:type="hb_font_get_glyph_v_origin_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="359">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the (X,Y) coordinates (in font units) of the
origin for a glyph, for vertical-direction text segments. Each coordinate
must be returned in an #hb_position_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="369"/>
      <type name="font_get_glyph_origin_func_t"
            c:type="hb_font_get_glyph_origin_func_t"/>
    </alias>
    <alias name="mask_t" c:type="hb_mask_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="124">Data type for bitmasks.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="130"/>
      <type name="guint32" c:type="uint32_t"/>
    </alias>
    <alias name="ot_name_id_t" c:type="hb_ot_name_id_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-name.h"
           line="106">An integral type representing an OpenType 'name' table name identifier.
There are predefined name IDs, as well as name IDs return from other
API.  These can be used to fetch name strings from a font face.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-name.h" line="115"/>
      <type name="guint" c:type="unsigned int"/>
    </alias>
    <alias name="position_t" c:type="hb_position_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="115">Data type for holding a single coordinate value.
Contour points and other multi-dimensional data are
stored as tuples of #hb_position_t's.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="123"/>
      <type name="gint32" c:type="int32_t"/>
    </alias>
    <alias name="tag_t" c:type="hb_tag_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="154">Data type for tag identifiers. Tags are four
byte integers, each byte representing a character.

Tags are used to identify tables, design-variation axes,
scripts, languages, font features, and baselines with
human-readable names.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="165"/>
      <type name="guint32" c:type="uint32_t"/>
    </alias>
    <constant name="AAT_LAYOUT_NO_SELECTOR_INDEX"
              value="65535"
              c:type="HB_AAT_LAYOUT_NO_SELECTOR_INDEX">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
           line="751">Used when getting or setting AAT feature selectors. Indicates that
there is no selector index corresponding to the selector of interest.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="758"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="BUFFER_CLUSTER_LEVEL_IS_CHARACTERS"
                    c:identifier="HB_BUFFER_CLUSTER_LEVEL_IS_CHARACTERS"
                    version="11.0.0"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="497">Tests whether a cluster level does not group cluster values by graphemes.
Requires that the level be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="502"/>
      <parameters>
        <parameter name="level">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="499">#hb_buffer_cluster_level_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BUFFER_CLUSTER_LEVEL_IS_GRAPHEMES"
                    c:identifier="HB_BUFFER_CLUSTER_LEVEL_IS_GRAPHEMES"
                    version="11.0.0"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="483">Tests whether a cluster level groups cluster values by graphemes. Requires
that the level be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="488"/>
      <parameters>
        <parameter name="level">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="485">#hb_buffer_cluster_level_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BUFFER_CLUSTER_LEVEL_IS_MONOTONE"
                    c:identifier="HB_BUFFER_CLUSTER_LEVEL_IS_MONOTONE"
                    version="11.0.0"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="469">Tests whether a cluster level groups cluster values into monotone order.
Requires that the level be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="474"/>
      <parameters>
        <parameter name="level">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="471">#hb_buffer_cluster_level_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <constant name="BUFFER_REPLACEMENT_CODEPOINT_DEFAULT"
              value="65533"
              c:type="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT"
              version="0.9.31">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="518">The default code point for replacing invalid characters in a given encoding.
Set to U+FFFD REPLACEMENT CHARACTER.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="522"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CODEPOINT_INVALID"
              value="4294967295"
              c:type="HB_CODEPOINT_INVALID"
              version="8.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="106">Unused #hb_codepoint_t value.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="113"/>
      <type name="codepoint_t" c:type="hb_codepoint_t"/>
    </constant>
    <function-macro name="COLOR"
                    c:identifier="HB_COLOR"
                    version="2.1.0"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="897">Constructs an #hb_color_t from four integers.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="908"/>
      <parameters>
        <parameter name="b">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="899">blue channel value</doc>
        </parameter>
        <parameter name="g">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="900">green channel value</doc>
        </parameter>
        <parameter name="r">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="901">red channel value</doc>
        </parameter>
        <parameter name="a">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="902">alpha channel value</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_FOR"
                    c:identifier="HB_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="79"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DIRECTION_IS_BACKWARD"
                    c:identifier="HB_DIRECTION_IS_BACKWARD"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="288">Tests whether a text direction moves backward (from right to left, or from
bottom to top). Requires that the direction be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="296"/>
      <parameters>
        <parameter name="dir">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="290">#hb_direction_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DIRECTION_IS_FORWARD"
                    c:identifier="HB_DIRECTION_IS_FORWARD"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="279">Tests whether a text direction moves forward (from left to right, or from
top to bottom). Requires that the direction be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="287"/>
      <parameters>
        <parameter name="dir">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="281">#hb_direction_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DIRECTION_IS_HORIZONTAL"
                    c:identifier="HB_DIRECTION_IS_HORIZONTAL"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="261">Tests whether a text direction is horizontal. Requires
that the direction be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="269"/>
      <parameters>
        <parameter name="dir">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="263">#hb_direction_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DIRECTION_IS_VALID"
                    c:identifier="HB_DIRECTION_IS_VALID"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="252">Tests whether a text direction is valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="259"/>
      <parameters>
        <parameter name="dir">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="254">#hb_direction_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DIRECTION_IS_VERTICAL"
                    c:identifier="HB_DIRECTION_IS_VERTICAL"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="270">Tests whether a text direction is vertical. Requires
that the direction be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="278"/>
      <parameters>
        <parameter name="dir">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="272">#hb_direction_t to test</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DIRECTION_REVERSE"
                    c:identifier="HB_DIRECTION_REVERSE"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="297">Reverses a text direction. Requires that the direction
be valid.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="305"/>
      <parameters>
        <parameter name="dir">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="299">#hb_direction_t to reverse</doc>
        </parameter>
      </parameters>
    </function-macro>
    <constant name="FEATURE_GLOBAL_START"
              value="0"
              c:type="HB_FEATURE_GLOBAL_START"
              version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="813">Special setting for #hb_feature_t.start to apply the feature from the start
of the buffer.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="821"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="FONT_NO_VAR_NAMED_INSTANCE"
              value="4294967295"
              c:type="HB_FONT_NO_VAR_NAMED_INSTANCE"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="1139">Constant signifying that a font does not have any
named-instance index set.  This is the default of
a font.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1148"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LANGUAGE_INVALID"
              value="0"
              c:type="HB_LANGUAGE_INVALID"
              version="0.6.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="325">An unset #hb_language_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="332"/>
      <type name="language_t" c:type="hb_language_t"/>
    </constant>
    <constant name="OT_LAYOUT_DEFAULT_LANGUAGE_INDEX"
              value="65535"
              c:type="HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="200">Special value for language index indicating default or unsupported language.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="205"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OT_LAYOUT_NO_FEATURE_INDEX"
              value="65535"
              c:type="HB_OT_LAYOUT_NO_FEATURE_INDEX">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="194">Special value for feature index indicating unsupported feature.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="199"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OT_LAYOUT_NO_SCRIPT_INDEX"
              value="65535"
              c:type="HB_OT_LAYOUT_NO_SCRIPT_INDEX">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="188">Special value for script index indicating unsupported script.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="193"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OT_LAYOUT_NO_VARIATIONS_INDEX"
              value="4294967295"
              c:type="HB_OT_LAYOUT_NO_VARIATIONS_INDEX">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="206">Special value for variations index indicating unsupported variation.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="211"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OT_MAX_TAGS_PER_LANGUAGE"
              value="3"
              c:type="HB_OT_MAX_TAGS_PER_LANGUAGE"
              version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="100">Maximum number of OpenType tags that can correspond to a give #hb_language_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="107"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OT_MAX_TAGS_PER_SCRIPT"
              value="3"
              c:type="HB_OT_MAX_TAGS_PER_SCRIPT"
              version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="92">Maximum number of OpenType tags that can correspond to a give #hb_script_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="99"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="OT_VAR_NO_AXIS_INDEX"
              value="4294967295"
              c:type="HB_OT_VAR_NO_AXIS_INDEX"
              version="1.4.2"
              deprecated="1"
              deprecated-version="2.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
           line="97">Do not use.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="105"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="TAG" c:identifier="HB_TAG" introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="167">Constructs an #hb_tag_t from four character literals.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="177"/>
      <parameters>
        <parameter name="c1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="169">1st character of the tag</doc>
        </parameter>
        <parameter name="c2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="170">2nd character of the tag</doc>
        </parameter>
        <parameter name="c3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="171">3rd character of the tag</doc>
        </parameter>
        <parameter name="c4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="172">4th character of the tag</doc>
        </parameter>
      </parameters>
    </function-macro>
    <constant name="UNICODE_COMBINING_CLASS_CCC133"
              value="133"
              c:type="HB_UNICODE_COMBINING_CLASS_CCC133"
              deprecated="1"
              deprecated-version="7.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="112">[Tibetan]</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="119"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="UNICODE_MAX"
              value="1114111"
              c:type="HB_UNICODE_MAX"
              version="1.9.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="43">Maximum valid Unicode code point.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="50"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="UNICODE_MAX_DECOMPOSITION_LEN"
              value="19"
              c:type="HB_UNICODE_MAX_DECOMPOSITION_LEN"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="192">See Unicode 6.1 for details on the maximum decomposition length.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="199"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="UNTAG"
                    c:identifier="HB_UNTAG"
                    version="0.6.0"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="179">Extracts four character literals from an #hb_tag_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="188"/>
      <parameters>
        <parameter name="tag">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="181">an #hb_tag_t</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VERSION_ATLEAST"
                    c:identifier="HB_VERSION_ATLEAST"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-version.h"
           line="65">Tests the library version at compile-time against a minimum value,
as three integer components.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="74"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-version.h"
               line="67">the major component of the version number</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-version.h"
               line="68">the minor component of the version number</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-version.h"
               line="69">the micro component of the version number</doc>
        </parameter>
      </parameters>
    </function-macro>
    <constant name="VERSION_MAJOR" value="11" c:type="HB_VERSION_MAJOR">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-version.h"
           line="39">The major component of the library version available at compile-time.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="44"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION_MICRO" value="0" c:type="HB_VERSION_MICRO">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-version.h"
           line="51">The micro component of the library version available at compile-time.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="56"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION_MINOR" value="0" c:type="HB_VERSION_MINOR">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-version.h"
           line="45">The minor component of the library version available at compile-time.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="50"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION_STRING" value="11.0.0" c:type="HB_VERSION_STRING">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-version.h"
           line="58">A string literal containing the library version available at compile-time.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="63"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="aat_layout_feature_selector_info_t"
            c:type="hb_aat_layout_feature_selector_info_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
           line="735">Structure representing a setting for an #hb_aat_layout_feature_type_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="749"/>
      <field name="name_id" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="737">The selector's name identifier</doc>
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </field>
      <field name="enable" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="738">The value to turn the selector on</doc>
        <type name="aat_layout_feature_selector_t"
              c:type="hb_aat_layout_feature_selector_t"/>
      </field>
      <field name="disable" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="739">The value to turn the selector off</doc>
        <type name="aat_layout_feature_selector_t"
              c:type="hb_aat_layout_feature_selector_t"/>
      </field>
      <field name="reserved" readable="0" private="1">
        <type name="guint" c:type="unsigned int"/>
      </field>
    </record>
    <enumeration name="aat_layout_feature_selector_t"
                 version="2.2.0"
                 glib:type-name="hb_aat_layout_feature_selector_t"
                 glib:get-type="hb_gobject_aat_layout_feature_selector_get_type"
                 c:type="hb_aat_layout_feature_selector_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
           line="133">The selectors defined for specifying AAT feature settings.</doc>
      <member name="invalid"
              value="65535"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID"
              glib:nick="invalid"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="135">Initial, unset feature selector</doc>
      </member>
      <member name="all_type_features_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON"
              glib:nick="all-type-features-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="136">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC</doc>
      </member>
      <member name="all_type_features_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF"
              glib:nick="all-type-features-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="137">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC</doc>
      </member>
      <member name="required_ligatures_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON"
              glib:nick="required-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="138">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="required_ligatures_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF"
              glib:nick="required-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="139">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="common_ligatures_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON"
              glib:nick="common-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="140">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="common_ligatures_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF"
              glib:nick="common-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="141">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="rare_ligatures_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON"
              glib:nick="rare-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="142">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="rare_ligatures_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF"
              glib:nick="rare-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="143">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="logos_on"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON"
              glib:nick="logos-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="144">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="logos_off"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF"
              glib:nick="logos-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="145">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="rebus_pictures_on"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON"
              glib:nick="rebus-pictures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="146">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="rebus_pictures_off"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF"
              glib:nick="rebus-pictures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="147">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="diphthong_ligatures_on"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON"
              glib:nick="diphthong-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="148">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="diphthong_ligatures_off"
              value="11"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF"
              glib:nick="diphthong-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="149">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="squared_ligatures_on"
              value="12"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON"
              glib:nick="squared-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="150">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="squared_ligatures_off"
              value="13"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF"
              glib:nick="squared-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="151">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="abbrev_squared_ligatures_on"
              value="14"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON"
              glib:nick="abbrev-squared-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="152">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="abbrev_squared_ligatures_off"
              value="15"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF"
              glib:nick="abbrev-squared-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="153">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="symbol_ligatures_on"
              value="16"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON"
              glib:nick="symbol-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="154">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="symbol_ligatures_off"
              value="17"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF"
              glib:nick="symbol-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="155">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="contextual_ligatures_on"
              value="18"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON"
              glib:nick="contextual-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="156">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="contextual_ligatures_off"
              value="19"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF"
              glib:nick="contextual-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="157">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="historical_ligatures_on"
              value="20"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON"
              glib:nick="historical-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="158">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="historical_ligatures_off"
              value="21"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF"
              glib:nick="historical-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="159">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="unconnected"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED"
              glib:nick="unconnected"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="160">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="partially_connected"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED"
              glib:nick="partially-connected"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="161">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="cursive"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE"
              glib:nick="cursive"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="162">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc>
      </member>
      <member name="upper_and_lower_case"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE"
              glib:nick="upper-and-lower-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="163">Deprecated</doc>
      </member>
      <member name="all_caps"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS"
              glib:nick="all-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="164">Deprecated</doc>
      </member>
      <member name="all_lower_case"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE"
              glib:nick="all-lower-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="165">Deprecated</doc>
      </member>
      <member name="small_caps"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS"
              glib:nick="small-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="166">Deprecated</doc>
      </member>
      <member name="initial_caps"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS"
              glib:nick="initial-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="167">Deprecated</doc>
      </member>
      <member name="initial_caps_and_small_caps"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS"
              glib:nick="initial-caps-and-small-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="168">Deprecated</doc>
      </member>
      <member name="substitute_vertical_forms_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON"
              glib:nick="substitute-vertical-forms-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="169">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION</doc>
      </member>
      <member name="substitute_vertical_forms_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF"
              glib:nick="substitute-vertical-forms-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="170">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION</doc>
      </member>
      <member name="linguistic_rearrangement_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON"
              glib:nick="linguistic-rearrangement-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="171">for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT</doc>
      </member>
      <member name="linguistic_rearrangement_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF"
              glib:nick="linguistic-rearrangement-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="172">for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT</doc>
      </member>
      <member name="monospaced_numbers"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS"
              glib:nick="monospaced-numbers"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="173">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc>
      </member>
      <member name="proportional_numbers"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS"
              glib:nick="proportional-numbers"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="174">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc>
      </member>
      <member name="third_width_numbers"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS"
              glib:nick="third-width-numbers"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="175">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc>
      </member>
      <member name="quarter_width_numbers"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS"
              glib:nick="quarter-width-numbers"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="176">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc>
      </member>
      <member name="word_initial_swashes_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON"
              glib:nick="word-initial-swashes-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="177">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="word_initial_swashes_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF"
              glib:nick="word-initial-swashes-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="178">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="word_final_swashes_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON"
              glib:nick="word-final-swashes-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="179">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="word_final_swashes_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF"
              glib:nick="word-final-swashes-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="180">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="line_initial_swashes_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON"
              glib:nick="line-initial-swashes-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="181">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="line_initial_swashes_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF"
              glib:nick="line-initial-swashes-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="182">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="line_final_swashes_on"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON"
              glib:nick="line-final-swashes-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="183">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="line_final_swashes_off"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF"
              glib:nick="line-final-swashes-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="184">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="non_final_swashes_on"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON"
              glib:nick="non-final-swashes-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="185">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="non_final_swashes_off"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF"
              glib:nick="non-final-swashes-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="186">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc>
      </member>
      <member name="show_diacritics"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS"
              glib:nick="show-diacritics"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="187">for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE</doc>
      </member>
      <member name="hide_diacritics"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS"
              glib:nick="hide-diacritics"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="188">for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE</doc>
      </member>
      <member name="decompose_diacritics"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS"
              glib:nick="decompose-diacritics"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="189">for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE</doc>
      </member>
      <member name="normal_position"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION"
              glib:nick="normal-position"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="190">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc>
      </member>
      <member name="superiors"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS"
              glib:nick="superiors"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="191">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc>
      </member>
      <member name="inferiors"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS"
              glib:nick="inferiors"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="192">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc>
      </member>
      <member name="ordinals"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS"
              glib:nick="ordinals"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="193">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc>
      </member>
      <member name="scientific_inferiors"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS"
              glib:nick="scientific-inferiors"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="194">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc>
      </member>
      <member name="no_fractions"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS"
              glib:nick="no-fractions"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="195">for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS</doc>
      </member>
      <member name="vertical_fractions"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS"
              glib:nick="vertical-fractions"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="196">for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS</doc>
      </member>
      <member name="diagonal_fractions"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS"
              glib:nick="diagonal-fractions"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="197">for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS</doc>
      </member>
      <member name="prevent_overlap_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON"
              glib:nick="prevent-overlap-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="198">for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE</doc>
      </member>
      <member name="prevent_overlap_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF"
              glib:nick="prevent-overlap-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="199">for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE</doc>
      </member>
      <member name="hyphens_to_em_dash_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON"
              glib:nick="hyphens-to-em-dash-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="200">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="hyphens_to_em_dash_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF"
              glib:nick="hyphens-to-em-dash-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="201">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="hyphen_to_en_dash_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON"
              glib:nick="hyphen-to-en-dash-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="202">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="hyphen_to_en_dash_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF"
              glib:nick="hyphen-to-en-dash-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="203">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="slashed_zero_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON"
              glib:nick="slashed-zero-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="204">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="slashed_zero_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF"
              glib:nick="slashed-zero-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="205">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="form_interrobang_on"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON"
              glib:nick="form-interrobang-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="206">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="form_interrobang_off"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF"
              glib:nick="form-interrobang-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="207">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="smart_quotes_on"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON"
              glib:nick="smart-quotes-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="208">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="smart_quotes_off"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF"
              glib:nick="smart-quotes-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="209">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="periods_to_ellipsis_on"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON"
              glib:nick="periods-to-ellipsis-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="210">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="periods_to_ellipsis_off"
              value="11"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF"
              glib:nick="periods-to-ellipsis-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="211">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc>
      </member>
      <member name="hyphen_to_minus_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON"
              glib:nick="hyphen-to-minus-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="212">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="hyphen_to_minus_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF"
              glib:nick="hyphen-to-minus-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="213">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="asterisk_to_multiply_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON"
              glib:nick="asterisk-to-multiply-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="214">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="asterisk_to_multiply_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF"
              glib:nick="asterisk-to-multiply-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="215">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="slash_to_divide_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON"
              glib:nick="slash-to-divide-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="216">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="slash_to_divide_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF"
              glib:nick="slash-to-divide-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="217">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="inequality_ligatures_on"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON"
              glib:nick="inequality-ligatures-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="218">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="inequality_ligatures_off"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF"
              glib:nick="inequality-ligatures-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="219">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="exponents_on"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON"
              glib:nick="exponents-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="220">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="exponents_off"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF"
              glib:nick="exponents-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="221">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="mathematical_greek_on"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON"
              glib:nick="mathematical-greek-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="222">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="mathematical_greek_off"
              value="11"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF"
              glib:nick="mathematical-greek-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="223">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc>
      </member>
      <member name="no_ornaments"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS"
              glib:nick="no-ornaments"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="224">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="dingbats"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS"
              glib:nick="dingbats"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="225">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="pi_characters"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS"
              glib:nick="pi-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="226">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="fleurons"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS"
              glib:nick="fleurons"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="227">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="decorative_borders"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS"
              glib:nick="decorative-borders"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="228">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="international_symbols"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS"
              glib:nick="international-symbols"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="229">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="math_symbols"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS"
              glib:nick="math-symbols"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="230">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc>
      </member>
      <member name="no_alternates"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES"
              glib:nick="no-alternates"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="231">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES</doc>
      </member>
      <member name="design_level1"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1"
              glib:nick="design-level1"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="232">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc>
      </member>
      <member name="design_level2"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2"
              glib:nick="design-level2"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="233">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc>
      </member>
      <member name="design_level3"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3"
              glib:nick="design-level3"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="234">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc>
      </member>
      <member name="design_level4"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4"
              glib:nick="design-level4"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="235">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc>
      </member>
      <member name="design_level5"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5"
              glib:nick="design-level5"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="236">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc>
      </member>
      <member name="no_style_options"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS"
              glib:nick="no-style-options"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="237">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc>
      </member>
      <member name="display_text"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT"
              glib:nick="display-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="238">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc>
      </member>
      <member name="engraved_text"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT"
              glib:nick="engraved-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="239">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc>
      </member>
      <member name="illuminated_caps"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS"
              glib:nick="illuminated-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="240">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc>
      </member>
      <member name="titling_caps"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS"
              glib:nick="titling-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="241">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc>
      </member>
      <member name="tall_caps"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS"
              glib:nick="tall-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="242">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc>
      </member>
      <member name="traditional_characters"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS"
              glib:nick="traditional-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="243">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="simplified_characters"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS"
              glib:nick="simplified-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="244">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="jis1978_characters"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS"
              glib:nick="jis1978-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="245">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="jis1983_characters"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS"
              glib:nick="jis1983-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="246">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="jis1990_characters"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS"
              glib:nick="jis1990-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="247">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="traditional_alt_one"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE"
              glib:nick="traditional-alt-one"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="248">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="traditional_alt_two"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO"
              glib:nick="traditional-alt-two"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="249">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="traditional_alt_three"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE"
              glib:nick="traditional-alt-three"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="250">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="traditional_alt_four"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR"
              glib:nick="traditional-alt-four"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="251">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="traditional_alt_five"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE"
              glib:nick="traditional-alt-five"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="252">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="expert_characters"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS"
              glib:nick="expert-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="253">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="jis2004_characters"
              value="11"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS"
              glib:nick="jis2004-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="254">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="hojo_characters"
              value="12"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS"
              glib:nick="hojo-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="255">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="nlccharacters"
              value="13"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS"
              glib:nick="nlccharacters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="256">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="traditional_names_characters"
              value="14"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS"
              glib:nick="traditional-names-characters"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="257">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc>
      </member>
      <member name="lower_case_numbers"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS"
              glib:nick="lower-case-numbers"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="258">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE</doc>
      </member>
      <member name="upper_case_numbers"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS"
              glib:nick="upper-case-numbers"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="259">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE</doc>
      </member>
      <member name="proportional_text"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT"
              glib:nick="proportional-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="260">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="monospaced_text"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT"
              glib:nick="monospaced-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="261">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="half_width_text"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT"
              glib:nick="half-width-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="262">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="third_width_text"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT"
              glib:nick="third-width-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="263">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="quarter_width_text"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT"
              glib:nick="quarter-width-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="264">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="alt_proportional_text"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT"
              glib:nick="alt-proportional-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="265">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="alt_half_width_text"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT"
              glib:nick="alt-half-width-text"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="266">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc>
      </member>
      <member name="no_transliteration"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION"
              glib:nick="no-transliteration"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="267">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="hanja_to_hangul"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL"
              glib:nick="hanja-to-hangul"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="268">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="hiragana_to_katakana"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA"
              glib:nick="hiragana-to-katakana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="269">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="katakana_to_hiragana"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA"
              glib:nick="katakana-to-hiragana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="270">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="kana_to_romanization"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION"
              glib:nick="kana-to-romanization"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="271">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="romanization_to_hiragana"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA"
              glib:nick="romanization-to-hiragana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="272">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="romanization_to_katakana"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA"
              glib:nick="romanization-to-katakana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="273">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="hanja_to_hangul_alt_one"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE"
              glib:nick="hanja-to-hangul-alt-one"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="274">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="hanja_to_hangul_alt_two"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO"
              glib:nick="hanja-to-hangul-alt-two"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="275">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="hanja_to_hangul_alt_three"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE"
              glib:nick="hanja-to-hangul-alt-three"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="276">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc>
      </member>
      <member name="no_annotation"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION"
              glib:nick="no-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="277">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="box_annotation"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION"
              glib:nick="box-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="278">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="rounded_box_annotation"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION"
              glib:nick="rounded-box-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="279">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="circle_annotation"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION"
              glib:nick="circle-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="280">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="inverted_circle_annotation"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION"
              glib:nick="inverted-circle-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="281">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="parenthesis_annotation"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION"
              glib:nick="parenthesis-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="282">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="period_annotation"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION"
              glib:nick="period-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="283">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="roman_numeral_annotation"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION"
              glib:nick="roman-numeral-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="284">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="diamond_annotation"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION"
              glib:nick="diamond-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="285">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="inverted_box_annotation"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION"
              glib:nick="inverted-box-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="286">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="inverted_rounded_box_annotation"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION"
              glib:nick="inverted-rounded-box-annotation"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="287">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc>
      </member>
      <member name="full_width_kana"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA"
              glib:nick="full-width-kana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="288">for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE</doc>
      </member>
      <member name="proportional_kana"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA"
              glib:nick="proportional-kana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="289">for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE</doc>
      </member>
      <member name="full_width_ideographs"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS"
              glib:nick="full-width-ideographs"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="290">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE</doc>
      </member>
      <member name="proportional_ideographs"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS"
              glib:nick="proportional-ideographs"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="291">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE</doc>
      </member>
      <member name="half_width_ideographs"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS"
              glib:nick="half-width-ideographs"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="292">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE</doc>
      </member>
      <member name="canonical_composition_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON"
              glib:nick="canonical-composition-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="293">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc>
      </member>
      <member name="canonical_composition_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF"
              glib:nick="canonical-composition-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="294">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc>
      </member>
      <member name="compatibility_composition_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON"
              glib:nick="compatibility-composition-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="295">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc>
      </member>
      <member name="compatibility_composition_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF"
              glib:nick="compatibility-composition-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="296">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc>
      </member>
      <member name="transcoding_composition_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON"
              glib:nick="transcoding-composition-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="297">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc>
      </member>
      <member name="transcoding_composition_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF"
              glib:nick="transcoding-composition-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="298">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc>
      </member>
      <member name="no_ruby_kana"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA"
              glib:nick="no-ruby-kana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="299">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead</doc>
      </member>
      <member name="ruby_kana"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA"
              glib:nick="ruby-kana"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="300">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead</doc>
      </member>
      <member name="ruby_kana_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON"
              glib:nick="ruby-kana-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="301">for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA</doc>
      </member>
      <member name="ruby_kana_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF"
              glib:nick="ruby-kana-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="302">for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA</doc>
      </member>
      <member name="no_cjk_symbol_alternatives"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES"
              glib:nick="no-cjk-symbol-alternatives"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="303">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="cjk_symbol_alt_one"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE"
              glib:nick="cjk-symbol-alt-one"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="304">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="cjk_symbol_alt_two"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO"
              glib:nick="cjk-symbol-alt-two"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="305">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="cjk_symbol_alt_three"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE"
              glib:nick="cjk-symbol-alt-three"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="306">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="cjk_symbol_alt_four"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR"
              glib:nick="cjk-symbol-alt-four"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="307">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="cjk_symbol_alt_five"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE"
              glib:nick="cjk-symbol-alt-five"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="308">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="no_ideographic_alternatives"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES"
              glib:nick="no-ideographic-alternatives"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="309">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="ideographic_alt_one"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE"
              glib:nick="ideographic-alt-one"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="310">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="ideographic_alt_two"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO"
              glib:nick="ideographic-alt-two"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="311">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="ideographic_alt_three"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE"
              glib:nick="ideographic-alt-three"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="312">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="ideographic_alt_four"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR"
              glib:nick="ideographic-alt-four"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="313">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="ideographic_alt_five"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE"
              glib:nick="ideographic-alt-five"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="314">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc>
      </member>
      <member name="cjk_vertical_roman_centered"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED"
              glib:nick="cjk-vertical-roman-centered"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="315">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE</doc>
      </member>
      <member name="cjk_vertical_roman_hbaseline"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE"
              glib:nick="cjk-vertical-roman-hbaseline"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="316">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE</doc>
      </member>
      <member name="no_cjk_italic_roman"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN"
              glib:nick="no-cjk-italic-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="317">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead</doc>
      </member>
      <member name="cjk_italic_roman"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN"
              glib:nick="cjk-italic-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="318">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead</doc>
      </member>
      <member name="cjk_italic_roman_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON"
              glib:nick="cjk-italic-roman-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="319">for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN</doc>
      </member>
      <member name="cjk_italic_roman_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF"
              glib:nick="cjk-italic-roman-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="320">for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN</doc>
      </member>
      <member name="case_sensitive_layout_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON"
              glib:nick="case-sensitive-layout-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="321">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc>
      </member>
      <member name="case_sensitive_layout_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF"
              glib:nick="case-sensitive-layout-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="322">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc>
      </member>
      <member name="case_sensitive_spacing_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON"
              glib:nick="case-sensitive-spacing-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="323">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc>
      </member>
      <member name="case_sensitive_spacing_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF"
              glib:nick="case-sensitive-spacing-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="324">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc>
      </member>
      <member name="alternate_horiz_kana_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON"
              glib:nick="alternate-horiz-kana-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="325">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc>
      </member>
      <member name="alternate_horiz_kana_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF"
              glib:nick="alternate-horiz-kana-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="326">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc>
      </member>
      <member name="alternate_vert_kana_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON"
              glib:nick="alternate-vert-kana-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="327">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc>
      </member>
      <member name="alternate_vert_kana_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF"
              glib:nick="alternate-vert-kana-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="328">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc>
      </member>
      <member name="no_stylistic_alternates"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES"
              glib:nick="no-stylistic-alternates"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="329">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_one_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON"
              glib:nick="stylistic-alt-one-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="330">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_one_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF"
              glib:nick="stylistic-alt-one-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="331">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_two_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON"
              glib:nick="stylistic-alt-two-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="332">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_two_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF"
              glib:nick="stylistic-alt-two-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="333">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_three_on"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON"
              glib:nick="stylistic-alt-three-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="334">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_three_off"
              value="7"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF"
              glib:nick="stylistic-alt-three-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="335">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_four_on"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON"
              glib:nick="stylistic-alt-four-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="336">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_four_off"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF"
              glib:nick="stylistic-alt-four-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="337">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_five_on"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON"
              glib:nick="stylistic-alt-five-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="338">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_five_off"
              value="11"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF"
              glib:nick="stylistic-alt-five-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="339">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_six_on"
              value="12"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON"
              glib:nick="stylistic-alt-six-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="340">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_six_off"
              value="13"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF"
              glib:nick="stylistic-alt-six-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="341">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_seven_on"
              value="14"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON"
              glib:nick="stylistic-alt-seven-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="342">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_seven_off"
              value="15"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF"
              glib:nick="stylistic-alt-seven-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="343">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_eight_on"
              value="16"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON"
              glib:nick="stylistic-alt-eight-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="344">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_eight_off"
              value="17"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF"
              glib:nick="stylistic-alt-eight-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="345">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_nine_on"
              value="18"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON"
              glib:nick="stylistic-alt-nine-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="346">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_nine_off"
              value="19"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF"
              glib:nick="stylistic-alt-nine-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="347">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_ten_on"
              value="20"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON"
              glib:nick="stylistic-alt-ten-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="348">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_ten_off"
              value="21"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF"
              glib:nick="stylistic-alt-ten-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="349">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_eleven_on"
              value="22"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON"
              glib:nick="stylistic-alt-eleven-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="350">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_eleven_off"
              value="23"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF"
              glib:nick="stylistic-alt-eleven-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="351">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_twelve_on"
              value="24"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON"
              glib:nick="stylistic-alt-twelve-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="352">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_twelve_off"
              value="25"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF"
              glib:nick="stylistic-alt-twelve-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="353">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_thirteen_on"
              value="26"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON"
              glib:nick="stylistic-alt-thirteen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="354">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_thirteen_off"
              value="27"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF"
              glib:nick="stylistic-alt-thirteen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="355">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_fourteen_on"
              value="28"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON"
              glib:nick="stylistic-alt-fourteen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="356">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_fourteen_off"
              value="29"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF"
              glib:nick="stylistic-alt-fourteen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="357">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_fifteen_on"
              value="30"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON"
              glib:nick="stylistic-alt-fifteen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="358">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_fifteen_off"
              value="31"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF"
              glib:nick="stylistic-alt-fifteen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="359">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_sixteen_on"
              value="32"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON"
              glib:nick="stylistic-alt-sixteen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="360">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_sixteen_off"
              value="33"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF"
              glib:nick="stylistic-alt-sixteen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="361">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_seventeen_on"
              value="34"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON"
              glib:nick="stylistic-alt-seventeen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="362">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_seventeen_off"
              value="35"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF"
              glib:nick="stylistic-alt-seventeen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="363">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_eighteen_on"
              value="36"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON"
              glib:nick="stylistic-alt-eighteen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="364">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_eighteen_off"
              value="37"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF"
              glib:nick="stylistic-alt-eighteen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="365">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_nineteen_on"
              value="38"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON"
              glib:nick="stylistic-alt-nineteen-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="366">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_nineteen_off"
              value="39"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF"
              glib:nick="stylistic-alt-nineteen-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="367">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_twenty_on"
              value="40"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON"
              glib:nick="stylistic-alt-twenty-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="368">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="stylistic_alt_twenty_off"
              value="41"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF"
              glib:nick="stylistic-alt-twenty-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="369">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc>
      </member>
      <member name="contextual_alternates_on"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON"
              glib:nick="contextual-alternates-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="370">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc>
      </member>
      <member name="contextual_alternates_off"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF"
              glib:nick="contextual-alternates-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="371">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc>
      </member>
      <member name="swash_alternates_on"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON"
              glib:nick="swash-alternates-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="372">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc>
      </member>
      <member name="swash_alternates_off"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF"
              glib:nick="swash-alternates-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="373">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc>
      </member>
      <member name="contextual_swash_alternates_on"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON"
              glib:nick="contextual-swash-alternates-on"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="374">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc>
      </member>
      <member name="contextual_swash_alternates_off"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF"
              glib:nick="contextual-swash-alternates-off"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="375">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc>
      </member>
      <member name="default_lower_case"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE"
              glib:nick="default-lower-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="376">for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE</doc>
      </member>
      <member name="lower_case_small_caps"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS"
              glib:nick="lower-case-small-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="377">for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE</doc>
      </member>
      <member name="lower_case_petite_caps"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS"
              glib:nick="lower-case-petite-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="378">for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE</doc>
      </member>
      <member name="default_upper_case"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE"
              glib:nick="default-upper-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="379">for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE</doc>
      </member>
      <member name="upper_case_small_caps"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS"
              glib:nick="upper-case-small-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="380">for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE</doc>
      </member>
      <member name="upper_case_petite_caps"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS"
              glib:nick="upper-case-petite-caps"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="381">for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE</doc>
      </member>
      <member name="half_width_cjk_roman"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN"
              glib:nick="half-width-cjk-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="382">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc>
      </member>
      <member name="proportional_cjk_roman"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN"
              glib:nick="proportional-cjk-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="383">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc>
      </member>
      <member name="default_cjk_roman"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN"
              glib:nick="default-cjk-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="384">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc>
      </member>
      <member name="full_width_cjk_roman"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN"
              glib:nick="full-width-cjk-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="385">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc>
      </member>
    </enumeration>
    <function name="aat_layout_feature_type_get_name_id"
              c:identifier="hb_aat_layout_feature_type_get_name_id">
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="732"/>
      <return-value transfer-ownership="none">
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="feature_type" transfer-ownership="none">
          <type name="aat_layout_feature_type_t"
                c:type="hb_aat_layout_feature_type_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="aat_layout_feature_type_get_selector_infos"
              c:identifier="hb_aat_layout_feature_type_get_selector_infos">
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="761"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="feature_type" transfer-ownership="none">
          <type name="aat_layout_feature_type_t"
                c:type="hb_aat_layout_feature_type_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="selector_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="selectors" transfer-ownership="none">
          <type name="aat_layout_feature_selector_info_t"
                c:type="hb_aat_layout_feature_selector_info_t*"/>
        </parameter>
        <parameter name="default_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="aat_layout_feature_type_t"
                 version="2.2.0"
                 glib:type-name="hb_aat_layout_feature_type_t"
                 glib:get-type="hb_gobject_aat_layout_feature_type_get_type"
                 c:type="hb_aat_layout_feature_type_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
           line="38">The possible feature types defined for AAT shaping, from Apple [Font Feature Registry](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html).</doc>
      <member name="invalid"
              value="65535"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_INVALID"
              glib:nick="invalid"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="40">Initial, unset feature type</doc>
      </member>
      <member name="all_typographic"
              value="0"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC"
              glib:nick="all-typographic"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="41">[All Typographic Features](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type0)</doc>
      </member>
      <member name="ligatures"
              value="1"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES"
              glib:nick="ligatures"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="42">[Ligatures](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type1)</doc>
      </member>
      <member name="cursive_connection"
              value="2"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION"
              glib:nick="cursive-connection"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="43">[Cursive Connection](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type2)</doc>
      </member>
      <member name="letter_case"
              value="3"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE"
              glib:nick="letter-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="44">[Letter Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type3)</doc>
      </member>
      <member name="vertical_substitution"
              value="4"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION"
              glib:nick="vertical-substitution"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="45">[Vertical Substitution](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type4)</doc>
      </member>
      <member name="linguistic_rearrangement"
              value="5"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT"
              glib:nick="linguistic-rearrangement"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="46">[Linguistic Rearrangement](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type5)</doc>
      </member>
      <member name="number_spacing"
              value="6"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING"
              glib:nick="number-spacing"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="47">[Number Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type6)</doc>
      </member>
      <member name="smart_swash_type"
              value="8"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE"
              glib:nick="smart-swash-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="48">[Smart Swash](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type8)</doc>
      </member>
      <member name="diacritics_type"
              value="9"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE"
              glib:nick="diacritics-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="49">[Diacritics](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type9)</doc>
      </member>
      <member name="vertical_position"
              value="10"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION"
              glib:nick="vertical-position"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="50">[Vertical Position](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type10)</doc>
      </member>
      <member name="fractions"
              value="11"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS"
              glib:nick="fractions"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="51">[Fractions](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type11)</doc>
      </member>
      <member name="overlapping_characters_type"
              value="13"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE"
              glib:nick="overlapping-characters-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="52">[Overlapping Characters](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type13)</doc>
      </member>
      <member name="typographic_extras"
              value="14"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS"
              glib:nick="typographic-extras"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="53">[Typographic Extras](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type14)</doc>
      </member>
      <member name="mathematical_extras"
              value="15"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS"
              glib:nick="mathematical-extras"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="54">[Mathematical Extras](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type15)</doc>
      </member>
      <member name="ornament_sets_type"
              value="16"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE"
              glib:nick="ornament-sets-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="55">[Ornament Sets](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type16)</doc>
      </member>
      <member name="character_alternatives"
              value="17"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES"
              glib:nick="character-alternatives"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="56">[Character Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type17)</doc>
      </member>
      <member name="design_complexity_type"
              value="18"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE"
              glib:nick="design-complexity-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="57">[Design Complexity](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type18)</doc>
      </member>
      <member name="style_options"
              value="19"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS"
              glib:nick="style-options"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="58">[Style Options](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type19)</doc>
      </member>
      <member name="character_shape"
              value="20"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE"
              glib:nick="character-shape"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="59">[Character Shape](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type20)</doc>
      </member>
      <member name="number_case"
              value="21"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE"
              glib:nick="number-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="60">[Number Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type21)</doc>
      </member>
      <member name="text_spacing"
              value="22"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING"
              glib:nick="text-spacing"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="61">[Text Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type22)</doc>
      </member>
      <member name="transliteration"
              value="23"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION"
              glib:nick="transliteration"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="62">[Transliteration](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type23)</doc>
      </member>
      <member name="annotation_type"
              value="24"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE"
              glib:nick="annotation-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="63">[Annotation](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type24)</doc>
      </member>
      <member name="kana_spacing_type"
              value="25"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE"
              glib:nick="kana-spacing-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="64">[Kana Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type25)</doc>
      </member>
      <member name="ideographic_spacing_type"
              value="26"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE"
              glib:nick="ideographic-spacing-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="65">[Ideographic Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type26)</doc>
      </member>
      <member name="unicode_decomposition_type"
              value="27"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE"
              glib:nick="unicode-decomposition-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="66">[Unicode Decomposition](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type27)</doc>
      </member>
      <member name="ruby_kana"
              value="28"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA"
              glib:nick="ruby-kana"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="67">[Ruby Kana](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type28)</doc>
      </member>
      <member name="cjk_symbol_alternatives_type"
              value="29"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE"
              glib:nick="cjk-symbol-alternatives-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="68">[CJK Symbol Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type29)</doc>
      </member>
      <member name="ideographic_alternatives_type"
              value="30"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE"
              glib:nick="ideographic-alternatives-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="69">[Ideographic Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type30)</doc>
      </member>
      <member name="cjk_vertical_roman_placement_type"
              value="31"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE"
              glib:nick="cjk-vertical-roman-placement-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="70">[CJK Vertical Roman Placement](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type31)</doc>
      </member>
      <member name="italic_cjk_roman"
              value="32"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN"
              glib:nick="italic-cjk-roman"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="71">[Italic CJK Roman](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type32)</doc>
      </member>
      <member name="case_sensitive_layout"
              value="33"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT"
              glib:nick="case-sensitive-layout"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="72">[Case Sensitive Layout](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type33)</doc>
      </member>
      <member name="alternate_kana"
              value="34"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA"
              glib:nick="alternate-kana"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="73">[Alternate Kana](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type34)</doc>
      </member>
      <member name="stylistic_alternatives"
              value="35"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES"
              glib:nick="stylistic-alternatives"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="74">[Stylistic Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type35)</doc>
      </member>
      <member name="contextual_alternatives"
              value="36"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES"
              glib:nick="contextual-alternatives"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="75">[Contextual Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type36)</doc>
      </member>
      <member name="lower_case"
              value="37"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE"
              glib:nick="lower-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="76">[Lower Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type37)</doc>
      </member>
      <member name="upper_case"
              value="38"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE"
              glib:nick="upper-case"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="77">[Upper Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type38)</doc>
      </member>
      <member name="language_tag_type"
              value="39"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE"
              glib:nick="language-tag-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="78">[Language Tag](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type39)</doc>
      </member>
      <member name="cjk_roman_spacing_type"
              value="103"
              c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE"
              glib:nick="cjk-roman-spacing-type"
              glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
             line="79">[CJK Roman Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type103)</doc>
      </member>
    </enumeration>
    <function name="aat_layout_get_feature_types"
              c:identifier="hb_aat_layout_get_feature_types">
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="726"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="aat_layout_feature_type_t"
                c:type="hb_aat_layout_feature_type_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="aat_layout_has_positioning"
              c:identifier="hb_aat_layout_has_positioning">
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="782"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="aat_layout_has_substitution"
              c:identifier="hb_aat_layout_has_substitution">
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="774"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="aat_layout_has_tracking"
              c:identifier="hb_aat_layout_has_tracking">
      <source-position filename="harfbuzz-11.0.0/src/hb-aat-layout.h"
                       line="790"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_copy_writable_or_fail"
              c:identifier="hb_blob_copy_writable_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="118"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_create"
              c:identifier="hb_blob_create"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="87"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="memory_mode_t" c:type="hb_memory_mode_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_create_from_file"
              c:identifier="hb_blob_create_from_file">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="101"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_create_from_file_or_fail"
              c:identifier="hb_blob_create_from_file_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="104"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_create_or_fail"
              c:identifier="hb_blob_create_or_fail"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="94"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="memory_mode_t" c:type="hb_memory_mode_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_create_sub_blob"
              c:identifier="hb_blob_create_sub_blob">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="113"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_destroy" c:identifier="hb_blob_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="127"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_get_data" c:identifier="hb_blob_get_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="153"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_get_data_writable"
              c:identifier="hb_blob_get_data_writable">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="156"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_get_empty" c:identifier="hb_blob_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="121"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
    </function>
    <function name="blob_get_length" c:identifier="hb_blob_get_length">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="150"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_get_user_data" c:identifier="hb_blob_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="138"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="const hb_blob_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_is_immutable" c:identifier="hb_blob_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="146"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_make_immutable" c:identifier="hb_blob_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="143"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_reference" c:identifier="hb_blob_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="124"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="blob_set_user_data"
              c:identifier="hb_blob_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="130"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="blob_t"
            c:type="hb_blob_t"
            opaque="1"
            glib:type-name="hb_blob_t"
            glib:get-type="hb_gobject_blob_get_type"
            c:symbol-prefix="gobject_blob">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-blob.h"
           line="76">Data type for blobs. A blob wraps a chunk of binary
data and facilitates its lifecycle management between
a client program and HarfBuzz.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-blob.h" line="84"/>
    </record>
    <function name="buffer_add" c:identifier="hb_buffer_add">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="592"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="cluster" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_codepoints"
              c:identifier="hb_buffer_add_codepoints">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="625"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="text_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="item_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="item_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_latin1" c:identifier="hb_buffer_add_latin1">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="618"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="guint8" c:type="const uint8_t*"/>
        </parameter>
        <parameter name="text_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="item_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="item_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_utf16" c:identifier="hb_buffer_add_utf16">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="604"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="guint16" c:type="const uint16_t*"/>
        </parameter>
        <parameter name="text_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="item_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="item_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_utf32" c:identifier="hb_buffer_add_utf32">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="611"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="guint32" c:type="const uint32_t*"/>
        </parameter>
        <parameter name="text_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="item_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="item_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_utf8" c:identifier="hb_buffer_add_utf8">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="597"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="text_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="item_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="item_length" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_allocation_successful"
              c:identifier="hb_buffer_allocation_successful">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="576"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_append" c:identifier="hb_buffer_append">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="632"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="source" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_clear_contents"
              c:identifier="hb_buffer_clear_contents">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="568"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="buffer_cluster_level_t"
                 version="0.9.42"
                 glib:type-name="hb_buffer_cluster_level_t"
                 glib:get-type="hb_gobject_buffer_cluster_level_get_type"
                 c:type="hb_buffer_cluster_level_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="417">Data type for holding HarfBuzz's clustering behavior options. The cluster level
dictates one aspect of how HarfBuzz will treat non-base characters
during shaping.

In @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES, non-base
characters are merged into the cluster of the base character that precedes them.
There is also cluster merging every time the clusters will otherwise become non-monotone.

In @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS, non-base characters are initially
assigned their own cluster values, which are not merged into preceding base
clusters. This allows HarfBuzz to perform additional operations like reorder
sequences of adjacent marks. The output is still monotone, but the cluster
values are more granular.

In @HB_BUFFER_CLUSTER_LEVEL_CHARACTERS, non-base characters are assigned their
own cluster values, which are not merged into preceding base clusters. Moreover,
the cluster values are not merged into monotone order. This is the most granular
cluster level, and it is useful for clients that need to know the exact cluster
values of each character, but is harder to use for clients, since clusters
might appear in any order.

In @HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES, non-base characters are merged into the
cluster of the base character that precedes them. This is similar to the Unicode
Grapheme Cluster algorithm, but it is not exactly the same. The output is
not forced to be monotone. This is useful for clients that want to use HarfBuzz
as a cheap implementation of the Unicode Grapheme Cluster algorithm.

@HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES is the default, because it maintains
backward compatibility with older versions of HarfBuzz. New client programs that
do not need to maintain such backward compatibility are recommended to use
@HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS instead of the default.</doc>
      <member name="monotone_graphemes"
              value="0"
              c:identifier="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES"
              glib:nick="monotone-graphemes"
              glib:name="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="419">Return cluster values grouped by graphemes into
  monotone order.</doc>
      </member>
      <member name="monotone_characters"
              value="1"
              c:identifier="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS"
              glib:nick="monotone-characters"
              glib:name="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="421">Return cluster values grouped into monotone order.</doc>
      </member>
      <member name="characters"
              value="2"
              c:identifier="HB_BUFFER_CLUSTER_LEVEL_CHARACTERS"
              glib:nick="characters"
              glib:name="HB_BUFFER_CLUSTER_LEVEL_CHARACTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="422">Don't group cluster values.</doc>
      </member>
      <member name="graphemes"
              value="3"
              c:identifier="HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES"
              glib:nick="graphemes"
              glib:name="HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="425">Only group clusters, but don't enforce monotone order.</doc>
      </member>
      <member name="default"
              value="0"
              c:identifier="HB_BUFFER_CLUSTER_LEVEL_DEFAULT"
              glib:nick="default"
              glib:name="HB_BUFFER_CLUSTER_LEVEL_DEFAULT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="423">Default cluster level,
  equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES.</doc>
      </member>
    </enumeration>
    <enumeration name="buffer_content_type_t"
                 glib:type-name="hb_buffer_content_type_t"
                 glib:get-type="hb_gobject_buffer_content_type_get_type"
                 c:type="hb_buffer_content_type_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="283">The type of #hb_buffer_t contents.</doc>
      <member name="invalid"
              value="0"
              c:identifier="HB_BUFFER_CONTENT_TYPE_INVALID"
              glib:nick="invalid"
              glib:name="HB_BUFFER_CONTENT_TYPE_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="285">Initial value for new buffer.</doc>
      </member>
      <member name="unicode"
              value="1"
              c:identifier="HB_BUFFER_CONTENT_TYPE_UNICODE"
              glib:nick="unicode"
              glib:name="HB_BUFFER_CONTENT_TYPE_UNICODE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="286">The buffer contains input characters (before shaping).</doc>
      </member>
      <member name="glyphs"
              value="2"
              c:identifier="HB_BUFFER_CONTENT_TYPE_GLYPHS"
              glib:nick="glyphs"
              glib:name="HB_BUFFER_CONTENT_TYPE_GLYPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="287">The buffer contains output glyphs (after shaping).</doc>
      </member>
    </enumeration>
    <function name="buffer_create" c:identifier="hb_buffer_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="253"/>
      <return-value transfer-ownership="full">
        <type name="buffer_t" c:type="hb_buffer_t*"/>
      </return-value>
    </function>
    <function name="buffer_create_similar"
              c:identifier="hb_buffer_create_similar">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="256"/>
      <return-value transfer-ownership="full">
        <type name="buffer_t" c:type="hb_buffer_t*"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_deserialize_glyphs"
              c:identifier="hb_buffer_deserialize_glyphs">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="753"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="buf_len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="end_ptr" transfer-ownership="none">
          <type name="utf8" c:type="const char**"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="buffer_serialize_format_t"
                c:type="hb_buffer_serialize_format_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_deserialize_unicode"
              c:identifier="hb_buffer_deserialize_unicode">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="761"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="buf_len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="end_ptr" transfer-ownership="none">
          <type name="utf8" c:type="const char**"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="buffer_serialize_format_t"
                c:type="hb_buffer_serialize_format_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_destroy" c:identifier="hb_buffer_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="269"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_diff" c:identifier="hb_buffer_diff">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="831"/>
      <return-value transfer-ownership="none">
        <type name="buffer_diff_flags_t" c:type="hb_buffer_diff_flags_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="reference" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="dottedcircle_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="position_fuzz" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <bitfield name="buffer_diff_flags_t"
              version="1.5.0"
              glib:type-name="hb_buffer_diff_flags_t"
              glib:get-type="hb_gobject_buffer_diff_flags_get_type"
              c:type="hb_buffer_diff_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="773">Flags from comparing two #hb_buffer_t's.

Buffer with different #hb_buffer_content_type_t cannot be meaningfully
compared in any further detail.

For buffers with differing length, the per-glyph comparison is not
attempted, though we do still scan reference buffer for dotted circle and
`.notdef` glyphs.

If the buffers have the same length, we compare them glyph-by-glyph and
report which aspect(s) of the glyph info/position are different.</doc>
      <member name="equal"
              value="0"
              c:identifier="HB_BUFFER_DIFF_FLAG_EQUAL"
              glib:nick="equal"
              glib:name="HB_BUFFER_DIFF_FLAG_EQUAL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="775">equal buffers.</doc>
      </member>
      <member name="content_type_mismatch"
              value="1"
              c:identifier="HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH"
              glib:nick="content-type-mismatch"
              glib:name="HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="776">buffers with different
    #hb_buffer_content_type_t.</doc>
      </member>
      <member name="length_mismatch"
              value="2"
              c:identifier="HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH"
              glib:nick="length-mismatch"
              glib:name="HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="778">buffers with differing length.</doc>
      </member>
      <member name="notdef_present"
              value="4"
              c:identifier="HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT"
              glib:nick="notdef-present"
              glib:name="HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="779">`.notdef` glyph is present in the
    reference buffer.</doc>
      </member>
      <member name="dotted_circle_present"
              value="8"
              c:identifier="HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT"
              glib:nick="dotted-circle-present"
              glib:name="HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="781">dotted circle glyph is present
    in the reference buffer.</doc>
      </member>
      <member name="codepoint_mismatch"
              value="16"
              c:identifier="HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH"
              glib:nick="codepoint-mismatch"
              glib:name="HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="783">difference in #hb_glyph_info_t.codepoint</doc>
      </member>
      <member name="cluster_mismatch"
              value="32"
              c:identifier="HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH"
              glib:nick="cluster-mismatch"
              glib:name="HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="784">difference in #hb_glyph_info_t.cluster</doc>
      </member>
      <member name="glyph_flags_mismatch"
              value="64"
              c:identifier="HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH"
              glib:nick="glyph-flags-mismatch"
              glib:name="HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="785">difference in #hb_glyph_flags_t.</doc>
      </member>
      <member name="position_mismatch"
              value="128"
              c:identifier="HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH"
              glib:nick="position-mismatch"
              glib:name="HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="786">difference in #hb_glyph_position_t.</doc>
      </member>
    </bitfield>
    <bitfield name="buffer_flags_t"
              version="0.9.20"
              glib:type-name="hb_buffer_flags_t"
              glib:get-type="hb_gobject_buffer_flags_get_type"
              c:type="hb_buffer_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="346">Flags for #hb_buffer_t.</doc>
      <member name="default"
              value="0"
              c:identifier="HB_BUFFER_FLAG_DEFAULT"
              glib:nick="default"
              glib:name="HB_BUFFER_FLAG_DEFAULT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="348">the default buffer flag.</doc>
      </member>
      <member name="bot"
              value="1"
              c:identifier="HB_BUFFER_FLAG_BOT"
              glib:nick="bot"
              glib:name="HB_BUFFER_FLAG_BOT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="349">flag indicating that special handling of the beginning
                     of text paragraph can be applied to this buffer. Should usually
                     be set, unless you are passing to the buffer only part
                     of the text without the full context.</doc>
      </member>
      <member name="eot"
              value="2"
              c:identifier="HB_BUFFER_FLAG_EOT"
              glib:nick="eot"
              glib:name="HB_BUFFER_FLAG_EOT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="353">flag indicating that special handling of the end of text
                     paragraph can be applied to this buffer, similar to
                     @HB_BUFFER_FLAG_BOT.</doc>
      </member>
      <member name="preserve_default_ignorables"
              value="4"
              c:identifier="HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES"
              glib:nick="preserve-default-ignorables"
              glib:name="HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="356">flag indication that character with Default_Ignorable
                     Unicode property should use the corresponding glyph
                     from the font, instead of hiding them (done by
                     replacing them with the space glyph and zeroing the
                     advance width.)  This flag takes precedence over
                     @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES.</doc>
      </member>
      <member name="remove_default_ignorables"
              value="8"
              c:identifier="HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES"
              glib:nick="remove-default-ignorables"
              glib:name="HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="363">flag indication that character with Default_Ignorable
                     Unicode property should be removed from glyph string
                     instead of hiding them (done by replacing them with the
                     space glyph and zeroing the advance width.)
                     @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES takes
                     precedence over this flag. Since: 1.8.0</doc>
      </member>
      <member name="do_not_insert_dotted_circle"
              value="16"
              c:identifier="HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE"
              glib:nick="do-not-insert-dotted-circle"
              glib:name="HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="370">flag indicating that a dotted circle should
                     not be inserted in the rendering of incorrect
                     character sequences (such at &lt;0905 093E&gt;). Since: 2.4.0</doc>
      </member>
      <member name="verify"
              value="32"
              c:identifier="HB_BUFFER_FLAG_VERIFY"
              glib:nick="verify"
              glib:name="HB_BUFFER_FLAG_VERIFY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="374">flag indicating that the hb_shape() call and its variants
                     should perform various verification processes on the results
                     of the shaping operation on the buffer.  If the verification
                     fails, then either a buffer message is sent, if a message
                     handler is installed on the buffer, or a message is written
                     to standard error.  In either case, the shaping result might
                     be modified to show the failed output. Since: 3.4.0</doc>
      </member>
      <member name="produce_unsafe_to_concat"
              value="64"
              c:identifier="HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT"
              glib:nick="produce-unsafe-to-concat"
              glib:name="HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="382">flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
                     glyph-flag should be produced by the shaper. By default
                     it will not be produced since it incurs a cost. Since: 4.0.0</doc>
      </member>
      <member name="produce_safe_to_insert_tatweel"
              value="128"
              c:identifier="HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL"
              glib:nick="produce-safe-to-insert-tatweel"
              glib:name="HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="386">flag indicating that the @HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
                     glyph-flag should be produced by the shaper. By default
                     it will not be produced. Since: 5.1.0</doc>
      </member>
      <member name="defined"
              value="255"
              c:identifier="HB_BUFFER_FLAG_DEFINED"
              glib:nick="defined"
              glib:name="HB_BUFFER_FLAG_DEFINED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="390">All currently defined flags: Since: 4.4.0</doc>
      </member>
    </bitfield>
    <function name="buffer_get_cluster_level"
              c:identifier="hb_buffer_get_cluster_level">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="516"/>
      <return-value transfer-ownership="none">
        <type name="buffer_cluster_level_t"
              c:type="hb_buffer_cluster_level_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_content_type"
              c:identifier="hb_buffer_get_content_type">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="302"/>
      <return-value transfer-ownership="none">
        <type name="buffer_content_type_t" c:type="hb_buffer_content_type_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_direction"
              c:identifier="hb_buffer_get_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="317"/>
      <return-value transfer-ownership="none">
        <type name="direction_t" c:type="hb_direction_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_empty" c:identifier="hb_buffer_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="263"/>
      <return-value transfer-ownership="full">
        <type name="buffer_t" c:type="hb_buffer_t*"/>
      </return-value>
    </function>
    <function name="buffer_get_flags" c:identifier="hb_buffer_get_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="415"/>
      <return-value transfer-ownership="none">
        <type name="buffer_flags_t" c:type="hb_buffer_flags_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_glyph_infos"
              c:identifier="hb_buffer_get_glyph_infos">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="647"/>
      <return-value transfer-ownership="full">
        <type name="glyph_info_t" c:type="hb_glyph_info_t*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_glyph_positions"
              c:identifier="hb_buffer_get_glyph_positions">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="651"/>
      <return-value transfer-ownership="full">
        <type name="glyph_position_t" c:type="hb_glyph_position_t*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_invisible_glyph"
              c:identifier="hb_buffer_get_invisible_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="540"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_language"
              c:identifier="hb_buffer_get_language"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="332"/>
      <return-value>
        <type name="language_t" c:type="hb_language_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_length" c:identifier="hb_buffer_get_length">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="642"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_not_found_glyph"
              c:identifier="hb_buffer_get_not_found_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="547"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_not_found_variation_selector_glyph"
              c:identifier="hb_buffer_get_not_found_variation_selector_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="554"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_random_state"
              c:identifier="hb_buffer_get_random_state">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="561"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_replacement_codepoint"
              c:identifier="hb_buffer_get_replacement_codepoint">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="533"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_script" c:identifier="hb_buffer_get_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="324"/>
      <return-value transfer-ownership="none">
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_segment_properties"
              c:identifier="hb_buffer_get_segment_properties">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="339"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
        <parameter name="props" transfer-ownership="none">
          <type name="segment_properties_t" c:type="hb_segment_properties_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_unicode_funcs"
              c:identifier="hb_buffer_get_unicode_funcs">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="310"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_user_data"
              c:identifier="hb_buffer_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="279"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="const hb_buffer_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_guess_segment_properties"
              c:identifier="hb_buffer_guess_segment_properties">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="343"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_has_positions"
              c:identifier="hb_buffer_has_positions">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="655"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="buffer_message_func_t"
              c:type="hb_buffer_message_func_t"
              version="1.1.3">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="841">A callback method for #hb_buffer_t. The method gets called with the
#hb_buffer_t it was set on, the #hb_font_t the buffer is shaped with and a
message describing what step of the shaping process will be performed.
Returning `false` from this method will skip this shaping step and move to
the next one.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="858"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="854">`true` to perform the shaping step, `false` to skip it.</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="843">An #hb_buffer_t to work upon</doc>
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="844">The #hb_font_t the @buffer is shaped with</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="845">`NULL`-terminated message passed to the function</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-buffer.h"
               line="846">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="buffer_normalize_glyphs"
              c:identifier="hb_buffer_normalize_glyphs">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="659"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_pre_allocate" c:identifier="hb_buffer_pre_allocate">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="571"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_reference" c:identifier="hb_buffer_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="266"/>
      <return-value transfer-ownership="full">
        <type name="buffer_t" c:type="hb_buffer_t*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_reset" c:identifier="hb_buffer_reset">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="259"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_reverse" c:identifier="hb_buffer_reverse">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="579"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_reverse_clusters"
              c:identifier="hb_buffer_reverse_clusters">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="586"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_reverse_range"
              c:identifier="hb_buffer_reverse_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="582"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_serialize" c:identifier="hb_buffer_serialize">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="742"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="buf_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="buf_consumed" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="buffer_serialize_format_t"
                c:type="hb_buffer_serialize_format_t"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="buffer_serialize_flags_t"
                c:type="hb_buffer_serialize_flags_t"/>
        </parameter>
      </parameters>
    </function>
    <bitfield name="buffer_serialize_flags_t"
              version="0.9.20"
              glib:type-name="hb_buffer_serialize_flags_t"
              glib:get-type="hb_gobject_buffer_serialize_flags_get_type"
              c:type="hb_buffer_serialize_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="666">Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().</doc>
      <member name="default"
              value="0"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_DEFAULT"
              glib:nick="default"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_DEFAULT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="668">serialize glyph names, clusters and positions.</doc>
      </member>
      <member name="no_clusters"
              value="1"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS"
              glib:nick="no-clusters"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="669">do not serialize glyph cluster.</doc>
      </member>
      <member name="no_positions"
              value="2"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS"
              glib:nick="no-positions"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="670">do not serialize glyph position information.</doc>
      </member>
      <member name="no_glyph_names"
              value="4"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES"
              glib:nick="no-glyph-names"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="671">do no serialize glyph name.</doc>
      </member>
      <member name="glyph_extents"
              value="8"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS"
              glib:nick="glyph-extents"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="672">serialize glyph extents.</doc>
      </member>
      <member name="glyph_flags"
              value="16"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS"
              glib:nick="glyph-flags"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="673">serialize glyph flags. Since: 1.5.0</doc>
      </member>
      <member name="no_advances"
              value="32"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES"
              glib:nick="no-advances"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="674">do not serialize glyph advances,
 glyph offsets will reflect absolute glyph positions. Since: 1.8.0</doc>
      </member>
      <member name="defined"
              value="63"
              c:identifier="HB_BUFFER_SERIALIZE_FLAG_DEFINED"
              glib:nick="defined"
              glib:name="HB_BUFFER_SERIALIZE_FLAG_DEFINED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="676">All currently defined flags. Since: 4.4.0</doc>
      </member>
    </bitfield>
    <function name="buffer_serialize_format_from_string"
              c:identifier="hb_buffer_serialize_format_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="712"/>
      <return-value transfer-ownership="none">
        <type name="buffer_serialize_format_t"
              c:type="hb_buffer_serialize_format_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="buffer_serialize_format_t"
                 version="0.9.2"
                 glib:type-name="hb_buffer_serialize_format_t"
                 glib:get-type="hb_gobject_buffer_serialize_format_get_type"
                 c:type="hb_buffer_serialize_format_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="694">The buffer serialization and de-serialization format used in
hb_buffer_serialize_glyphs() and hb_buffer_deserialize_glyphs().</doc>
      <member name="text"
              value="1413830740"
              c:identifier="HB_BUFFER_SERIALIZE_FORMAT_TEXT"
              glib:nick="text"
              glib:name="HB_BUFFER_SERIALIZE_FORMAT_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="696">a human-readable, plain text format.</doc>
      </member>
      <member name="json"
              value="1246973774"
              c:identifier="HB_BUFFER_SERIALIZE_FORMAT_JSON"
              glib:nick="json"
              glib:name="HB_BUFFER_SERIALIZE_FORMAT_JSON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="697">a machine-readable JSON format.</doc>
      </member>
      <member name="invalid"
              value="0"
              c:identifier="HB_BUFFER_SERIALIZE_FORMAT_INVALID"
              glib:nick="invalid"
              glib:name="HB_BUFFER_SERIALIZE_FORMAT_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="698">invalid format.</doc>
      </member>
    </enumeration>
    <function name="buffer_serialize_format_to_string"
              c:identifier="hb_buffer_serialize_format_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="715"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="buffer_serialize_format_t"
                c:type="hb_buffer_serialize_format_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_serialize_glyphs"
              c:identifier="hb_buffer_serialize_glyphs">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="721"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="buf_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="buf_consumed" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="buffer_serialize_format_t"
                c:type="hb_buffer_serialize_format_t"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="buffer_serialize_flags_t"
                c:type="hb_buffer_serialize_flags_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_serialize_list_formats"
              c:identifier="hb_buffer_serialize_list_formats"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="718"/>
      <return-value>
        <array c:type="const char**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="buffer_serialize_unicode"
              c:identifier="hb_buffer_serialize_unicode">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="732"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="buf_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="buf_consumed" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="buffer_serialize_format_t"
                c:type="hb_buffer_serialize_format_t"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="buffer_serialize_flags_t"
                c:type="hb_buffer_serialize_flags_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_cluster_level"
              c:identifier="hb_buffer_set_cluster_level">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="512"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="cluster_level" transfer-ownership="none">
          <type name="buffer_cluster_level_t"
                c:type="hb_buffer_cluster_level_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_content_type"
              c:identifier="hb_buffer_set_content_type">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="298"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="content_type" transfer-ownership="none">
          <type name="buffer_content_type_t"
                c:type="hb_buffer_content_type_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_direction"
              c:identifier="hb_buffer_set_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="313"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_flags" c:identifier="hb_buffer_set_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="411"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="buffer_flags_t" c:type="hb_buffer_flags_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_invisible_glyph"
              c:identifier="hb_buffer_set_invisible_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="536"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="invisible" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_language" c:identifier="hb_buffer_set_language">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="327"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_length" c:identifier="hb_buffer_set_length">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="638"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_message_func"
              c:identifier="hb_buffer_set_message_func"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="864"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="buffer_message_func_t"
                c:type="hb_buffer_message_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_not_found_glyph"
              c:identifier="hb_buffer_set_not_found_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="543"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="not_found" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_not_found_variation_selector_glyph"
              c:identifier="hb_buffer_set_not_found_variation_selector_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="550"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="not_found_variation_selector"
                   transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_random_state"
              c:identifier="hb_buffer_set_random_state">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="557"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_replacement_codepoint"
              c:identifier="hb_buffer_set_replacement_codepoint">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="529"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="replacement" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_script" c:identifier="hb_buffer_set_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="320"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_segment_properties"
              c:identifier="hb_buffer_set_segment_properties">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="335"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="props" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_unicode_funcs"
              c:identifier="hb_buffer_set_unicode_funcs">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="306"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="unicode_funcs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_set_user_data"
              c:identifier="hb_buffer_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="272"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="buffer_t"
            c:type="hb_buffer_t"
            opaque="1"
            glib:type-name="hb_buffer_t"
            glib:get-type="hb_gobject_buffer_get_type"
            c:symbol-prefix="gobject_buffer">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="243">The main structure holding the input text and its properties before shaping,
and output glyphs and their information after shaping.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="250"/>
    </record>
    <function name="calloc" c:identifier="hb_calloc">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="956"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="nmemb" transfer-ownership="none">
          <type name="gsize" c:type="size_t"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="gsize" c:type="size_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_get_alpha" c:identifier="hb_color_get_alpha">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="911"/>
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="uint8_t"/>
      </return-value>
      <parameters>
        <parameter name="color" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_get_blue" c:identifier="hb_color_get_blue">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="923"/>
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="uint8_t"/>
      </return-value>
      <parameters>
        <parameter name="color" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_get_green" c:identifier="hb_color_get_green">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="919"/>
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="uint8_t"/>
      </return-value>
      <parameters>
        <parameter name="color" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_get_red" c:identifier="hb_color_get_red">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="915"/>
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="uint8_t"/>
      </return-value>
      <parameters>
        <parameter name="color" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="color_line_get_color_stops"
              c:identifier="hb_color_line_get_color_stops">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="430"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="color_line" transfer-ownership="none">
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="color_stops" transfer-ownership="none">
          <type name="color_stop_t" c:type="hb_color_stop_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="color_line_get_color_stops_func_t"
              c:type="hb_color_line_get_color_stops_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="364">A virtual method for the #hb_color_line_t to fetch color stops.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="380"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="376">the total number of color stops in @color_line</doc>
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="color_line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="366">a #hb_color_line_t object</doc>
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="color_line_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="367">the data accompanying @color_line</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="368">the index of the first color stop to return</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="count"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="369">Input = the maximum number of feature tags to return;
    Output = the actual number of feature tags returned (may be zero)</doc>
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="color_stops"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="371">Array of #hb_color_stop_t to populate</doc>
          <array length="3" zero-terminated="0" c:type="hb_color_stop_t*">
            <type name="color_stop_t" c:type="hb_color_stop_t"/>
          </array>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="372">the data accompanying this method</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="color_line_get_extend"
              c:identifier="hb_color_line_get_extend">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="436"/>
      <return-value transfer-ownership="none">
        <type name="paint_extend_t" c:type="hb_paint_extend_t"/>
      </return-value>
      <parameters>
        <parameter name="color_line" transfer-ownership="none">
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="color_line_get_extend_func_t"
              c:type="hb_color_line_get_extend_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="387">A virtual method for the @hb_color_line_t to fetches the extend mode.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="399"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="395">the extend mode of @color_line</doc>
        <type name="paint_extend_t" c:type="hb_paint_extend_t"/>
      </return-value>
      <parameters>
        <parameter name="color_line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="389">a #hb_color_line_t object</doc>
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="color_line_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="390">the data accompanying @color_line</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="391">the data accompanying this method</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="color_line_t"
            c:type="hb_color_line_t"
            version="7.0.0"
            glib:type-name="hb_color_line_t"
            glib:get-type="hb_gobject_color_line_get_type"
            c:symbol-prefix="gobject_color_line">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="403">A struct containing color information for a gradient.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="427"/>
      <field name="data" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="get_color_stops" writable="1">
        <type name="color_line_get_color_stops_func_t"
              c:type="hb_color_line_get_color_stops_func_t"/>
      </field>
      <field name="get_color_stops_user_data" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="get_extend" writable="1">
        <type name="color_line_get_extend_func_t"
              c:type="hb_color_line_get_extend_func_t"/>
      </field>
      <field name="get_extend_user_data" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved0" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved1" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved2" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved3" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved5" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved6" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved7" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved8" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
    </record>
    <record name="color_stop_t"
            c:type="hb_color_stop_t"
            version="7.0.0"
            glib:type-name="hb_color_stop_t"
            glib:get-type="hb_gobject_color_stop_get_type"
            c:symbol-prefix="gobject_color_stop">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="312">Information about a color stop on a color line.

Color lines typically have offsets ranging between 0 and 1,
but that is not required.

Note: despite @color being unpremultiplied here, interpolation in
gradients shall happen in premultiplied space. See the OpenType spec
[COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
section for details.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="334"/>
      <field name="offset" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="314">the offset of the color stop</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="is_foreground" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="315">whether the color is the foreground</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </field>
      <field name="color" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="316">the color, unpremultiplied</doc>
        <type name="color_t" c:type="hb_color_t"/>
      </field>
    </record>
    <callback name="destroy_func_t" c:type="hb_destroy_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="801">A virtual method for destroy user-data callbacks.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="808"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="0">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-common.h"
               line="803">the data to be destroyed</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="direction_from_string"
              c:identifier="hb_direction_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="247"/>
      <return-value transfer-ownership="none">
        <type name="direction_t" c:type="hb_direction_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="direction_t"
                 glib:type-name="hb_direction_t"
                 glib:get-type="hb_gobject_direction_get_type"
                 c:type="hb_direction_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="222">The direction of a text segment or buffer.

A segment can also be tested for horizontal or vertical
orientation (irrespective of specific direction) with
HB_DIRECTION_IS_HORIZONTAL() or HB_DIRECTION_IS_VERTICAL().</doc>
      <member name="invalid"
              value="0"
              c:identifier="HB_DIRECTION_INVALID"
              glib:nick="invalid"
              glib:name="HB_DIRECTION_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="224">Initial, unset direction.</doc>
      </member>
      <member name="ltr"
              value="4"
              c:identifier="HB_DIRECTION_LTR"
              glib:nick="ltr"
              glib:name="HB_DIRECTION_LTR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="225">Text is set horizontally from left to right.</doc>
      </member>
      <member name="rtl"
              value="5"
              c:identifier="HB_DIRECTION_RTL"
              glib:nick="rtl"
              glib:name="HB_DIRECTION_RTL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="226">Text is set horizontally from right to left.</doc>
      </member>
      <member name="ttb"
              value="6"
              c:identifier="HB_DIRECTION_TTB"
              glib:nick="ttb"
              glib:name="HB_DIRECTION_TTB">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="227">Text is set vertically from top to bottom.</doc>
      </member>
      <member name="btt"
              value="7"
              c:identifier="HB_DIRECTION_BTT"
              glib:nick="btt"
              glib:name="HB_DIRECTION_BTT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="228">Text is set vertically from bottom to top.</doc>
      </member>
    </enumeration>
    <function name="direction_to_string" c:identifier="hb_direction_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="250"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_close_path" c:identifier="hb_draw_close_path">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="342"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="draw_close_path_func_t"
              c:type="hb_draw_close_path_func_t"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="189">A virtual method for the #hb_draw_funcs_t to perform a "close-path" draw
operation.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="202"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="191">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="192">The data accompanying the draw functions in hb_font_draw_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="193">current draw state</doc>
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="194">User data pointer passed to hb_draw_funcs_set_close_path_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="draw_cubic_to" c:identifier="hb_draw_cubic_to">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="335"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="control1_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control1_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control2_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control2_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="draw_cubic_to_func_t"
              c:type="hb_draw_cubic_to_func_t"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="163">A virtual method for the #hb_draw_funcs_t to perform a "cubic-to" draw
operation.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="182"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="165">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="166">The data accompanying the draw functions in hb_font_draw_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="167">current draw state</doc>
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="control1_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="168">X component of first control point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control1_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="169">Y component of first control point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control2_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="170">X component of second control point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control2_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="171">Y component of second control point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="172">X component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="173">Y component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="9">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="174">User data pointer passed to hb_draw_funcs_set_cubic_to_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="draw_funcs_create" c:identifier="hb_draw_funcs_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="288"/>
      <return-value transfer-ownership="full">
        <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
      </return-value>
    </function>
    <function name="draw_funcs_destroy" c:identifier="hb_draw_funcs_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="297"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_get_empty"
              c:identifier="hb_draw_funcs_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="291"/>
      <return-value transfer-ownership="full">
        <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
      </return-value>
    </function>
    <function name="draw_funcs_get_user_data"
              c:identifier="hb_draw_funcs_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="308"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="const hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_is_immutable"
              c:identifier="hb_draw_funcs_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="315"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_make_immutable"
              c:identifier="hb_draw_funcs_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="312"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_reference"
              c:identifier="hb_draw_funcs_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="294"/>
      <return-value transfer-ownership="full">
        <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_set_close_path_func"
              c:identifier="hb_draw_funcs_set_close_path_func"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="270">Sets close-path callback to the draw functions object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="282"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="272">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="273">close-path callback</doc>
          <type name="draw_close_path_func_t"
                c:type="hb_draw_close_path_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="274">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="275">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_set_cubic_to_func"
              c:identifier="hb_draw_funcs_set_cubic_to_func"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="254">Sets cubic-to callback to the draw functions object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="266"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="256">draw functions</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="257">cubic-to callback</doc>
          <type name="draw_cubic_to_func_t" c:type="hb_draw_cubic_to_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="258">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="259">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_set_line_to_func"
              c:identifier="hb_draw_funcs_set_line_to_func"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="222">Sets line-to callback to the draw functions object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="234"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="224">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="225">line-to callback</doc>
          <type name="draw_line_to_func_t" c:type="hb_draw_line_to_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="226">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="227">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_set_move_to_func"
              c:identifier="hb_draw_funcs_set_move_to_func"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="206">Sets move-to callback to the draw functions object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="218"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="208">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="209">move-to callback</doc>
          <type name="draw_move_to_func_t" c:type="hb_draw_move_to_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="210">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="211">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_set_quadratic_to_func"
              c:identifier="hb_draw_funcs_set_quadratic_to_func"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="238">Sets quadratic-to callback to the draw functions object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="250"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="240">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="241">quadratic-to callback</doc>
          <type name="draw_quadratic_to_func_t"
                c:type="hb_draw_quadratic_to_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="242">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="243">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="draw_funcs_set_user_data"
              c:identifier="hb_draw_funcs_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="300"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="draw_funcs_t"
            c:type="hb_draw_funcs_t"
            opaque="1"
            version="4.0.0"
            glib:type-name="hb_draw_funcs_t"
            glib:get-type="hb_gobject_draw_funcs_get_type"
            c:symbol-prefix="gobject_draw_funcs">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="84">Glyph draw callbacks.

#hb_draw_move_to_func_t, #hb_draw_line_to_func_t and
#hb_draw_cubic_to_func_t calls are necessary to be defined but we translate
#hb_draw_quadratic_to_func_t calls to #hb_draw_cubic_to_func_t if the
callback isn't defined.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="97"/>
    </record>
    <function name="draw_line_to" c:identifier="hb_draw_line_to">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="324"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="draw_line_to_func_t"
              c:type="hb_draw_line_to_func_t"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="120">A virtual method for the #hb_draw_funcs_t to perform a "line-to" draw
operation.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="135"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="122">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="123">The data accompanying the draw functions in hb_font_draw_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="124">current draw state</doc>
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="125">X component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="126">Y component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="127">User data pointer passed to hb_draw_funcs_set_line_to_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="draw_move_to" c:identifier="hb_draw_move_to">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="319"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="draw_move_to_func_t"
              c:type="hb_draw_move_to_func_t"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="100">A virtual method for the #hb_draw_funcs_t to perform a "move-to" draw
operation.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="115"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="102">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="103">The data accompanying the draw functions in hb_font_draw_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="104">current draw state</doc>
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="105">X component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="106">Y component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="107">User data pointer passed to hb_draw_funcs_set_move_to_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="draw_quadratic_to" c:identifier="hb_draw_quadratic_to">
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="329"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="control_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="draw_quadratic_to_func_t"
              c:type="hb_draw_quadratic_to_func_t"
              version="4.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="140">A virtual method for the #hb_draw_funcs_t to perform a "quadratic-to" draw
operation.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="157"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dfuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="142">draw functions object</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="143">The data accompanying the draw functions in hb_font_draw_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="st" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="144">current draw state</doc>
          <type name="draw_state_t" c:type="hb_draw_state_t*"/>
        </parameter>
        <parameter name="control_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="145">X component of control point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="control_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="146">Y component of control point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="147">X component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="to_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="148">Y component of target point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="7">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-draw.h"
               line="149">User data pointer passed to hb_draw_funcs_set_quadratic_to_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="draw_state_t"
            c:type="hb_draw_state_t"
            version="4.0.0"
            glib:type-name="hb_draw_state_t"
            glib:get-type="hb_gobject_draw_state_get_type"
            c:symbol-prefix="gobject_draw_state">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-draw.h"
           line="37">Current drawing state.

The @slant_xy is a slanting factor for synthetic oblique. If the font's
oblique angle is not 0, this factor is used to slant the drawing. For
fonts with uniform x and y scales, this factor is calculated as
tan(oblique_angle). For fonts with non-uniform scales, this factor is
calculated as tan(oblique_angle) * x_scale / y_scale, or 0 if y_scale is 0.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-draw.h" line="74"/>
      <field name="path_open" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-draw.h"
             line="39">Whether there is an open path</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </field>
      <field name="path_start_x" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-draw.h"
             line="40">X component of the start of current path</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="path_start_y" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-draw.h"
             line="41">Y component of the start of current path</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="current_x" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-draw.h"
             line="42">X component of current point</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="current_y" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-draw.h"
             line="43">Y component of current point</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="slant_xy" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-draw.h"
             line="44">Slanting factor for synthetic oblique</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="reserved1" readable="0" private="1">
        <type name="var_num_t" c:type="hb_var_num_t"/>
      </field>
      <field name="reserved2" readable="0" private="1">
        <type name="var_num_t" c:type="hb_var_num_t"/>
      </field>
      <field name="reserved3" readable="0" private="1">
        <type name="var_num_t" c:type="hb_var_num_t"/>
      </field>
      <field name="reserved4" readable="0" private="1">
        <type name="var_num_t" c:type="hb_var_num_t"/>
      </field>
      <field name="reserved5" readable="0" private="1">
        <type name="var_num_t" c:type="hb_var_num_t"/>
      </field>
      <field name="reserved6" readable="0" private="1">
        <type name="var_num_t" c:type="hb_var_num_t"/>
      </field>
    </record>
    <function name="face_builder_add_table"
              c:identifier="hb_face_builder_add_table">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="231"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_builder_create" c:identifier="hb_face_builder_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="228"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
    </function>
    <function name="face_builder_sort_tables"
              c:identifier="hb_face_builder_sort_tables">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="236"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="tags" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_collect_nominal_glyph_mapping"
              c:identifier="hb_face_collect_nominal_glyph_mapping">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="209"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="mapping" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
        <parameter name="unicodes" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_collect_unicodes"
              c:identifier="hb_face_collect_unicodes">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="205"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_collect_variation_selectors"
              c:identifier="hb_face_collect_variation_selectors">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="214"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_collect_variation_unicodes"
              c:identifier="hb_face_collect_variation_unicodes">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="218"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="variation_selector" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_count" c:identifier="hb_face_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="43"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_create" c:identifier="hb_face_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="59"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_create_for_tables"
              c:identifier="hb_face_create_for_tables"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="106"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="reference_table_func"
                   transfer-ownership="none"
                   closure="1">
          <type name="reference_table_func_t"
                c:type="hb_reference_table_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_create_from_file_or_fail"
              c:identifier="hb_face_create_from_file_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="72"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_create_from_file_or_fail_using"
              c:identifier="hb_face_create_from_file_or_fail_using">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="76"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="loader_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_create_or_fail" c:identifier="hb_face_create_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="63"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_create_or_fail_using"
              c:identifier="hb_face_create_or_fail_using">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="67"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="loader_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_destroy" c:identifier="hb_face_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="117"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_get_empty" c:identifier="hb_face_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="111"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
    </function>
    <function name="face_get_glyph_count"
              c:identifier="hb_face_get_glyph_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="163"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_get_index" c:identifier="hb_face_get_index">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="149"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_get_table_tags" c:identifier="hb_face_get_table_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="194"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="table_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="table_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_get_upem" c:identifier="hb_face_get_upem">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="156"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_get_user_data" c:identifier="hb_face_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="127"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_is_immutable" c:identifier="hb_face_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="134"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_list_loaders"
              c:identifier="hb_face_list_loaders"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="81"/>
      <return-value>
        <array c:type="const char**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="face_make_immutable" c:identifier="hb_face_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="131"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_reference" c:identifier="hb_face_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="114"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_reference_blob" c:identifier="hb_face_reference_blob">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="142"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_reference_table"
              c:identifier="hb_face_reference_table">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="138"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_set_get_table_tags_func"
              c:identifier="hb_face_set_get_table_tags_func"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="188"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="get_table_tags_func_t"
                c:type="hb_get_table_tags_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_set_glyph_count"
              c:identifier="hb_face_set_glyph_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="159"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_set_index" c:identifier="hb_face_set_index">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="145"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_set_upem" c:identifier="hb_face_set_upem">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="152"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="upem" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="face_set_user_data"
              c:identifier="hb_face_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="120"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="face_t"
            c:type="hb_face_t"
            opaque="1"
            glib:type-name="hb_face_t"
            glib:get-type="hb_gobject_face_get_type"
            c:symbol-prefix="gobject_face">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-face.h"
           line="50">Data type for holding font faces.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="56"/>
    </record>
    <function name="feature_from_string" c:identifier="hb_feature_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="856"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="feature" transfer-ownership="none">
          <type name="feature_t" c:type="hb_feature_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="feature_t"
            c:type="hb_feature_t"
            glib:type-name="hb_feature_t"
            glib:get-type="hb_gobject_feature_get_type"
            c:symbol-prefix="gobject_feature">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="833">The #hb_feature_t is the structure that holds information about requested
feature application. The feature will be applied with the given value to all
glyphs which are in clusters between @start (inclusive) and @end (exclusive).
Setting start to #HB_FEATURE_GLOBAL_START and end to #HB_FEATURE_GLOBAL_END
specifies that the feature always applies to the entire buffer.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="853"/>
      <field name="tag" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="835">The #hb_tag_t tag of the feature</doc>
        <type name="tag_t" c:type="hb_tag_t"/>
      </field>
      <field name="value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="836">The value of the feature. 0 disables the feature, non-zero (usually
1) enables the feature.  For features implemented as lookup type 3 (like
'salt') the @value is a one based index into the alternates.</doc>
        <type name="guint32" c:type="uint32_t"/>
      </field>
      <field name="start" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="839">the cluster to start applying this feature setting (inclusive).</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="end" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="840">the cluster to end applying this feature setting (exclusive).</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <method name="_string"
              c:identifier="hb_feature_to_string"
              moved-to="feature_to_string">
        <source-position filename="harfbuzz-11.0.0/src/hb-common.h"
                         line="860"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="feature" transfer-ownership="none">
            <type name="feature_t" c:type="hb_feature_t*"/>
          </instance-parameter>
          <parameter name="buf" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <function name="feature_to_string" c:identifier="hb_feature_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="860"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="feature" transfer-ownership="none">
          <type name="feature_t" c:type="hb_feature_t*"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_add_glyph_origin_for_direction"
              c:identifier="hb_font_add_glyph_origin_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="943"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_changed" c:identifier="hb_font_changed">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1026"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_create" c:identifier="hb_font_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="990"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_create_sub_font"
              c:identifier="hb_font_create_sub_font">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="993"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_destroy" c:identifier="hb_font_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1002"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_draw_glyph" c:identifier="hb_font_draw_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="900"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_draw_glyph_func_t"
              c:type="hb_font_draw_glyph_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="488">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="502"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="490">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="491">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="492">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="draw_funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="493">The draw functions to send the shape data to</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="494">The data accompanying the draw functions</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="495">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="font_extents_t" c:type="hb_font_extents_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="94">Font-wide extent values, measured in font units.

Note that typically @ascender is positive and @descender
negative, in coordinate systems that grow up.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="119"/>
      <field name="ascender" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="96">The height of typographic ascenders.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="descender" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="97">The depth of typographic descenders.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="line_gap" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="98">The suggested line-spacing gap.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved9" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved8" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved7" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved6" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved5" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved4" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved3" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved2" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="reserved1" readable="0" private="1">
        <type name="position_t" c:type="hb_position_t"/>
      </field>
    </record>
    <function name="font_funcs_create" c:identifier="hb_font_funcs_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="61"/>
      <return-value transfer-ownership="full">
        <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
      </return-value>
    </function>
    <function name="font_funcs_destroy" c:identifier="hb_font_funcs_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="70"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_get_empty"
              c:identifier="hb_font_funcs_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="64"/>
      <return-value transfer-ownership="full">
        <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
      </return-value>
    </function>
    <function name="font_funcs_get_user_data"
              c:identifier="hb_font_funcs_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="81"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="const hb_font_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_is_immutable"
              c:identifier="hb_font_funcs_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="89"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_make_immutable"
              c:identifier="hb_font_funcs_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="86"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_reference"
              c:identifier="hb_font_funcs_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="67"/>
      <return-value transfer-ownership="full">
        <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_draw_glyph_func"
              c:identifier="hb_font_funcs_set_draw_glyph_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="787">Sets the implementation function for #hb_font_draw_glyph_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="799"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="789">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="790">The callback function to assign</doc>
          <type name="font_draw_glyph_func_t"
                c:type="hb_font_draw_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="791">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="792">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_font_h_extents_func"
              c:identifier="hb_font_funcs_set_font_h_extents_func"
              version="1.1.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="531">Sets the implementation function for #hb_font_get_font_h_extents_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="543"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="533">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="534">The callback function to assign</doc>
          <type name="font_get_font_h_extents_func_t"
                c:type="hb_font_get_font_h_extents_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="535">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="536">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_font_v_extents_func"
              c:identifier="hb_font_funcs_set_font_v_extents_func"
              version="1.1.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="547">Sets the implementation function for #hb_font_get_font_v_extents_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="559"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="549">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="550">The callback function to assign</doc>
          <type name="font_get_font_v_extents_func_t"
                c:type="hb_font_get_font_v_extents_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="551">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="552">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_contour_point_func"
              c:identifier="hb_font_funcs_set_glyph_contour_point_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="739">Sets the implementation function for #hb_font_get_glyph_contour_point_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="751"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="741">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="742">The callback function to assign</doc>
          <type name="font_get_glyph_contour_point_func_t"
                c:type="hb_font_get_glyph_contour_point_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="743">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="744">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_extents_func"
              c:identifier="hb_font_funcs_set_glyph_extents_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="723">Sets the implementation function for #hb_font_get_glyph_extents_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="735"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="725">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="726">The callback function to assign</doc>
          <type name="font_get_glyph_extents_func_t"
                c:type="hb_font_get_glyph_extents_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="727">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="728">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_from_name_func"
              c:identifier="hb_font_funcs_set_glyph_from_name_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="771">Sets the implementation function for #hb_font_get_glyph_from_name_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="783"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="773">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="774">The callback function to assign</doc>
          <type name="font_get_glyph_from_name_func_t"
                c:type="hb_font_get_glyph_from_name_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="775">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="776">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_func"
              c:identifier="hb_font_funcs_set_glyph_func"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="107"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="font_get_glyph_func_t"
                c:type="hb_font_get_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_h_advance_func"
              c:identifier="hb_font_funcs_set_glyph_h_advance_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="611">Sets the implementation function for #hb_font_get_glyph_h_advance_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="623"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="613">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="614">The callback function to assign</doc>
          <type name="font_get_glyph_h_advance_func_t"
                c:type="hb_font_get_glyph_h_advance_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="615">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="616">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_h_advances_func"
              c:identifier="hb_font_funcs_set_glyph_h_advances_func"
              version="1.8.6">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="643">Sets the implementation function for #hb_font_get_glyph_h_advances_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="655"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="645">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="646">The callback function to assign</doc>
          <type name="font_get_glyph_h_advances_func_t"
                c:type="hb_font_get_glyph_h_advances_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="647">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="648">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_h_kerning_func"
              c:identifier="hb_font_funcs_set_glyph_h_kerning_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="707">Sets the implementation function for #hb_font_get_glyph_h_kerning_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="719"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="709">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="710">The callback function to assign</doc>
          <type name="font_get_glyph_h_kerning_func_t"
                c:type="hb_font_get_glyph_h_kerning_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="711">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="712">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_h_origin_func"
              c:identifier="hb_font_funcs_set_glyph_h_origin_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="675">Sets the implementation function for #hb_font_get_glyph_h_origin_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="687"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="677">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="678">The callback function to assign</doc>
          <type name="font_get_glyph_h_origin_func_t"
                c:type="hb_font_get_glyph_h_origin_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="679">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="680">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_name_func"
              c:identifier="hb_font_funcs_set_glyph_name_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="755">Sets the implementation function for #hb_font_get_glyph_name_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="767"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="757">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="758">The callback function to assign</doc>
          <type name="font_get_glyph_name_func_t"
                c:type="hb_font_get_glyph_name_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="759">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="760">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_shape_func"
              c:identifier="hb_font_funcs_set_glyph_shape_func"
              version="4.0.0"
              deprecated="1"
              deprecated-version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="278">Sets the implementation function for #hb_font_get_glyph_shape_func_t,
which is the same as #hb_font_draw_glyph_func_t.</doc>
      <doc-deprecated xml:space="preserve">Use hb_font_funcs_set_draw_glyph_func() instead</doc-deprecated>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="293"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="280">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="281">The callback function to assign</doc>
          <type name="font_get_glyph_shape_func_t"
                c:type="hb_font_get_glyph_shape_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="282">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="283">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_v_advance_func"
              c:identifier="hb_font_funcs_set_glyph_v_advance_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="627">Sets the implementation function for #hb_font_get_glyph_v_advance_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="639"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="629">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="630">The callback function to assign</doc>
          <type name="font_get_glyph_v_advance_func_t"
                c:type="hb_font_get_glyph_v_advance_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="631">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="632">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_v_advances_func"
              c:identifier="hb_font_funcs_set_glyph_v_advances_func"
              version="1.8.6">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="659">Sets the implementation function for #hb_font_get_glyph_v_advances_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="671"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="661">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="662">The callback function to assign</doc>
          <type name="font_get_glyph_v_advances_func_t"
                c:type="hb_font_get_glyph_v_advances_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="663">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="664">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_v_kerning_func"
              c:identifier="hb_font_funcs_set_glyph_v_kerning_func"
              version="0.9.2"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="237">Sets the implementation function for #hb_font_get_glyph_v_kerning_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="250"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="239">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="240">The callback function to assign</doc>
          <type name="font_get_glyph_v_kerning_func_t"
                c:type="hb_font_get_glyph_v_kerning_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="241">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="242">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_glyph_v_origin_func"
              c:identifier="hb_font_funcs_set_glyph_v_origin_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="691">Sets the implementation function for #hb_font_get_glyph_v_origin_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="703"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="693">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="694">The callback function to assign</doc>
          <type name="font_get_glyph_v_origin_func_t"
                c:type="hb_font_get_glyph_v_origin_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="695">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="696">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_nominal_glyph_func"
              c:identifier="hb_font_funcs_set_nominal_glyph_func"
              version="1.2.3">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="563">Sets the implementation function for #hb_font_get_nominal_glyph_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="575"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="565">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="566">The callback function to assign</doc>
          <type name="font_get_nominal_glyph_func_t"
                c:type="hb_font_get_nominal_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="567">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="568">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_nominal_glyphs_func"
              c:identifier="hb_font_funcs_set_nominal_glyphs_func"
              version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="579">Sets the implementation function for #hb_font_get_nominal_glyphs_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="591"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="581">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="582">The callback function to assign</doc>
          <type name="font_get_nominal_glyphs_func_t"
                c:type="hb_font_get_nominal_glyphs_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="583">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="584">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_paint_glyph_func"
              c:identifier="hb_font_funcs_set_paint_glyph_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="803">Sets the implementation function for #hb_font_paint_glyph_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="815"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="805">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="806">The callback function to assign</doc>
          <type name="font_paint_glyph_func_t"
                c:type="hb_font_paint_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="807">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="808">The function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_user_data"
              c:identifier="hb_font_funcs_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="73"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_funcs_set_variation_glyph_func"
              c:identifier="hb_font_funcs_set_variation_glyph_func"
              version="1.2.3">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="595">Sets the implementation function for #hb_font_get_variation_glyph_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="607"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ffuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="597">A font-function structure</doc>
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="598">The callback function to assign</doc>
          <type name="font_get_variation_glyph_func_t"
                c:type="hb_font_get_variation_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="599">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="600">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="font_funcs_t"
            c:type="hb_font_funcs_t"
            opaque="1"
            glib:type-name="hb_font_funcs_t"
            glib:get-type="hb_gobject_font_funcs_get_type"
            c:symbol-prefix="gobject_font_funcs">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="45">Data type containing a set of virtual methods used for
working on #hb_font_t font objects.

HarfBuzz provides a lightweight default function for each of
the methods in #hb_font_funcs_t. Client programs can implement
their own replacements for the individual font functions, as
needed, and replace the default by calling the setter for a
method.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="58"/>
    </record>
    <function name="font_get_empty" c:identifier="hb_font_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="996"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
    </function>
    <function name="font_get_extents_for_direction"
              c:identifier="hb_font_get_extents_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="921"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="font_extents_t" c:type="hb_font_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_face" c:identifier="hb_font_get_face">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1040"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_font_extents_func_t"
              c:type="hb_font_get_font_extents_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="123">This method should retrieve the extents for a font.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="133"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="125">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="126">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="extents"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="127">The font extents retrieved</doc>
          <type name="font_extents_t" c:type="hb_font_extents_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="128">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph" c:identifier="hb_font_get_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="916"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="variation_selector" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_advance_for_direction"
              c:identifier="hb_font_get_glyph_advance_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="925"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_advance_func_t"
              c:type="hb_font_get_glyph_advance_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="235">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advance for a specified glyph. The
method must return an #hb_position_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="250"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="247">The advance of @glyph within @font</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="237">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="238">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="239">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="240">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_advances_for_direction"
              c:identifier="hb_font_get_glyph_advances_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="930"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyph_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="first_advance" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="advance_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_advances_func_t"
              c:type="hb_font_get_glyph_advances_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="278">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the advances for a sequence of glyphs.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="294"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="280">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="281">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="282">The number of glyph IDs in the sequence queried</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="283">The first glyph ID to query</doc>
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyph_stride" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="284">The stride between successive glyph IDs</doc>
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="first_advance"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="285">The first advance retrieved</doc>
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="advance_stride" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="286">The stride between successive advances</doc>
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="7">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="287">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_contour_point"
              c:identifier="hb_font_get_glyph_contour_point">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="886"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="point_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_contour_point_for_origin"
              c:identifier="hb_font_get_glyph_contour_point_for_origin">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="966"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="point_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_contour_point_func_t"
              c:type="hb_font_get_glyph_contour_point_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="419">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the (X,Y) coordinates (in font units) for a
specified contour point in a glyph. Each coordinate must be returned as
an #hb_position_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="438"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="435">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="421">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="422">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="423">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="point_index" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="424">The contour-point index to query</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="x"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="425">The X value retrieved for the contour point</doc>
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="426">The Y value retrieved for the contour point</doc>
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="6">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="427">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_extents"
              c:identifier="hb_font_get_glyph_extents">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="881"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_extents_for_origin"
              c:identifier="hb_font_get_glyph_extents_for_origin">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="960"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_extents_func_t"
              c:type="hb_font_get_glyph_extents_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="398">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the extents for a specified glyph. Extents must be
returned in an #hb_glyph_extents output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="414"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="411">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="400">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="401">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="402">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="extents"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="403">The #hb_glyph_extents_t retrieved</doc>
          <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="404">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_from_name"
              c:identifier="hb_font_get_glyph_from_name">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="895"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_from_name_func_t"
              c:type="hb_font_get_glyph_from_name_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="466">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph ID that corresponds to a glyph-name
string.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="483"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="480">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="468">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="469">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="470">The name string to query</doc>
          <array length="3" zero-terminated="0" c:type="const char*">
            <type name="utf8" c:type="char"/>
          </array>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="471">The length of the name queried</doc>
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="glyph"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="472">The glyph ID retrieved</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="473">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="font_get_glyph_func_t"
              c:type="hb_font_get_glyph_func_t"
              deprecated="1"
              deprecated-version="1.2.3">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="82">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph ID for a specified Unicode code point
font, with an optional variation selector.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="100"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-deprecated.h"
             line="96">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="84">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="85">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="86">The Unicode code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="variation_selector" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="87">The  variation-selector code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="glyph"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="88">The glyph ID retrieved</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="89">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_h_advance"
              c:identifier="hb_font_get_glyph_h_advance">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="846"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_h_advances"
              c:identifier="hb_font_get_glyph_h_advances">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="853"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyph_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="first_advance" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="advance_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_h_kerning"
              c:identifier="hb_font_get_glyph_h_kerning">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="877"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="left_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="right_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_h_origin"
              c:identifier="hb_font_get_glyph_h_origin">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="868"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_kerning_for_direction"
              c:identifier="hb_font_get_glyph_kerning_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="954"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="second_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_kerning_func_t"
              c:type="hb_font_get_glyph_kerning_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="371">This method should retrieve the kerning-adjustment value for a glyph-pair in
the specified font, for horizontal text segments.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="383"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="373">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="374">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="375">The glyph ID of the first glyph in the glyph pair</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="second_glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="376">The glyph ID of the second glyph in the glyph pair</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="377">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_name" c:identifier="hb_font_get_glyph_name">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="891"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_name_func_t"
              c:type="hb_font_get_glyph_name_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="444">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph name that corresponds to a
glyph ID. The name should be returned in a string output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="461"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="458">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="446">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="447">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="448">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="name"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="449">Name string retrieved for the glyph ID</doc>
          <array length="4" zero-terminated="0" c:type="char*">
            <type name="utf8" c:type="char"/>
          </array>
        </parameter>
        <parameter name="size"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="450">Length of the glyph-name string retrieved</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="451">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_origin_for_direction"
              c:identifier="hb_font_get_glyph_origin_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="938"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_origin_func_t"
              c:type="hb_font_get_glyph_origin_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="324">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the (X,Y) coordinates (in font units) of the
origin for a glyph. Each coordinate must be returned in an #hb_position_t
output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="342"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="339">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="326">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="327">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="328">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="x"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="329">The X coordinate of the origin</doc>
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="330">The Y coordinate of the origin</doc>
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="331">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_shape"
              c:identifier="hb_font_get_glyph_shape">
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="299"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="dfuncs" transfer-ownership="none">
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_glyph_shape_func_t"
              c:type="hb_font_get_glyph_shape_func_t"
              version="4.0.0"
              deprecated="1"
              deprecated-version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="259">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.</doc>
      <doc-deprecated xml:space="preserve">Use #hb_font_draw_glyph_func_t instead</doc-deprecated>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="273"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="261">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="262">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="263">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="draw_funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="264">The draw functions to send the shape data to</doc>
          <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/>
        </parameter>
        <parameter name="draw_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="265">The data accompanying the draw functions</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="266">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_glyph_v_advance"
              c:identifier="hb_font_get_glyph_v_advance">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="849"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_v_advances"
              c:identifier="hb_font_get_glyph_v_advances">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="860"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyph_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="first_advance" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="advance_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_v_kerning"
              c:identifier="hb_font_get_glyph_v_kerning">
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="255"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="top_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="bottom_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_glyph_v_origin"
              c:identifier="hb_font_get_glyph_v_origin">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="872"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_h_extents" c:identifier="hb_font_get_h_extents">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="822"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="font_extents_t" c:type="hb_font_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_nominal_glyph"
              c:identifier="hb_font_get_nominal_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="829"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_nominal_glyph_func_t"
              c:type="hb_font_get_nominal_glyph_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="162">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the nominal glyph ID for a specified Unicode code
point. Glyph IDs must be returned in a #hb_codepoint_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="178"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="175">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="164">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="165">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="166">The Unicode code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="glyph"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="167">The glyph ID retrieved</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="168">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_nominal_glyphs"
              c:identifier="hb_font_get_nominal_glyphs">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="838"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_unicode" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="unicode_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyph_stride" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_nominal_glyphs_func_t"
              c:type="hb_font_get_nominal_glyphs_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="207">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the nominal glyph IDs for a sequence of
Unicode code points. Glyph IDs must be returned in a #hb_codepoint_t
output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="227"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="224">the number of code points processed</doc>
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="209">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="210">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="count" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="211">number of code points to query</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="212">The first Unicode code point to query</doc>
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="unicode_stride" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="213">The stride between successive code points</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="first_glyph"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="214">The first glyph ID retrieved</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyph_stride" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="215">The stride between successive glyph IDs</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="7">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="216">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_get_parent" c:identifier="hb_font_get_parent">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1033"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_ppem" c:identifier="hb_font_get_ppem">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1081"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="x_ppem" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="y_ppem" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_ptem" c:identifier="hb_font_get_ptem">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1093"/>
      <return-value transfer-ownership="none">
        <type name="gfloat" c:type="float"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_scale" c:identifier="hb_font_get_scale">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1068"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="x_scale" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="y_scale" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_serial" c:identifier="hb_font_get_serial">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1023"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_synthetic_bold"
              c:identifier="hb_font_get_synthetic_bold">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1101"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="x_embolden" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
        <parameter name="y_embolden" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
        <parameter name="in_place" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_synthetic_slant"
              c:identifier="hb_font_get_synthetic_slant">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1109"/>
      <return-value transfer-ownership="none">
        <type name="gfloat" c:type="float"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_user_data" c:identifier="hb_font_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1013"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="const hb_font_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_v_extents" c:identifier="hb_font_get_v_extents">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="825"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="font_extents_t" c:type="hb_font_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_var_coords_design"
              c:identifier="hb_font_get_var_coords_design">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1127"/>
      <return-value transfer-ownership="none">
        <type name="gfloat" c:type="const float*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_var_coords_normalized"
              c:identifier="hb_font_get_var_coords_normalized">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1136"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="const int*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_var_named_instance"
              c:identifier="hb_font_get_var_named_instance">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1155"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_get_variation_glyph"
              c:identifier="hb_font_get_variation_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="833"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="variation_selector" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_get_variation_glyph_func_t"
              c:type="hb_font_get_variation_glyph_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="183">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.

This method should retrieve the glyph ID for a specified Unicode code point
followed by a specified Variation Selector code point. Glyph IDs must be
returned in a #hb_codepoint_t output parameter.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="201"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-font.h"
             line="198">`true` if data found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="185">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="186">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="187">The Unicode code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="variation_selector" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="188">The  variation-selector code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="glyph"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="189">The glyph ID retrieved</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="190">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_glyph_from_string"
              c:identifier="hb_font_glyph_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="978"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="s" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_glyph_to_string"
              c:identifier="hb_font_glyph_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="973"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="s" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_is_immutable" c:identifier="hb_font_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1020"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_list_funcs"
              c:identifier="hb_font_list_funcs"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1060"/>
      <return-value>
        <array c:type="const char**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="font_make_immutable" c:identifier="hb_font_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1017"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_paint_glyph" c:identifier="hb_font_paint_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="905"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="pfuncs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="palette_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="foreground" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="font_paint_glyph_func_t"
              c:type="hb_font_paint_glyph_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-font.h"
           line="507">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="522"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="509">#hb_font_t to work upon</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="510">@font user data pointer</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="511">The glyph ID to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="paint_funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="512">The paint functions to use</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="513">The data accompanying the paint functions</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="palette_index" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="514">The color palette to use</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="foreground" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="515">The foreground color</doc>
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="7">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-font.h"
               line="516">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="font_reference" c:identifier="hb_font_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="999"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_face" c:identifier="hb_font_set_face">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1036"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_funcs"
              c:identifier="hb_font_set_funcs"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1044"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="klass" transfer-ownership="none">
          <type name="font_funcs_t" c:type="hb_font_funcs_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_funcs_data"
              c:identifier="hb_font_set_funcs_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1051"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="font_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_funcs_using"
              c:identifier="hb_font_set_funcs_using">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1056"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_parent" c:identifier="hb_font_set_parent">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1029"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="parent" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_ppem" c:identifier="hb_font_set_ppem">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1076"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="x_ppem" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="y_ppem" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_ptem" c:identifier="hb_font_set_ptem">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1090"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="ptem" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_scale" c:identifier="hb_font_set_scale">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1063"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="x_scale" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="y_scale" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_synthetic_bold"
              c:identifier="hb_font_set_synthetic_bold">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1096"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="x_embolden" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y_embolden" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="in_place" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_synthetic_slant"
              c:identifier="hb_font_set_synthetic_slant">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1106"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="slant" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_user_data"
              c:identifier="hb_font_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1005"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_var_coords_design"
              c:identifier="hb_font_set_var_coords_design">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1122"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gfloat" c:type="const float*"/>
        </parameter>
        <parameter name="coords_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_var_coords_normalized"
              c:identifier="hb_font_set_var_coords_normalized">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1131"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gint" c:type="const int*"/>
        </parameter>
        <parameter name="coords_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_var_named_instance"
              c:identifier="hb_font_set_var_named_instance">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1151"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="instance_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_variation" c:identifier="hb_font_set_variation">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1117"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_set_variations" c:identifier="hb_font_set_variations">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="1112"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="variations" transfer-ownership="none">
          <type name="variation_t" c:type="const hb_variation_t*"/>
        </parameter>
        <parameter name="variations_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="font_subtract_glyph_origin_for_direction"
              c:identifier="hb_font_subtract_glyph_origin_for_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-font.h" line="948"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="font_t"
            c:type="hb_font_t"
            opaque="1"
            glib:type-name="hb_font_t"
            glib:get-type="hb_gobject_font_get_type"
            c:symbol-prefix="gobject_font">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="944">Data type for holding fonts.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="950"/>
    </record>
    <function name="free" c:identifier="hb_free">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="960"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ptr"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_face_create"
              c:identifier="hb_ft_face_create"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="63"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="ft_face" transfer-ownership="none">
          <type c:type="FT_Face"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_face_create_cached"
              c:identifier="hb_ft_face_create_cached"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="75"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="ft_face" transfer-ownership="none">
          <type c:type="FT_Face"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_face_create_from_blob_or_fail"
              c:identifier="hb_ft_face_create_from_blob_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="92"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="blob" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_face_create_from_file_or_fail"
              c:identifier="hb_ft_face_create_from_file_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="88"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_face_create_referenced"
              c:identifier="hb_ft_face_create_referenced"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="85"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="ft_face" transfer-ownership="none">
          <type c:type="FT_Face"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_changed" c:identifier="hb_ft_font_changed">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="135"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_create"
              c:identifier="hb_ft_font_create"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="109"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
      <parameters>
        <parameter name="ft_face" transfer-ownership="none">
          <type c:type="FT_Face"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_create_referenced"
              c:identifier="hb_ft_font_create_referenced"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="115"/>
      <return-value transfer-ownership="full">
        <type name="font_t" c:type="hb_font_t*"/>
      </return-value>
      <parameters>
        <parameter name="ft_face" transfer-ownership="none">
          <type c:type="FT_Face"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_get_face"
              c:identifier="hb_ft_font_get_face"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="153"/>
      <return-value>
        <type c:type="FT_Face"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_get_ft_face"
              c:identifier="hb_ft_font_get_ft_face"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="118"/>
      <return-value>
        <type c:type="FT_Face"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_get_load_flags"
              c:identifier="hb_ft_font_get_load_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="130"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_lock_face"
              c:identifier="hb_ft_font_lock_face"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="121"/>
      <return-value>
        <type c:type="FT_Face"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_set_funcs" c:identifier="hb_ft_font_set_funcs">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="147"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_set_load_flags"
              c:identifier="hb_ft_font_set_load_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="127"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="load_flags" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_font_unlock_face" c:identifier="hb_ft_font_unlock_face">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="124"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ft_hb_font_changed" c:identifier="hb_ft_hb_font_changed">
      <source-position filename="harfbuzz-11.0.0/src/hb-ft.h" line="141"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="get_table_tags_func_t"
              c:type="hb_get_table_tags_func_t"
              version="10.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-face.h"
           line="166">Callback function for hb_face_get_table_tags().</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="181"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-face.h"
             line="177">Total number of tables, or zero if it is not possible to list</doc>
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="168">A face object</doc>
          <type name="face_t" c:type="const hb_face_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="169">The index of first table tag to retrieve</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="table_count"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="170">Input = the maximum number of table tags to return;
               Output = the actual number of table tags returned (may be zero)</doc>
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="table_tags"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="172">The array of table tags found</doc>
          <array length="2" zero-terminated="0" c:type="hb_tag_t*">
            <type name="tag_t" c:type="hb_tag_t"/>
          </array>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="173">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="glib_blob_create" c:identifier="hb_glib_blob_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-glib.h" line="51"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="gbytes" transfer-ownership="none">
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </parameter>
      </parameters>
    </function>
    <function name="glib_get_unicode_funcs"
              c:identifier="hb_glib_get_unicode_funcs">
      <source-position filename="harfbuzz-11.0.0/src/hb-glib.h" line="47"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
    </function>
    <function name="glib_script_from_script"
              c:identifier="hb_glib_script_from_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-glib.h" line="43"/>
      <return-value transfer-ownership="none">
        <type name="GLib.UnicodeScript" c:type="GUnicodeScript"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="glib_script_to_script"
              c:identifier="hb_glib_script_to_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-glib.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="GLib.UnicodeScript" c:type="GUnicodeScript"/>
        </parameter>
      </parameters>
    </function>
    <record name="glyph_extents_t" c:type="hb_glyph_extents_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="926">Glyph extent values, measured in font units.

Note that @height is negative, in coordinate systems that grow up.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="942"/>
      <field name="x_bearing" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="928">Distance from the x-origin to the left extremum of the glyph.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="y_bearing" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="929">Distance from the top extremum of the glyph to the y-origin.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="width" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="930">Distance from the left extremum of the glyph to the right extremum.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="height" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="931">Distance from the top extremum of the glyph to the bottom extremum.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
    </record>
    <bitfield name="glyph_flags_t"
              version="1.5.0"
              glib:type-name="hb_glyph_flags_t"
              glib:get-type="hb_gobject_glyph_flags_get_type"
              c:type="hb_glyph_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="74">Flags for #hb_glyph_info_t.</doc>
      <member name="unsafe_to_break"
              value="1"
              c:identifier="HB_GLYPH_FLAG_UNSAFE_TO_BREAK"
              glib:nick="unsafe-to-break"
              glib:name="HB_GLYPH_FLAG_UNSAFE_TO_BREAK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="76">Indicates that if input text is broken at the
				   beginning of the cluster this glyph is part of,
				   then both sides need to be re-shaped, as the
				   result might be different.
				   On the flip side, it means that when this
				   flag is not present, then it is safe to break
				   the glyph-run at the beginning of this
				   cluster, and the two sides will represent the
				   exact same result one would get if breaking
				   input text at the beginning of this cluster
				   and shaping the two sides separately.
				   This can be used to optimize paragraph
				   layout, by avoiding re-shaping of each line
				   after line-breaking.</doc>
      </member>
      <member name="unsafe_to_concat"
              value="2"
              c:identifier="HB_GLYPH_FLAG_UNSAFE_TO_CONCAT"
              glib:nick="unsafe-to-concat"
              glib:name="HB_GLYPH_FLAG_UNSAFE_TO_CONCAT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="90">Indicates that if input text is changed on one
				   side of the beginning of the cluster this glyph
				   is part of, then the shaping results for the
				   other side might change.
				   Note that the absence of this flag will NOT by
				   itself mean that it IS safe to concat text.
				   Only two pieces of text both of which clear of
				   this flag can be concatenated safely.
				   This can be used to optimize paragraph
				   layout, by avoiding re-shaping of each line
				   after line-breaking, by limiting the
				   reshaping to a small piece around the
				   breaking position only, even if the breaking
				   position carries the
				   #HB_GLYPH_FLAG_UNSAFE_TO_BREAK or when
				   hyphenation or other text transformation
				   happens at line-break position, in the following
				   way:
				   1. Iterate back from the line-break position
				   until the first cluster start position that is
				   NOT unsafe-to-concat, 2. shape the segment from
				   there till the end of line, 3. check whether the
				   resulting glyph-run also is clear of the
				   unsafe-to-concat at its start-of-text position;
				   if it is, just splice it into place and the line
				   is shaped; If not, move on to a position further
				   back that is clear of unsafe-to-concat and retry
				   from there, and repeat.
				   At the start of next line a similar algorithm can
				   be implemented. That is: 1. Iterate forward from
				   the line-break position until the first cluster
				   start position that is NOT unsafe-to-concat, 2.
				   shape the segment from beginning of the line to
				   that position, 3. check whether the resulting
				   glyph-run also is clear of the unsafe-to-concat
				   at its end-of-text position; if it is, just splice
				   it into place and the beginning is shaped; If not,
				   move on to a position further forward that is clear
				   of unsafe-to-concat and retry up to there, and repeat.
				   A slight complication will arise in the
				   implementation of the algorithm above,
				   because while our buffer API has a way to
				   return flags for position corresponding to
				   start-of-text, there is currently no position
				   corresponding to end-of-text.  This limitation
				   can be alleviated by shaping more text than needed
				   and looking for unsafe-to-concat flag within text
				   clusters.
				   The #HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will
				   always imply this flag.
			   To use this flag, you must enable the buffer flag
			   @HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT during
			   shaping, otherwise the buffer flag will not be
			   reliably produced.
				   Since: 4.0.0</doc>
      </member>
      <member name="safe_to_insert_tatweel"
              value="4"
              c:identifier="HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL"
              glib:nick="safe-to-insert-tatweel"
              glib:name="HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="145">In scripts that use elongation (Arabic,
				   Mongolian, Syriac, etc.), this flag signifies
				   that it is safe to insert a U+0640 TATWEEL
				   character before this cluster for elongation.
				   This flag does not determine the
				   script-specific elongation places, but only
				   when it is safe to do the elongation without
				   interrupting text shaping.
				   Since: 5.1.0</doc>
      </member>
      <member name="defined"
              value="7"
              c:identifier="HB_GLYPH_FLAG_DEFINED"
              glib:nick="defined"
              glib:name="HB_GLYPH_FLAG_DEFINED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="154">All the currently defined flags.</doc>
      </member>
    </bitfield>
    <function name="glyph_info_get_glyph_flags"
              c:identifier="hb_glyph_info_get_glyph_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="169"/>
      <return-value transfer-ownership="none">
        <type name="glyph_flags_t" c:type="hb_glyph_flags_t"/>
      </return-value>
      <parameters>
        <parameter name="info" transfer-ownership="none">
          <type name="glyph_info_t" c:type="const hb_glyph_info_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="glyph_info_t"
            c:type="hb_glyph_info_t"
            glib:type-name="hb_glyph_info_t"
            glib:get-type="hb_gobject_glyph_info_get_type"
            c:symbol-prefix="gobject_glyph_info">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="43">The #hb_glyph_info_t is the structure that holds information about the
glyphs and their relation to input text.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="72"/>
      <field name="codepoint" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="45">either a Unicode code point (before shaping) or a glyph index
            (after shaping).</doc>
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </field>
      <field name="mask" readable="0" private="1">
        <type name="mask_t" c:type="hb_mask_t"/>
      </field>
      <field name="cluster" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="47">the index of the character in the original text that corresponds
          to this #hb_glyph_info_t, or whatever the client passes to
          hb_buffer_add(). More than one #hb_glyph_info_t can have the same
          @cluster value, if they resulted from the same character (e.g. one
          to many glyph substitution), and when more than one character gets
          merged in the same glyph (e.g. many to one glyph substitution) the
          #hb_glyph_info_t will have the smallest cluster value of them.
          By default some characters are merged into the same cluster
          (e.g. combining marks have the same cluster as their bases)
          even if they are separate glyphs, hb_buffer_set_cluster_level()
          allow selecting more fine-grained cluster handling.</doc>
        <type name="guint32" c:type="uint32_t"/>
      </field>
      <field name="var1" readable="0" private="1">
        <type name="var_int_t" c:type="hb_var_int_t"/>
      </field>
      <field name="var2" readable="0" private="1">
        <type name="var_int_t" c:type="hb_var_int_t"/>
      </field>
    </record>
    <record name="glyph_position_t"
            c:type="hb_glyph_position_t"
            glib:type-name="hb_glyph_position_t"
            glib:get-type="hb_gobject_glyph_position_get_type"
            c:symbol-prefix="gobject_glyph_position">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="175">The #hb_glyph_position_t is the structure that holds the positions of the
glyph in both horizontal and vertical directions. All positions in
#hb_glyph_position_t are relative to the current point.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="199"/>
      <field name="x_advance" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="177">how much the line advances after drawing this glyph when setting
            text in horizontal direction.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="y_advance" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="179">how much the line advances after drawing this glyph when setting
            text in vertical direction.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="x_offset" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="181">how much the glyph moves on the X-axis before drawing it, this
           should not affect how much the line advances.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="y_offset" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="183">how much the glyph moves on the Y-axis before drawing it, this
           should not affect how much the line advances.</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="var" readable="0" private="1">
        <type name="var_int_t" c:type="hb_var_int_t"/>
      </field>
    </record>
    <docsection name="hb-deprecated">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="40">These API have been deprecated in favor of newer API, or because they
were deemed unnecessary.</doc>
    </docsection>
    <function name="language_from_string"
              c:identifier="hb_language_from_string"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="320"/>
      <return-value>
        <type name="language_t" c:type="hb_language_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="language_get_default"
              c:identifier="hb_language_get_default"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="335"/>
      <return-value>
        <type name="language_t" c:type="hb_language_t"/>
      </return-value>
    </function>
    <function name="language_matches" c:identifier="hb_language_matches">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="338"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="specific" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="language_t" c:type="hb_language_t" disguised="1" pointer="1">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="310">Data type for languages. Each #hb_language_t corresponds to a BCP 47
language tag.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="317"/>
      <method name="_string"
              c:identifier="hb_language_to_string"
              moved-to="language_to_string">
        <source-position filename="harfbuzz-11.0.0/src/hb-common.h"
                         line="323"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <type name="language_t" c:type="hb_language_t"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <function name="language_to_string" c:identifier="hb_language_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="323"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="malloc" c:identifier="hb_malloc">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="954"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="size" transfer-ownership="none">
          <type name="gsize" c:type="size_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_allocation_successful"
              c:identifier="hb_map_allocation_successful">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="84"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_clear" c:identifier="hb_map_clear">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="90"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_copy" c:identifier="hb_map_copy">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="87"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_create" c:identifier="hb_map_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="59"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
    </function>
    <function name="map_del" c:identifier="hb_map_del">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="115"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_destroy" c:identifier="hb_map_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="68"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_get" c:identifier="hb_map_get">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="111"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_get_empty" c:identifier="hb_map_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="62"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
    </function>
    <function name="map_get_population" c:identifier="hb_map_get_population">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="96"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_get_user_data" c:identifier="hb_map_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="78"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_has" c:identifier="hb_map_has">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="119"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_hash" c:identifier="hb_map_hash">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="103"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_is_empty" c:identifier="hb_map_is_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="93"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_is_equal" c:identifier="hb_map_is_equal">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="99"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_keys" c:identifier="hb_map_keys">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="134"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="keys" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_next" c:identifier="hb_map_next">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="128"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="idx" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_reference" c:identifier="hb_map_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="65"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_set" c:identifier="hb_map_set">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="106"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_set_user_data"
              c:identifier="hb_map_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="71"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="map_t"
            c:type="hb_map_t"
            opaque="1"
            glib:type-name="hb_map_t"
            glib:get-type="hb_gobject_map_get_type"
            c:symbol-prefix="gobject_map">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-map.h"
           line="49">Data type for holding integer-to-integer hash maps.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="55"/>
    </record>
    <function name="map_update" c:identifier="hb_map_update">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="123"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="map_values" c:identifier="hb_map_values">
      <source-position filename="harfbuzz-11.0.0/src/hb-map.h" line="138"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type name="map_t" c:type="const hb_map_t*"/>
        </parameter>
        <parameter name="values" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="memory_mode_t"
                 glib:type-name="hb_memory_mode_t"
                 glib:get-type="hb_gobject_memory_mode_get_type"
                 c:type="hb_memory_mode_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-blob.h"
           line="39">Data type holding the memory modes available to
client programs.

Regarding these various memory-modes:

- In no case shall the HarfBuzz client modify memory
  that is passed to HarfBuzz in a blob.  If there is
  any such possibility, @HB_MEMORY_MODE_DUPLICATE should be used
  such that HarfBuzz makes a copy immediately,

- Use @HB_MEMORY_MODE_READONLY otherwise, unless you really really
  really know what you are doing,

- @HB_MEMORY_MODE_WRITABLE is appropriate if you really made a
  copy of data solely for the purpose of passing to
  HarfBuzz and doing that just once (no reuse!),

- If the font is mmap()ed, it's okay to use
  @HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE, however, using that mode
  correctly is very tricky.  Use @HB_MEMORY_MODE_READONLY instead.</doc>
      <member name="duplicate"
              value="0"
              c:identifier="HB_MEMORY_MODE_DUPLICATE"
              glib:nick="duplicate"
              glib:name="HB_MEMORY_MODE_DUPLICATE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-blob.h"
             line="41">HarfBuzz immediately makes a copy of the data.</doc>
      </member>
      <member name="readonly"
              value="1"
              c:identifier="HB_MEMORY_MODE_READONLY"
              glib:nick="readonly"
              glib:name="HB_MEMORY_MODE_READONLY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-blob.h"
             line="42">HarfBuzz client will never modify the data,
    and HarfBuzz will never modify the data.</doc>
      </member>
      <member name="writable"
              value="2"
              c:identifier="HB_MEMORY_MODE_WRITABLE"
              glib:nick="writable"
              glib:name="HB_MEMORY_MODE_WRITABLE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-blob.h"
             line="44">HarfBuzz client made a copy of the data solely
    for HarfBuzz, so HarfBuzz may modify the data.</doc>
      </member>
      <member name="readonly_may_make_writable"
              value="3"
              c:identifier="HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE"
              glib:nick="readonly-may-make-writable"
              glib:name="HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-blob.h"
             line="46">See above</doc>
      </member>
    </enumeration>
    <function name="ot_color_glyph_get_layers"
              c:identifier="hb_ot_color_glyph_get_layers">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="117"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="layer_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="layers" transfer-ownership="none">
          <type name="ot_color_layer_t" c:type="hb_ot_color_layer_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_glyph_has_paint"
              c:identifier="hb_ot_color_glyph_has_paint">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="129"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_glyph_reference_png"
              c:identifier="hb_ot_color_glyph_reference_png">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="150"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_glyph_reference_svg"
              c:identifier="hb_ot_color_glyph_reference_svg">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="140"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_has_layers" c:identifier="hb_ot_color_has_layers">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="96"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_has_paint" c:identifier="hb_ot_color_has_paint">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="126"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_has_palettes"
              c:identifier="hb_ot_color_has_palettes">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_has_png" c:identifier="hb_ot_color_has_png">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="147"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_has_svg" c:identifier="hb_ot_color_has_svg">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="137"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="ot_color_layer_t"
            c:type="hb_ot_color_layer_t"
            version="2.1.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-color.h"
           line="98">Pairs of glyph and color index.

A color index of 0xFFFF does not refer to a palette
color, but indicates that the foreground color should
be used.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h"
                       line="114"/>
      <field name="glyph" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-color.h"
             line="100">the glyph ID of the layer</doc>
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </field>
      <field name="color_index" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-color.h"
             line="101">the palette color index of the layer</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
    </record>
    <function name="ot_color_palette_color_get_name_id"
              c:identifier="hb_ot_color_palette_color_get_name_id">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="57"/>
      <return-value transfer-ownership="none">
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="color_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <bitfield name="ot_color_palette_flags_t"
              version="2.1.0"
              glib:type-name="hb_ot_color_palette_flags_t"
              glib:get-type="hb_gobject_ot_color_palette_flags_get_type"
              c:type="hb_ot_color_palette_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-color.h"
           line="60">Flags that describe the properties of color palette.</doc>
      <member name="default"
              value="0"
              c:identifier="HB_OT_COLOR_PALETTE_FLAG_DEFAULT"
              glib:nick="default"
              glib:name="HB_OT_COLOR_PALETTE_FLAG_DEFAULT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-color.h"
             line="62">Default indicating that there is nothing special
  to note about a color palette.</doc>
      </member>
      <member name="usable_with_light_background"
              value="1"
              c:identifier="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND"
              glib:nick="usable-with-light-background"
              glib:name="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-color.h"
             line="64">Flag indicating that the color
  palette is appropriate to use when displaying the font on a light background such as white.</doc>
      </member>
      <member name="usable_with_dark_background"
              value="2"
              c:identifier="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND"
              glib:nick="usable-with-dark-background"
              glib:name="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-color.h"
             line="66">Flag indicating that the color
  palette is appropriate to use when displaying the font on a dark background such as black.</doc>
      </member>
    </bitfield>
    <function name="ot_color_palette_get_colors"
              c:identifier="hb_ot_color_palette_get_colors">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="84"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="palette_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="color_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="colors" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_palette_get_count"
              c:identifier="hb_ot_color_palette_get_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="50"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_palette_get_flags"
              c:identifier="hb_ot_color_palette_get_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="80"/>
      <return-value transfer-ownership="none">
        <type name="ot_color_palette_flags_t"
              c:type="hb_ot_color_palette_flags_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="palette_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_color_palette_get_name_id"
              c:identifier="hb_ot_color_palette_get_name_id">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-color.h" line="53"/>
      <return-value transfer-ownership="none">
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="palette_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_font_set_funcs" c:identifier="hb_ot_font_set_funcs">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-font.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="ot_layout_baseline_tag_t"
                 version="2.6.0"
                 glib:type-name="hb_ot_layout_baseline_tag_t"
                 glib:get-type="hb_gobject_ot_layout_baseline_tag_get_type"
                 c:type="hb_ot_layout_baseline_tag_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="471">Baseline tags from [Baseline Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/baselinetags) registry.</doc>
      <member name="roman"
              value="1919905134"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_ROMAN"
              glib:nick="roman"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_ROMAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="473">The baseline used by alphabetic scripts such as Latin, Cyrillic and Greek.
In vertical writing mode, the alphabetic baseline for characters rotated 90 degrees clockwise.
(This would not apply to alphabetic characters that remain upright in vertical writing mode, since these
characters are not rotated.)</doc>
      </member>
      <member name="hanging"
              value="1751215719"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_HANGING"
              glib:nick="hanging"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_HANGING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="477">The hanging baseline. In horizontal direction, this is the horizontal
line from which syllables seem, to hang in Tibetan and other similar scripts. In vertical writing mode,
for Tibetan (or some other similar script) characters rotated 90 degrees clockwise.</doc>
      </member>
      <member name="ideo_face_bottom_or_left"
              value="1768121954"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT"
              glib:nick="ideo-face-bottom-or-left"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="480">Ideographic character face bottom or left edge,
if the direction is horizontal or vertical, respectively.</doc>
      </member>
      <member name="ideo_face_top_or_right"
              value="1768121972"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT"
              glib:nick="ideo-face-top-or-right"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="482">Ideographic character face top or right edge,
if the direction is horizontal or vertical, respectively.</doc>
      </member>
      <member name="ideo_face_central"
              value="1231251043"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL"
              glib:nick="ideo-face-central"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="484">The center of the ideographic character face. Since: 4.0.0</doc>
      </member>
      <member name="ideo_embox_bottom_or_left"
              value="1768187247"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT"
              glib:nick="ideo-embox-bottom-or-left"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="485">Ideographic em-box bottom or left edge,
if the direction is horizontal or vertical, respectively.</doc>
      </member>
      <member name="ideo_embox_top_or_right"
              value="1768191088"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT"
              glib:nick="ideo-embox-top-or-right"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="487">Ideographic em-box top or right edge baseline,</doc>
      </member>
      <member name="ideo_embox_central"
              value="1231315813"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL"
              glib:nick="ideo-embox-central"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="488">The center of the ideographic em-box. Since: 4.0.0
if the direction is horizontal or vertical, respectively.</doc>
      </member>
      <member name="math"
              value="1835103336"
              c:identifier="HB_OT_LAYOUT_BASELINE_TAG_MATH"
              glib:nick="math"
              glib:name="HB_OT_LAYOUT_BASELINE_TAG_MATH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="490">The baseline about which mathematical characters are centered.
In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.</doc>
      </member>
    </enumeration>
    <function name="ot_layout_collect_features"
              c:identifier="hb_ot_layout_collect_features">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="320"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="scripts" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="languages" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="feature_indexes" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_collect_features_map"
              c:identifier="hb_ot_layout_collect_features_map">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="328"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="feature_map" transfer-ownership="none">
          <type name="map_t" c:type="hb_map_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_collect_lookups"
              c:identifier="hb_ot_layout_collect_lookups">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="335"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="scripts" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="languages" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="lookup_indexes" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_feature_get_characters"
              c:identifier="hb_ot_layout_feature_get_characters">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="445"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="char_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="characters" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_feature_get_lookups"
              c:identifier="hb_ot_layout_feature_get_lookups">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="308"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="lookup_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="lookup_indexes" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_feature_get_name_ids"
              c:identifier="hb_ot_layout_feature_get_name_ids">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="434"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="label_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/>
        </parameter>
        <parameter name="tooltip_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/>
        </parameter>
        <parameter name="sample_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/>
        </parameter>
        <parameter name="num_named_parameters" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="first_param_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_feature_with_variations_get_lookups"
              c:identifier="hb_ot_layout_feature_with_variations_get_lookups">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="362"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="variations_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="lookup_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="lookup_indexes" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_attach_points"
              c:identifier="hb_ot_layout_get_attach_points">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="168"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="point_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="point_array" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_baseline"
              c:identifier="hb_ot_layout_get_baseline">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="516"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="baseline_tag" transfer-ownership="none">
          <type name="ot_layout_baseline_tag_t"
                c:type="hb_ot_layout_baseline_tag_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="script_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="language_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="coord" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_baseline2"
              c:identifier="hb_ot_layout_get_baseline2">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="524"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="baseline_tag" transfer-ownership="none">
          <type name="ot_layout_baseline_tag_t"
                c:type="hb_ot_layout_baseline_tag_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="coord" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_baseline_with_fallback"
              c:identifier="hb_ot_layout_get_baseline_with_fallback">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="532"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="baseline_tag" transfer-ownership="none">
          <type name="ot_layout_baseline_tag_t"
                c:type="hb_ot_layout_baseline_tag_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="script_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="language_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="coord" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_baseline_with_fallback2"
              c:identifier="hb_ot_layout_get_baseline_with_fallback2">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="540"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="baseline_tag" transfer-ownership="none">
          <type name="ot_layout_baseline_tag_t"
                c:type="hb_ot_layout_baseline_tag_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="coord" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_font_extents"
              c:identifier="hb_ot_layout_get_font_extents">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="458"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="script_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="language_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="font_extents_t" c:type="hb_font_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_font_extents2"
              c:identifier="hb_ot_layout_get_font_extents2">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="465"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="font_extents_t" c:type="hb_font_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_glyph_class"
              c:identifier="hb_ot_layout_get_glyph_class">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="157"/>
      <return-value transfer-ownership="none">
        <type name="ot_layout_glyph_class_t"
              c:type="hb_ot_layout_glyph_class_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_glyphs_in_class"
              c:identifier="hb_ot_layout_get_glyphs_in_class">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="161"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="klass" transfer-ownership="none">
          <type name="ot_layout_glyph_class_t"
                c:type="hb_ot_layout_glyph_class_t"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_horizontal_baseline_tag_for_script"
              c:identifier="hb_ot_layout_get_horizontal_baseline_tag_for_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="513"/>
      <return-value transfer-ownership="none">
        <type name="ot_layout_baseline_tag_t"
              c:type="hb_ot_layout_baseline_tag_t"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_ligature_carets"
              c:identifier="hb_ot_layout_get_ligature_carets">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="176"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="caret_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="caret_array" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_get_size_params"
              c:identifier="hb_ot_layout_get_size_params">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="415"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="design_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="subfamily_id" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="subfamily_name_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/>
        </parameter>
        <parameter name="range_start" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="range_end" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="ot_layout_glyph_class_t"
                 glib:type-name="hb_ot_layout_glyph_class_t"
                 glib:get-type="hb_gobject_ot_layout_glyph_class_get_type"
                 c:type="hb_ot_layout_glyph_class_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
           line="137">The GDEF classes defined for glyphs.</doc>
      <member name="unclassified"
              value="0"
              c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED"
              glib:nick="unclassified"
              glib:name="HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="139">Glyphs not matching the other classifications</doc>
      </member>
      <member name="base_glyph"
              value="1"
              c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH"
              glib:nick="base-glyph"
              glib:name="HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="140">Spacing, single characters, capable of accepting marks</doc>
      </member>
      <member name="ligature"
              value="2"
              c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE"
              glib:nick="ligature"
              glib:name="HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="141">Glyphs that represent ligation of multiple characters</doc>
      </member>
      <member name="mark"
              value="3"
              c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_MARK"
              glib:nick="mark"
              glib:name="HB_OT_LAYOUT_GLYPH_CLASS_MARK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="142">Non-spacing, combining glyphs that represent marks</doc>
      </member>
      <member name="component"
              value="4"
              c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT"
              glib:nick="component"
              glib:name="HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
             line="143">Spacing glyphs that represent part of a single character</doc>
      </member>
    </enumeration>
    <function name="ot_layout_has_glyph_classes"
              c:identifier="hb_ot_layout_has_glyph_classes">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="135"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_has_positioning"
              c:identifier="hb_ot_layout_has_positioning">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="410"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_has_substitution"
              c:identifier="hb_ot_layout_has_substitution">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="376"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_language_find_feature"
              c:identifier="hb_ot_layout_language_find_feature">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="300"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_language_get_feature_indexes"
              c:identifier="hb_ot_layout_language_get_feature_indexes">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="282"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="feature_indexes" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_language_get_feature_tags"
              c:identifier="hb_ot_layout_language_get_feature_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="291"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="feature_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_language_get_required_feature"
              c:identifier="hb_ot_layout_language_get_required_feature">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="274"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="feature_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_language_get_required_feature_index"
              c:identifier="hb_ot_layout_language_get_required_feature_index">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="267"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_lookup_collect_glyphs"
              c:identifier="hb_ot_layout_lookup_collect_glyphs">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="343"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="lookup_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="glyphs_before" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="glyphs_input" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="glyphs_after" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="glyphs_output" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_lookup_get_glyph_alternates"
              c:identifier="hb_ot_layout_lookup_get_glyph_alternates">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="379"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="lookup_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="alternate_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned*"/>
        </parameter>
        <parameter name="alternate_glyphs" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_lookup_get_optical_bound"
              c:identifier="hb_ot_layout_lookup_get_optical_bound">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="423"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="lookup_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_lookup_substitute_closure"
              c:identifier="hb_ot_layout_lookup_substitute_closure">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="394"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="lookup_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_lookup_would_substitute"
              c:identifier="hb_ot_layout_lookup_would_substitute">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="387"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="lookup_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="glyphs_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="zero_context" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_lookups_substitute_closure"
              c:identifier="hb_ot_layout_lookups_substitute_closure">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="400"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="lookups" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_script_find_language"
              c:identifier="hb_ot_layout_script_find_language">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="80"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_script_get_language_tags"
              c:identifier="hb_ot_layout_script_get_language_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="242"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="language_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_script_select_language"
              c:identifier="hb_ot_layout_script_select_language">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="250"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_tags" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_script_select_language2"
              c:identifier="hb_ot_layout_script_select_language2">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="258"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="language_tags" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="language_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="chosen_language" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_choose_script"
              c:identifier="hb_ot_layout_table_choose_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="72"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_tags" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="chosen_script" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_find_feature_variations"
              c:identifier="hb_ot_layout_table_find_feature_variations">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="355"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gint" c:type="const int*"/>
        </parameter>
        <parameter name="num_coords" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="variations_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_find_script"
              c:identifier="hb_ot_layout_table_find_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="221"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_get_feature_tags"
              c:identifier="hb_ot_layout_table_get_feature_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="235"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="feature_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="feature_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_get_lookup_count"
              c:identifier="hb_ot_layout_table_get_lookup_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="316"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_get_script_tags"
              c:identifier="hb_ot_layout_table_get_script_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="214"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="script_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="script_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_layout_table_select_script"
              c:identifier="hb_ot_layout_table_select_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="227"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="script_tags" transfer-ownership="none">
          <type name="tag_t" c:type="const hb_tag_t*"/>
        </parameter>
        <parameter name="script_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="chosen_script" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="ot_math_constant_t"
                 version="1.3.3"
                 glib:type-name="hb_ot_math_constant_t"
                 glib:get-type="hb_gobject_ot_math_constant_get_type"
                 c:type="hb_ot_math_constant_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-math.h"
           line="68">The 'MATH' table constants, refer to
[OpenType documentation](https://docs.microsoft.com/en-us/typography/opentype/spec/math#mathconstants-table)
For more explanations.</doc>
      <member name="script_percent_scale_down"
              value="0"
              c:identifier="HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN"
              glib:nick="script-percent-scale-down"
              glib:name="HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="70">scriptPercentScaleDown</doc>
      </member>
      <member name="script_script_percent_scale_down"
              value="1"
              c:identifier="HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN"
              glib:nick="script-script-percent-scale-down"
              glib:name="HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="71">scriptScriptPercentScaleDown</doc>
      </member>
      <member name="delimited_sub_formula_min_height"
              value="2"
              c:identifier="HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT"
              glib:nick="delimited-sub-formula-min-height"
              glib:name="HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="72">delimitedSubFormulaMinHeight</doc>
      </member>
      <member name="display_operator_min_height"
              value="3"
              c:identifier="HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT"
              glib:nick="display-operator-min-height"
              glib:name="HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="73">displayOperatorMinHeight</doc>
      </member>
      <member name="math_leading"
              value="4"
              c:identifier="HB_OT_MATH_CONSTANT_MATH_LEADING"
              glib:nick="math-leading"
              glib:name="HB_OT_MATH_CONSTANT_MATH_LEADING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="74">mathLeading</doc>
      </member>
      <member name="axis_height"
              value="5"
              c:identifier="HB_OT_MATH_CONSTANT_AXIS_HEIGHT"
              glib:nick="axis-height"
              glib:name="HB_OT_MATH_CONSTANT_AXIS_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="75">axisHeight</doc>
      </member>
      <member name="accent_base_height"
              value="6"
              c:identifier="HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT"
              glib:nick="accent-base-height"
              glib:name="HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="76">accentBaseHeight</doc>
      </member>
      <member name="flattened_accent_base_height"
              value="7"
              c:identifier="HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT"
              glib:nick="flattened-accent-base-height"
              glib:name="HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="77">flattenedAccentBaseHeight</doc>
      </member>
      <member name="subscript_shift_down"
              value="8"
              c:identifier="HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN"
              glib:nick="subscript-shift-down"
              glib:name="HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="78">subscriptShiftDown</doc>
      </member>
      <member name="subscript_top_max"
              value="9"
              c:identifier="HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX"
              glib:nick="subscript-top-max"
              glib:name="HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="79">subscriptTopMax</doc>
      </member>
      <member name="subscript_baseline_drop_min"
              value="10"
              c:identifier="HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN"
              glib:nick="subscript-baseline-drop-min"
              glib:name="HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="80">subscriptBaselineDropMin</doc>
      </member>
      <member name="superscript_shift_up"
              value="11"
              c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP"
              glib:nick="superscript-shift-up"
              glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="81">superscriptShiftUp</doc>
      </member>
      <member name="superscript_shift_up_cramped"
              value="12"
              c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED"
              glib:nick="superscript-shift-up-cramped"
              glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="82">superscriptShiftUpCramped</doc>
      </member>
      <member name="superscript_bottom_min"
              value="13"
              c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN"
              glib:nick="superscript-bottom-min"
              glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="83">superscriptBottomMin</doc>
      </member>
      <member name="superscript_baseline_drop_max"
              value="14"
              c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX"
              glib:nick="superscript-baseline-drop-max"
              glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="84">superscriptBaselineDropMax</doc>
      </member>
      <member name="sub_superscript_gap_min"
              value="15"
              c:identifier="HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN"
              glib:nick="sub-superscript-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="85">subSuperscriptGapMin</doc>
      </member>
      <member name="superscript_bottom_max_with_subscript"
              value="16"
              c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT"
              glib:nick="superscript-bottom-max-with-subscript"
              glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="86">superscriptBottomMaxWithSubscript</doc>
      </member>
      <member name="space_after_script"
              value="17"
              c:identifier="HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT"
              glib:nick="space-after-script"
              glib:name="HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="87">spaceAfterScript</doc>
      </member>
      <member name="upper_limit_gap_min"
              value="18"
              c:identifier="HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN"
              glib:nick="upper-limit-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="88">upperLimitGapMin</doc>
      </member>
      <member name="upper_limit_baseline_rise_min"
              value="19"
              c:identifier="HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN"
              glib:nick="upper-limit-baseline-rise-min"
              glib:name="HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="89">upperLimitBaselineRiseMin</doc>
      </member>
      <member name="lower_limit_gap_min"
              value="20"
              c:identifier="HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN"
              glib:nick="lower-limit-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="90">lowerLimitGapMin</doc>
      </member>
      <member name="lower_limit_baseline_drop_min"
              value="21"
              c:identifier="HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN"
              glib:nick="lower-limit-baseline-drop-min"
              glib:name="HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="91">lowerLimitBaselineDropMin</doc>
      </member>
      <member name="stack_top_shift_up"
              value="22"
              c:identifier="HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP"
              glib:nick="stack-top-shift-up"
              glib:name="HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="92">stackTopShiftUp</doc>
      </member>
      <member name="stack_top_display_style_shift_up"
              value="23"
              c:identifier="HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP"
              glib:nick="stack-top-display-style-shift-up"
              glib:name="HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="93">stackTopDisplayStyleShiftUp</doc>
      </member>
      <member name="stack_bottom_shift_down"
              value="24"
              c:identifier="HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN"
              glib:nick="stack-bottom-shift-down"
              glib:name="HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="94">stackBottomShiftDown</doc>
      </member>
      <member name="stack_bottom_display_style_shift_down"
              value="25"
              c:identifier="HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN"
              glib:nick="stack-bottom-display-style-shift-down"
              glib:name="HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="95">stackBottomDisplayStyleShiftDown</doc>
      </member>
      <member name="stack_gap_min"
              value="26"
              c:identifier="HB_OT_MATH_CONSTANT_STACK_GAP_MIN"
              glib:nick="stack-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_STACK_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="96">stackGapMin</doc>
      </member>
      <member name="stack_display_style_gap_min"
              value="27"
              c:identifier="HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN"
              glib:nick="stack-display-style-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="97">stackDisplayStyleGapMin</doc>
      </member>
      <member name="stretch_stack_top_shift_up"
              value="28"
              c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP"
              glib:nick="stretch-stack-top-shift-up"
              glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="98">stretchStackTopShiftUp</doc>
      </member>
      <member name="stretch_stack_bottom_shift_down"
              value="29"
              c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN"
              glib:nick="stretch-stack-bottom-shift-down"
              glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="99">stretchStackBottomShiftDown</doc>
      </member>
      <member name="stretch_stack_gap_above_min"
              value="30"
              c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN"
              glib:nick="stretch-stack-gap-above-min"
              glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="100">stretchStackGapAboveMin</doc>
      </member>
      <member name="stretch_stack_gap_below_min"
              value="31"
              c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN"
              glib:nick="stretch-stack-gap-below-min"
              glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="101">stretchStackGapBelowMin</doc>
      </member>
      <member name="fraction_numerator_shift_up"
              value="32"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP"
              glib:nick="fraction-numerator-shift-up"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="102">fractionNumeratorShiftUp</doc>
      </member>
      <member name="fraction_numerator_display_style_shift_up"
              value="33"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP"
              glib:nick="fraction-numerator-display-style-shift-up"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="103">fractionNumeratorDisplayStyleShiftUp</doc>
      </member>
      <member name="fraction_denominator_shift_down"
              value="34"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN"
              glib:nick="fraction-denominator-shift-down"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="104">fractionDenominatorShiftDown</doc>
      </member>
      <member name="fraction_denominator_display_style_shift_down"
              value="35"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN"
              glib:nick="fraction-denominator-display-style-shift-down"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="105">fractionDenominatorDisplayStyleShiftDown</doc>
      </member>
      <member name="fraction_numerator_gap_min"
              value="36"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN"
              glib:nick="fraction-numerator-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="106">fractionNumeratorGapMin</doc>
      </member>
      <member name="fraction_num_display_style_gap_min"
              value="37"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN"
              glib:nick="fraction-num-display-style-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="107">fractionNumDisplayStyleGapMin</doc>
      </member>
      <member name="fraction_rule_thickness"
              value="38"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS"
              glib:nick="fraction-rule-thickness"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="108">fractionRuleThickness</doc>
      </member>
      <member name="fraction_denominator_gap_min"
              value="39"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN"
              glib:nick="fraction-denominator-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="109">fractionDenominatorGapMin</doc>
      </member>
      <member name="fraction_denom_display_style_gap_min"
              value="40"
              c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN"
              glib:nick="fraction-denom-display-style-gap-min"
              glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="110">fractionDenomDisplayStyleGapMin</doc>
      </member>
      <member name="skewed_fraction_horizontal_gap"
              value="41"
              c:identifier="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP"
              glib:nick="skewed-fraction-horizontal-gap"
              glib:name="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="111">skewedFractionHorizontalGap</doc>
      </member>
      <member name="skewed_fraction_vertical_gap"
              value="42"
              c:identifier="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP"
              glib:nick="skewed-fraction-vertical-gap"
              glib:name="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="112">skewedFractionVerticalGap</doc>
      </member>
      <member name="overbar_vertical_gap"
              value="43"
              c:identifier="HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP"
              glib:nick="overbar-vertical-gap"
              glib:name="HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="113">overbarVerticalGap</doc>
      </member>
      <member name="overbar_rule_thickness"
              value="44"
              c:identifier="HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS"
              glib:nick="overbar-rule-thickness"
              glib:name="HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="114">overbarRuleThickness</doc>
      </member>
      <member name="overbar_extra_ascender"
              value="45"
              c:identifier="HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER"
              glib:nick="overbar-extra-ascender"
              glib:name="HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="115">overbarExtraAscender</doc>
      </member>
      <member name="underbar_vertical_gap"
              value="46"
              c:identifier="HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP"
              glib:nick="underbar-vertical-gap"
              glib:name="HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="116">underbarVerticalGap</doc>
      </member>
      <member name="underbar_rule_thickness"
              value="47"
              c:identifier="HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS"
              glib:nick="underbar-rule-thickness"
              glib:name="HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="117">underbarRuleThickness</doc>
      </member>
      <member name="underbar_extra_descender"
              value="48"
              c:identifier="HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER"
              glib:nick="underbar-extra-descender"
              glib:name="HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="118">underbarExtraDescender</doc>
      </member>
      <member name="radical_vertical_gap"
              value="49"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP"
              glib:nick="radical-vertical-gap"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="119">radicalVerticalGap</doc>
      </member>
      <member name="radical_display_style_vertical_gap"
              value="50"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP"
              glib:nick="radical-display-style-vertical-gap"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="120">radicalDisplayStyleVerticalGap</doc>
      </member>
      <member name="radical_rule_thickness"
              value="51"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS"
              glib:nick="radical-rule-thickness"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="121">radicalRuleThickness</doc>
      </member>
      <member name="radical_extra_ascender"
              value="52"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER"
              glib:nick="radical-extra-ascender"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="122">radicalExtraAscender</doc>
      </member>
      <member name="radical_kern_before_degree"
              value="53"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE"
              glib:nick="radical-kern-before-degree"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="123">radicalKernBeforeDegree</doc>
      </member>
      <member name="radical_kern_after_degree"
              value="54"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE"
              glib:nick="radical-kern-after-degree"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="124">radicalKernAfterDegree</doc>
      </member>
      <member name="radical_degree_bottom_raise_percent"
              value="55"
              c:identifier="HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT"
              glib:nick="radical-degree-bottom-raise-percent"
              glib:name="HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="125">radicalDegreeBottomRaisePercent</doc>
      </member>
    </enumeration>
    <function name="ot_math_get_constant"
              c:identifier="hb_ot_math_get_constant">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="280"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="constant" transfer-ownership="none">
          <type name="ot_math_constant_t" c:type="hb_ot_math_constant_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_glyph_assembly"
              c:identifier="hb_ot_math_get_glyph_assembly">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="322"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="parts_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="parts" transfer-ownership="none">
          <type name="ot_math_glyph_part_t" c:type="hb_ot_math_glyph_part_t*"/>
        </parameter>
        <parameter name="italics_correction" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_glyph_italics_correction"
              c:identifier="hb_ot_math_get_glyph_italics_correction">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="284"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_glyph_kerning"
              c:identifier="hb_ot_math_get_glyph_kerning">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="296"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="kern" transfer-ownership="none">
          <type name="ot_math_kern_t" c:type="hb_ot_math_kern_t"/>
        </parameter>
        <parameter name="correction_height" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_glyph_kernings"
              c:identifier="hb_ot_math_get_glyph_kernings">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="302"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="kern" transfer-ownership="none">
          <type name="ot_math_kern_t" c:type="hb_ot_math_kern_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="entries_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="kern_entries" transfer-ownership="none">
          <type name="ot_math_kern_entry_t" c:type="hb_ot_math_kern_entry_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_glyph_top_accent_attachment"
              c:identifier="hb_ot_math_get_glyph_top_accent_attachment">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="288"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_glyph_variants"
              c:identifier="hb_ot_math_get_glyph_variants">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="310"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="variants_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="variants" transfer-ownership="none">
          <type name="ot_math_glyph_variant_t"
                c:type="hb_ot_math_glyph_variant_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_get_min_connector_overlap"
              c:identifier="hb_ot_math_get_min_connector_overlap">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="318"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="direction" transfer-ownership="none">
          <type name="direction_t" c:type="hb_direction_t"/>
        </parameter>
      </parameters>
    </function>
    <bitfield name="ot_math_glyph_part_flags_t"
              version="1.3.3"
              glib:type-name="hb_ot_math_glyph_part_flags_t"
              glib:get-type="hb_gobject_ot_math_glyph_part_flags_get_type"
              c:type="hb_ot_math_glyph_part_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-math.h"
           line="239">Flags for math glyph parts.</doc>
      <member name="extender"
              value="1"
              c:identifier="HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER"
              glib:nick="extender"
              glib:name="HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="241">This is an extender glyph part that
can be repeated to reach the desired length.</doc>
      </member>
    </bitfield>
    <record name="ot_math_glyph_part_t"
            c:type="hb_ot_math_glyph_part_t"
            version="1.3.3"
            glib:type-name="hb_ot_math_glyph_part_t"
            glib:get-type="hb_gobject_ot_math_glyph_part_get_type"
            c:symbol-prefix="gobject_ot_math_glyph_part">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-math.h"
           line="252">Data type to hold information for a "part" component of a math-variant glyph.
Large variants for stretchable math glyphs (such as parentheses) can be constructed
on the fly from parts.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="272"/>
      <field name="glyph" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="254">The glyph index of the variant part</doc>
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </field>
      <field name="start_connector_length" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="255">The length of the connector on the starting side of the variant part</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="end_connector_length" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="256">The length of the connector on the ending side of the variant part</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="full_advance" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="257">The total advance of the part</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="flags" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="258">#hb_ot_math_glyph_part_flags_t flags for the part</doc>
        <type name="ot_math_glyph_part_flags_t"
              c:type="hb_ot_math_glyph_part_flags_t"/>
      </field>
    </record>
    <record name="ot_math_glyph_variant_t"
            c:type="hb_ot_math_glyph_variant_t"
            version="1.3.3"
            glib:type-name="hb_ot_math_glyph_variant_t"
            glib:get-type="hb_gobject_ot_math_glyph_variant_get_type"
            c:symbol-prefix="gobject_ot_math_glyph_variant">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-math.h"
           line="225">Data type to hold math-variant information for a glyph.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="237"/>
      <field name="glyph" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="227">The glyph index of the variant</doc>
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </field>
      <field name="advance" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="228">The advance width of the variant</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
    </record>
    <function name="ot_math_has_data" c:identifier="hb_ot_math_has_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="277"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_math_is_glyph_extended_shape"
              c:identifier="hb_ot_math_is_glyph_extended_shape">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="292"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="ot_math_kern_entry_t"
            c:type="hb_ot_math_kern_entry_t"
            version="3.4.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-math.h"
           line="211">Data type to hold math kerning (cut-in) information for a glyph.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-math.h" line="223"/>
      <field name="max_correction_height" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="213">The maximum height at which this entry should be used</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
      <field name="kern_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="214">The kern value of the entry</doc>
        <type name="position_t" c:type="hb_position_t"/>
      </field>
    </record>
    <enumeration name="ot_math_kern_t"
                 version="1.3.3"
                 glib:type-name="hb_ot_math_kern_t"
                 glib:get-type="hb_gobject_ot_math_kern_get_type"
                 c:type="hb_ot_math_kern_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-math.h"
           line="192">The math kerning-table types defined for the four corners
of a glyph.</doc>
      <member name="top_right"
              value="0"
              c:identifier="HB_OT_MATH_KERN_TOP_RIGHT"
              glib:nick="top-right"
              glib:name="HB_OT_MATH_KERN_TOP_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="194">The top right corner of the glyph.</doc>
      </member>
      <member name="top_left"
              value="1"
              c:identifier="HB_OT_MATH_KERN_TOP_LEFT"
              glib:nick="top-left"
              glib:name="HB_OT_MATH_KERN_TOP_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="195">The top left corner of the glyph.</doc>
      </member>
      <member name="bottom_right"
              value="2"
              c:identifier="HB_OT_MATH_KERN_BOTTOM_RIGHT"
              glib:nick="bottom-right"
              glib:name="HB_OT_MATH_KERN_BOTTOM_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="196">The bottom right corner of the glyph.</doc>
      </member>
      <member name="bottom_left"
              value="3"
              c:identifier="HB_OT_MATH_KERN_BOTTOM_LEFT"
              glib:nick="bottom-left"
              glib:name="HB_OT_MATH_KERN_BOTTOM_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-math.h"
             line="197">The bottom left corner of the glyph.</doc>
      </member>
    </enumeration>
    <function name="ot_meta_get_entry_tags"
              c:identifier="hb_ot_meta_get_entry_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-meta.h" line="62"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="entries_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="entries" transfer-ownership="none">
          <type name="ot_meta_tag_t" c:type="hb_ot_meta_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_meta_reference_entry"
              c:identifier="hb_ot_meta_reference_entry">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-meta.h" line="68"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="meta_tag" transfer-ownership="none">
          <type name="ot_meta_tag_t" c:type="hb_ot_meta_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="ot_meta_tag_t"
                 version="2.6.0"
                 glib:type-name="hb_ot_meta_tag_t"
                 glib:get-type="hb_gobject_ot_meta_tag_get_type"
                 c:type="hb_ot_meta_tag_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-meta.h"
           line="36">Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/meta</doc>
      <member name="design_languages"
              value="1684827751"
              c:identifier="HB_OT_META_TAG_DESIGN_LANGUAGES"
              glib:nick="design-languages"
              glib:name="HB_OT_META_TAG_DESIGN_LANGUAGES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-meta.h"
             line="38">Design languages. Text, using only
Basic Latin (ASCII) characters. Indicates languages and/or scripts
for the user audiences that the font was primarily designed for.</doc>
      </member>
      <member name="supported_languages"
              value="1936485991"
              c:identifier="HB_OT_META_TAG_SUPPORTED_LANGUAGES"
              glib:nick="supported-languages"
              glib:name="HB_OT_META_TAG_SUPPORTED_LANGUAGES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-meta.h"
             line="41">Supported languages. Text, using
only Basic Latin (ASCII) characters. Indicates languages and/or scripts
that the font is declared to be capable of supporting.</doc>
      </member>
    </enumeration>
    <function name="ot_metrics_get_position"
              c:identifier="hb_ot_metrics_get_position">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
                       line="109"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="metrics_tag" transfer-ownership="none">
          <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/>
        </parameter>
        <parameter name="position" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_metrics_get_position_with_fallback"
              c:identifier="hb_ot_metrics_get_position_with_fallback">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
                       line="114"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="metrics_tag" transfer-ownership="none">
          <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/>
        </parameter>
        <parameter name="position" transfer-ownership="none">
          <type name="position_t" c:type="hb_position_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_metrics_get_variation"
              c:identifier="hb_ot_metrics_get_variation">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
                       line="119"/>
      <return-value transfer-ownership="none">
        <type name="gfloat" c:type="float"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="metrics_tag" transfer-ownership="none">
          <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_metrics_get_x_variation"
              c:identifier="hb_ot_metrics_get_x_variation">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
                       line="122"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="metrics_tag" transfer-ownership="none">
          <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_metrics_get_y_variation"
              c:identifier="hb_ot_metrics_get_y_variation">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
                       line="125"/>
      <return-value transfer-ownership="none">
        <type name="position_t" c:type="hb_position_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="metrics_tag" transfer-ownership="none">
          <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="ot_metrics_tag_t"
                 version="2.6.0"
                 glib:type-name="hb_ot_metrics_tag_t"
                 glib:get-type="hb_gobject_ot_metrics_tag_get_type"
                 c:type="hb_ot_metrics_tag_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
           line="38">Metric tags corresponding to [MVAR Value
Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/mvar#value-tags)</doc>
      <member name="horizontal_ascender"
              value="1751216995"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER"
              glib:nick="horizontal-ascender"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="40">horizontal ascender.</doc>
      </member>
      <member name="horizontal_descender"
              value="1751413603"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER"
              glib:nick="horizontal-descender"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="41">horizontal descender.</doc>
      </member>
      <member name="horizontal_line_gap"
              value="1751934832"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP"
              glib:nick="horizontal-line-gap"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="42">horizontal line gap.</doc>
      </member>
      <member name="horizontal_clipping_ascent"
              value="1751346273"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT"
              glib:nick="horizontal-clipping-ascent"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="43">horizontal clipping ascent.</doc>
      </member>
      <member name="horizontal_clipping_descent"
              value="1751346276"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT"
              glib:nick="horizontal-clipping-descent"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="44">horizontal clipping descent.</doc>
      </member>
      <member name="vertical_ascender"
              value="1986098019"
              c:identifier="HB_OT_METRICS_TAG_VERTICAL_ASCENDER"
              glib:nick="vertical-ascender"
              glib:name="HB_OT_METRICS_TAG_VERTICAL_ASCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="45">vertical ascender.</doc>
      </member>
      <member name="vertical_descender"
              value="1986294627"
              c:identifier="HB_OT_METRICS_TAG_VERTICAL_DESCENDER"
              glib:nick="vertical-descender"
              glib:name="HB_OT_METRICS_TAG_VERTICAL_DESCENDER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="46">vertical descender.</doc>
      </member>
      <member name="vertical_line_gap"
              value="1986815856"
              c:identifier="HB_OT_METRICS_TAG_VERTICAL_LINE_GAP"
              glib:nick="vertical-line-gap"
              glib:name="HB_OT_METRICS_TAG_VERTICAL_LINE_GAP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="47">vertical line gap.</doc>
      </member>
      <member name="horizontal_caret_rise"
              value="1751347827"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE"
              glib:nick="horizontal-caret-rise"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="48">horizontal caret rise.</doc>
      </member>
      <member name="horizontal_caret_run"
              value="1751347822"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN"
              glib:nick="horizontal-caret-run"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="49">horizontal caret run.</doc>
      </member>
      <member name="horizontal_caret_offset"
              value="1751347046"
              c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET"
              glib:nick="horizontal-caret-offset"
              glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="50">horizontal caret offset.</doc>
      </member>
      <member name="vertical_caret_rise"
              value="1986228851"
              c:identifier="HB_OT_METRICS_TAG_VERTICAL_CARET_RISE"
              glib:nick="vertical-caret-rise"
              glib:name="HB_OT_METRICS_TAG_VERTICAL_CARET_RISE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="51">vertical caret rise.</doc>
      </member>
      <member name="vertical_caret_run"
              value="1986228846"
              c:identifier="HB_OT_METRICS_TAG_VERTICAL_CARET_RUN"
              glib:nick="vertical-caret-run"
              glib:name="HB_OT_METRICS_TAG_VERTICAL_CARET_RUN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="52">vertical caret run.</doc>
      </member>
      <member name="vertical_caret_offset"
              value="1986228070"
              c:identifier="HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET"
              glib:nick="vertical-caret-offset"
              glib:name="HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="53">vertical caret offset.</doc>
      </member>
      <member name="x_height"
              value="2020108148"
              c:identifier="HB_OT_METRICS_TAG_X_HEIGHT"
              glib:nick="x-height"
              glib:name="HB_OT_METRICS_TAG_X_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="54">x height.</doc>
      </member>
      <member name="cap_height"
              value="1668311156"
              c:identifier="HB_OT_METRICS_TAG_CAP_HEIGHT"
              glib:nick="cap-height"
              glib:name="HB_OT_METRICS_TAG_CAP_HEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="55">cap height.</doc>
      </member>
      <member name="subscript_em_x_size"
              value="1935833203"
              c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE"
              glib:nick="subscript-em-x-size"
              glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="56">subscript em x size.</doc>
      </member>
      <member name="subscript_em_y_size"
              value="1935833459"
              c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE"
              glib:nick="subscript-em-y-size"
              glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="57">subscript em y size.</doc>
      </member>
      <member name="subscript_em_x_offset"
              value="1935833199"
              c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET"
              glib:nick="subscript-em-x-offset"
              glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="58">subscript em x offset.</doc>
      </member>
      <member name="subscript_em_y_offset"
              value="1935833455"
              c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET"
              glib:nick="subscript-em-y-offset"
              glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="59">subscript em y offset.</doc>
      </member>
      <member name="superscript_em_x_size"
              value="1936750707"
              c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE"
              glib:nick="superscript-em-x-size"
              glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="60">superscript em x size.</doc>
      </member>
      <member name="superscript_em_y_size"
              value="1936750963"
              c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE"
              glib:nick="superscript-em-y-size"
              glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="61">superscript em y size.</doc>
      </member>
      <member name="superscript_em_x_offset"
              value="1936750703"
              c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET"
              glib:nick="superscript-em-x-offset"
              glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="62">superscript em x offset.</doc>
      </member>
      <member name="superscript_em_y_offset"
              value="1936750959"
              c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET"
              glib:nick="superscript-em-y-offset"
              glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="63">superscript em y offset.</doc>
      </member>
      <member name="strikeout_size"
              value="1937011315"
              c:identifier="HB_OT_METRICS_TAG_STRIKEOUT_SIZE"
              glib:nick="strikeout-size"
              glib:name="HB_OT_METRICS_TAG_STRIKEOUT_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="64">strikeout size.</doc>
      </member>
      <member name="strikeout_offset"
              value="1937011311"
              c:identifier="HB_OT_METRICS_TAG_STRIKEOUT_OFFSET"
              glib:nick="strikeout-offset"
              glib:name="HB_OT_METRICS_TAG_STRIKEOUT_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="65">strikeout offset.</doc>
      </member>
      <member name="underline_size"
              value="1970168947"
              c:identifier="HB_OT_METRICS_TAG_UNDERLINE_SIZE"
              glib:nick="underline-size"
              glib:name="HB_OT_METRICS_TAG_UNDERLINE_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="66">underline size.</doc>
      </member>
      <member name="underline_offset"
              value="1970168943"
              c:identifier="HB_OT_METRICS_TAG_UNDERLINE_OFFSET"
              glib:nick="underline-offset"
              glib:name="HB_OT_METRICS_TAG_UNDERLINE_OFFSET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-metrics.h"
             line="67">underline offset.</doc>
      </member>
    </enumeration>
    <record name="ot_name_entry_t" c:type="hb_ot_name_entry_t" version="2.1.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-name.h"
           line="118">Structure representing a name ID in a particular language.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-name.h" line="133"/>
      <field name="name_id" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="120">name ID</doc>
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </field>
      <field name="var" readable="0" private="1">
        <type name="var_int_t" c:type="hb_var_int_t"/>
      </field>
      <field name="language" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="121">language</doc>
        <type name="language_t" c:type="hb_language_t"/>
      </field>
    </record>
    <function name="ot_name_get_utf16" c:identifier="hb_ot_name_get_utf16">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-name.h" line="148"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="name_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="text_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="guint16" c:type="uint16_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_name_get_utf32" c:identifier="hb_ot_name_get_utf32">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-name.h" line="155"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="name_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="text_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="guint32" c:type="uint32_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_name_get_utf8" c:identifier="hb_ot_name_get_utf8">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-name.h" line="141"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="name_id" transfer-ownership="none">
          <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="text_size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="ot_name_id_predefined_t"
                 version="7.0.0"
                 glib:type-name="hb_ot_name_id_predefined_t"
                 glib:get-type="hb_gobject_ot_name_id_predefined_get_type"
                 c:type="hb_ot_name_id_predefined_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-name.h"
           line="36">An enum type representing the pre-defined name IDs.

For more information on these fields, see the
[OpenType spec](https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids).</doc>
      <member name="copyright"
              value="0"
              c:identifier="HB_OT_NAME_ID_COPYRIGHT"
              glib:nick="copyright"
              glib:name="HB_OT_NAME_ID_COPYRIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="38">Copyright notice</doc>
      </member>
      <member name="font_family"
              value="1"
              c:identifier="HB_OT_NAME_ID_FONT_FAMILY"
              glib:nick="font-family"
              glib:name="HB_OT_NAME_ID_FONT_FAMILY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="39">Font Family name</doc>
      </member>
      <member name="font_subfamily"
              value="2"
              c:identifier="HB_OT_NAME_ID_FONT_SUBFAMILY"
              glib:nick="font-subfamily"
              glib:name="HB_OT_NAME_ID_FONT_SUBFAMILY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="40">Font Subfamily name</doc>
      </member>
      <member name="unique_id"
              value="3"
              c:identifier="HB_OT_NAME_ID_UNIQUE_ID"
              glib:nick="unique-id"
              glib:name="HB_OT_NAME_ID_UNIQUE_ID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="41">Unique font identifier</doc>
      </member>
      <member name="full_name"
              value="4"
              c:identifier="HB_OT_NAME_ID_FULL_NAME"
              glib:nick="full-name"
              glib:name="HB_OT_NAME_ID_FULL_NAME">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="42">Full font name that reflects
all family and relevant subfamily descriptors</doc>
      </member>
      <member name="version_string"
              value="5"
              c:identifier="HB_OT_NAME_ID_VERSION_STRING"
              glib:nick="version-string"
              glib:name="HB_OT_NAME_ID_VERSION_STRING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="44">Version string</doc>
      </member>
      <member name="postscript_name"
              value="6"
              c:identifier="HB_OT_NAME_ID_POSTSCRIPT_NAME"
              glib:nick="postscript-name"
              glib:name="HB_OT_NAME_ID_POSTSCRIPT_NAME">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="45">PostScript name for the font</doc>
      </member>
      <member name="trademark"
              value="7"
              c:identifier="HB_OT_NAME_ID_TRADEMARK"
              glib:nick="trademark"
              glib:name="HB_OT_NAME_ID_TRADEMARK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="46">Trademark</doc>
      </member>
      <member name="manufacturer"
              value="8"
              c:identifier="HB_OT_NAME_ID_MANUFACTURER"
              glib:nick="manufacturer"
              glib:name="HB_OT_NAME_ID_MANUFACTURER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="47">Manufacturer Name</doc>
      </member>
      <member name="designer"
              value="9"
              c:identifier="HB_OT_NAME_ID_DESIGNER"
              glib:nick="designer"
              glib:name="HB_OT_NAME_ID_DESIGNER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="48">Designer</doc>
      </member>
      <member name="description"
              value="10"
              c:identifier="HB_OT_NAME_ID_DESCRIPTION"
              glib:nick="description"
              glib:name="HB_OT_NAME_ID_DESCRIPTION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="49">Description</doc>
      </member>
      <member name="vendor_url"
              value="11"
              c:identifier="HB_OT_NAME_ID_VENDOR_URL"
              glib:nick="vendor-url"
              glib:name="HB_OT_NAME_ID_VENDOR_URL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="50">URL of font vendor</doc>
      </member>
      <member name="designer_url"
              value="12"
              c:identifier="HB_OT_NAME_ID_DESIGNER_URL"
              glib:nick="designer-url"
              glib:name="HB_OT_NAME_ID_DESIGNER_URL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="51">URL of typeface designer</doc>
      </member>
      <member name="license"
              value="13"
              c:identifier="HB_OT_NAME_ID_LICENSE"
              glib:nick="license"
              glib:name="HB_OT_NAME_ID_LICENSE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="52">License Description</doc>
      </member>
      <member name="license_url"
              value="14"
              c:identifier="HB_OT_NAME_ID_LICENSE_URL"
              glib:nick="license-url"
              glib:name="HB_OT_NAME_ID_LICENSE_URL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="53">URL where additional licensing
information can be found</doc>
      </member>
      <member name="typographic_family"
              value="16"
              c:identifier="HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY"
              glib:nick="typographic-family"
              glib:name="HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="55">Typographic Family name</doc>
      </member>
      <member name="typographic_subfamily"
              value="17"
              c:identifier="HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
              glib:nick="typographic-subfamily"
              glib:name="HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="56">Typographic Subfamily name</doc>
      </member>
      <member name="mac_full_name"
              value="18"
              c:identifier="HB_OT_NAME_ID_MAC_FULL_NAME"
              glib:nick="mac-full-name"
              glib:name="HB_OT_NAME_ID_MAC_FULL_NAME">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="57">Compatible Full Name for MacOS</doc>
      </member>
      <member name="sample_text"
              value="19"
              c:identifier="HB_OT_NAME_ID_SAMPLE_TEXT"
              glib:nick="sample-text"
              glib:name="HB_OT_NAME_ID_SAMPLE_TEXT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="58">Sample text</doc>
      </member>
      <member name="cid_findfont_name"
              value="20"
              c:identifier="HB_OT_NAME_ID_CID_FINDFONT_NAME"
              glib:nick="cid-findfont-name"
              glib:name="HB_OT_NAME_ID_CID_FINDFONT_NAME">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="59">PostScript CID findfont name</doc>
      </member>
      <member name="wws_family"
              value="21"
              c:identifier="HB_OT_NAME_ID_WWS_FAMILY"
              glib:nick="wws-family"
              glib:name="HB_OT_NAME_ID_WWS_FAMILY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="60">WWS Family Name</doc>
      </member>
      <member name="wws_subfamily"
              value="22"
              c:identifier="HB_OT_NAME_ID_WWS_SUBFAMILY"
              glib:nick="wws-subfamily"
              glib:name="HB_OT_NAME_ID_WWS_SUBFAMILY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="61">WWS Subfamily Name</doc>
      </member>
      <member name="light_background"
              value="23"
              c:identifier="HB_OT_NAME_ID_LIGHT_BACKGROUND"
              glib:nick="light-background"
              glib:name="HB_OT_NAME_ID_LIGHT_BACKGROUND">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="62">Light Background Palette</doc>
      </member>
      <member name="dark_background"
              value="24"
              c:identifier="HB_OT_NAME_ID_DARK_BACKGROUND"
              glib:nick="dark-background"
              glib:name="HB_OT_NAME_ID_DARK_BACKGROUND">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="63">Dark Background Palette</doc>
      </member>
      <member name="variations_ps_prefix"
              value="25"
              c:identifier="HB_OT_NAME_ID_VARIATIONS_PS_PREFIX"
              glib:nick="variations-ps-prefix"
              glib:name="HB_OT_NAME_ID_VARIATIONS_PS_PREFIX">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="64">Variations PostScript Name Prefix</doc>
      </member>
      <member name="invalid"
              value="65535"
              c:identifier="HB_OT_NAME_ID_INVALID"
              glib:nick="invalid"
              glib:name="HB_OT_NAME_ID_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-name.h"
             line="65">Value to represent a nonexistent name ID.</doc>
      </member>
    </enumeration>
    <function name="ot_name_list_names" c:identifier="hb_ot_name_list_names">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-name.h" line="136"/>
      <return-value transfer-ownership="none">
        <type name="ot_name_entry_t" c:type="const hb_ot_name_entry_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="num_entries" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_shape_glyphs_closure"
              c:identifier="hb_ot_shape_glyphs_closure">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-shape.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="glyphs" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_shape_plan_collect_lookups"
              c:identifier="hb_ot_shape_plan_collect_lookups">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-shape.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="lookup_indexes" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_shape_plan_get_feature_tags"
              c:identifier="hb_ot_shape_plan_get_feature_tags">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-shape.h" line="52"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="tag_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_tag_from_language"
              c:identifier="hb_ot_tag_from_language">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="94"/>
      <return-value transfer-ownership="none">
        <type name="tag_t" c:type="hb_tag_t"/>
      </return-value>
      <parameters>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_tag_to_language"
              c:identifier="hb_ot_tag_to_language"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="121"/>
      <return-value>
        <type name="language_t" c:type="hb_language_t"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_tag_to_script" c:identifier="hb_ot_tag_to_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="118"/>
      <return-value transfer-ownership="none">
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_tags_from_script" c:identifier="hb_ot_tags_from_script">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="88"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
        <parameter name="script_tag_1" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
        <parameter name="script_tag_2" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_tags_from_script_and_language"
              c:identifier="hb_ot_tags_from_script_and_language">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="110"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t"/>
        </parameter>
        <parameter name="script_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="script_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
        <parameter name="language_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="language_tags" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_tags_to_script_and_language"
              c:identifier="hb_ot_tags_to_script_and_language">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-layout.h"
                       line="124"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="script_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="language_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t*"/>
        </parameter>
        <parameter name="language" transfer-ownership="none">
          <type name="language_t" c:type="hb_language_t*"/>
        </parameter>
      </parameters>
    </function>
    <bitfield name="ot_var_axis_flags_t"
              version="2.2.0"
              glib:type-name="hb_ot_var_axis_flags_t"
              glib:get-type="hb_gobject_ot_var_axis_flags_get_type"
              c:type="hb_ot_var_axis_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-var.h"
           line="91">Flags for #hb_ot_var_axis_info_t.</doc>
      <member name="hidden"
              value="1"
              c:identifier="HB_OT_VAR_AXIS_FLAG_HIDDEN"
              glib:nick="hidden"
              glib:name="HB_OT_VAR_AXIS_FLAG_HIDDEN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="93">The axis should not be exposed directly in user interfaces.</doc>
      </member>
    </bitfield>
    <record name="ot_var_axis_info_t"
            c:type="hb_ot_var_axis_info_t"
            version="2.2.0"
            glib:type-name="hb_ot_var_axis_info_t"
            glib:get-type="hb_gobject_ot_var_axis_info_get_type"
            c:symbol-prefix="gobject_ot_var_axis_info">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-var.h"
           line="106">Data type for holding variation-axis values.

The minimum, default, and maximum values are in un-normalized, user scales.

&lt;note&gt;Note: at present, the only flag defined for @flags is
#HB_OT_VAR_AXIS_FLAG_HIDDEN.&lt;/note&gt;</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="135"/>
      <field name="axis_index" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="108">Index of the axis in the variation-axis array</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="tag" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="109">The #hb_tag_t tag identifying the design variation of the axis</doc>
        <type name="tag_t" c:type="hb_tag_t"/>
      </field>
      <field name="name_id" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="110">The `name` table Name ID that provides display names for the axis</doc>
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </field>
      <field name="flags" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="111">The #hb_ot_var_axis_flags_t flags for the axis</doc>
        <type name="ot_var_axis_flags_t" c:type="hb_ot_var_axis_flags_t"/>
      </field>
      <field name="min_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="112">The minimum value on the variation axis that the font covers</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="default_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="113">The position on the variation axis corresponding to the font's defaults</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="max_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-var.h"
             line="114">The maximum value on the variation axis that the font covers</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="reserved" readable="0" private="1">
        <type name="guint" c:type="unsigned int"/>
      </field>
    </record>
    <record name="ot_var_axis_t"
            c:type="hb_ot_var_axis_t"
            version="1.4.2"
            deprecated="1"
            deprecated-version="2.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
           line="107">Use #hb_ot_var_axis_info_t instead.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="126"/>
      <field name="tag" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
             line="109">axis tag</doc>
        <type name="tag_t" c:type="hb_tag_t"/>
      </field>
      <field name="name_id" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
             line="110">axis name identifier</doc>
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </field>
      <field name="min_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
             line="111">minimum value of the axis</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="default_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
             line="112">default value of the axis</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="max_value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
             line="113">maximum value of the axis</doc>
        <type name="gfloat" c:type="float"/>
      </field>
    </record>
    <function name="ot_var_find_axis" c:identifier="hb_ot_var_find_axis">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="137"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="axis_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="axis_info" transfer-ownership="none">
          <type name="ot_var_axis_t" c:type="hb_ot_var_axis_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_find_axis_info"
              c:identifier="hb_ot_var_find_axis_info">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="144"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="axis_info" transfer-ownership="none">
          <type name="ot_var_axis_info_t" c:type="hb_ot_var_axis_info_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_get_axes" c:identifier="hb_ot_var_get_axes">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-deprecated.h"
                       line="130"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="axes_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="axes_array" transfer-ownership="none">
          <type name="ot_var_axis_t" c:type="hb_ot_var_axis_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_get_axis_count"
              c:identifier="hb_ot_var_get_axis_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="89"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_get_axis_infos"
              c:identifier="hb_ot_var_get_axis_infos">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="138"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="start_offset" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="axes_count" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="axes_array" transfer-ownership="none">
          <type name="ot_var_axis_info_t" c:type="hb_ot_var_axis_info_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_get_named_instance_count"
              c:identifier="hb_ot_var_get_named_instance_count">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="154"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_has_data" c:identifier="hb_ot_var_has_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="80"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_named_instance_get_design_coords"
              c:identifier="hb_ot_var_named_instance_get_design_coords">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="165"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="instance_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="coords_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_named_instance_get_postscript_name_id"
              c:identifier="hb_ot_var_named_instance_get_postscript_name_id">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="161"/>
      <return-value transfer-ownership="none">
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="instance_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_named_instance_get_subfamily_name_id"
              c:identifier="hb_ot_var_named_instance_get_subfamily_name_id">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="157"/>
      <return-value transfer-ownership="none">
        <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="instance_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_normalize_coords"
              c:identifier="hb_ot_var_normalize_coords">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="183"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="coords_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="design_coords" transfer-ownership="none">
          <type name="gfloat" c:type="const float*"/>
        </parameter>
        <parameter name="normalized_coords" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ot_var_normalize_variations"
              c:identifier="hb_ot_var_normalize_variations">
      <source-position filename="harfbuzz-11.0.0/src/hb-ot-var.h" line="176"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="variations" transfer-ownership="none">
          <type name="variation_t" c:type="const hb_variation_t*"/>
        </parameter>
        <parameter name="variations_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="coords_length" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_color" c:identifier="hb_paint_color">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="989"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="is_foreground" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
        <parameter name="color" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_color_func_t"
              c:type="hb_paint_color_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="229">A virtual method for the #hb_paint_funcs_t to paint a
color everywhere within the current clip.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="242"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="231">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="232">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="is_foreground" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="233">whether the color is the foreground</doc>
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
        <parameter name="color" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="234">The color to use, unpremultiplied</doc>
          <type name="color_t" c:type="hb_color_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="235">User data pointer passed to hb_paint_funcs_set_color_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_color_glyph" c:identifier="hb_paint_color_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="971"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_color_glyph_func_t"
              c:type="hb_paint_color_glyph_func_t"
              version="8.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="139">A virtual method for the #hb_paint_funcs_t to render a color glyph by glyph index.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="153"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="149">`true` if the glyph was painted, `false` otherwise.</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="141">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="142">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="143">the glyph ID</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="144">the font</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="145">User data pointer passed to hb_paint_funcs_set_color_glyph_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="paint_composite_mode_t"
                 version="7.0.0"
                 glib:type-name="hb_paint_composite_mode_t"
                 glib:get-type="hb_gobject_paint_composite_mode_get_type"
                 c:type="hb_paint_composite_mode_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="543">The values of this enumeration describe the compositing modes
that can be used when combining temporary redirected drawing
with the backdrop.

See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
section for details.</doc>
      <member name="clear"
              value="0"
              c:identifier="HB_PAINT_COMPOSITE_MODE_CLEAR"
              glib:nick="clear"
              glib:name="HB_PAINT_COMPOSITE_MODE_CLEAR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="545">clear destination layer (bounded)</doc>
      </member>
      <member name="src"
              value="1"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SRC"
              glib:nick="src"
              glib:name="HB_PAINT_COMPOSITE_MODE_SRC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="546">replace destination layer (bounded)</doc>
      </member>
      <member name="dest"
              value="2"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DEST"
              glib:nick="dest"
              glib:name="HB_PAINT_COMPOSITE_MODE_DEST">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="555">ignore the source</doc>
      </member>
      <member name="src_over"
              value="3"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_OVER"
              glib:nick="src-over"
              glib:name="HB_PAINT_COMPOSITE_MODE_SRC_OVER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="547">draw source layer on top of destination layer
(bounded)</doc>
      </member>
      <member name="dest_over"
              value="4"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_OVER"
              glib:nick="dest-over"
              glib:name="HB_PAINT_COMPOSITE_MODE_DEST_OVER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="556">draw destination on top of source</doc>
      </member>
      <member name="src_in"
              value="5"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_IN"
              glib:nick="src-in"
              glib:name="HB_PAINT_COMPOSITE_MODE_SRC_IN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="549">draw source where there was destination content
(unbounded)</doc>
      </member>
      <member name="dest_in"
              value="6"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_IN"
              glib:nick="dest-in"
              glib:name="HB_PAINT_COMPOSITE_MODE_DEST_IN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="557">leave destination only where there was
source content (unbounded)</doc>
      </member>
      <member name="src_out"
              value="7"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_OUT"
              glib:nick="src-out"
              glib:name="HB_PAINT_COMPOSITE_MODE_SRC_OUT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="551">draw source where there was no destination
content (unbounded)</doc>
      </member>
      <member name="dest_out"
              value="8"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_OUT"
              glib:nick="dest-out"
              glib:name="HB_PAINT_COMPOSITE_MODE_DEST_OUT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="559">leave destination only where there was no
source content</doc>
      </member>
      <member name="src_atop"
              value="9"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_ATOP"
              glib:nick="src-atop"
              glib:name="HB_PAINT_COMPOSITE_MODE_SRC_ATOP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="553">draw source on top of destination content and
only there</doc>
      </member>
      <member name="dest_atop"
              value="10"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_ATOP"
              glib:nick="dest-atop"
              glib:name="HB_PAINT_COMPOSITE_MODE_DEST_ATOP">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="561">leave destination on top of source content
and only there (unbounded)</doc>
      </member>
      <member name="xor"
              value="11"
              c:identifier="HB_PAINT_COMPOSITE_MODE_XOR"
              glib:nick="xor"
              glib:name="HB_PAINT_COMPOSITE_MODE_XOR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="563">source and destination are shown where there is only
one of them</doc>
      </member>
      <member name="plus"
              value="12"
              c:identifier="HB_PAINT_COMPOSITE_MODE_PLUS"
              glib:nick="plus"
              glib:name="HB_PAINT_COMPOSITE_MODE_PLUS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="565">source and destination layers are accumulated</doc>
      </member>
      <member name="screen"
              value="13"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SCREEN"
              glib:nick="screen"
              glib:name="HB_PAINT_COMPOSITE_MODE_SCREEN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="568">source and destination are complemented and
multiplied. This causes the result to be at least as light as the lighter
inputs.</doc>
      </member>
      <member name="overlay"
              value="14"
              c:identifier="HB_PAINT_COMPOSITE_MODE_OVERLAY"
              glib:nick="overlay"
              glib:name="HB_PAINT_COMPOSITE_MODE_OVERLAY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="571">multiplies or screens, depending on the
lightness of the destination color.</doc>
      </member>
      <member name="darken"
              value="15"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DARKEN"
              glib:nick="darken"
              glib:name="HB_PAINT_COMPOSITE_MODE_DARKEN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="573">replaces the destination with the source if it
is darker, otherwise keeps the source.</doc>
      </member>
      <member name="lighten"
              value="16"
              c:identifier="HB_PAINT_COMPOSITE_MODE_LIGHTEN"
              glib:nick="lighten"
              glib:name="HB_PAINT_COMPOSITE_MODE_LIGHTEN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="575">replaces the destination with the source if it
is lighter, otherwise keeps the source.</doc>
      </member>
      <member name="color_dodge"
              value="17"
              c:identifier="HB_PAINT_COMPOSITE_MODE_COLOR_DODGE"
              glib:nick="color-dodge"
              glib:name="HB_PAINT_COMPOSITE_MODE_COLOR_DODGE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="577">brightens the destination color to reflect
the source color.</doc>
      </member>
      <member name="color_burn"
              value="18"
              c:identifier="HB_PAINT_COMPOSITE_MODE_COLOR_BURN"
              glib:nick="color-burn"
              glib:name="HB_PAINT_COMPOSITE_MODE_COLOR_BURN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="579">darkens the destination color to reflect
the source color.</doc>
      </member>
      <member name="hard_light"
              value="19"
              c:identifier="HB_PAINT_COMPOSITE_MODE_HARD_LIGHT"
              glib:nick="hard-light"
              glib:name="HB_PAINT_COMPOSITE_MODE_HARD_LIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="581">Multiplies or screens, dependent on source
color.</doc>
      </member>
      <member name="soft_light"
              value="20"
              c:identifier="HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT"
              glib:nick="soft-light"
              glib:name="HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="583">Darkens or lightens, dependent on source
color.</doc>
      </member>
      <member name="difference"
              value="21"
              c:identifier="HB_PAINT_COMPOSITE_MODE_DIFFERENCE"
              glib:nick="difference"
              glib:name="HB_PAINT_COMPOSITE_MODE_DIFFERENCE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="585">Takes the difference of the source and
destination color.</doc>
      </member>
      <member name="exclusion"
              value="22"
              c:identifier="HB_PAINT_COMPOSITE_MODE_EXCLUSION"
              glib:nick="exclusion"
              glib:name="HB_PAINT_COMPOSITE_MODE_EXCLUSION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="587">Produces an effect similar to difference, but
with lower contrast.</doc>
      </member>
      <member name="multiply"
              value="23"
              c:identifier="HB_PAINT_COMPOSITE_MODE_MULTIPLY"
              glib:nick="multiply"
              glib:name="HB_PAINT_COMPOSITE_MODE_MULTIPLY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="566">source and destination layers are multiplied.
This causes the result to be at least as dark as the darker inputs.</doc>
      </member>
      <member name="hsl_hue"
              value="24"
              c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_HUE"
              glib:nick="hsl-hue"
              glib:name="HB_PAINT_COMPOSITE_MODE_HSL_HUE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="589">Creates a color with the hue of the source
and the saturation and luminosity of the target.</doc>
      </member>
      <member name="hsl_saturation"
              value="25"
              c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_SATURATION"
              glib:nick="hsl-saturation"
              glib:name="HB_PAINT_COMPOSITE_MODE_HSL_SATURATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="591">Creates a color with the saturation
of the source and the hue and luminosity of the target. Painting with
this mode onto a gray area produces no change.</doc>
      </member>
      <member name="hsl_color"
              value="26"
              c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_COLOR"
              glib:nick="hsl-color"
              glib:name="HB_PAINT_COMPOSITE_MODE_HSL_COLOR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="594">Creates a color with the hue and saturation
of the source and the luminosity of the target. This preserves the gray
levels of the target and is useful for coloring monochrome images or
tinting color images.</doc>
      </member>
      <member name="hsl_luminosity"
              value="27"
              c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY"
              glib:nick="hsl-luminosity"
              glib:name="HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="598">Creates a color with the luminosity of
the source and the hue and saturation of the target. This produces an
inverse effect to @HB_PAINT_COMPOSITE_MODE_HSL_COLOR.</doc>
      </member>
    </enumeration>
    <function name="paint_custom_palette_color"
              c:identifier="hb_paint_custom_palette_color">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="1031"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_index" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="color" transfer-ownership="none">
          <type name="color_t" c:type="hb_color_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_custom_palette_color_func_t"
              c:type="hb_paint_custom_palette_color_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="683">A virtual method for the #hb_paint_funcs_t to fetch a color from the custom
color palette.

Custom palette colors override the colors from the fonts selected color
palette. It is not necessary to override all palette entries; for entries
that should be taken from the font palette, return `false`.

This function might get called multiple times, but the custom palette is
expected to remain unchanged for duration of a hb_font_paint_glyph() call.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="705"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="701">`true` if found, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="685">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="686">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_index" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="687">the color index</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="color"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="688">fetched color</doc>
          <type name="color_t" c:type="hb_color_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="689">User data pointer passed to hb_paint_funcs_set_pop_group_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="paint_extend_t"
                 version="7.0.0"
                 glib:type-name="hb_paint_extend_t"
                 glib:get-type="hb_gobject_paint_extend_get_type"
                 c:type="hb_paint_extend_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="336">The values of this enumeration determine how color values
outside the minimum and maximum defined offset on a #hb_color_line_t
are determined.

See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
section for details.</doc>
      <member name="pad"
              value="0"
              c:identifier="HB_PAINT_EXTEND_PAD"
              glib:nick="pad"
              glib:name="HB_PAINT_EXTEND_PAD">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="338">Outside the defined interval,
  the color of the closest color stop is used.</doc>
      </member>
      <member name="repeat"
              value="1"
              c:identifier="HB_PAINT_EXTEND_REPEAT"
              glib:nick="repeat"
              glib:name="HB_PAINT_EXTEND_REPEAT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="340">The color line is repeated over
  repeated multiples of the defined interval</doc>
      </member>
      <member name="reflect"
              value="2"
              c:identifier="HB_PAINT_EXTEND_REFLECT"
              glib:nick="reflect"
              glib:name="HB_PAINT_EXTEND_REFLECT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="342">The color line is repeated over
     repeated intervals, as for the repeat mode.
     However, in each repeated interval, the ordering of
     color stops is the reverse of the adjacent interval.</doc>
      </member>
    </enumeration>
    <function name="paint_funcs_create" c:identifier="hb_paint_funcs_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="66"/>
      <return-value transfer-ownership="full">
        <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
      </return-value>
    </function>
    <function name="paint_funcs_destroy" c:identifier="hb_paint_funcs_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="75"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_get_empty"
              c:identifier="hb_paint_funcs_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="69"/>
      <return-value transfer-ownership="full">
        <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
      </return-value>
    </function>
    <function name="paint_funcs_get_user_data"
              c:identifier="hb_paint_funcs_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="86"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="const hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_is_immutable"
              c:identifier="hb_paint_funcs_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="93"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_make_immutable"
              c:identifier="hb_paint_funcs_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="90"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_reference"
              c:identifier="hb_paint_funcs_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="72"/>
      <return-value transfer-ownership="full">
        <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_color_func"
              c:identifier="hb_paint_funcs_set_color_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="814">Sets the paint-color callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="826"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="816">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="817">The paint-color callback</doc>
          <type name="paint_color_func_t" c:type="hb_paint_color_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="818">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="819">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_color_glyph_func"
              c:identifier="hb_paint_funcs_set_color_glyph_func"
              version="8.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="746">Sets the color-glyph callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="758"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="748">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="749">The color-glyph callback</doc>
          <type name="paint_color_glyph_func_t"
                c:type="hb_paint_color_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="750">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="751">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_custom_palette_color_func"
              c:identifier="hb_paint_funcs_set_custom_palette_color_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="933">Sets the custom-palette-color callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="945"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="935">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="936">The custom-palette-color callback</doc>
          <type name="paint_custom_palette_color_func_t"
                c:type="hb_paint_custom_palette_color_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="937">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="938">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_image_func"
              c:identifier="hb_paint_funcs_set_image_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="831">Sets the paint-image callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="843"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="833">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="834">The paint-image callback</doc>
          <type name="paint_image_func_t" c:type="hb_paint_image_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="835">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="836">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_linear_gradient_func"
              c:identifier="hb_paint_funcs_set_linear_gradient_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="848">Sets the linear-gradient callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="860"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="850">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="851">The linear-gradient callback</doc>
          <type name="paint_linear_gradient_func_t"
                c:type="hb_paint_linear_gradient_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="852">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="853">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_pop_clip_func"
              c:identifier="hb_paint_funcs_set_pop_clip_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="797">Sets the pop-clip callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="809"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="799">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="800">The pop-clip callback</doc>
          <type name="paint_pop_clip_func_t"
                c:type="hb_paint_pop_clip_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="801">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="802">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_pop_group_func"
              c:identifier="hb_paint_funcs_set_pop_group_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="916">Sets the pop-group callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="928"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="918">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="919">The pop-group callback</doc>
          <type name="paint_pop_group_func_t"
                c:type="hb_paint_pop_group_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="920">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="921">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_pop_transform_func"
              c:identifier="hb_paint_funcs_set_pop_transform_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="729">Sets the pop-transform callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="741"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="731">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="732">The pop-transform callback</doc>
          <type name="paint_pop_transform_func_t"
                c:type="hb_paint_pop_transform_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="733">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="734">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_push_clip_glyph_func"
              c:identifier="hb_paint_funcs_set_push_clip_glyph_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="763">Sets the push-clip-glyph callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="775"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="765">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="766">The push-clip-glyph callback</doc>
          <type name="paint_push_clip_glyph_func_t"
                c:type="hb_paint_push_clip_glyph_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="767">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="768">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_push_clip_rectangle_func"
              c:identifier="hb_paint_funcs_set_push_clip_rectangle_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="780">Sets the push-clip-rect callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="792"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="782">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="783">The push-clip-rectangle callback</doc>
          <type name="paint_push_clip_rectangle_func_t"
                c:type="hb_paint_push_clip_rectangle_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="784">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="785">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_push_group_func"
              c:identifier="hb_paint_funcs_set_push_group_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="899">Sets the push-group callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="911"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="901">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="902">The push-group callback</doc>
          <type name="paint_push_group_func_t"
                c:type="hb_paint_push_group_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="903">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="904">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_push_transform_func"
              c:identifier="hb_paint_funcs_set_push_transform_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="712">Sets the push-transform callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="724"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="714">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="715">The push-transform callback</doc>
          <type name="paint_push_transform_func_t"
                c:type="hb_paint_push_transform_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="716">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="717">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_radial_gradient_func"
              c:identifier="hb_paint_funcs_set_radial_gradient_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="865">Sets the radial-gradient callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="877"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="867">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="868">The radial-gradient callback</doc>
          <type name="paint_radial_gradient_func_t"
                c:type="hb_paint_radial_gradient_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="869">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="870">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_sweep_gradient_func"
              c:identifier="hb_paint_funcs_set_sweep_gradient_func"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="882">Sets the sweep-gradient callback on the paint functions struct.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="894"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="884">A paint functions struct</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="885">The sweep-gradient callback</doc>
          <type name="paint_sweep_gradient_func_t"
                c:type="hb_paint_sweep_gradient_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="886">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="887">Function to call when @user_data is no longer needed</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_funcs_set_user_data"
              c:identifier="hb_paint_funcs_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="78"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="paint_funcs_t"
            c:type="hb_paint_funcs_t"
            opaque="1"
            version="7.0.0"
            glib:type-name="hb_paint_funcs_t"
            glib:get-type="hb_gobject_paint_funcs_get_type"
            c:symbol-prefix="gobject_paint_funcs">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="37">Glyph paint callbacks.

The callbacks assume that the caller maintains a stack
of current transforms, clips and intermediate surfaces,
as evidenced by the pairs of push/pop callbacks. The
push/pop calls will be properly nested, so it is fine
to store the different kinds of object on a single stack.

Not all callbacks are required for all kinds of glyphs.
For rendering COLRv0 or non-color outline glyphs, the
gradient callbacks are not needed, and the composite
callback only needs to handle simple alpha compositing
(#HB_PAINT_COMPOSITE_MODE_SRC_OVER).

The paint-image callback is only needed for glyphs
with image blobs in the CBDT, sbix or SVG tables.

The custom-palette-color callback is only necessary if
you want to override colors from the font palette with
custom colors.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="63"/>
    </record>
    <function name="paint_image" c:identifier="hb_paint_image">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="994"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="image" transfer-ownership="none">
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="width" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="height" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="slant" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="extents" transfer-ownership="none">
          <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_image_func_t"
              c:type="hb_paint_image_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="276">A virtual method for the #hb_paint_funcs_t to paint a glyph image.

This method is called for glyphs with image blobs in the CBDT,
sbix or SVG tables. The @format identifies the kind of data that
is contained in @image. Possible values include #HB_PAINT_IMAGE_FORMAT_PNG,
#HB_PAINT_IMAGE_FORMAT_SVG and #HB_PAINT_IMAGE_FORMAT_BGRA.

The image dimensions and glyph extents are provided if available,
and should be used to size and position the image.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="302"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-paint.h"
             line="298">Whether the operation was successful.</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="278">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="279">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="image" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="280">the image data</doc>
          <type name="blob_t" c:type="hb_blob_t*"/>
        </parameter>
        <parameter name="width" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="281">width of the raster image in pixels, or 0</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="height" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="282">height of the raster image in pixels, or 0</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="283">the image format as a tag</doc>
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="slant" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="284">the synthetic slant ratio to be applied to the image during rendering</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="extents"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="285">glyph extents for desired rendering</doc>
          <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="8">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="286">User data pointer passed to hb_paint_funcs_set_image_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_linear_gradient"
              c:identifier="hb_paint_linear_gradient">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="1003"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_line" transfer-ownership="none">
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="x0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="x1" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y1" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="x2" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y2" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_linear_gradient_func_t"
              c:type="hb_paint_linear_gradient_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="438">A virtual method for the #hb_paint_funcs_t to paint a linear
gradient everywhere within the current clip.

The @color_line object contains information about the colors of the gradients.
It is only valid for the duration of the callback, you cannot keep it around.

The coordinates of the points are interpreted according
to the current transform.

See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
section for details on how the points define the direction
of the gradient, and how to interpret the @color_line.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="466"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="440">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="441">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="442">Color information for the gradient</doc>
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="x0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="443">X coordinate of the first point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="444">Y coordinate of the first point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="x1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="445">X coordinate of the second point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="446">Y coordinate of the second point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="x2" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="447">X coordinate of the third point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y2" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="448">Y coordinate of the third point</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="9">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="449">User data pointer passed to hb_paint_funcs_set_linear_gradient_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_pop_clip" c:identifier="hb_paint_pop_clip">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="986"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_pop_clip_func_t"
              c:type="hb_paint_pop_clip_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="213">A virtual method for the #hb_paint_funcs_t to undo
the effect of a prior call to the #hb_paint_funcs_push_clip_glyph_func_t
or #hb_paint_funcs_push_clip_rectangle_func_t vfuncs.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="225"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="215">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="216">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="217">User data pointer passed to hb_paint_funcs_set_pop_clip_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_pop_group" c:identifier="hb_paint_pop_group">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="1027"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="paint_composite_mode_t"
                c:type="hb_paint_composite_mode_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_pop_group_func_t"
              c:type="hb_paint_pop_group_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="661">A virtual method for the #hb_paint_funcs_t to undo
the effect of a prior call to the #hb_paint_funcs_push_group_func_t
vfunc.

This call stops the redirection to the intermediate surface,
and then composites it on the previous surface, using the
compositing mode passed to this call.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="678"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="663">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="664">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="665">the compositing mode to use</doc>
          <type name="paint_composite_mode_t"
                c:type="hb_paint_composite_mode_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="666">User data pointer passed to hb_paint_funcs_set_pop_group_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_pop_transform" c:identifier="hb_paint_pop_transform">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="968"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_pop_transform_func_t"
              c:type="hb_paint_pop_transform_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="123">A virtual method for the #hb_paint_funcs_t to undo
the effect of a prior call to the #hb_paint_funcs_push_transform_func_t
vfunc.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="135"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="125">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="126">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="127">User data pointer passed to hb_paint_funcs_set_pop_transform_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_push_clip_glyph"
              c:identifier="hb_paint_push_clip_glyph">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="976"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_push_clip_glyph_func_t"
              c:type="hb_paint_push_clip_glyph_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="159">A virtual method for the #hb_paint_funcs_t to clip
subsequent paint calls to the outline of a glyph.

The coordinates of the glyph outline are interpreted according
to the current transform.

This clip is applied in addition to the current clip,
and remains in effect until a matching call to
the #hb_paint_funcs_pop_clip_func_t vfunc.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="179"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="161">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="162">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="glyph" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="163">the glyph ID</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="164">the font</doc>
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="165">User data pointer passed to hb_paint_funcs_set_push_clip_glyph_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_push_clip_rectangle"
              c:identifier="hb_paint_push_clip_rectangle">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="981"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="xmin" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="ymin" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="xmax" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="ymax" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_push_clip_rectangle_func_t"
              c:type="hb_paint_push_clip_rectangle_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="185">A virtual method for the #hb_paint_funcs_t to clip
subsequent paint calls to a rectangle.

The coordinates of the rectangle are interpreted according
to the current transform.

This clip is applied in addition to the current clip,
and remains in effect until a matching call to
the #hb_paint_funcs_pop_clip_func_t vfunc.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="207"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="187">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="188">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="xmin" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="189">min X for the rectangle</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="ymin" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="190">min Y for the rectangle</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="xmax" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="191">max X for the rectangle</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="ymax" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="192">max Y for the rectangle</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="6">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="193">User data pointer passed to hb_paint_funcs_set_push_clip_rectangle_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_push_font_transform"
              c:identifier="hb_paint_push_font_transform">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="960"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="const hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_push_group" c:identifier="hb_paint_push_group">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="1024"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_push_group_func_t"
              c:type="hb_paint_push_group_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="642">A virtual method for the #hb_paint_funcs_t to use
an intermediate surface for subsequent paint calls.

The drawing will be redirected to an intermediate surface
until a matching call to the #hb_paint_funcs_pop_group_func_t
vfunc.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="657"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="644">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="645">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="646">User data pointer passed to hb_paint_funcs_set_push_group_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_push_inverse_font_transform"
              c:identifier="hb_paint_push_inverse_font_transform">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="964"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="const hb_font_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="paint_push_transform"
              c:identifier="hb_paint_push_transform">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="954"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="xx" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="yx" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="xy" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="yy" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="dx" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="dy" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_push_transform_func_t"
              c:type="hb_paint_push_transform_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="95">A virtual method for the #hb_paint_funcs_t to apply
a transform to subsequent paint calls.

This transform is applied after the current transform,
and remains in effect until a matching call to
the #hb_paint_funcs_pop_transform_func_t vfunc.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="116"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="97">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="98">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="xx" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="99">xx component of the transform matrix</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="yx" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="100">yx component of the transform matrix</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="xy" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="101">xy component of the transform matrix</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="yy" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="102">yy component of the transform matrix</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="dx" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="103">dx component of the transform matrix</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="dy" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="104">dy component of the transform matrix</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="8">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="105">User data pointer passed to hb_paint_funcs_set_push_transform_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_radial_gradient"
              c:identifier="hb_paint_radial_gradient">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="1010"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_line" transfer-ownership="none">
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="x0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="r0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="x1" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y1" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="r1" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_radial_gradient_func_t"
              c:type="hb_paint_radial_gradient_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="474">A virtual method for the #hb_paint_funcs_t to paint a radial
gradient everywhere within the current clip.

The @color_line object contains information about the colors of the gradients.
It is only valid for the duration of the callback, you cannot keep it around.

The coordinates of the points are interpreted according
to the current transform.

See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
section for details on how the points define the direction
of the gradient, and how to interpret the @color_line.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="502"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="476">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="477">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="478">Color information for the gradient</doc>
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="x0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="479">X coordinate of the first circle's center</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="480">Y coordinate of the first circle's center</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="r0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="481">radius of the first circle</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="x1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="482">X coordinate of the second circle's center</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="483">Y coordinate of the second circle's center</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="r1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="484">radius of the second circle</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="9">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="485">User data pointer passed to hb_paint_funcs_set_radial_gradient_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="paint_sweep_gradient"
              c:identifier="hb_paint_sweep_gradient">
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="1018"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_line" transfer-ownership="none">
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="x0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y0" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="start_angle" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="end_angle" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <callback name="paint_sweep_gradient_func_t"
              c:type="hb_paint_sweep_gradient_func_t"
              version="7.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-paint.h"
           line="509">A virtual method for the #hb_paint_funcs_t to paint a sweep
gradient everywhere within the current clip.

The @color_line object contains information about the colors of the gradients.
It is only valid for the duration of the callback, you cannot keep it around.

The coordinates of the points are interpreted according
to the current transform.

See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
section for details on how the points define the direction
of the gradient, and how to interpret the @color_line.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-paint.h" line="535"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="511">paint functions object</doc>
          <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/>
        </parameter>
        <parameter name="paint_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="512">The data accompanying the paint functions in hb_font_paint_glyph()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="color_line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="513">Color information for the gradient</doc>
          <type name="color_line_t" c:type="hb_color_line_t*"/>
        </parameter>
        <parameter name="x0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="514">X coordinate of the circle's center</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="y0" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="515">Y coordinate of the circle's center</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="start_angle" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="516">the start angle, in radians</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="end_angle" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="517">the end angle, in radians</doc>
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="7">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-paint.h"
               line="518">User data pointer passed to hb_paint_funcs_set_sweep_gradient_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="realloc" c:identifier="hb_realloc">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="958"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="ptr"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="gsize" c:type="size_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="reference_table_func_t"
              c:type="hb_reference_table_func_t"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-face.h"
           line="84">Callback function for hb_face_create_for_tables(). The @tag is the tag of the
table to reference, and the special tag #HB_TAG_NONE is used to reference the
blob of the face itself. If referencing the face blob is not possible, it is
recommended to set hb_get_table_tags_func_t on the @face to allow
hb_face_reference_blob() to create a face blob out of individual table blobs.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-face.h" line="102"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-face.h"
             line="96">A pointer to the @tag table within @face or
`NULL` if the table is not found or cannot be referenced.</doc>
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="86">an #hb_face_t to reference table for</doc>
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="tag" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="87">the tag of the table to reference</doc>
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-face.h"
               line="88">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="script_from_iso15924_tag"
              c:identifier="hb_script_from_iso15924_tag">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="776"/>
      <return-value transfer-ownership="none">
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="script_from_string" c:identifier="hb_script_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="779"/>
      <return-value transfer-ownership="none">
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="script_get_horizontal_direction"
              c:identifier="hb_script_get_horizontal_direction">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="785"/>
      <return-value transfer-ownership="none">
        <type name="direction_t" c:type="hb_direction_t"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="script_t"
                 glib:type-name="hb_script_t"
                 glib:get-type="hb_gobject_script_get_type"
                 c:type="hb_script_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="341">Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding
to the four-letter values defined by [ISO 15924](https://unicode.org/iso15924/).

See also the Script (sc) property of the Unicode Character Database.</doc>
      <member name="common"
              value="1517910393"
              c:identifier="HB_SCRIPT_COMMON"
              glib:nick="common"
              glib:name="HB_SCRIPT_COMMON">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="343">`Zyyy`</doc>
      </member>
      <member name="inherited"
              value="1516858984"
              c:identifier="HB_SCRIPT_INHERITED"
              glib:nick="inherited"
              glib:name="HB_SCRIPT_INHERITED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="344">`Zinh`</doc>
      </member>
      <member name="unknown"
              value="1517976186"
              c:identifier="HB_SCRIPT_UNKNOWN"
              glib:nick="unknown"
              glib:name="HB_SCRIPT_UNKNOWN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="345">`Zzzz`</doc>
      </member>
      <member name="arabic"
              value="1098015074"
              c:identifier="HB_SCRIPT_ARABIC"
              glib:nick="arabic"
              glib:name="HB_SCRIPT_ARABIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="346">`Arab`</doc>
      </member>
      <member name="armenian"
              value="1098018158"
              c:identifier="HB_SCRIPT_ARMENIAN"
              glib:nick="armenian"
              glib:name="HB_SCRIPT_ARMENIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="347">`Armn`</doc>
      </member>
      <member name="bengali"
              value="1113943655"
              c:identifier="HB_SCRIPT_BENGALI"
              glib:nick="bengali"
              glib:name="HB_SCRIPT_BENGALI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="348">`Beng`</doc>
      </member>
      <member name="cyrillic"
              value="1132032620"
              c:identifier="HB_SCRIPT_CYRILLIC"
              glib:nick="cyrillic"
              glib:name="HB_SCRIPT_CYRILLIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="349">`Cyrl`</doc>
      </member>
      <member name="devanagari"
              value="1147500129"
              c:identifier="HB_SCRIPT_DEVANAGARI"
              glib:nick="devanagari"
              glib:name="HB_SCRIPT_DEVANAGARI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="350">`Deva`</doc>
      </member>
      <member name="georgian"
              value="1197830002"
              c:identifier="HB_SCRIPT_GEORGIAN"
              glib:nick="georgian"
              glib:name="HB_SCRIPT_GEORGIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="351">`Geor`</doc>
      </member>
      <member name="greek"
              value="1198679403"
              c:identifier="HB_SCRIPT_GREEK"
              glib:nick="greek"
              glib:name="HB_SCRIPT_GREEK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="352">`Grek`</doc>
      </member>
      <member name="gujarati"
              value="1198877298"
              c:identifier="HB_SCRIPT_GUJARATI"
              glib:nick="gujarati"
              glib:name="HB_SCRIPT_GUJARATI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="353">`Gujr`</doc>
      </member>
      <member name="gurmukhi"
              value="1198879349"
              c:identifier="HB_SCRIPT_GURMUKHI"
              glib:nick="gurmukhi"
              glib:name="HB_SCRIPT_GURMUKHI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="354">`Guru`</doc>
      </member>
      <member name="hangul"
              value="1214344807"
              c:identifier="HB_SCRIPT_HANGUL"
              glib:nick="hangul"
              glib:name="HB_SCRIPT_HANGUL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="355">`Hang`</doc>
      </member>
      <member name="han"
              value="1214344809"
              c:identifier="HB_SCRIPT_HAN"
              glib:nick="han"
              glib:name="HB_SCRIPT_HAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="356">`Hani`</doc>
      </member>
      <member name="hebrew"
              value="1214603890"
              c:identifier="HB_SCRIPT_HEBREW"
              glib:nick="hebrew"
              glib:name="HB_SCRIPT_HEBREW">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="357">`Hebr`</doc>
      </member>
      <member name="hiragana"
              value="1214870113"
              c:identifier="HB_SCRIPT_HIRAGANA"
              glib:nick="hiragana"
              glib:name="HB_SCRIPT_HIRAGANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="358">`Hira`</doc>
      </member>
      <member name="kannada"
              value="1265525857"
              c:identifier="HB_SCRIPT_KANNADA"
              glib:nick="kannada"
              glib:name="HB_SCRIPT_KANNADA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="359">`Knda`</doc>
      </member>
      <member name="katakana"
              value="1264676449"
              c:identifier="HB_SCRIPT_KATAKANA"
              glib:nick="katakana"
              glib:name="HB_SCRIPT_KATAKANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="360">`Kana`</doc>
      </member>
      <member name="lao"
              value="1281453935"
              c:identifier="HB_SCRIPT_LAO"
              glib:nick="lao"
              glib:name="HB_SCRIPT_LAO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="361">`Laoo`</doc>
      </member>
      <member name="latin"
              value="1281455214"
              c:identifier="HB_SCRIPT_LATIN"
              glib:nick="latin"
              glib:name="HB_SCRIPT_LATIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="362">`Latn`</doc>
      </member>
      <member name="malayalam"
              value="1298954605"
              c:identifier="HB_SCRIPT_MALAYALAM"
              glib:nick="malayalam"
              glib:name="HB_SCRIPT_MALAYALAM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="363">`Mlym`</doc>
      </member>
      <member name="oriya"
              value="1332902241"
              c:identifier="HB_SCRIPT_ORIYA"
              glib:nick="oriya"
              glib:name="HB_SCRIPT_ORIYA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="364">`Orya`</doc>
      </member>
      <member name="tamil"
              value="1415671148"
              c:identifier="HB_SCRIPT_TAMIL"
              glib:nick="tamil"
              glib:name="HB_SCRIPT_TAMIL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="365">`Taml`</doc>
      </member>
      <member name="telugu"
              value="1415933045"
              c:identifier="HB_SCRIPT_TELUGU"
              glib:nick="telugu"
              glib:name="HB_SCRIPT_TELUGU">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="366">`Telu`</doc>
      </member>
      <member name="thai"
              value="1416126825"
              c:identifier="HB_SCRIPT_THAI"
              glib:nick="thai"
              glib:name="HB_SCRIPT_THAI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="367">`Thai`</doc>
      </member>
      <member name="tibetan"
              value="1416192628"
              c:identifier="HB_SCRIPT_TIBETAN"
              glib:nick="tibetan"
              glib:name="HB_SCRIPT_TIBETAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="368">`Tibt`</doc>
      </member>
      <member name="bopomofo"
              value="1114599535"
              c:identifier="HB_SCRIPT_BOPOMOFO"
              glib:nick="bopomofo"
              glib:name="HB_SCRIPT_BOPOMOFO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="369">`Bopo`</doc>
      </member>
      <member name="braille"
              value="1114792297"
              c:identifier="HB_SCRIPT_BRAILLE"
              glib:nick="braille"
              glib:name="HB_SCRIPT_BRAILLE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="370">`Brai`</doc>
      </member>
      <member name="canadian_syllabics"
              value="1130458739"
              c:identifier="HB_SCRIPT_CANADIAN_SYLLABICS"
              glib:nick="canadian-syllabics"
              glib:name="HB_SCRIPT_CANADIAN_SYLLABICS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="371">`Cans`</doc>
      </member>
      <member name="cherokee"
              value="1130915186"
              c:identifier="HB_SCRIPT_CHEROKEE"
              glib:nick="cherokee"
              glib:name="HB_SCRIPT_CHEROKEE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="372">`Cher`</doc>
      </member>
      <member name="ethiopic"
              value="1165256809"
              c:identifier="HB_SCRIPT_ETHIOPIC"
              glib:nick="ethiopic"
              glib:name="HB_SCRIPT_ETHIOPIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="373">`Ethi`</doc>
      </member>
      <member name="khmer"
              value="1265134962"
              c:identifier="HB_SCRIPT_KHMER"
              glib:nick="khmer"
              glib:name="HB_SCRIPT_KHMER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="374">`Khmr`</doc>
      </member>
      <member name="mongolian"
              value="1299148391"
              c:identifier="HB_SCRIPT_MONGOLIAN"
              glib:nick="mongolian"
              glib:name="HB_SCRIPT_MONGOLIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="375">`Mong`</doc>
      </member>
      <member name="myanmar"
              value="1299803506"
              c:identifier="HB_SCRIPT_MYANMAR"
              glib:nick="myanmar"
              glib:name="HB_SCRIPT_MYANMAR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="376">`Mymr`</doc>
      </member>
      <member name="ogham"
              value="1332175213"
              c:identifier="HB_SCRIPT_OGHAM"
              glib:nick="ogham"
              glib:name="HB_SCRIPT_OGHAM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="377">`Ogam`</doc>
      </member>
      <member name="runic"
              value="1383427698"
              c:identifier="HB_SCRIPT_RUNIC"
              glib:nick="runic"
              glib:name="HB_SCRIPT_RUNIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="378">`Runr`</doc>
      </member>
      <member name="sinhala"
              value="1399418472"
              c:identifier="HB_SCRIPT_SINHALA"
              glib:nick="sinhala"
              glib:name="HB_SCRIPT_SINHALA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="379">`Sinh`</doc>
      </member>
      <member name="syriac"
              value="1400468067"
              c:identifier="HB_SCRIPT_SYRIAC"
              glib:nick="syriac"
              glib:name="HB_SCRIPT_SYRIAC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="380">`Syrc`</doc>
      </member>
      <member name="thaana"
              value="1416126817"
              c:identifier="HB_SCRIPT_THAANA"
              glib:nick="thaana"
              glib:name="HB_SCRIPT_THAANA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="381">`Thaa`</doc>
      </member>
      <member name="yi"
              value="1500080489"
              c:identifier="HB_SCRIPT_YI"
              glib:nick="yi"
              glib:name="HB_SCRIPT_YI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="382">`Yiii`</doc>
      </member>
      <member name="deseret"
              value="1148416628"
              c:identifier="HB_SCRIPT_DESERET"
              glib:nick="deseret"
              glib:name="HB_SCRIPT_DESERET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="383">`Dsrt`</doc>
      </member>
      <member name="gothic"
              value="1198486632"
              c:identifier="HB_SCRIPT_GOTHIC"
              glib:nick="gothic"
              glib:name="HB_SCRIPT_GOTHIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="384">`Goth`</doc>
      </member>
      <member name="old_italic"
              value="1232363884"
              c:identifier="HB_SCRIPT_OLD_ITALIC"
              glib:nick="old-italic"
              glib:name="HB_SCRIPT_OLD_ITALIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="385">`Ital`</doc>
      </member>
      <member name="buhid"
              value="1114990692"
              c:identifier="HB_SCRIPT_BUHID"
              glib:nick="buhid"
              glib:name="HB_SCRIPT_BUHID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="386">`Buhd`</doc>
      </member>
      <member name="hanunoo"
              value="1214344815"
              c:identifier="HB_SCRIPT_HANUNOO"
              glib:nick="hanunoo"
              glib:name="HB_SCRIPT_HANUNOO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="387">`Hano`</doc>
      </member>
      <member name="tagalog"
              value="1416064103"
              c:identifier="HB_SCRIPT_TAGALOG"
              glib:nick="tagalog"
              glib:name="HB_SCRIPT_TAGALOG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="388">`Tglg`</doc>
      </member>
      <member name="tagbanwa"
              value="1415669602"
              c:identifier="HB_SCRIPT_TAGBANWA"
              glib:nick="tagbanwa"
              glib:name="HB_SCRIPT_TAGBANWA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="389">`Tagb`</doc>
      </member>
      <member name="cypriot"
              value="1131442804"
              c:identifier="HB_SCRIPT_CYPRIOT"
              glib:nick="cypriot"
              glib:name="HB_SCRIPT_CYPRIOT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="390">`Cprt`</doc>
      </member>
      <member name="limbu"
              value="1281977698"
              c:identifier="HB_SCRIPT_LIMBU"
              glib:nick="limbu"
              glib:name="HB_SCRIPT_LIMBU">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="391">`Limb`</doc>
      </member>
      <member name="linear_b"
              value="1281977954"
              c:identifier="HB_SCRIPT_LINEAR_B"
              glib:nick="linear-b"
              glib:name="HB_SCRIPT_LINEAR_B">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="392">`Linb`</doc>
      </member>
      <member name="osmanya"
              value="1332964705"
              c:identifier="HB_SCRIPT_OSMANYA"
              glib:nick="osmanya"
              glib:name="HB_SCRIPT_OSMANYA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="393">`Osma`</doc>
      </member>
      <member name="shavian"
              value="1399349623"
              c:identifier="HB_SCRIPT_SHAVIAN"
              glib:nick="shavian"
              glib:name="HB_SCRIPT_SHAVIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="394">`Shaw`</doc>
      </member>
      <member name="tai_le"
              value="1415670885"
              c:identifier="HB_SCRIPT_TAI_LE"
              glib:nick="tai-le"
              glib:name="HB_SCRIPT_TAI_LE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="395">`Tale`</doc>
      </member>
      <member name="ugaritic"
              value="1432838514"
              c:identifier="HB_SCRIPT_UGARITIC"
              glib:nick="ugaritic"
              glib:name="HB_SCRIPT_UGARITIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="396">`Ugar`</doc>
      </member>
      <member name="buginese"
              value="1114990441"
              c:identifier="HB_SCRIPT_BUGINESE"
              glib:nick="buginese"
              glib:name="HB_SCRIPT_BUGINESE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="397">`Bugi`</doc>
      </member>
      <member name="coptic"
              value="1131376756"
              c:identifier="HB_SCRIPT_COPTIC"
              glib:nick="coptic"
              glib:name="HB_SCRIPT_COPTIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="398">`Copt`</doc>
      </member>
      <member name="glagolitic"
              value="1198285159"
              c:identifier="HB_SCRIPT_GLAGOLITIC"
              glib:nick="glagolitic"
              glib:name="HB_SCRIPT_GLAGOLITIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="399">`Glag`</doc>
      </member>
      <member name="kharoshthi"
              value="1265131890"
              c:identifier="HB_SCRIPT_KHAROSHTHI"
              glib:nick="kharoshthi"
              glib:name="HB_SCRIPT_KHAROSHTHI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="400">`Khar`</doc>
      </member>
      <member name="new_tai_lue"
              value="1415670901"
              c:identifier="HB_SCRIPT_NEW_TAI_LUE"
              glib:nick="new-tai-lue"
              glib:name="HB_SCRIPT_NEW_TAI_LUE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="401">`Talu`</doc>
      </member>
      <member name="old_persian"
              value="1483761007"
              c:identifier="HB_SCRIPT_OLD_PERSIAN"
              glib:nick="old-persian"
              glib:name="HB_SCRIPT_OLD_PERSIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="402">`Xpeo`</doc>
      </member>
      <member name="syloti_nagri"
              value="1400466543"
              c:identifier="HB_SCRIPT_SYLOTI_NAGRI"
              glib:nick="syloti-nagri"
              glib:name="HB_SCRIPT_SYLOTI_NAGRI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="403">`Sylo`</doc>
      </member>
      <member name="tifinagh"
              value="1415999079"
              c:identifier="HB_SCRIPT_TIFINAGH"
              glib:nick="tifinagh"
              glib:name="HB_SCRIPT_TIFINAGH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="404">`Tfng`</doc>
      </member>
      <member name="balinese"
              value="1113681001"
              c:identifier="HB_SCRIPT_BALINESE"
              glib:nick="balinese"
              glib:name="HB_SCRIPT_BALINESE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="405">`Bali`</doc>
      </member>
      <member name="cuneiform"
              value="1483961720"
              c:identifier="HB_SCRIPT_CUNEIFORM"
              glib:nick="cuneiform"
              glib:name="HB_SCRIPT_CUNEIFORM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="406">`Xsux`</doc>
      </member>
      <member name="nko"
              value="1315663727"
              c:identifier="HB_SCRIPT_NKO"
              glib:nick="nko"
              glib:name="HB_SCRIPT_NKO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="407">`Nkoo`</doc>
      </member>
      <member name="phags_pa"
              value="1349017959"
              c:identifier="HB_SCRIPT_PHAGS_PA"
              glib:nick="phags-pa"
              glib:name="HB_SCRIPT_PHAGS_PA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="408">`Phag`</doc>
      </member>
      <member name="phoenician"
              value="1349021304"
              c:identifier="HB_SCRIPT_PHOENICIAN"
              glib:nick="phoenician"
              glib:name="HB_SCRIPT_PHOENICIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="409">`Phnx`</doc>
      </member>
      <member name="carian"
              value="1130459753"
              c:identifier="HB_SCRIPT_CARIAN"
              glib:nick="carian"
              glib:name="HB_SCRIPT_CARIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="410">`Cari`</doc>
      </member>
      <member name="cham"
              value="1130914157"
              c:identifier="HB_SCRIPT_CHAM"
              glib:nick="cham"
              glib:name="HB_SCRIPT_CHAM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="411">`Cham`</doc>
      </member>
      <member name="kayah_li"
              value="1264675945"
              c:identifier="HB_SCRIPT_KAYAH_LI"
              glib:nick="kayah-li"
              glib:name="HB_SCRIPT_KAYAH_LI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="412">`Kali`</doc>
      </member>
      <member name="lepcha"
              value="1281716323"
              c:identifier="HB_SCRIPT_LEPCHA"
              glib:nick="lepcha"
              glib:name="HB_SCRIPT_LEPCHA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="413">`Lepc`</doc>
      </member>
      <member name="lycian"
              value="1283023721"
              c:identifier="HB_SCRIPT_LYCIAN"
              glib:nick="lycian"
              glib:name="HB_SCRIPT_LYCIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="414">`Lyci`</doc>
      </member>
      <member name="lydian"
              value="1283023977"
              c:identifier="HB_SCRIPT_LYDIAN"
              glib:nick="lydian"
              glib:name="HB_SCRIPT_LYDIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="415">`Lydi`</doc>
      </member>
      <member name="ol_chiki"
              value="1332503403"
              c:identifier="HB_SCRIPT_OL_CHIKI"
              glib:nick="ol-chiki"
              glib:name="HB_SCRIPT_OL_CHIKI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="416">`Olck`</doc>
      </member>
      <member name="rejang"
              value="1382706791"
              c:identifier="HB_SCRIPT_REJANG"
              glib:nick="rejang"
              glib:name="HB_SCRIPT_REJANG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="417">`Rjng`</doc>
      </member>
      <member name="saurashtra"
              value="1398895986"
              c:identifier="HB_SCRIPT_SAURASHTRA"
              glib:nick="saurashtra"
              glib:name="HB_SCRIPT_SAURASHTRA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="418">`Saur`</doc>
      </member>
      <member name="sundanese"
              value="1400204900"
              c:identifier="HB_SCRIPT_SUNDANESE"
              glib:nick="sundanese"
              glib:name="HB_SCRIPT_SUNDANESE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="419">`Sund`</doc>
      </member>
      <member name="vai"
              value="1449224553"
              c:identifier="HB_SCRIPT_VAI"
              glib:nick="vai"
              glib:name="HB_SCRIPT_VAI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="420">`Vaii`</doc>
      </member>
      <member name="avestan"
              value="1098281844"
              c:identifier="HB_SCRIPT_AVESTAN"
              glib:nick="avestan"
              glib:name="HB_SCRIPT_AVESTAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="421">`Avst`</doc>
      </member>
      <member name="bamum"
              value="1113681269"
              c:identifier="HB_SCRIPT_BAMUM"
              glib:nick="bamum"
              glib:name="HB_SCRIPT_BAMUM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="422">`Bamu`</doc>
      </member>
      <member name="egyptian_hieroglyphs"
              value="1164409200"
              c:identifier="HB_SCRIPT_EGYPTIAN_HIEROGLYPHS"
              glib:nick="egyptian-hieroglyphs"
              glib:name="HB_SCRIPT_EGYPTIAN_HIEROGLYPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="423">`Egyp`</doc>
      </member>
      <member name="imperial_aramaic"
              value="1098018153"
              c:identifier="HB_SCRIPT_IMPERIAL_ARAMAIC"
              glib:nick="imperial-aramaic"
              glib:name="HB_SCRIPT_IMPERIAL_ARAMAIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="424">`Armi`</doc>
      </member>
      <member name="inscriptional_pahlavi"
              value="1349020777"
              c:identifier="HB_SCRIPT_INSCRIPTIONAL_PAHLAVI"
              glib:nick="inscriptional-pahlavi"
              glib:name="HB_SCRIPT_INSCRIPTIONAL_PAHLAVI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="425">`Phli`</doc>
      </member>
      <member name="inscriptional_parthian"
              value="1349678185"
              c:identifier="HB_SCRIPT_INSCRIPTIONAL_PARTHIAN"
              glib:nick="inscriptional-parthian"
              glib:name="HB_SCRIPT_INSCRIPTIONAL_PARTHIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="426">`Prti`</doc>
      </member>
      <member name="javanese"
              value="1247901281"
              c:identifier="HB_SCRIPT_JAVANESE"
              glib:nick="javanese"
              glib:name="HB_SCRIPT_JAVANESE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="427">`Java`</doc>
      </member>
      <member name="kaithi"
              value="1265920105"
              c:identifier="HB_SCRIPT_KAITHI"
              glib:nick="kaithi"
              glib:name="HB_SCRIPT_KAITHI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="428">`Kthi`</doc>
      </member>
      <member name="lisu"
              value="1281979253"
              c:identifier="HB_SCRIPT_LISU"
              glib:nick="lisu"
              glib:name="HB_SCRIPT_LISU">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="429">`Lisu`</doc>
      </member>
      <member name="meetei_mayek"
              value="1299473769"
              c:identifier="HB_SCRIPT_MEETEI_MAYEK"
              glib:nick="meetei-mayek"
              glib:name="HB_SCRIPT_MEETEI_MAYEK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="430">`Mtei`</doc>
      </member>
      <member name="old_south_arabian"
              value="1398895202"
              c:identifier="HB_SCRIPT_OLD_SOUTH_ARABIAN"
              glib:nick="old-south-arabian"
              glib:name="HB_SCRIPT_OLD_SOUTH_ARABIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="431">`Sarb`</doc>
      </member>
      <member name="old_turkic"
              value="1332898664"
              c:identifier="HB_SCRIPT_OLD_TURKIC"
              glib:nick="old-turkic"
              glib:name="HB_SCRIPT_OLD_TURKIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="432">`Orkh`</doc>
      </member>
      <member name="samaritan"
              value="1398893938"
              c:identifier="HB_SCRIPT_SAMARITAN"
              glib:nick="samaritan"
              glib:name="HB_SCRIPT_SAMARITAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="433">`Samr`</doc>
      </member>
      <member name="tai_tham"
              value="1281453665"
              c:identifier="HB_SCRIPT_TAI_THAM"
              glib:nick="tai-tham"
              glib:name="HB_SCRIPT_TAI_THAM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="434">`Lana`</doc>
      </member>
      <member name="tai_viet"
              value="1415673460"
              c:identifier="HB_SCRIPT_TAI_VIET"
              glib:nick="tai-viet"
              glib:name="HB_SCRIPT_TAI_VIET">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="435">`Tavt`</doc>
      </member>
      <member name="batak"
              value="1113683051"
              c:identifier="HB_SCRIPT_BATAK"
              glib:nick="batak"
              glib:name="HB_SCRIPT_BATAK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="436">`Batk`</doc>
      </member>
      <member name="brahmi"
              value="1114792296"
              c:identifier="HB_SCRIPT_BRAHMI"
              glib:nick="brahmi"
              glib:name="HB_SCRIPT_BRAHMI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="437">`Brah`</doc>
      </member>
      <member name="mandaic"
              value="1298230884"
              c:identifier="HB_SCRIPT_MANDAIC"
              glib:nick="mandaic"
              glib:name="HB_SCRIPT_MANDAIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="438">`Mand`</doc>
      </member>
      <member name="chakma"
              value="1130457965"
              c:identifier="HB_SCRIPT_CHAKMA"
              glib:nick="chakma"
              glib:name="HB_SCRIPT_CHAKMA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="439">`Cakm`</doc>
      </member>
      <member name="meroitic_cursive"
              value="1298494051"
              c:identifier="HB_SCRIPT_MEROITIC_CURSIVE"
              glib:nick="meroitic-cursive"
              glib:name="HB_SCRIPT_MEROITIC_CURSIVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="440">`Merc`</doc>
      </member>
      <member name="meroitic_hieroglyphs"
              value="1298494063"
              c:identifier="HB_SCRIPT_MEROITIC_HIEROGLYPHS"
              glib:nick="meroitic-hieroglyphs"
              glib:name="HB_SCRIPT_MEROITIC_HIEROGLYPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="441">`Mero`</doc>
      </member>
      <member name="miao"
              value="1349284452"
              c:identifier="HB_SCRIPT_MIAO"
              glib:nick="miao"
              glib:name="HB_SCRIPT_MIAO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="442">`Plrd`</doc>
      </member>
      <member name="sharada"
              value="1399353956"
              c:identifier="HB_SCRIPT_SHARADA"
              glib:nick="sharada"
              glib:name="HB_SCRIPT_SHARADA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="443">`Shrd`</doc>
      </member>
      <member name="sora_sompeng"
              value="1399812705"
              c:identifier="HB_SCRIPT_SORA_SOMPENG"
              glib:nick="sora-sompeng"
              glib:name="HB_SCRIPT_SORA_SOMPENG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="444">`Sora`</doc>
      </member>
      <member name="takri"
              value="1415670642"
              c:identifier="HB_SCRIPT_TAKRI"
              glib:nick="takri"
              glib:name="HB_SCRIPT_TAKRI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="445">`Takr`</doc>
      </member>
      <member name="bassa_vah"
              value="1113682803"
              c:identifier="HB_SCRIPT_BASSA_VAH"
              glib:nick="bassa-vah"
              glib:name="HB_SCRIPT_BASSA_VAH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="446">`Bass`, Since: 0.9.30</doc>
      </member>
      <member name="caucasian_albanian"
              value="1097295970"
              c:identifier="HB_SCRIPT_CAUCASIAN_ALBANIAN"
              glib:nick="caucasian-albanian"
              glib:name="HB_SCRIPT_CAUCASIAN_ALBANIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="447">`Aghb`, Since: 0.9.30</doc>
      </member>
      <member name="duployan"
              value="1148547180"
              c:identifier="HB_SCRIPT_DUPLOYAN"
              glib:nick="duployan"
              glib:name="HB_SCRIPT_DUPLOYAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="448">`Dupl`, Since: 0.9.30</doc>
      </member>
      <member name="elbasan"
              value="1164730977"
              c:identifier="HB_SCRIPT_ELBASAN"
              glib:nick="elbasan"
              glib:name="HB_SCRIPT_ELBASAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="449">`Elba`, Since: 0.9.30</doc>
      </member>
      <member name="grantha"
              value="1198678382"
              c:identifier="HB_SCRIPT_GRANTHA"
              glib:nick="grantha"
              glib:name="HB_SCRIPT_GRANTHA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="450">`Gran`, Since: 0.9.30</doc>
      </member>
      <member name="khojki"
              value="1265135466"
              c:identifier="HB_SCRIPT_KHOJKI"
              glib:nick="khojki"
              glib:name="HB_SCRIPT_KHOJKI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="451">`Khoj`, Since: 0.9.30</doc>
      </member>
      <member name="khudawadi"
              value="1399418468"
              c:identifier="HB_SCRIPT_KHUDAWADI"
              glib:nick="khudawadi"
              glib:name="HB_SCRIPT_KHUDAWADI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="452">`Sind`, Since: 0.9.30</doc>
      </member>
      <member name="linear_a"
              value="1281977953"
              c:identifier="HB_SCRIPT_LINEAR_A"
              glib:nick="linear-a"
              glib:name="HB_SCRIPT_LINEAR_A">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="453">`Lina`, Since: 0.9.30</doc>
      </member>
      <member name="mahajani"
              value="1298229354"
              c:identifier="HB_SCRIPT_MAHAJANI"
              glib:nick="mahajani"
              glib:name="HB_SCRIPT_MAHAJANI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="454">`Mahj`, Since: 0.9.30</doc>
      </member>
      <member name="manichaean"
              value="1298230889"
              c:identifier="HB_SCRIPT_MANICHAEAN"
              glib:nick="manichaean"
              glib:name="HB_SCRIPT_MANICHAEAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="455">`Mani`, Since: 0.9.30</doc>
      </member>
      <member name="mende_kikakui"
              value="1298493028"
              c:identifier="HB_SCRIPT_MENDE_KIKAKUI"
              glib:nick="mende-kikakui"
              glib:name="HB_SCRIPT_MENDE_KIKAKUI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="456">`Mend`, Since: 0.9.30</doc>
      </member>
      <member name="modi"
              value="1299145833"
              c:identifier="HB_SCRIPT_MODI"
              glib:nick="modi"
              glib:name="HB_SCRIPT_MODI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="457">`Modi`, Since: 0.9.30</doc>
      </member>
      <member name="mro"
              value="1299345263"
              c:identifier="HB_SCRIPT_MRO"
              glib:nick="mro"
              glib:name="HB_SCRIPT_MRO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="458">`Mroo`, Since: 0.9.30</doc>
      </member>
      <member name="nabataean"
              value="1315070324"
              c:identifier="HB_SCRIPT_NABATAEAN"
              glib:nick="nabataean"
              glib:name="HB_SCRIPT_NABATAEAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="459">`Nbat`, Since: 0.9.30</doc>
      </member>
      <member name="old_north_arabian"
              value="1315009122"
              c:identifier="HB_SCRIPT_OLD_NORTH_ARABIAN"
              glib:nick="old-north-arabian"
              glib:name="HB_SCRIPT_OLD_NORTH_ARABIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="460">`Narb`, Since: 0.9.30</doc>
      </member>
      <member name="old_permic"
              value="1348825709"
              c:identifier="HB_SCRIPT_OLD_PERMIC"
              glib:nick="old-permic"
              glib:name="HB_SCRIPT_OLD_PERMIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="461">`Perm`, Since: 0.9.30</doc>
      </member>
      <member name="pahawh_hmong"
              value="1215131239"
              c:identifier="HB_SCRIPT_PAHAWH_HMONG"
              glib:nick="pahawh-hmong"
              glib:name="HB_SCRIPT_PAHAWH_HMONG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="462">`Hmng`, Since: 0.9.30</doc>
      </member>
      <member name="palmyrene"
              value="1348562029"
              c:identifier="HB_SCRIPT_PALMYRENE"
              glib:nick="palmyrene"
              glib:name="HB_SCRIPT_PALMYRENE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="463">`Palm`, Since: 0.9.30</doc>
      </member>
      <member name="pau_cin_hau"
              value="1348564323"
              c:identifier="HB_SCRIPT_PAU_CIN_HAU"
              glib:nick="pau-cin-hau"
              glib:name="HB_SCRIPT_PAU_CIN_HAU">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="464">`Pauc`, Since: 0.9.30</doc>
      </member>
      <member name="psalter_pahlavi"
              value="1349020784"
              c:identifier="HB_SCRIPT_PSALTER_PAHLAVI"
              glib:nick="psalter-pahlavi"
              glib:name="HB_SCRIPT_PSALTER_PAHLAVI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="465">`Phlp`, Since: 0.9.30</doc>
      </member>
      <member name="siddham"
              value="1399415908"
              c:identifier="HB_SCRIPT_SIDDHAM"
              glib:nick="siddham"
              glib:name="HB_SCRIPT_SIDDHAM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="466">`Sidd`, Since: 0.9.30</doc>
      </member>
      <member name="tirhuta"
              value="1416196712"
              c:identifier="HB_SCRIPT_TIRHUTA"
              glib:nick="tirhuta"
              glib:name="HB_SCRIPT_TIRHUTA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="467">`Tirh`, Since: 0.9.30</doc>
      </member>
      <member name="warang_citi"
              value="1466004065"
              c:identifier="HB_SCRIPT_WARANG_CITI"
              glib:nick="warang-citi"
              glib:name="HB_SCRIPT_WARANG_CITI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="468">`Wara`, Since: 0.9.30</doc>
      </member>
      <member name="ahom"
              value="1097363309"
              c:identifier="HB_SCRIPT_AHOM"
              glib:nick="ahom"
              glib:name="HB_SCRIPT_AHOM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="469">`Ahom`, Since: 0.9.30</doc>
      </member>
      <member name="anatolian_hieroglyphs"
              value="1215067511"
              c:identifier="HB_SCRIPT_ANATOLIAN_HIEROGLYPHS"
              glib:nick="anatolian-hieroglyphs"
              glib:name="HB_SCRIPT_ANATOLIAN_HIEROGLYPHS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="470">`Hluw`, Since: 0.9.30</doc>
      </member>
      <member name="hatran"
              value="1214346354"
              c:identifier="HB_SCRIPT_HATRAN"
              glib:nick="hatran"
              glib:name="HB_SCRIPT_HATRAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="471">`Hatr`, Since: 0.9.30</doc>
      </member>
      <member name="multani"
              value="1299541108"
              c:identifier="HB_SCRIPT_MULTANI"
              glib:nick="multani"
              glib:name="HB_SCRIPT_MULTANI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="472">`Mult`, Since: 0.9.30</doc>
      </member>
      <member name="old_hungarian"
              value="1215655527"
              c:identifier="HB_SCRIPT_OLD_HUNGARIAN"
              glib:nick="old-hungarian"
              glib:name="HB_SCRIPT_OLD_HUNGARIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="473">`Hung`, Since: 0.9.30</doc>
      </member>
      <member name="signwriting"
              value="1399287415"
              c:identifier="HB_SCRIPT_SIGNWRITING"
              glib:nick="signwriting"
              glib:name="HB_SCRIPT_SIGNWRITING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="474">`Sgnw`, Since: 0.9.30</doc>
      </member>
      <member name="adlam"
              value="1097100397"
              c:identifier="HB_SCRIPT_ADLAM"
              glib:nick="adlam"
              glib:name="HB_SCRIPT_ADLAM">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="475">`Adlm`, Since: 1.3.0</doc>
      </member>
      <member name="bhaiksuki"
              value="1114139507"
              c:identifier="HB_SCRIPT_BHAIKSUKI"
              glib:nick="bhaiksuki"
              glib:name="HB_SCRIPT_BHAIKSUKI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="476">`Bhks`, Since: 1.3.0</doc>
      </member>
      <member name="marchen"
              value="1298231907"
              c:identifier="HB_SCRIPT_MARCHEN"
              glib:nick="marchen"
              glib:name="HB_SCRIPT_MARCHEN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="477">`Marc`, Since: 1.3.0</doc>
      </member>
      <member name="osage"
              value="1332963173"
              c:identifier="HB_SCRIPT_OSAGE"
              glib:nick="osage"
              glib:name="HB_SCRIPT_OSAGE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="478">`Osge`, Since: 1.3.0</doc>
      </member>
      <member name="tangut"
              value="1415671399"
              c:identifier="HB_SCRIPT_TANGUT"
              glib:nick="tangut"
              glib:name="HB_SCRIPT_TANGUT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="479">`Tang`, Since: 1.3.0</doc>
      </member>
      <member name="newa"
              value="1315272545"
              c:identifier="HB_SCRIPT_NEWA"
              glib:nick="newa"
              glib:name="HB_SCRIPT_NEWA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="480">`Newa`, Since: 1.3.0</doc>
      </member>
      <member name="masaram_gondi"
              value="1198485101"
              c:identifier="HB_SCRIPT_MASARAM_GONDI"
              glib:nick="masaram-gondi"
              glib:name="HB_SCRIPT_MASARAM_GONDI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="481">`Gonm`, Since: 1.6.0</doc>
      </member>
      <member name="nushu"
              value="1316186229"
              c:identifier="HB_SCRIPT_NUSHU"
              glib:nick="nushu"
              glib:name="HB_SCRIPT_NUSHU">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="482">`Nshu`, Since: 1.6.0</doc>
      </member>
      <member name="soyombo"
              value="1399814511"
              c:identifier="HB_SCRIPT_SOYOMBO"
              glib:nick="soyombo"
              glib:name="HB_SCRIPT_SOYOMBO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="483">`Soyo`, Since: 1.6.0</doc>
      </member>
      <member name="zanabazar_square"
              value="1516334690"
              c:identifier="HB_SCRIPT_ZANABAZAR_SQUARE"
              glib:nick="zanabazar-square"
              glib:name="HB_SCRIPT_ZANABAZAR_SQUARE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="484">`Zanb`, Since: 1.6.0</doc>
      </member>
      <member name="dogra"
              value="1148151666"
              c:identifier="HB_SCRIPT_DOGRA"
              glib:nick="dogra"
              glib:name="HB_SCRIPT_DOGRA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="485">`Dogr`, Since: 1.8.0</doc>
      </member>
      <member name="gunjala_gondi"
              value="1198485095"
              c:identifier="HB_SCRIPT_GUNJALA_GONDI"
              glib:nick="gunjala-gondi"
              glib:name="HB_SCRIPT_GUNJALA_GONDI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="486">`Gong`, Since: 1.8.0</doc>
      </member>
      <member name="hanifi_rohingya"
              value="1383032935"
              c:identifier="HB_SCRIPT_HANIFI_ROHINGYA"
              glib:nick="hanifi-rohingya"
              glib:name="HB_SCRIPT_HANIFI_ROHINGYA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="487">`Rohg`, Since: 1.8.0</doc>
      </member>
      <member name="makasar"
              value="1298230113"
              c:identifier="HB_SCRIPT_MAKASAR"
              glib:nick="makasar"
              glib:name="HB_SCRIPT_MAKASAR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="488">`Maka`, Since: 1.8.0</doc>
      </member>
      <member name="medefaidrin"
              value="1298490470"
              c:identifier="HB_SCRIPT_MEDEFAIDRIN"
              glib:nick="medefaidrin"
              glib:name="HB_SCRIPT_MEDEFAIDRIN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="489">`Medf`, Since: 1.8.0</doc>
      </member>
      <member name="old_sogdian"
              value="1399809903"
              c:identifier="HB_SCRIPT_OLD_SOGDIAN"
              glib:nick="old-sogdian"
              glib:name="HB_SCRIPT_OLD_SOGDIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="490">`Sogo`, Since: 1.8.0</doc>
      </member>
      <member name="sogdian"
              value="1399809892"
              c:identifier="HB_SCRIPT_SOGDIAN"
              glib:nick="sogdian"
              glib:name="HB_SCRIPT_SOGDIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="491">`Sogd`, Since: 1.8.0</doc>
      </member>
      <member name="elymaic"
              value="1164736877"
              c:identifier="HB_SCRIPT_ELYMAIC"
              glib:nick="elymaic"
              glib:name="HB_SCRIPT_ELYMAIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="492">`Elym`, Since: 2.4.0</doc>
      </member>
      <member name="nandinagari"
              value="1315008100"
              c:identifier="HB_SCRIPT_NANDINAGARI"
              glib:nick="nandinagari"
              glib:name="HB_SCRIPT_NANDINAGARI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="493">`Nand`, Since: 2.4.0</doc>
      </member>
      <member name="nyiakeng_puachue_hmong"
              value="1215131248"
              c:identifier="HB_SCRIPT_NYIAKENG_PUACHUE_HMONG"
              glib:nick="nyiakeng-puachue-hmong"
              glib:name="HB_SCRIPT_NYIAKENG_PUACHUE_HMONG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="494">`Hmnp`, Since: 2.4.0</doc>
      </member>
      <member name="wancho"
              value="1466132591"
              c:identifier="HB_SCRIPT_WANCHO"
              glib:nick="wancho"
              glib:name="HB_SCRIPT_WANCHO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="495">`Wcho`, Since: 2.4.0</doc>
      </member>
      <member name="chorasmian"
              value="1130918515"
              c:identifier="HB_SCRIPT_CHORASMIAN"
              glib:nick="chorasmian"
              glib:name="HB_SCRIPT_CHORASMIAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="496">`Chrs`, Since: 2.6.7</doc>
      </member>
      <member name="dives_akuru"
              value="1147756907"
              c:identifier="HB_SCRIPT_DIVES_AKURU"
              glib:nick="dives-akuru"
              glib:name="HB_SCRIPT_DIVES_AKURU">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="497">`Diak`, Since: 2.6.7</doc>
      </member>
      <member name="khitan_small_script"
              value="1265202291"
              c:identifier="HB_SCRIPT_KHITAN_SMALL_SCRIPT"
              glib:nick="khitan-small-script"
              glib:name="HB_SCRIPT_KHITAN_SMALL_SCRIPT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="498">`Kits`, Since: 2.6.7</doc>
      </member>
      <member name="yezidi"
              value="1499822697"
              c:identifier="HB_SCRIPT_YEZIDI"
              glib:nick="yezidi"
              glib:name="HB_SCRIPT_YEZIDI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="499">`Yezi`, Since: 2.6.7</doc>
      </member>
      <member name="cypro_minoan"
              value="1131441518"
              c:identifier="HB_SCRIPT_CYPRO_MINOAN"
              glib:nick="cypro-minoan"
              glib:name="HB_SCRIPT_CYPRO_MINOAN">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="500">`Cpmn`, Since: 3.0.0</doc>
      </member>
      <member name="old_uyghur"
              value="1333094258"
              c:identifier="HB_SCRIPT_OLD_UYGHUR"
              glib:nick="old-uyghur"
              glib:name="HB_SCRIPT_OLD_UYGHUR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="501">`Ougr`, Since: 3.0.0</doc>
      </member>
      <member name="tangsa"
              value="1416524641"
              c:identifier="HB_SCRIPT_TANGSA"
              glib:nick="tangsa"
              glib:name="HB_SCRIPT_TANGSA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="502">`Tnsa`, Since: 3.0.0</doc>
      </member>
      <member name="toto"
              value="1416590447"
              c:identifier="HB_SCRIPT_TOTO"
              glib:nick="toto"
              glib:name="HB_SCRIPT_TOTO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="503">`Toto`, Since: 3.0.0</doc>
      </member>
      <member name="vithkuqi"
              value="1449751656"
              c:identifier="HB_SCRIPT_VITHKUQI"
              glib:nick="vithkuqi"
              glib:name="HB_SCRIPT_VITHKUQI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="504">`Vith`, Since: 3.0.0</doc>
      </member>
      <member name="math"
              value="1517122664"
              c:identifier="HB_SCRIPT_MATH"
              glib:nick="math"
              glib:name="HB_SCRIPT_MATH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="505">`Zmth`, Since: 3.4.0</doc>
      </member>
      <member name="kawi"
              value="1264678761"
              c:identifier="HB_SCRIPT_KAWI"
              glib:nick="kawi"
              glib:name="HB_SCRIPT_KAWI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="506">`Kawi`, Since: 5.2.0</doc>
      </member>
      <member name="nag_mundari"
              value="1315006317"
              c:identifier="HB_SCRIPT_NAG_MUNDARI"
              glib:nick="nag-mundari"
              glib:name="HB_SCRIPT_NAG_MUNDARI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="507">`Nagm`, Since: 5.2.0</doc>
      </member>
      <member name="garay"
              value="1197568609"
              c:identifier="HB_SCRIPT_GARAY"
              glib:nick="garay"
              glib:name="HB_SCRIPT_GARAY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="508">`Gara`, Since: 10.0.0</doc>
      </member>
      <member name="gurung_khema"
              value="1198877544"
              c:identifier="HB_SCRIPT_GURUNG_KHEMA"
              glib:nick="gurung-khema"
              glib:name="HB_SCRIPT_GURUNG_KHEMA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="509">`Gukh`, Since: 10.0.0</doc>
      </member>
      <member name="kirat_rai"
              value="1265787241"
              c:identifier="HB_SCRIPT_KIRAT_RAI"
              glib:nick="kirat-rai"
              glib:name="HB_SCRIPT_KIRAT_RAI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="510">`Krai`, Since: 10.0.0</doc>
      </member>
      <member name="ol_onal"
              value="1332633967"
              c:identifier="HB_SCRIPT_OL_ONAL"
              glib:nick="ol-onal"
              glib:name="HB_SCRIPT_OL_ONAL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="511">`Onao`, Since: 10.0.0</doc>
      </member>
      <member name="sunuwar"
              value="1400204917"
              c:identifier="HB_SCRIPT_SUNUWAR"
              glib:nick="sunuwar"
              glib:name="HB_SCRIPT_SUNUWAR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="512">`Sunu`, Since: 10.0.0</doc>
      </member>
      <member name="todhri"
              value="1416586354"
              c:identifier="HB_SCRIPT_TODHRI"
              glib:nick="todhri"
              glib:name="HB_SCRIPT_TODHRI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="513">`Todr`, Since: 10.0.0</doc>
      </member>
      <member name="tulu_tigalari"
              value="1416983655"
              c:identifier="HB_SCRIPT_TULU_TIGALARI"
              glib:nick="tulu-tigalari"
              glib:name="HB_SCRIPT_TULU_TIGALARI">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="514">`Tutg`, Since: 10.0.0</doc>
      </member>
      <member name="invalid"
              value="0"
              c:identifier="HB_SCRIPT_INVALID"
              glib:nick="invalid"
              glib:name="HB_SCRIPT_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="515">No script set</doc>
      </member>
    </enumeration>
    <function name="script_to_iso15924_tag"
              c:identifier="hb_script_to_iso15924_tag">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="782"/>
      <return-value transfer-ownership="none">
        <type name="tag_t" c:type="hb_tag_t"/>
      </return-value>
      <parameters>
        <parameter name="script" transfer-ownership="none">
          <type name="script_t" c:type="hb_script_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="segment_properties_equal"
              c:identifier="hb_segment_properties_equal">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="232"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="segment_properties_hash"
              c:identifier="hb_segment_properties_hash">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="236"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="segment_properties_overlay"
              c:identifier="hb_segment_properties_overlay">
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="239"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="segment_properties_t" c:type="hb_segment_properties_t*"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="segment_properties_t"
            c:type="hb_segment_properties_t"
            glib:type-name="hb_segment_properties_t"
            glib:get-type="hb_gobject_segment_properties_get_type"
            c:symbol-prefix="gobject_segment_properties">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-buffer.h"
           line="201">The structure that holds various text properties of an #hb_buffer_t. Can be
set and retrieved using hb_buffer_set_segment_properties() and
hb_buffer_get_segment_properties(), respectively.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-buffer.h" line="218"/>
      <field name="direction" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="203">the #hb_direction_t of the buffer, see hb_buffer_set_direction().</doc>
        <type name="direction_t" c:type="hb_direction_t"/>
      </field>
      <field name="script" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="204">the #hb_script_t of the buffer, see hb_buffer_set_script().</doc>
        <type name="script_t" c:type="hb_script_t"/>
      </field>
      <field name="language" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-buffer.h"
             line="205">the #hb_language_t of the buffer, see hb_buffer_set_language().</doc>
        <type name="language_t" c:type="hb_language_t"/>
      </field>
      <field name="reserved1" readable="0" private="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="reserved2" readable="0" private="1">
        <type name="gpointer" c:type="void*"/>
      </field>
    </record>
    <function name="set_add" c:identifier="hb_set_add">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="108"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_add_range" c:identifier="hb_set_add_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="112"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="first" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="last" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_add_sorted_array"
              c:identifier="hb_set_add_sorted_array">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="117"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="sorted_codepoints" transfer-ownership="none">
          <type name="codepoint_t" c:type="const hb_codepoint_t*"/>
        </parameter>
        <parameter name="num_codepoints" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_allocation_successful"
              c:identifier="hb_set_allocation_successful">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="86"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_clear" c:identifier="hb_set_clear">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="92"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_copy" c:identifier="hb_set_copy">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="89"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_create" c:identifier="hb_set_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="61"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
    </function>
    <function name="set_del" c:identifier="hb_set_del">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="122"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_del_range" c:identifier="hb_set_del_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="126"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="first" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="last" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_destroy" c:identifier="hb_set_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="70"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_get_empty" c:identifier="hb_set_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="64"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
    </function>
    <function name="set_get_max" c:identifier="hb_set_get_max">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="170"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_get_min" c:identifier="hb_set_get_min">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="166"/>
      <return-value transfer-ownership="none">
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_get_population" c:identifier="hb_set_get_population">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="162"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_get_user_data" c:identifier="hb_set_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="80"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_has" c:identifier="hb_set_has">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="104"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_hash" c:identifier="hb_set_hash">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="135"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_intersect" c:identifier="hb_set_intersect">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="150"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_invert" c:identifier="hb_set_invert">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="98"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_is_empty" c:identifier="hb_set_is_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="95"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_is_equal" c:identifier="hb_set_is_equal">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="131"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_is_inverted" c:identifier="hb_set_is_inverted">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="101"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_is_subset" c:identifier="hb_set_is_subset">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="138"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="larger_set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_next" c:identifier="hb_set_next">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="174"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_next_many" c:identifier="hb_set_next_many">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="196"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_next_range" c:identifier="hb_set_next_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="184"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="first" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="last" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_previous" c:identifier="hb_set_previous">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="179"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="codepoint" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_previous_range" c:identifier="hb_set_previous_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="190"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
        <parameter name="first" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="last" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_reference" c:identifier="hb_set_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="67"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_set" c:identifier="hb_set_set">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="142"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_set_user_data"
              c:identifier="hb_set_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="73"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_subtract" c:identifier="hb_set_subtract">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="154"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_symmetric_difference"
              c:identifier="hb_set_symmetric_difference">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="158"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="set_t"
            c:type="hb_set_t"
            opaque="1"
            glib:type-name="hb_set_t"
            glib:get-type="hb_gobject_set_get_type"
            c:symbol-prefix="gobject_set">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-set.h"
           line="48">Data type for holding a set of integers. #hb_set_t's are
used to gather and contain glyph IDs, Unicode code
points, and various other collections of discrete
values.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="57"/>
    </record>
    <function name="set_union" c:identifier="hb_set_union">
      <source-position filename="harfbuzz-11.0.0/src/hb-set.h" line="146"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="set" transfer-ownership="none">
          <type name="set_t" c:type="hb_set_t*"/>
        </parameter>
        <parameter name="other" transfer-ownership="none">
          <type name="set_t" c:type="const hb_set_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape" c:identifier="hb_shape">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_full" c:identifier="hb_shape_full">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape.h" line="50"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="shaper_list" transfer-ownership="none">
          <type name="utf8" c:type="const char* const*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_list_shapers"
              c:identifier="hb_shape_list_shapers"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape.h" line="71"/>
      <return-value>
        <array c:type="const char**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="shape_plan_create" c:identifier="hb_shape_plan_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="56"/>
      <return-value transfer-ownership="full">
        <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="props" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
        <parameter name="user_features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_user_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="shaper_list" transfer-ownership="none">
          <type name="utf8" c:type="const char* const*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_create2" c:identifier="hb_shape_plan_create2">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="70"/>
      <return-value transfer-ownership="full">
        <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="props" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
        <parameter name="user_features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_user_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gint" c:type="const int*"/>
        </parameter>
        <parameter name="num_coords" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="shaper_list" transfer-ownership="none">
          <type name="utf8" c:type="const char* const*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_create_cached"
              c:identifier="hb_shape_plan_create_cached">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="63"/>
      <return-value transfer-ownership="full">
        <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="props" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
        <parameter name="user_features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_user_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="shaper_list" transfer-ownership="none">
          <type name="utf8" c:type="const char* const*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_create_cached2"
              c:identifier="hb_shape_plan_create_cached2">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="79"/>
      <return-value transfer-ownership="full">
        <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="props" transfer-ownership="none">
          <type name="segment_properties_t"
                c:type="const hb_segment_properties_t*"/>
        </parameter>
        <parameter name="user_features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_user_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="coords" transfer-ownership="none">
          <type name="gint" c:type="const int*"/>
        </parameter>
        <parameter name="num_coords" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="shaper_list" transfer-ownership="none">
          <type name="utf8" c:type="const char* const*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_destroy" c:identifier="hb_shape_plan_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="95"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_execute" c:identifier="hb_shape_plan_execute">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="110"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="buffer" transfer-ownership="none">
          <type name="buffer_t" c:type="hb_buffer_t*"/>
        </parameter>
        <parameter name="features" transfer-ownership="none">
          <type name="feature_t" c:type="const hb_feature_t*"/>
        </parameter>
        <parameter name="num_features" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_get_empty"
              c:identifier="hb_shape_plan_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="89"/>
      <return-value transfer-ownership="full">
        <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
      </return-value>
    </function>
    <function name="shape_plan_get_shaper"
              c:identifier="hb_shape_plan_get_shaper">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="117"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_get_user_data"
              c:identifier="hb_shape_plan_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="105"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="const hb_shape_plan_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_reference"
              c:identifier="hb_shape_plan_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="92"/>
      <return-value transfer-ownership="full">
        <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shape_plan_set_user_data"
              c:identifier="hb_shape_plan_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="98"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="shape_plan" transfer-ownership="none">
          <type name="shape_plan_t" c:type="hb_shape_plan_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="shape_plan_t"
            c:type="hb_shape_plan_t"
            opaque="1"
            glib:type-name="hb_shape_plan_t"
            glib:get-type="hb_gobject_shape_plan_get_type"
            c:symbol-prefix="gobject_shape_plan">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
           line="39">Data type for holding a shaping plan.

Shape plans contain information about how HarfBuzz will shape a
particular text segment, based on the segment's properties and the
capabilities in the font face in use.

Shape plans can be queried about how shaping will perform, given a set
of specific input parameters (script, language, direction, features,
etc.).</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-shape-plan.h"
                       line="53"/>
    </record>
    <function name="style_get_value" c:identifier="hb_style_get_value">
      <source-position filename="harfbuzz-11.0.0/src/hb-style.h" line="77"/>
      <return-value transfer-ownership="none">
        <type name="gfloat" c:type="float"/>
      </return-value>
      <parameters>
        <parameter name="font" transfer-ownership="none">
          <type name="font_t" c:type="hb_font_t*"/>
        </parameter>
        <parameter name="style_tag" transfer-ownership="none">
          <type name="style_tag_t" c:type="hb_style_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="style_tag_t"
                 version="3.0.0"
                 glib:type-name="hb_style_tag_t"
                 glib:get-type="hb_gobject_style_tag_get_type"
                 c:type="hb_style_tag_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-style.h"
           line="36">Defined by [OpenType Design-Variation Axis Tag Registry](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg).</doc>
      <member name="italic"
              value="1769234796"
              c:identifier="HB_STYLE_TAG_ITALIC"
              glib:nick="italic"
              glib:name="HB_STYLE_TAG_ITALIC">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-style.h"
             line="38">Used to vary between non-italic and italic.
A value of 0 can be interpreted as "Roman" (non-italic); a value of 1 can
be interpreted as (fully) italic.</doc>
      </member>
      <member name="optical_size"
              value="1869640570"
              c:identifier="HB_STYLE_TAG_OPTICAL_SIZE"
              glib:nick="optical-size"
              glib:name="HB_STYLE_TAG_OPTICAL_SIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-style.h"
             line="41">Used to vary design to suit different text sizes.
Non-zero. Values can be interpreted as text size, in points.</doc>
      </member>
      <member name="slant_angle"
              value="1936486004"
              c:identifier="HB_STYLE_TAG_SLANT_ANGLE"
              glib:nick="slant-angle"
              glib:name="HB_STYLE_TAG_SLANT_ANGLE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-style.h"
             line="43">Used to vary between upright and slanted text. Values
must be greater than -90 and less than +90. Values can be interpreted as
the angle, in counter-clockwise degrees, of oblique slant from whatever the
designer considers to be upright for that font design. Typical right-leaning
Italic fonts have a negative slant angle (typically around -12)</doc>
      </member>
      <member name="slant_ratio"
              value="1399615092"
              c:identifier="HB_STYLE_TAG_SLANT_RATIO"
              glib:nick="slant-ratio"
              glib:name="HB_STYLE_TAG_SLANT_RATIO">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-style.h"
             line="48">same as @HB_STYLE_TAG_SLANT_ANGLE expression as ratio.
Typical right-leaning Italic fonts have a positive slant ratio (typically around 0.2)</doc>
      </member>
      <member name="width"
              value="2003072104"
              c:identifier="HB_STYLE_TAG_WIDTH"
              glib:nick="width"
              glib:name="HB_STYLE_TAG_WIDTH">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-style.h"
             line="50">Used to vary width of text from narrower to wider.
Non-zero. Values can be interpreted as a percentage of whatever the font
designer considers “normal width” for that font design.</doc>
      </member>
      <member name="weight"
              value="2003265652"
              c:identifier="HB_STYLE_TAG_WEIGHT"
              glib:nick="weight"
              glib:name="HB_STYLE_TAG_WEIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-style.h"
             line="53">Used to vary stroke thicknesses or other design details
to give variation from lighter to blacker. Values can be interpreted in direct
comparison to values for usWeightClass in the OS/2 table,
or the CSS font-weight property.</doc>
      </member>
    </enumeration>
    <function name="subset_axis_range_from_string"
              c:identifier="hb_subset_axis_range_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="207"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="axis_min_value" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
        <parameter name="axis_max_value" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
        <parameter name="axis_def_value" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_axis_range_to_string"
              c:identifier="hb_subset_axis_range_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="213"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <bitfield name="subset_flags_t" version="2.9.0" c:type="hb_subset_flags_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-subset.h"
           line="52">List of boolean properties that can be configured on the subset input.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="102"/>
      <member name="default" value="0" c:identifier="HB_SUBSET_FLAGS_DEFAULT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="54">all flags at their default value of false.</doc>
      </member>
      <member name="no_hinting"
              value="1"
              c:identifier="HB_SUBSET_FLAGS_NO_HINTING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="55">If set hinting instructions will be dropped in
the produced subset. Otherwise hinting instructions will be retained.</doc>
      </member>
      <member name="retain_gids"
              value="2"
              c:identifier="HB_SUBSET_FLAGS_RETAIN_GIDS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="57">If set glyph indices will not be modified in
the produced subset. If glyphs are dropped their indices will be retained
as an empty glyph.</doc>
      </member>
      <member name="desubroutinize"
              value="4"
              c:identifier="HB_SUBSET_FLAGS_DESUBROUTINIZE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="60">If set and subsetting a CFF font the
subsetter will attempt to remove subroutines from the CFF glyphs.</doc>
      </member>
      <member name="name_legacy"
              value="8"
              c:identifier="HB_SUBSET_FLAGS_NAME_LEGACY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="62">If set non-unicode name records will be
retained in the subset.</doc>
      </member>
      <member name="set_overlaps_flag"
              value="16"
              c:identifier="HB_SUBSET_FLAGS_SET_OVERLAPS_FLAG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="64">If set the subsetter will set the
OVERLAP_SIMPLE flag on each simple glyph.</doc>
      </member>
      <member name="passthrough_unrecognized"
              value="32"
              c:identifier="HB_SUBSET_FLAGS_PASSTHROUGH_UNRECOGNIZED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="66">If set the subsetter will not
drop unrecognized tables and instead pass them through untouched.</doc>
      </member>
      <member name="notdef_outline"
              value="64"
              c:identifier="HB_SUBSET_FLAGS_NOTDEF_OUTLINE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="68">If set the notdef glyph outline will be
retained in the final subset.</doc>
      </member>
      <member name="glyph_names"
              value="128"
              c:identifier="HB_SUBSET_FLAGS_GLYPH_NAMES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="70">If set the PS glyph names will be retained
in the final subset.</doc>
      </member>
      <member name="no_prune_unicode_ranges"
              value="256"
              c:identifier="HB_SUBSET_FLAGS_NO_PRUNE_UNICODE_RANGES">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="72">If set then the unicode ranges in
OS/2 will not be recalculated.</doc>
      </member>
      <member name="no_layout_closure"
              value="512"
              c:identifier="HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="74">If set don't perform glyph closure on layout
substitution rules (GSUB). Since: 7.2.0.</doc>
      </member>
      <member name="optimize_iup_deltas"
              value="1024"
              c:identifier="HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="76">If set perform IUP delta optimization on the
remaining gvar table's deltas. Since: 8.5.0</doc>
      </member>
    </bitfield>
    <function name="subset_input_create_or_fail"
              c:identifier="hb_subset_input_create_or_fail"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="135"/>
      <return-value>
        <type name="subset_input_t" c:type="hb_subset_input_t*"/>
      </return-value>
    </function>
    <function name="subset_input_destroy"
              c:identifier="hb_subset_input_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="141"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_get_axis_range"
              c:identifier="hb_subset_input_get_axis_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="192"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="axis_min_value" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
        <parameter name="axis_max_value" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
        <parameter name="axis_def_value" transfer-ownership="none">
          <type name="gfloat" c:type="float*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_get_flags"
              c:identifier="hb_subset_input_get_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="170"/>
      <return-value transfer-ownership="none">
        <type name="subset_flags_t" c:type="hb_subset_flags_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_get_user_data"
              c:identifier="hb_subset_input_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="151"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="const hb_subset_input_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_glyph_set"
              c:identifier="hb_subset_input_glyph_set">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="161"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_keep_everything"
              c:identifier="hb_subset_input_keep_everything">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="155"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_old_to_new_glyph_mapping"
              c:identifier="hb_subset_input_old_to_new_glyph_mapping">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="167"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_pin_all_axes_to_default"
              c:identifier="hb_subset_input_pin_all_axes_to_default">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="177"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_pin_axis_location"
              c:identifier="hb_subset_input_pin_axis_location">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="186"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="axis_value" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_pin_axis_to_default"
              c:identifier="hb_subset_input_pin_axis_to_default">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="181"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_reference"
              c:identifier="hb_subset_input_reference"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="138"/>
      <return-value>
        <type name="subset_input_t" c:type="hb_subset_input_t*"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_set" c:identifier="hb_subset_input_set">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="164"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="set_type" transfer-ownership="none">
          <type name="subset_sets_t" c:type="hb_subset_sets_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_set_axis_range"
              c:identifier="hb_subset_input_set_axis_range">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="199"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="axis_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="axis_min_value" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="axis_max_value" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
        <parameter name="axis_def_value" transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_set_flags"
              c:identifier="hb_subset_input_set_flags">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="173"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_input_set_user_data"
              c:identifier="hb_subset_input_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="144"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="subset_input_t"
            c:type="hb_subset_input_t"
            disguised="1"
            opaque="1">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-subset.h"
           line="35">Things that change based on the input. Characters to keep, etc.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="41"/>
    </record>
    <function name="subset_input_unicode_set"
              c:identifier="hb_subset_input_unicode_set">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="158"/>
      <return-value transfer-ownership="full">
        <type name="set_t" c:type="hb_set_t*"/>
      </return-value>
      <parameters>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_or_fail" c:identifier="hb_subset_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="233"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="const hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_create_or_fail"
              c:identifier="hb_subset_plan_create_or_fail"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="239"/>
      <return-value>
        <type name="subset_plan_t" c:type="hb_subset_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="face" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
        <parameter name="input" transfer-ownership="none">
          <type name="subset_input_t" c:type="const hb_subset_input_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_destroy" c:identifier="hb_subset_plan_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="243"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="hb_subset_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_execute_or_fail"
              c:identifier="hb_subset_plan_execute_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="236"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="hb_subset_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_get_user_data"
              c:identifier="hb_subset_plan_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="266"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="const hb_subset_plan_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_new_to_old_glyph_mapping"
              c:identifier="hb_subset_plan_new_to_old_glyph_mapping">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="249"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="const hb_subset_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_old_to_new_glyph_mapping"
              c:identifier="hb_subset_plan_old_to_new_glyph_mapping">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="246"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="const hb_subset_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_reference"
              c:identifier="hb_subset_plan_reference"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="256"/>
      <return-value>
        <type name="subset_plan_t" c:type="hb_subset_plan_t*"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="hb_subset_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_plan_set_user_data"
              c:identifier="hb_subset_plan_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="259"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="hb_subset_plan_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="subset_plan_t"
            c:type="hb_subset_plan_t"
            disguised="1"
            opaque="1">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-subset.h"
           line="43">Contains information about how the subset operation will be executed.
Such as mappings from the old glyph ids to the new ones in the subset.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="50"/>
    </record>
    <function name="subset_plan_unicode_to_old_glyph_mapping"
              c:identifier="hb_subset_plan_unicode_to_old_glyph_mapping">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="252"/>
      <return-value transfer-ownership="full">
        <type name="map_t" c:type="hb_map_t*"/>
      </return-value>
      <parameters>
        <parameter name="plan" transfer-ownership="none">
          <type name="subset_plan_t" c:type="const hb_subset_plan_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="subset_preprocess" c:identifier="hb_subset_preprocess">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="230"/>
      <return-value transfer-ownership="full">
        <type name="face_t" c:type="hb_face_t*"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <type name="face_t" c:type="hb_face_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="subset_serialize_link_t"
            c:type="hb_subset_serialize_link_t"
            version="10.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
           line="33">Represents a link between two objects in the object graph
to be serialized.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
                       line="49"/>
      <field name="width" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="35">offsetSize in bytes</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="position" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="36">position of the offset field in bytes from
           beginning of subtable</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="objidx" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="38">index of subtable</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
    </record>
    <record name="subset_serialize_object_t"
            c:type="hb_subset_serialize_object_t"
            version="10.2.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
           line="51">Represents an object in the object graph to be serialized.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
                       line="73"/>
      <field name="head" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="53">start of object data</doc>
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="tail" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="54">end of object data</doc>
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="num_real_links" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="55">number of offset field in the object</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="real_links" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="56">array of offset info</doc>
        <type name="subset_serialize_link_t"
              c:type="hb_subset_serialize_link_t*"/>
      </field>
      <field name="num_virtual_links" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="57">number of objects that must be packed
                    after current object in the final
                    serialized order</doc>
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="virtual_links" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
             line="60">array of virtual link info</doc>
        <type name="subset_serialize_link_t"
              c:type="hb_subset_serialize_link_t*"/>
      </field>
    </record>
    <function name="subset_serialize_or_fail"
              c:identifier="hb_subset_serialize_or_fail">
      <source-position filename="harfbuzz-11.0.0/src/hb-subset-serialize.h"
                       line="76"/>
      <return-value transfer-ownership="full">
        <type name="blob_t" c:type="hb_blob_t*"/>
      </return-value>
      <parameters>
        <parameter name="table_tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="hb_objects" transfer-ownership="none">
          <type name="subset_serialize_object_t"
                c:type="hb_subset_serialize_object_t*"/>
        </parameter>
        <parameter name="num_hb_objs" transfer-ownership="none">
          <type name="guint" c:type="unsigned"/>
        </parameter>
      </parameters>
    </function>
    <enumeration name="subset_sets_t"
                 version="2.9.1"
                 c:type="hb_subset_sets_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-subset.h"
           line="104">List of sets that can be configured on the subset input.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-subset.h" line="132"/>
      <member name="glyph_index"
              value="0"
              c:identifier="HB_SUBSET_SETS_GLYPH_INDEX">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="106">the set of glyph indexes to retain in the subset.</doc>
      </member>
      <member name="unicode" value="1" c:identifier="HB_SUBSET_SETS_UNICODE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="107">the set of unicode codepoints to retain in the subset.</doc>
      </member>
      <member name="no_subset_table_tag"
              value="2"
              c:identifier="HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="108">the set of table tags which specifies tables that should not be
subsetted.</doc>
      </member>
      <member name="drop_table_tag"
              value="3"
              c:identifier="HB_SUBSET_SETS_DROP_TABLE_TAG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="110">the set of table tags which specifies tables which will be dropped
in the subset.</doc>
      </member>
      <member name="name_id" value="4" c:identifier="HB_SUBSET_SETS_NAME_ID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="112">the set of name ids that will be retained.</doc>
      </member>
      <member name="name_lang_id"
              value="5"
              c:identifier="HB_SUBSET_SETS_NAME_LANG_ID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="113">the set of name lang ids that will be retained.</doc>
      </member>
      <member name="layout_feature_tag"
              value="6"
              c:identifier="HB_SUBSET_SETS_LAYOUT_FEATURE_TAG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="114">the set of layout feature tags that will be retained
in the subset.</doc>
      </member>
      <member name="layout_script_tag"
              value="7"
              c:identifier="HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-subset.h"
             line="116">the set of layout script tags that will be retained
in the subset. Defaults to all tags. Since: 5.0.0</doc>
      </member>
    </enumeration>
    <function name="tag_from_string" c:identifier="hb_tag_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="215"/>
      <return-value transfer-ownership="none">
        <type name="tag_t" c:type="hb_tag_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="tag_to_string" c:identifier="hb_tag_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="219"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="tag_t" c:type="hb_tag_t"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_combining_class"
              c:identifier="hb_unicode_combining_class"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="565">Retrieves the Canonical Combining Class (ccc) property
of code point @unicode.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="578"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="573">The #hb_unicode_combining_class_t of @unicode</doc>
        <type name="unicode_combining_class_t"
              c:type="hb_unicode_combining_class_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="567">The Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="568">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_combining_class_func_t"
              c:type="hb_unicode_combining_class_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="340">A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the Canonical Combining Class (ccc)
property for a specified Unicode code point.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="354"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="351">The #hb_unicode_combining_class_t of @unicode</doc>
        <type name="unicode_combining_class_t"
              c:type="hb_unicode_combining_class_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="342">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="343">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="344">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="unicode_combining_class_t"
                 glib:type-name="hb_unicode_combining_class_t"
                 glib:get-type="hb_gobject_unicode_combining_class_get_type"
                 c:type="hb_unicode_combining_class_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="125">Data type for the Canonical_Combining_Class (ccc) property
from the Unicode Character Database.

&lt;note&gt;Note: newer versions of Unicode may add new values.
Client programs should be ready to handle any value in the 0..254 range
being returned from hb_unicode_combining_class().&lt;/note&gt;</doc>
      <member name="not_reordered"
              value="0"
              c:identifier="HB_UNICODE_COMBINING_CLASS_NOT_REORDERED"
              glib:nick="not-reordered"
              glib:name="HB_UNICODE_COMBINING_CLASS_NOT_REORDERED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="127">Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing</doc>
      </member>
      <member name="overlay"
              value="1"
              c:identifier="HB_UNICODE_COMBINING_CLASS_OVERLAY"
              glib:nick="overlay"
              glib:name="HB_UNICODE_COMBINING_CLASS_OVERLAY">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="128">Marks which overlay a base letter or symbol</doc>
      </member>
      <member name="nukta"
              value="7"
              c:identifier="HB_UNICODE_COMBINING_CLASS_NUKTA"
              glib:nick="nukta"
              glib:name="HB_UNICODE_COMBINING_CLASS_NUKTA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="129">Diacritic nukta marks in Brahmi-derived scripts</doc>
      </member>
      <member name="kana_voicing"
              value="8"
              c:identifier="HB_UNICODE_COMBINING_CLASS_KANA_VOICING"
              glib:nick="kana-voicing"
              glib:name="HB_UNICODE_COMBINING_CLASS_KANA_VOICING">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="130">Hiragana/Katakana voicing marks</doc>
      </member>
      <member name="virama"
              value="9"
              c:identifier="HB_UNICODE_COMBINING_CLASS_VIRAMA"
              glib:nick="virama"
              glib:name="HB_UNICODE_COMBINING_CLASS_VIRAMA">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="131">Viramas</doc>
      </member>
      <member name="ccc10"
              value="10"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC10"
              glib:nick="ccc10"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC10">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="132">[Hebrew]</doc>
      </member>
      <member name="ccc11"
              value="11"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC11"
              glib:nick="ccc11"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC11">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="133">[Hebrew]</doc>
      </member>
      <member name="ccc12"
              value="12"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC12"
              glib:nick="ccc12"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC12">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="134">[Hebrew]</doc>
      </member>
      <member name="ccc13"
              value="13"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC13"
              glib:nick="ccc13"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC13">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="135">[Hebrew]</doc>
      </member>
      <member name="ccc14"
              value="14"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC14"
              glib:nick="ccc14"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC14">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="136">[Hebrew]</doc>
      </member>
      <member name="ccc15"
              value="15"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC15"
              glib:nick="ccc15"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC15">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="137">[Hebrew]</doc>
      </member>
      <member name="ccc16"
              value="16"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC16"
              glib:nick="ccc16"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC16">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="138">[Hebrew]</doc>
      </member>
      <member name="ccc17"
              value="17"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC17"
              glib:nick="ccc17"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC17">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="139">[Hebrew]</doc>
      </member>
      <member name="ccc18"
              value="18"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC18"
              glib:nick="ccc18"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC18">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="140">[Hebrew]</doc>
      </member>
      <member name="ccc19"
              value="19"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC19"
              glib:nick="ccc19"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC19">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="141">[Hebrew]</doc>
      </member>
      <member name="ccc20"
              value="20"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC20"
              glib:nick="ccc20"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC20">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="142">[Hebrew]</doc>
      </member>
      <member name="ccc21"
              value="21"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC21"
              glib:nick="ccc21"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC21">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="143">[Hebrew]</doc>
      </member>
      <member name="ccc22"
              value="22"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC22"
              glib:nick="ccc22"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC22">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="144">[Hebrew]</doc>
      </member>
      <member name="ccc23"
              value="23"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC23"
              glib:nick="ccc23"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC23">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="145">[Hebrew]</doc>
      </member>
      <member name="ccc24"
              value="24"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC24"
              glib:nick="ccc24"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC24">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="146">[Hebrew]</doc>
      </member>
      <member name="ccc25"
              value="25"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC25"
              glib:nick="ccc25"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC25">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="147">[Hebrew]</doc>
      </member>
      <member name="ccc26"
              value="26"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC26"
              glib:nick="ccc26"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC26">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="148">[Hebrew]</doc>
      </member>
      <member name="ccc27"
              value="27"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC27"
              glib:nick="ccc27"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC27">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="149">[Arabic]</doc>
      </member>
      <member name="ccc28"
              value="28"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC28"
              glib:nick="ccc28"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC28">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="150">[Arabic]</doc>
      </member>
      <member name="ccc29"
              value="29"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC29"
              glib:nick="ccc29"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC29">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="151">[Arabic]</doc>
      </member>
      <member name="ccc30"
              value="30"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC30"
              glib:nick="ccc30"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC30">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="152">[Arabic]</doc>
      </member>
      <member name="ccc31"
              value="31"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC31"
              glib:nick="ccc31"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC31">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="153">[Arabic]</doc>
      </member>
      <member name="ccc32"
              value="32"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC32"
              glib:nick="ccc32"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC32">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="154">[Arabic]</doc>
      </member>
      <member name="ccc33"
              value="33"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC33"
              glib:nick="ccc33"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC33">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="155">[Arabic]</doc>
      </member>
      <member name="ccc34"
              value="34"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC34"
              glib:nick="ccc34"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC34">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="156">[Arabic]</doc>
      </member>
      <member name="ccc35"
              value="35"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC35"
              glib:nick="ccc35"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC35">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="157">[Arabic]</doc>
      </member>
      <member name="ccc36"
              value="36"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC36"
              glib:nick="ccc36"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC36">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="158">[Syriac]</doc>
      </member>
      <member name="ccc84"
              value="84"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC84"
              glib:nick="ccc84"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC84">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="159">[Telugu]</doc>
      </member>
      <member name="ccc91"
              value="91"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC91"
              glib:nick="ccc91"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC91">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="160">[Telugu]</doc>
      </member>
      <member name="ccc103"
              value="103"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC103"
              glib:nick="ccc103"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC103">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="161">[Thai]</doc>
      </member>
      <member name="ccc107"
              value="107"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC107"
              glib:nick="ccc107"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC107">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="162">[Thai]</doc>
      </member>
      <member name="ccc118"
              value="118"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC118"
              glib:nick="ccc118"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC118">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="163">[Lao]</doc>
      </member>
      <member name="ccc122"
              value="122"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC122"
              glib:nick="ccc122"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC122">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="164">[Lao]</doc>
      </member>
      <member name="ccc129"
              value="129"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC129"
              glib:nick="ccc129"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC129">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="165">[Tibetan]</doc>
      </member>
      <member name="ccc130"
              value="130"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC130"
              glib:nick="ccc130"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC130">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="166">[Tibetan]</doc>
      </member>
      <member name="ccc132"
              value="132"
              c:identifier="HB_UNICODE_COMBINING_CLASS_CCC132"
              glib:nick="ccc132"
              glib:name="HB_UNICODE_COMBINING_CLASS_CCC132">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="167">[Tibetan] Since: 7.2.0</doc>
      </member>
      <member name="attached_below_left"
              value="200"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT"
              glib:nick="attached-below-left"
              glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="168">Marks attached at the bottom left</doc>
      </member>
      <member name="attached_below"
              value="202"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW"
              glib:nick="attached-below"
              glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="169">Marks attached directly below</doc>
      </member>
      <member name="attached_above"
              value="214"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE"
              glib:nick="attached-above"
              glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="170">Marks attached directly above</doc>
      </member>
      <member name="attached_above_right"
              value="216"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT"
              glib:nick="attached-above-right"
              glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="171">Marks attached at the top right</doc>
      </member>
      <member name="below_left"
              value="218"
              c:identifier="HB_UNICODE_COMBINING_CLASS_BELOW_LEFT"
              glib:nick="below-left"
              glib:name="HB_UNICODE_COMBINING_CLASS_BELOW_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="172">Distinct marks at the bottom left</doc>
      </member>
      <member name="below"
              value="220"
              c:identifier="HB_UNICODE_COMBINING_CLASS_BELOW"
              glib:nick="below"
              glib:name="HB_UNICODE_COMBINING_CLASS_BELOW">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="173">Distinct marks directly below</doc>
      </member>
      <member name="below_right"
              value="222"
              c:identifier="HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT"
              glib:nick="below-right"
              glib:name="HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="174">Distinct marks at the bottom right</doc>
      </member>
      <member name="left"
              value="224"
              c:identifier="HB_UNICODE_COMBINING_CLASS_LEFT"
              glib:nick="left"
              glib:name="HB_UNICODE_COMBINING_CLASS_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="175">Distinct marks to the left</doc>
      </member>
      <member name="right"
              value="226"
              c:identifier="HB_UNICODE_COMBINING_CLASS_RIGHT"
              glib:nick="right"
              glib:name="HB_UNICODE_COMBINING_CLASS_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="176">Distinct marks to the right</doc>
      </member>
      <member name="above_left"
              value="228"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT"
              glib:nick="above-left"
              glib:name="HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="177">Distinct marks at the top left</doc>
      </member>
      <member name="above"
              value="230"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ABOVE"
              glib:nick="above"
              glib:name="HB_UNICODE_COMBINING_CLASS_ABOVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="178">Distinct marks directly above</doc>
      </member>
      <member name="above_right"
              value="232"
              c:identifier="HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT"
              glib:nick="above-right"
              glib:name="HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="179">Distinct marks at the top right</doc>
      </member>
      <member name="double_below"
              value="233"
              c:identifier="HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW"
              glib:nick="double-below"
              glib:name="HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="180">Distinct marks subtending two bases</doc>
      </member>
      <member name="double_above"
              value="234"
              c:identifier="HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE"
              glib:nick="double-above"
              glib:name="HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="181">Distinct marks extending above two bases</doc>
      </member>
      <member name="iota_subscript"
              value="240"
              c:identifier="HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT"
              glib:nick="iota-subscript"
              glib:name="HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="182">Greek iota subscript only</doc>
      </member>
      <member name="invalid"
              value="255"
              c:identifier="HB_UNICODE_COMBINING_CLASS_INVALID"
              glib:nick="invalid"
              glib:name="HB_UNICODE_COMBINING_CLASS_INVALID">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="183">Invalid combining class</doc>
      </member>
    </enumeration>
    <function name="unicode_compose" c:identifier="hb_unicode_compose">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="630"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="a" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="ab" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_compose_func_t" c:type="hb_unicode_compose_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="416">A virtual method for the #hb_unicode_funcs_t structure.

This method should compose a sequence of two input Unicode code
points by canonical equivalence, returning the composed code
point in a #hb_codepoint_t output parameter (if successful).
The method must return an #hb_bool_t indicating the success
of the composition.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="435"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="432">`true` is @a,@b composed, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="418">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="a" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="419">The first code point to compose</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="420">The second code point to compose</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="ab"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="421">The composed code point</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="422">user data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="unicode_decompose" c:identifier="hb_unicode_decompose">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="636"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="ab" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="a" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_decompose_compatibility"
              c:identifier="hb_unicode_decompose_compatibility">
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="221"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="u" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="decomposed" transfer-ownership="none">
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_decompose_compatibility_func_t"
              c:type="hb_unicode_decompose_compatibility_func_t"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="167">Fully decompose @u to its Unicode compatibility decomposition. The codepoints of the decomposition will be written to @decomposed.
The complete length of the decomposition will be returned.

If @u has no compatibility decomposition, zero should be returned.

The Unicode standard guarantees that a buffer of length #HB_UNICODE_MAX_DECOMPOSITION_LEN codepoints will always be sufficient for any
compatibility decomposition plus an terminating value of 0.  Consequently, @decompose must be allocated by the caller to be at least this length.  Implementations
of this function type must ensure that they do not write past the provided array.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="187"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-deprecated.h"
             line="183">number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available.</doc>
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="169">a Unicode function structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="u" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="170">codepoint to decompose</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="decomposed" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="171">address of codepoint array (of length #HB_UNICODE_MAX_DECOMPOSITION_LEN) to write decomposition into</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="172">user data pointer as passed to hb_unicode_funcs_set_decompose_compatibility_func()</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="unicode_decompose_func_t"
              c:type="hb_unicode_decompose_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="441">A virtual method for the #hb_unicode_funcs_t structure.

This method should decompose an input Unicode code point,
returning the two decomposed code points in #hb_codepoint_t
output parameters (if successful). The method must return an
#hb_bool_t indicating the success of the composition.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="459"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="456">`true` if @ab decomposed, `false` otherwise</doc>
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="443">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="ab" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="444">The code point to decompose</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="a"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="445">The first decomposed code point</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="b"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="446">The second decomposed code point</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="4">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="447">user data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="unicode_eastasian_width"
              c:identifier="hb_unicode_eastasian_width"
              version="0.9.2"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="152">Don't use. Not used by HarfBuzz.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="163"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="154">a Unicode-function structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="155">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_eastasian_width_func_t"
              c:type="hb_unicode_eastasian_width_func_t"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="121">A virtual method for the #hb_unicode_funcs_t structure.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="131"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="unsigned int"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="123">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="124">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="125">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="unicode_funcs_create"
              c:identifier="hb_unicode_funcs_create">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="300"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_destroy"
              c:identifier="hb_unicode_funcs_destroy">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="309"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_get_default"
              c:identifier="hb_unicode_funcs_get_default">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="296"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
    </function>
    <function name="unicode_funcs_get_empty"
              c:identifier="hb_unicode_funcs_get_empty">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="303"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
    </function>
    <function name="unicode_funcs_get_parent"
              c:identifier="hb_unicode_funcs_get_parent">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="331"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_get_user_data"
              c:identifier="hb_unicode_funcs_get_user_data">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="320"/>
      <return-value transfer-ownership="none" nullable="1">
        <type name="gpointer" c:type="void*"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="const hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_is_immutable"
              c:identifier="hb_unicode_funcs_is_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="328"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_make_immutable"
              c:identifier="hb_unicode_funcs_make_immutable">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="325"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_reference"
              c:identifier="hb_unicode_funcs_reference">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="306"/>
      <return-value transfer-ownership="full">
        <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_combining_class_func"
              c:identifier="hb_unicode_funcs_set_combining_class_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="467">Sets the implementation function for #hb_unicode_combining_class_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="479"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="469">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="470">The callback function to assign</doc>
          <type name="unicode_combining_class_func_t"
                c:type="hb_unicode_combining_class_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="471">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="472">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_compose_func"
              c:identifier="hb_unicode_funcs_set_compose_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="531">Sets the implementation function for #hb_unicode_compose_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="543"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="533">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="534">The callback function to assign</doc>
          <type name="unicode_compose_func_t"
                c:type="hb_unicode_compose_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="535">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="536">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_decompose_compatibility_func"
              c:identifier="hb_unicode_funcs_set_decompose_compatibility_func"
              version="0.9.2"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="201">Sets the implementation function for #hb_unicode_decompose_compatibility_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="216"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="203">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="204">The callback function to assign</doc>
          <type name="unicode_decompose_compatibility_func_t"
                c:type="hb_unicode_decompose_compatibility_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="205">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="206">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_decompose_func"
              c:identifier="hb_unicode_funcs_set_decompose_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="547">Sets the implementation function for #hb_unicode_decompose_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="559"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="549">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="550">The callback function to assign</doc>
          <type name="unicode_decompose_func_t"
                c:type="hb_unicode_decompose_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="551">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="552">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_eastasian_width_func"
              c:identifier="hb_unicode_funcs_set_eastasian_width_func"
              version="0.9.2"
              deprecated="1"
              deprecated-version="2.0.0">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-deprecated.h"
           line="135">Sets the implementation function for #hb_unicode_eastasian_width_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-deprecated.h"
                       line="148"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="137">a Unicode-function structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="138">The callback function to assign</doc>
          <type name="unicode_eastasian_width_func_t"
                c:type="hb_unicode_eastasian_width_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="139">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-deprecated.h"
               line="140">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_general_category_func"
              c:identifier="hb_unicode_funcs_set_general_category_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="483">Sets the implementation function for #hb_unicode_general_category_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="495"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="485">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="486">The callback function to assign</doc>
          <type name="unicode_general_category_func_t"
                c:type="hb_unicode_general_category_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="487">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="488">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_mirroring_func"
              c:identifier="hb_unicode_funcs_set_mirroring_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="499">Sets the implementation function for #hb_unicode_mirroring_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="511"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="501">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="502">The callback function to assign</doc>
          <type name="unicode_mirroring_func_t"
                c:type="hb_unicode_mirroring_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="503">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="504">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_script_func"
              c:identifier="hb_unicode_funcs_set_script_func"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="515">Sets the implementation function for #hb_unicode_script_func_t.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="527"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="517">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="518">The callback function to assign</doc>
          <type name="unicode_script_func_t"
                c:type="hb_unicode_script_func_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="519">Data to pass to @func</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="notified">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="520">The function to call when @user_data is not needed anymore</doc>
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_funcs_set_user_data"
              c:identifier="hb_unicode_funcs_set_user_data"
              introspectable="0">
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="312"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="user_data_key_t" c:type="hb_user_data_key_t*"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="void*"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none">
          <type name="destroy_func_t" c:type="hb_destroy_func_t"/>
        </parameter>
        <parameter name="replace" transfer-ownership="none">
          <type name="bool_t" c:type="hb_bool_t"/>
        </parameter>
      </parameters>
    </function>
    <record name="unicode_funcs_t"
            c:type="hb_unicode_funcs_t"
            opaque="1"
            glib:type-name="hb_unicode_funcs_t"
            glib:get-type="hb_gobject_unicode_funcs_get_type"
            c:symbol-prefix="gobject_unicode_funcs">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="277">Data type containing a set of virtual methods used for
accessing various Unicode character properties.

HarfBuzz provides a default function for each of the
methods in #hb_unicode_funcs_t. Client programs can implement
their own replacements for the individual Unicode functions, as
needed, and replace the default by calling the setter for a
method.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="289"/>
    </record>
    <function name="unicode_general_category"
              c:identifier="hb_unicode_general_category"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="581">Retrieves the General Category (gc) property
of code point @unicode.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="594"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="589">The #hb_unicode_general_category_t of @unicode</doc>
        <type name="unicode_general_category_t"
              c:type="hb_unicode_general_category_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="583">The Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="584">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_general_category_func_t"
              c:type="hb_unicode_general_category_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="358">A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the General Category property for
a specified Unicode code point.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="372"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="369">The #hb_unicode_general_category_t of @unicode</doc>
        <type name="unicode_general_category_t"
              c:type="hb_unicode_general_category_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="360">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="361">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="362">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="unicode_general_category_t"
                 glib:type-name="hb_unicode_general_category_t"
                 glib:get-type="hb_gobject_unicode_general_category_get_type"
                 c:type="hb_unicode_general_category_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="53">Data type for the "General_Category" (gc) property from
the Unicode Character Database.</doc>
      <member name="control"
              value="0"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_CONTROL"
              glib:nick="control"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_CONTROL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="55">[Cc]</doc>
      </member>
      <member name="format"
              value="1"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_FORMAT"
              glib:nick="format"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_FORMAT">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="56">[Cf]</doc>
      </member>
      <member name="unassigned"
              value="2"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED"
              glib:nick="unassigned"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="57">[Cn]</doc>
      </member>
      <member name="private_use"
              value="3"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE"
              glib:nick="private-use"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="58">[Co]</doc>
      </member>
      <member name="surrogate"
              value="4"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_SURROGATE"
              glib:nick="surrogate"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_SURROGATE">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="59">[Cs]</doc>
      </member>
      <member name="lowercase_letter"
              value="5"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER"
              glib:nick="lowercase-letter"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="60">[Ll]</doc>
      </member>
      <member name="modifier_letter"
              value="6"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER"
              glib:nick="modifier-letter"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="61">[Lm]</doc>
      </member>
      <member name="other_letter"
              value="7"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER"
              glib:nick="other-letter"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="62">[Lo]</doc>
      </member>
      <member name="titlecase_letter"
              value="8"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER"
              glib:nick="titlecase-letter"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="63">[Lt]</doc>
      </member>
      <member name="uppercase_letter"
              value="9"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER"
              glib:nick="uppercase-letter"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="64">[Lu]</doc>
      </member>
      <member name="spacing_mark"
              value="10"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK"
              glib:nick="spacing-mark"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="65">[Mc]</doc>
      </member>
      <member name="enclosing_mark"
              value="11"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK"
              glib:nick="enclosing-mark"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="66">[Me]</doc>
      </member>
      <member name="non_spacing_mark"
              value="12"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK"
              glib:nick="non-spacing-mark"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="67">[Mn]</doc>
      </member>
      <member name="decimal_number"
              value="13"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER"
              glib:nick="decimal-number"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="68">[Nd]</doc>
      </member>
      <member name="letter_number"
              value="14"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER"
              glib:nick="letter-number"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="69">[Nl]</doc>
      </member>
      <member name="other_number"
              value="15"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER"
              glib:nick="other-number"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="70">[No]</doc>
      </member>
      <member name="connect_punctuation"
              value="16"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION"
              glib:nick="connect-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="71">[Pc]</doc>
      </member>
      <member name="dash_punctuation"
              value="17"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION"
              glib:nick="dash-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="72">[Pd]</doc>
      </member>
      <member name="close_punctuation"
              value="18"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION"
              glib:nick="close-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="73">[Pe]</doc>
      </member>
      <member name="final_punctuation"
              value="19"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION"
              glib:nick="final-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="74">[Pf]</doc>
      </member>
      <member name="initial_punctuation"
              value="20"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION"
              glib:nick="initial-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="75">[Pi]</doc>
      </member>
      <member name="other_punctuation"
              value="21"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION"
              glib:nick="other-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="76">[Po]</doc>
      </member>
      <member name="open_punctuation"
              value="22"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION"
              glib:nick="open-punctuation"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="77">[Ps]</doc>
      </member>
      <member name="currency_symbol"
              value="23"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL"
              glib:nick="currency-symbol"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="78">[Sc]</doc>
      </member>
      <member name="modifier_symbol"
              value="24"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL"
              glib:nick="modifier-symbol"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="79">[Sk]</doc>
      </member>
      <member name="math_symbol"
              value="25"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL"
              glib:nick="math-symbol"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="80">[Sm]</doc>
      </member>
      <member name="other_symbol"
              value="26"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL"
              glib:nick="other-symbol"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="81">[So]</doc>
      </member>
      <member name="line_separator"
              value="27"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR"
              glib:nick="line-separator"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="82">[Zl]</doc>
      </member>
      <member name="paragraph_separator"
              value="28"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR"
              glib:nick="paragraph-separator"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="83">[Zp]</doc>
      </member>
      <member name="space_separator"
              value="29"
              c:identifier="HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR"
              glib:nick="space-separator"
              glib:name="HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="84">[Zs]</doc>
      </member>
    </enumeration>
    <function name="unicode_mirroring"
              c:identifier="hb_unicode_mirroring"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="597">Retrieves the Bi-directional Mirroring Glyph code
point defined for code point @unicode.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="610"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="605">The #hb_codepoint_t of the Mirroring Glyph for @unicode</doc>
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="599">The Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="600">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_mirroring_func_t"
              c:type="hb_unicode_mirroring_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="376">A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the Bi-Directional Mirroring Glyph
code point for a specified Unicode code point.

&lt;note&gt;Note: If a code point does not have a specified
Bi-Directional Mirroring Glyph defined, the method should
return the original code point.&lt;/note&gt;</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="394"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="391">The #hb_codepoint_t of the Mirroring Glyph for @unicode</doc>
        <type name="codepoint_t" c:type="hb_codepoint_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="378">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="379">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="380">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <function name="unicode_script"
              c:identifier="hb_unicode_script"
              version="0.9.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="613">Retrieves the #hb_script_t script to which code
point @unicode belongs.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="626"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="621">The #hb_script_t of @unicode</doc>
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="615">The Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="616">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
      </parameters>
    </function>
    <callback name="unicode_script_func_t" c:type="hb_unicode_script_func_t">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-unicode.h"
           line="398">A virtual method for the #hb_unicode_funcs_t structure.

This method should retrieve the Script property for a
specified Unicode code point.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-unicode.h" line="412"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-unicode.h"
             line="409">The #hb_script_t of @unicode</doc>
        <type name="script_t" c:type="hb_script_t"/>
      </return-value>
      <parameters>
        <parameter name="ufuncs" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="400">A Unicode-functions structure</doc>
          <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/>
        </parameter>
        <parameter name="unicode" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="401">The code point to query</doc>
          <type name="codepoint_t" c:type="hb_codepoint_t"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="harfbuzz-11.0.0/src/hb-unicode.h"
               line="402">User data pointer passed by the caller</doc>
          <type name="gpointer" c:type="void*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="user_data_key_t"
            c:type="hb_user_data_key_t"
            glib:type-name="hb_user_data_key_t"
            glib:get-type="hb_gobject_user_data_key_get_type"
            c:symbol-prefix="gobject_user_data_key">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="790">Data structure for holding user-data keys.</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="799"/>
      <field name="unused" readable="0" private="1">
        <type name="gchar" c:type="char"/>
      </field>
    </record>
    <union name="var_int_t" c:type="hb_var_int_t">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="139"/>
      <field name="u32" writable="1">
        <type name="guint32" c:type="uint32_t"/>
      </field>
      <field name="i32" writable="1">
        <type name="gint32" c:type="int32_t"/>
      </field>
      <field name="u16" writable="1">
        <array zero-terminated="0" fixed-size="2">
          <type name="guint16" c:type="uint16_t"/>
        </array>
      </field>
      <field name="i16" writable="1">
        <array zero-terminated="0" fixed-size="2">
          <type name="gint16" c:type="int16_t"/>
        </array>
      </field>
      <field name="u8" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="guint8" c:type="uint8_t"/>
        </array>
      </field>
      <field name="i8" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gint8" c:type="int8_t"/>
        </array>
      </field>
    </union>
    <union name="var_num_t" c:type="hb_var_num_t">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="149"/>
      <field name="f" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="u32" writable="1">
        <type name="guint32" c:type="uint32_t"/>
      </field>
      <field name="i32" writable="1">
        <type name="gint32" c:type="int32_t"/>
      </field>
      <field name="u16" writable="1">
        <array zero-terminated="0" fixed-size="2">
          <type name="guint16" c:type="uint16_t"/>
        </array>
      </field>
      <field name="i16" writable="1">
        <array zero-terminated="0" fixed-size="2">
          <type name="gint16" c:type="int16_t"/>
        </array>
      </field>
      <field name="u8" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="guint8" c:type="uint8_t"/>
        </array>
      </field>
      <field name="i8" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gint8" c:type="int8_t"/>
        </array>
      </field>
    </union>
    <function name="variation_from_string"
              c:identifier="hb_variation_from_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="880"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="variation" transfer-ownership="none">
          <type name="variation_t" c:type="hb_variation_t*"/>
        </parameter>
      </parameters>
    </function>
    <record name="variation_t" c:type="hb_variation_t" version="1.4.2">
      <doc xml:space="preserve"
           filename="harfbuzz-11.0.0/src/hb-common.h"
           line="863">Data type for holding variation data. Registered OpenType
variation-axis tags are listed in
[OpenType Axis Tag Registry](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg).</doc>
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="877"/>
      <field name="tag" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="865">The #hb_tag_t tag of the variation-axis name</doc>
        <type name="tag_t" c:type="hb_tag_t"/>
      </field>
      <field name="value" writable="1">
        <doc xml:space="preserve"
             filename="harfbuzz-11.0.0/src/hb-common.h"
             line="866">The value of the variation axis</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <method name="_string"
              c:identifier="hb_variation_to_string"
              moved-to="variation_to_string">
        <source-position filename="harfbuzz-11.0.0/src/hb-common.h"
                         line="884"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="variation" transfer-ownership="none">
            <type name="variation_t" c:type="hb_variation_t*"/>
          </instance-parameter>
          <parameter name="buf" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <function name="variation_to_string" c:identifier="hb_variation_to_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-common.h" line="884"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="variation" transfer-ownership="none">
          <type name="variation_t" c:type="hb_variation_t*"/>
        </parameter>
        <parameter name="buf" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="version" c:identifier="hb_version">
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="80"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="major" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="minor" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="micro" transfer-ownership="none">
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="version_atleast" c:identifier="hb_version_atleast">
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="88"/>
      <return-value transfer-ownership="none">
        <type name="bool_t" c:type="hb_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="major" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="minor" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="micro" transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="version_string" c:identifier="hb_version_string">
      <source-position filename="harfbuzz-11.0.0/src/hb-version.h" line="85"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
    </function>
  </namespace>
</repository>
