quote
$(Expr(:toplevel, quote
    function copy(instance::PangoAttrIterator)
        ret = ccall(("pango_attr_iterator_copy", libpango), Ptr{PangoAttrIterator}, (Ptr{PangoAttrIterator},), instance)
        ret2 = convert(PangoAttrIterator, ret, true)
        ret2
    end
    function destroy(instance::PangoAttrIterator)
        ret = ccall(("pango_attr_iterator_destroy", libpango), Nothing, (Ptr{PangoAttrIterator},), instance)
        nothing
    end
    function get(instance::PangoAttrIterator, _type)
        ret = ccall(("pango_attr_iterator_get", libpango), Ptr{_PangoAttribute}, (Ptr{PangoAttrIterator}, UInt32), instance, _type)
        ret2 = convert_if_not_null(PangoAttribute, ret, false)
        ret2
    end
    function get_attrs(instance::PangoAttrIterator)
        ret = ccall(("pango_attr_iterator_get_attrs", libpango), Ptr{GLib._GSList{_PangoAttribute}}, (Ptr{PangoAttrIterator},), instance)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function get_font(instance::PangoAttrIterator, _desc::PangoFontDescription)
        m_language = Ref{Ptr{PangoLanguage}}()
        m_extra_attrs = Ref{Ptr{GLib._GSList{_PangoAttribute}}}()
        ret = ccall(("pango_attr_iterator_get_font", libpango), Nothing, (Ptr{PangoAttrIterator}, Ptr{PangoFontDescription}, Ptr{Ptr{PangoLanguage}}, Ptr{Ptr{GLib._GSList{_PangoAttribute}}}), instance, _desc, m_language, m_extra_attrs)
        _language = m_language[]
        _language = convert(PangoLanguage, _language, true)
        _extra_attrs = m_extra_attrs[]
        _extra_attrs = GLib.GList(_extra_attrs, true)
        (_language, _extra_attrs)
    end
    function next(instance::PangoAttrIterator)
        ret = ccall(("pango_attr_iterator_next", libpango), Cint, (Ptr{PangoAttrIterator},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function range(instance::PangoAttrIterator)
        m_start = Ref{Int32}()
        m_end = Ref{Int32}()
        ret = ccall(("pango_attr_iterator_range", libpango), Nothing, (Ptr{PangoAttrIterator}, Ptr{Int32}, Ptr{Int32}), instance, m_start, m_end)
        _start = m_start[]
        _end = m_end[]
        (_start, _end)
    end
    function AttrList_new()
        ret = ccall(("pango_attr_list_new", libpango), Ptr{PangoAttrList}, ())
        ret2 = convert(PangoAttrList, ret, true)
        ret2
    end
    function change(instance::PangoAttrList, _attr::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attr_list_change", libpango), Nothing, (Ptr{PangoAttrList}, Ptr{_PangoAttribute}), instance, _attr)
        nothing
    end
    function copy(instance::PangoAttrList)
        ret = ccall(("pango_attr_list_copy", libpango), Ptr{PangoAttrList}, (Ptr{PangoAttrList},), instance)
        ret2 = convert_if_not_null(PangoAttrList, ret, true)
        ret2
    end
    function equal(instance::PangoAttrList, _other_list::PangoAttrList)
        ret = ccall(("pango_attr_list_equal", libpango), Cint, (Ptr{PangoAttrList}, Ptr{PangoAttrList}), instance, _other_list)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_attributes(instance::PangoAttrList)
        ret = ccall(("pango_attr_list_get_attributes", libpango), Ptr{GLib._GSList{_PangoAttribute}}, (Ptr{PangoAttrList},), instance)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function get_iterator(instance::PangoAttrList)
        ret = ccall(("pango_attr_list_get_iterator", libpango), Ptr{PangoAttrIterator}, (Ptr{PangoAttrList},), instance)
        ret2 = convert(PangoAttrIterator, ret, true)
        ret2
    end
    function insert(instance::PangoAttrList, _attr::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attr_list_insert", libpango), Nothing, (Ptr{PangoAttrList}, Ptr{_PangoAttribute}), instance, _attr)
        nothing
    end
    function insert_before(instance::PangoAttrList, _attr::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attr_list_insert_before", libpango), Nothing, (Ptr{PangoAttrList}, Ptr{_PangoAttribute}), instance, _attr)
        nothing
    end
    function ref(instance::PangoAttrList)
        ret = ccall(("pango_attr_list_ref", libpango), Ptr{PangoAttrList}, (Ptr{PangoAttrList},), instance)
        ret2 = convert(PangoAttrList, ret, true)
        ret2
    end
    function splice(instance::PangoAttrList, _other::PangoAttrList, _pos::Integer, _len::Integer)
        ret = ccall(("pango_attr_list_splice", libpango), Nothing, (Ptr{PangoAttrList}, Ptr{PangoAttrList}, Int32, Int32), instance, _other, _pos, _len)
        nothing
    end
    function to_string(instance::PangoAttrList)
        ret = ccall(("pango_attr_list_to_string", libpango), Cstring, (Ptr{PangoAttrList},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function unref(instance::PangoAttrList)
        ret = ccall(("pango_attr_list_unref", libpango), Nothing, (Ptr{PangoAttrList},), instance)
        nothing
    end
    function update(instance::PangoAttrList, _pos::Integer, _remove::Integer, _add::Integer)
        ret = ccall(("pango_attr_list_update", libpango), Nothing, (Ptr{PangoAttrList}, Int32, Int32, Int32), instance, _pos, _remove, _add)
        nothing
    end
    function as_color(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_color", libpango), Ptr{_PangoAttrColor}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrColor, Ref{_PangoAttrColor}}, ret)
        ret2
    end
    function as_float(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_float", libpango), Ptr{_PangoAttrFloat}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrFloat, Ref{_PangoAttrFloat}}, ret)
        ret2
    end
    function as_font_desc(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_font_desc", libpango), Ptr{_PangoAttrFontDesc}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrFontDesc, Ref{_PangoAttrFontDesc}}, ret)
        ret2
    end
    function as_font_features(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_font_features", libpango), Ptr{_PangoAttrFontFeatures}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrFontFeatures, Ref{_PangoAttrFontFeatures}}, ret)
        ret2
    end
    function as_int(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_int", libpango), Ptr{_PangoAttrInt}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrInt, Ref{_PangoAttrInt}}, ret)
        ret2
    end
    function as_language(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_language", libpango), Ptr{_PangoAttrLanguage}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrLanguage, Ref{_PangoAttrLanguage}}, ret)
        ret2
    end
    function as_shape(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_shape", libpango), Ptr{_PangoAttrShape}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrShape, Ref{_PangoAttrShape}}, ret)
        ret2
    end
    function as_size(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_size", libpango), Ptr{_PangoAttrSize}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrSize, Ref{_PangoAttrSize}}, ret)
        ret2
    end
    function as_string(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_as_string", libpango), Ptr{_PangoAttrString}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttrString, Ref{_PangoAttrString}}, ret)
        ret2
    end
    function copy(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_copy", libpango), Ptr{_PangoAttribute}, (Ptr{_PangoAttribute},), instance)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function destroy(instance::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_destroy", libpango), Nothing, (Ptr{_PangoAttribute},), instance)
        nothing
    end
    function equal(instance::Union{PangoAttribute, Ref{_PangoAttribute}}, _attr2::Union{PangoAttribute, Ref{_PangoAttribute}})
        ret = ccall(("pango_attribute_equal", libpango), Cint, (Ptr{_PangoAttribute}, Ptr{_PangoAttribute}), instance, _attr2)
        ret2 = convert(Bool, ret)
        ret2
    end
    function init(instance::Union{PangoAttribute, Ref{_PangoAttribute}}, _klass::Union{PangoAttrClass, Ref{_PangoAttrClass}})
        ret = ccall(("pango_attribute_init", libpango), Nothing, (Ptr{_PangoAttribute}, Ptr{_PangoAttrClass}), instance, _klass)
        nothing
    end
    function copy(instance::Union{PangoColor, Ref{_PangoColor}})
        ret = ccall(("pango_color_copy", libpango), Ptr{_PangoColor}, (Ptr{_PangoColor},), instance)
        ret2 = convert_if_not_null(PangoColor, ret, true)
        ret2
    end
    function free(instance::Union{PangoColor, Ref{_PangoColor}})
        ret = ccall(("pango_color_free", libpango), Nothing, (Ptr{_PangoColor},), instance)
        nothing
    end
    function parse(instance::Union{PangoColor, Ref{_PangoColor}}, _spec::Union{AbstractString, Symbol})
        ret = ccall(("pango_color_parse", libpango), Cint, (Ptr{_PangoColor}, Cstring), instance, _spec)
        ret2 = convert(Bool, ret)
        ret2
    end
    function parse_with_alpha(instance::Union{PangoColor, Ref{_PangoColor}}, _spec::Union{AbstractString, Symbol})
        m_alpha = Ref{UInt16}()
        ret = ccall(("pango_color_parse_with_alpha", libpango), Cint, (Ptr{_PangoColor}, Ptr{UInt16}, Cstring), instance, m_alpha, _spec)
        ret2 = convert(Bool, ret)
        _alpha = m_alpha[]
        (ret2, _alpha)
    end
    function to_string(instance::Union{PangoColor, Ref{_PangoColor}})
        ret = ccall(("pango_color_to_string", libpango), Cstring, (Ptr{_PangoColor},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function FontDescription_new()
        ret = ccall(("pango_font_description_new", libpango), Ptr{PangoFontDescription}, ())
        ret2 = convert(PangoFontDescription, ret, true)
        ret2
    end
    function better_match(instance::PangoFontDescription, _old_match::Maybe(PangoFontDescription), _new_match::PangoFontDescription)
        _old_match_maybe = nothing_to_null(_old_match)
        ret = ccall(("pango_font_description_better_match", libpango), Cint, (Ptr{PangoFontDescription}, Ptr{PangoFontDescription}, Ptr{PangoFontDescription}), instance, _old_match_maybe, _new_match)
        ret2 = convert(Bool, ret)
        ret2
    end
    function copy(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_copy", libpango), Ptr{PangoFontDescription}, (Ptr{PangoFontDescription},), instance)
        ret2 = convert_if_not_null(PangoFontDescription, ret, true)
        ret2
    end
    function copy_static(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_copy_static", libpango), Ptr{PangoFontDescription}, (Ptr{PangoFontDescription},), instance)
        ret2 = convert_if_not_null(PangoFontDescription, ret, true)
        ret2
    end
    function equal(instance::PangoFontDescription, _desc2::PangoFontDescription)
        ret = ccall(("pango_font_description_equal", libpango), Cint, (Ptr{PangoFontDescription}, Ptr{PangoFontDescription}), instance, _desc2)
        ret2 = convert(Bool, ret)
        ret2
    end
    function free(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_free", libpango), Nothing, (Ptr{PangoFontDescription},), instance)
        nothing
    end
    function get_family(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_family", libpango), Cstring, (Ptr{PangoFontDescription},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_gravity(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_gravity", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret2 = Gravity(ret)
        ret2
    end
    function get_set_fields(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_set_fields", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret2 = FontMask(ret)
        ret2
    end
    function get_size(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_size", libpango), Int32, (Ptr{PangoFontDescription},), instance)
        ret
    end
    function get_size_is_absolute(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_size_is_absolute", libpango), Cint, (Ptr{PangoFontDescription},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_stretch(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_stretch", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret2 = Stretch(ret)
        ret2
    end
    function get_style(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_style", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret2 = Style(ret)
        ret2
    end
    function get_variant(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_variant", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret2 = Variant(ret)
        ret2
    end
    function get_variations(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_variations", libpango), Cstring, (Ptr{PangoFontDescription},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_weight(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_get_weight", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret2 = Weight(ret)
        ret2
    end
    function hash(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_hash", libpango), UInt32, (Ptr{PangoFontDescription},), instance)
        ret
    end
    function merge(instance::PangoFontDescription, _desc_to_merge::Maybe(PangoFontDescription), _replace_existing::Bool)
        _desc_to_merge_maybe = nothing_to_null(_desc_to_merge)
        ret = ccall(("pango_font_description_merge", libpango), Nothing, (Ptr{PangoFontDescription}, Ptr{PangoFontDescription}, Cint), instance, _desc_to_merge_maybe, _replace_existing)
        nothing
    end
    function merge_static(instance::PangoFontDescription, _desc_to_merge::PangoFontDescription, _replace_existing::Bool)
        ret = ccall(("pango_font_description_merge_static", libpango), Nothing, (Ptr{PangoFontDescription}, Ptr{PangoFontDescription}, Cint), instance, _desc_to_merge, _replace_existing)
        nothing
    end
    function set_absolute_size(instance::PangoFontDescription, _size::Real)
        ret = ccall(("pango_font_description_set_absolute_size", libpango), Nothing, (Ptr{PangoFontDescription}, Float64), instance, _size)
        nothing
    end
    function set_family(instance::PangoFontDescription, _family::Union{AbstractString, Symbol})
        ret = ccall(("pango_font_description_set_family", libpango), Nothing, (Ptr{PangoFontDescription}, Cstring), instance, _family)
        nothing
    end
    function set_family_static(instance::PangoFontDescription, _family::Union{AbstractString, Symbol})
        ret = ccall(("pango_font_description_set_family_static", libpango), Nothing, (Ptr{PangoFontDescription}, Cstring), instance, _family)
        nothing
    end
    function set_gravity(instance::PangoFontDescription, _gravity)
        ret = ccall(("pango_font_description_set_gravity", libpango), Nothing, (Ptr{PangoFontDescription}, UInt32), instance, _gravity)
        nothing
    end
    function set_size(instance::PangoFontDescription, _size::Integer)
        ret = ccall(("pango_font_description_set_size", libpango), Nothing, (Ptr{PangoFontDescription}, Int32), instance, _size)
        nothing
    end
    function set_stretch(instance::PangoFontDescription, _stretch)
        ret = ccall(("pango_font_description_set_stretch", libpango), Nothing, (Ptr{PangoFontDescription}, UInt32), instance, _stretch)
        nothing
    end
    function set_style(instance::PangoFontDescription, _style)
        ret = ccall(("pango_font_description_set_style", libpango), Nothing, (Ptr{PangoFontDescription}, UInt32), instance, _style)
        nothing
    end
    function set_variant(instance::PangoFontDescription, _variant)
        ret = ccall(("pango_font_description_set_variant", libpango), Nothing, (Ptr{PangoFontDescription}, UInt32), instance, _variant)
        nothing
    end
    function set_variations(instance::PangoFontDescription, _variations::Maybe(Union{AbstractString, Symbol}))
        _variations_maybe = nothing_to_null(_variations)
        ret = ccall(("pango_font_description_set_variations", libpango), Nothing, (Ptr{PangoFontDescription}, Cstring), instance, _variations_maybe)
        nothing
    end
    function set_variations_static(instance::PangoFontDescription, _variations::Union{AbstractString, Symbol})
        ret = ccall(("pango_font_description_set_variations_static", libpango), Nothing, (Ptr{PangoFontDescription}, Cstring), instance, _variations)
        nothing
    end
    function set_weight(instance::PangoFontDescription, _weight)
        ret = ccall(("pango_font_description_set_weight", libpango), Nothing, (Ptr{PangoFontDescription}, UInt32), instance, _weight)
        nothing
    end
    function to_filename(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_to_filename", libpango), Cstring, (Ptr{PangoFontDescription},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function to_string(instance::PangoFontDescription)
        ret = ccall(("pango_font_description_to_string", libpango), Cstring, (Ptr{PangoFontDescription},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function unset_fields(instance::PangoFontDescription, _to_unset)
        ret = ccall(("pango_font_description_unset_fields", libpango), Nothing, (Ptr{PangoFontDescription}, UInt32), instance, _to_unset)
        nothing
    end
    function get_approximate_char_width(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_approximate_char_width", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_approximate_digit_width(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_approximate_digit_width", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_ascent(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_ascent", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_descent(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_descent", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_height(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_height", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_strikethrough_position(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_strikethrough_position", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_strikethrough_thickness(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_strikethrough_thickness", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_underline_position(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_underline_position", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function get_underline_thickness(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_get_underline_thickness", libpango), Int32, (Ptr{_PangoFontMetrics},), instance)
        ret
    end
    function ref(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_ref", libpango), Ptr{_PangoFontMetrics}, (Ptr{_PangoFontMetrics},), instance)
        ret2 = convert_if_not_null(PangoFontMetrics, ret, true)
        ret2
    end
    function unref(instance::Union{PangoFontMetrics, Ref{_PangoFontMetrics}})
        ret = ccall(("pango_font_metrics_unref", libpango), Nothing, (Ptr{_PangoFontMetrics},), instance)
        nothing
    end
    function apply_attrs(instance::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _text::Union{AbstractString, Symbol}, _list::PangoAttrList)
        ret = ccall(("pango_glyph_item_apply_attrs", libpango), Ptr{GLib._GSList{_PangoGlyphItem}}, (Ptr{_PangoGlyphItem}, Cstring, Ptr{PangoAttrList}), instance, _text, _list)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function copy(instance::Union{PangoGlyphItem, Ref{_PangoGlyphItem}})
        ret = ccall(("pango_glyph_item_copy", libpango), Ptr{_PangoGlyphItem}, (Ptr{_PangoGlyphItem},), instance)
        ret2 = convert_if_not_null(PangoGlyphItem, ret, true)
        ret2
    end
    function free(instance::Union{PangoGlyphItem, Ref{_PangoGlyphItem}})
        ret = ccall(("pango_glyph_item_free", libpango), Nothing, (Ptr{_PangoGlyphItem},), instance)
        nothing
    end
    function get_logical_widths(instance::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _text::Union{AbstractString, Symbol}, _logical_widths)
        _logical_widths_arr = convert(Vector{Int32}, _logical_widths)
        ret = ccall(("pango_glyph_item_get_logical_widths", libpango), Nothing, (Ptr{_PangoGlyphItem}, Cstring, Ptr{Int32}), instance, _text, _logical_widths_arr)
        nothing
    end
    function letter_space(instance::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _text::Union{AbstractString, Symbol}, _log_attrs, _letter_spacing::Integer)
        _log_attrs_arr = convert(Vector{_PangoLogAttr}, _log_attrs)
        ret = ccall(("pango_glyph_item_letter_space", libpango), Nothing, (Ptr{_PangoGlyphItem}, Cstring, Ptr{_PangoLogAttr}, Int32), instance, _text, _log_attrs_arr, _letter_spacing)
        nothing
    end
    function split(instance::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _text::Union{AbstractString, Symbol}, _split_index::Integer)
        ret = ccall(("pango_glyph_item_split", libpango), Ptr{_PangoGlyphItem}, (Ptr{_PangoGlyphItem}, Cstring, Int32), instance, _text, _split_index)
        ret2 = convert_if_not_null(PangoGlyphItem, ret, true)
        ret2
    end
    function copy(instance::Union{PangoGlyphItemIter, Ref{_PangoGlyphItemIter}})
        ret = ccall(("pango_glyph_item_iter_copy", libpango), Ptr{_PangoGlyphItemIter}, (Ptr{_PangoGlyphItemIter},), instance)
        ret2 = convert_if_not_null(PangoGlyphItemIter, ret, true)
        ret2
    end
    function free(instance::Union{PangoGlyphItemIter, Ref{_PangoGlyphItemIter}})
        ret = ccall(("pango_glyph_item_iter_free", libpango), Nothing, (Ptr{_PangoGlyphItemIter},), instance)
        nothing
    end
    function init_end(instance::Union{PangoGlyphItemIter, Ref{_PangoGlyphItemIter}}, _glyph_item::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _text::Union{AbstractString, Symbol})
        ret = ccall(("pango_glyph_item_iter_init_end", libpango), Cint, (Ptr{_PangoGlyphItemIter}, Ptr{_PangoGlyphItem}, Cstring), instance, _glyph_item, _text)
        ret2 = convert(Bool, ret)
        ret2
    end
    function init_start(instance::Union{PangoGlyphItemIter, Ref{_PangoGlyphItemIter}}, _glyph_item::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _text::Union{AbstractString, Symbol})
        ret = ccall(("pango_glyph_item_iter_init_start", libpango), Cint, (Ptr{_PangoGlyphItemIter}, Ptr{_PangoGlyphItem}, Cstring), instance, _glyph_item, _text)
        ret2 = convert(Bool, ret)
        ret2
    end
    function next_cluster(instance::Union{PangoGlyphItemIter, Ref{_PangoGlyphItemIter}})
        ret = ccall(("pango_glyph_item_iter_next_cluster", libpango), Cint, (Ptr{_PangoGlyphItemIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function prev_cluster(instance::Union{PangoGlyphItemIter, Ref{_PangoGlyphItemIter}})
        ret = ccall(("pango_glyph_item_iter_prev_cluster", libpango), Cint, (Ptr{_PangoGlyphItemIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function GlyphString_new()
        ret = ccall(("pango_glyph_string_new", libpango), Ptr{_PangoGlyphString}, ())
        ret2 = convert(Union{PangoGlyphString, Ref{_PangoGlyphString}}, ret, true)
        ret2
    end
    function copy(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}})
        ret = ccall(("pango_glyph_string_copy", libpango), Ptr{_PangoGlyphString}, (Ptr{_PangoGlyphString},), instance)
        ret2 = convert_if_not_null(PangoGlyphString, ret, true)
        ret2
    end
    function extents(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _font::PangoFont)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_glyph_string_extents", libpango), Nothing, (Ptr{_PangoGlyphString}, Ptr{GObject}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, _font, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function extents_range(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _start::Integer, _end::Integer, _font::PangoFont)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_glyph_string_extents_range", libpango), Nothing, (Ptr{_PangoGlyphString}, Int32, Int32, Ptr{GObject}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, _start, _end, _font, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function free(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}})
        ret = ccall(("pango_glyph_string_free", libpango), Nothing, (Ptr{_PangoGlyphString},), instance)
        nothing
    end
    function get_logical_widths(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _text::Union{AbstractString, Symbol}, _length::Integer, _embedding_level::Integer, _logical_widths)
        _logical_widths_arr = convert(Vector{Int32}, _logical_widths)
        ret = ccall(("pango_glyph_string_get_logical_widths", libpango), Nothing, (Ptr{_PangoGlyphString}, Cstring, Int32, Int32, Ptr{Int32}), instance, _text, _length, _embedding_level, _logical_widths_arr)
        nothing
    end
    function get_width(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}})
        ret = ccall(("pango_glyph_string_get_width", libpango), Int32, (Ptr{_PangoGlyphString},), instance)
        ret
    end
    function index_to_x(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _text::Union{AbstractString, Symbol}, _length::Integer, _analysis::Union{PangoAnalysis, Ref{_PangoAnalysis}}, _index_::Integer, _trailing::Bool)
        m_x_pos = Ref{Int32}()
        ret = ccall(("pango_glyph_string_index_to_x", libpango), Nothing, (Ptr{_PangoGlyphString}, Cstring, Int32, Ptr{_PangoAnalysis}, Int32, Cint, Ptr{Int32}), instance, _text, _length, _analysis, _index_, _trailing, m_x_pos)
        _x_pos = m_x_pos[]
        _x_pos
    end
    function index_to_x_full(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _text::Union{AbstractString, Symbol}, _length::Integer, _analysis::Union{PangoAnalysis, Ref{_PangoAnalysis}}, _attrs::Maybe(Union{PangoLogAttr, Ref{_PangoLogAttr}}), _index_::Integer, _trailing::Bool)
        _attrs_maybe = nothing_to_null(_attrs)
        m_x_pos = Ref{Int32}()
        ret = ccall(("pango_glyph_string_index_to_x_full", libpango), Nothing, (Ptr{_PangoGlyphString}, Cstring, Int32, Ptr{_PangoAnalysis}, Ptr{_PangoLogAttr}, Int32, Cint, Ptr{Int32}), instance, _text, _length, _analysis, _attrs_maybe, _index_, _trailing, m_x_pos)
        _x_pos = m_x_pos[]
        _x_pos
    end
    function set_size(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _new_len::Integer)
        ret = ccall(("pango_glyph_string_set_size", libpango), Nothing, (Ptr{_PangoGlyphString}, Int32), instance, _new_len)
        nothing
    end
    function x_to_index(instance::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _text::Union{AbstractString, Symbol}, _length::Integer, _analysis::Union{PangoAnalysis, Ref{_PangoAnalysis}}, _x_pos::Integer)
        m_index_ = Ref{Int32}()
        m_trailing = Ref{Int32}()
        ret = ccall(("pango_glyph_string_x_to_index", libpango), Nothing, (Ptr{_PangoGlyphString}, Cstring, Int32, Ptr{_PangoAnalysis}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _text, _length, _analysis, _x_pos, m_index_, m_trailing)
        _index_ = m_index_[]
        _trailing = m_trailing[]
        (_index_, _trailing)
    end
    function Item_new()
        ret = ccall(("pango_item_new", libpango), Ptr{_PangoItem}, ())
        ret2 = convert(Union{PangoItem, Ref{_PangoItem}}, ret, true)
        ret2
    end
    function apply_attrs(instance::Union{PangoItem, Ref{_PangoItem}}, _iter::PangoAttrIterator)
        ret = ccall(("pango_item_apply_attrs", libpango), Nothing, (Ptr{_PangoItem}, Ptr{PangoAttrIterator}), instance, _iter)
        nothing
    end
    function copy(instance::Union{PangoItem, Ref{_PangoItem}})
        ret = ccall(("pango_item_copy", libpango), Ptr{_PangoItem}, (Ptr{_PangoItem},), instance)
        ret2 = convert_if_not_null(PangoItem, ret, true)
        ret2
    end
    function free(instance::Union{PangoItem, Ref{_PangoItem}})
        ret = ccall(("pango_item_free", libpango), Nothing, (Ptr{_PangoItem},), instance)
        nothing
    end
    function split(instance::Union{PangoItem, Ref{_PangoItem}}, _split_index::Integer, _split_offset::Integer)
        ret = ccall(("pango_item_split", libpango), Ptr{_PangoItem}, (Ptr{_PangoItem}, Int32, Int32), instance, _split_index, _split_offset)
        ret2 = convert(Union{PangoItem, Ref{_PangoItem}}, ret, true)
        ret2
    end
    function get_sample_string(instance::PangoLanguage)
        ret = ccall(("pango_language_get_sample_string", libpango), Cstring, (Ptr{PangoLanguage},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_scripts(instance::PangoLanguage)
        m_num_scripts = Ref{Int32}()
        ret = ccall(("pango_language_get_scripts", libpango), Ptr{UInt32}, (Ptr{PangoLanguage}, Ptr{Int32}), instance, m_num_scripts)
        ret2 = collect(unsafe_wrap(Vector{UInt32}, ret, m_num_scripts[]))
        _num_scripts = m_num_scripts[]
        ret2
    end
    function includes_script(instance::PangoLanguage, _script)
        ret = ccall(("pango_language_includes_script", libpango), Cint, (Ptr{PangoLanguage}, UInt32), instance, _script)
        ret2 = convert(Bool, ret)
        ret2
    end
    function matches(instance::PangoLanguage, _range_list::Union{AbstractString, Symbol})
        ret = ccall(("pango_language_matches", libpango), Cint, (Ptr{PangoLanguage}, Cstring), instance, _range_list)
        ret2 = convert(Bool, ret)
        ret2
    end
    function to_string(instance::PangoLanguage)
        ret = ccall(("pango_language_to_string", libpango), Cstring, (Ptr{PangoLanguage},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function at_last_line(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_at_last_line", libpango), Cint, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function copy(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_copy", libpango), Ptr{PangoLayoutIter}, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert_if_not_null(PangoLayoutIter, ret, true)
        ret2
    end
    function free(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_free", libpango), Nothing, (Ptr{PangoLayoutIter},), instance)
        nothing
    end
    function get_baseline(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_baseline", libpango), Int32, (Ptr{PangoLayoutIter},), instance)
        ret
    end
    function get_char_extents(instance::PangoLayoutIter)
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_iter_get_char_extents", libpango), Nothing, (Ptr{PangoLayoutIter}, Ptr{_PangoRectangle}), instance, m_logical_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        _logical_rect
    end
    function get_cluster_extents(instance::PangoLayoutIter)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_iter_get_cluster_extents", libpango), Nothing, (Ptr{PangoLayoutIter}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_index(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_index", libpango), Int32, (Ptr{PangoLayoutIter},), instance)
        ret
    end
    function get_layout(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_layout", libpango), Ptr{GObject}, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert_if_not_null(PangoLayout, ret, false)
        ret2
    end
    function get_layout_extents(instance::PangoLayoutIter)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_iter_get_layout_extents", libpango), Nothing, (Ptr{PangoLayoutIter}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_line(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_line", libpango), Ptr{_PangoLayoutLine}, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert_if_not_null(PangoLayoutLine, ret, false)
        ret2
    end
    function get_line_extents(instance::PangoLayoutIter)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_iter_get_line_extents", libpango), Nothing, (Ptr{PangoLayoutIter}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_line_readonly(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_line_readonly", libpango), Ptr{_PangoLayoutLine}, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert_if_not_null(PangoLayoutLine, ret, false)
        ret2
    end
    function get_line_yrange(instance::PangoLayoutIter)
        m_y0_ = Ref{Int32}()
        m_y1_ = Ref{Int32}()
        ret = ccall(("pango_layout_iter_get_line_yrange", libpango), Nothing, (Ptr{PangoLayoutIter}, Ptr{Int32}, Ptr{Int32}), instance, m_y0_, m_y1_)
        _y0_ = m_y0_[]
        _y1_ = m_y1_[]
        (_y0_, _y1_)
    end
    function get_run(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_run", libpango), Ptr{_PangoGlyphItem}, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert_if_not_null(PangoGlyphItem, ret, false)
        ret2
    end
    function get_run_baseline(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_run_baseline", libpango), Int32, (Ptr{PangoLayoutIter},), instance)
        ret
    end
    function get_run_extents(instance::PangoLayoutIter)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_iter_get_run_extents", libpango), Nothing, (Ptr{PangoLayoutIter}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_run_readonly(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_get_run_readonly", libpango), Ptr{_PangoGlyphItem}, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert_if_not_null(PangoGlyphItem, ret, false)
        ret2
    end
    function next_char(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_next_char", libpango), Cint, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function next_cluster(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_next_cluster", libpango), Cint, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function next_line(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_next_line", libpango), Cint, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function next_run(instance::PangoLayoutIter)
        ret = ccall(("pango_layout_iter_next_run", libpango), Cint, (Ptr{PangoLayoutIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_extents(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_line_get_extents", libpango), Nothing, (Ptr{_PangoLayoutLine}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_height(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        m_height = Ref{Int32}()
        ret = ccall(("pango_layout_line_get_height", libpango), Nothing, (Ptr{_PangoLayoutLine}, Ptr{Int32}), instance, m_height)
        _height = m_height[]
        _height
    end
    function get_length(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        ret = ccall(("pango_layout_line_get_length", libpango), Int32, (Ptr{_PangoLayoutLine},), instance)
        ret
    end
    function get_pixel_extents(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_line_get_pixel_extents", libpango), Nothing, (Ptr{_PangoLayoutLine}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_resolved_direction(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        ret = ccall(("pango_layout_line_get_resolved_direction", libpango), UInt32, (Ptr{_PangoLayoutLine},), instance)
        ret2 = Direction(ret)
        ret2
    end
    function get_start_index(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        ret = ccall(("pango_layout_line_get_start_index", libpango), Int32, (Ptr{_PangoLayoutLine},), instance)
        ret
    end
    function get_x_ranges(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}}, _start_index::Integer, _end_index::Integer)
        m_ranges = Ref{Ptr{Int32}}()
        m_n_ranges = Ref{Int32}()
        ret = ccall(("pango_layout_line_get_x_ranges", libpango), Nothing, (Ptr{_PangoLayoutLine}, Int32, Int32, Ptr{Ptr{Int32}}, Ptr{Int32}), instance, _start_index, _end_index, m_ranges, m_n_ranges)
        _ranges = m_ranges[]
        _ranges = begin
                arrtemp = copy(unsafe_wrap(Vector{Int32}, _ranges, m_n_ranges[]))
                GLib.g_free(_ranges)
                arrtemp
            end
        _n_ranges = m_n_ranges[]
        _ranges
    end
    function index_to_x(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}}, _index_::Integer, _trailing::Bool)
        m_x_pos = Ref{Int32}()
        ret = ccall(("pango_layout_line_index_to_x", libpango), Nothing, (Ptr{_PangoLayoutLine}, Int32, Cint, Ptr{Int32}), instance, _index_, _trailing, m_x_pos)
        _x_pos = m_x_pos[]
        _x_pos
    end
    function is_paragraph_start(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        ret = ccall(("pango_layout_line_is_paragraph_start", libpango), Cint, (Ptr{_PangoLayoutLine},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function ref(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        ret = ccall(("pango_layout_line_ref", libpango), Ptr{_PangoLayoutLine}, (Ptr{_PangoLayoutLine},), instance)
        ret2 = convert_if_not_null(PangoLayoutLine, ret, true)
        ret2
    end
    function unref(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}})
        ret = ccall(("pango_layout_line_unref", libpango), Nothing, (Ptr{_PangoLayoutLine},), instance)
        nothing
    end
    function x_to_index(instance::Union{PangoLayoutLine, Ref{_PangoLayoutLine}}, _x_pos::Integer)
        m_index_ = Ref{Int32}()
        m_trailing = Ref{Int32}()
        ret = ccall(("pango_layout_line_x_to_index", libpango), Cint, (Ptr{_PangoLayoutLine}, Int32, Ptr{Int32}, Ptr{Int32}), instance, _x_pos, m_index_, m_trailing)
        ret2 = convert(Bool, ret)
        _index_ = m_index_[]
        _trailing = m_trailing[]
        (ret2, _index_, _trailing)
    end
    function concat(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _new_matrix::Union{PangoMatrix, Ref{_PangoMatrix}})
        ret = ccall(("pango_matrix_concat", libpango), Nothing, (Ptr{_PangoMatrix}, Ptr{_PangoMatrix}), instance, _new_matrix)
        nothing
    end
    function copy(instance::Union{PangoMatrix, Ref{_PangoMatrix}})
        ret = ccall(("pango_matrix_copy", libpango), Ptr{_PangoMatrix}, (Ptr{_PangoMatrix},), instance)
        ret2 = convert_if_not_null(PangoMatrix, ret, true)
        ret2
    end
    function free(instance::Union{PangoMatrix, Ref{_PangoMatrix}})
        ret = ccall(("pango_matrix_free", libpango), Nothing, (Ptr{_PangoMatrix},), instance)
        nothing
    end
    function get_font_scale_factor(instance::Union{PangoMatrix, Ref{_PangoMatrix}})
        ret = ccall(("pango_matrix_get_font_scale_factor", libpango), Float64, (Ptr{_PangoMatrix},), instance)
        ret
    end
    function get_font_scale_factors(instance::Union{PangoMatrix, Ref{_PangoMatrix}})
        m_xscale = Ref{Float64}()
        m_yscale = Ref{Float64}()
        ret = ccall(("pango_matrix_get_font_scale_factors", libpango), Nothing, (Ptr{_PangoMatrix}, Ptr{Float64}, Ptr{Float64}), instance, m_xscale, m_yscale)
        _xscale = m_xscale[]
        _yscale = m_yscale[]
        (_xscale, _yscale)
    end
    function get_slant_ratio(instance::Union{PangoMatrix, Ref{_PangoMatrix}})
        ret = ccall(("pango_matrix_get_slant_ratio", libpango), Float64, (Ptr{_PangoMatrix},), instance)
        ret
    end
    function rotate(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _degrees::Real)
        ret = ccall(("pango_matrix_rotate", libpango), Nothing, (Ptr{_PangoMatrix}, Float64), instance, _degrees)
        nothing
    end
    function scale(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _scale_x::Real, _scale_y::Real)
        ret = ccall(("pango_matrix_scale", libpango), Nothing, (Ptr{_PangoMatrix}, Float64, Float64), instance, _scale_x, _scale_y)
        nothing
    end
    function transform_distance(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _dx::Real, _dy::Real)
        m_dx = Ref{Float64}()
        m_dx[] = Base.cconvert(Float64, _dx)
        m_dy = Ref{Float64}()
        m_dy[] = Base.cconvert(Float64, _dy)
        ret = ccall(("pango_matrix_transform_distance", libpango), Nothing, (Ptr{_PangoMatrix}, Ptr{Float64}, Ptr{Float64}), instance, m_dx, m_dy)
        _dx = m_dx[]
        _dy = m_dy[]
        (_dx, _dy)
    end
    function transform_pixel_rectangle(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _rect::_PangoRectangle)
        m_rect = Ref{_PangoRectangle}()
        m_rect[] = Base.cconvert(_PangoRectangle, _rect)
        ret = ccall(("pango_matrix_transform_pixel_rectangle", libpango), Nothing, (Ptr{_PangoMatrix}, Ptr{_PangoRectangle}), instance, m_rect)
        _rect = m_rect[]
        _rect = convert(_PangoRectangle, _rect)
        _rect
    end
    function transform_point(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _x::Real, _y::Real)
        m_x = Ref{Float64}()
        m_x[] = Base.cconvert(Float64, _x)
        m_y = Ref{Float64}()
        m_y[] = Base.cconvert(Float64, _y)
        ret = ccall(("pango_matrix_transform_point", libpango), Nothing, (Ptr{_PangoMatrix}, Ptr{Float64}, Ptr{Float64}), instance, m_x, m_y)
        _x = m_x[]
        _y = m_y[]
        (_x, _y)
    end
    function transform_rectangle(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _rect::_PangoRectangle)
        m_rect = Ref{_PangoRectangle}()
        m_rect[] = Base.cconvert(_PangoRectangle, _rect)
        ret = ccall(("pango_matrix_transform_rectangle", libpango), Nothing, (Ptr{_PangoMatrix}, Ptr{_PangoRectangle}), instance, m_rect)
        _rect = m_rect[]
        _rect = convert(_PangoRectangle, _rect)
        _rect
    end
    function translate(instance::Union{PangoMatrix, Ref{_PangoMatrix}}, _tx::Real, _ty::Real)
        ret = ccall(("pango_matrix_translate", libpango), Nothing, (Ptr{_PangoMatrix}, Float64, Float64), instance, _tx, _ty)
        nothing
    end
    function ScriptIter_new(_text::Union{AbstractString, Symbol}, _length::Integer)
        ret = ccall(("pango_script_iter_new", libpango), Ptr{PangoScriptIter}, (Cstring, Int32), _text, _length)
        ret2 = convert(PangoScriptIter, ret, true)
        ret2
    end
    function free(instance::PangoScriptIter)
        ret = ccall(("pango_script_iter_free", libpango), Nothing, (Ptr{PangoScriptIter},), instance)
        nothing
    end
    function get_range(instance::PangoScriptIter)
        m_start = Ref{Cstring}()
        m_end = Ref{Cstring}()
        m_script = Ref{UInt32}()
        ret = ccall(("pango_script_iter_get_range", libpango), Nothing, (Ptr{PangoScriptIter}, Ptr{Cstring}, Ptr{Cstring}, Ptr{UInt32}), instance, m_start, m_end, m_script)
        _start = m_start[]
        _start = string_or_nothing(_start, true)
        _end = m_end[]
        _end = string_or_nothing(_end, true)
        _script = m_script[]
        _script = Script(_script)
        (_start, _end, _script)
    end
    function next(instance::PangoScriptIter)
        ret = ccall(("pango_script_iter_next", libpango), Cint, (Ptr{PangoScriptIter},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function TabArray_new(_initial_size::Integer, _positions_in_pixels::Bool)
        ret = ccall(("pango_tab_array_new", libpango), Ptr{PangoTabArray}, (Int32, Cint), _initial_size, _positions_in_pixels)
        ret2 = convert(PangoTabArray, ret, true)
        ret2
    end
    function copy(instance::PangoTabArray)
        ret = ccall(("pango_tab_array_copy", libpango), Ptr{PangoTabArray}, (Ptr{PangoTabArray},), instance)
        ret2 = convert(PangoTabArray, ret, true)
        ret2
    end
    function free(instance::PangoTabArray)
        ret = ccall(("pango_tab_array_free", libpango), Nothing, (Ptr{PangoTabArray},), instance)
        nothing
    end
    function get_decimal_point(instance::PangoTabArray, _tab_index::Integer)
        ret = ccall(("pango_tab_array_get_decimal_point", libpango), Nothing, (Ptr{PangoTabArray}, Int32), instance, _tab_index)
        nothing
    end
    function get_positions_in_pixels(instance::PangoTabArray)
        ret = ccall(("pango_tab_array_get_positions_in_pixels", libpango), Cint, (Ptr{PangoTabArray},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_size(instance::PangoTabArray)
        ret = ccall(("pango_tab_array_get_size", libpango), Int32, (Ptr{PangoTabArray},), instance)
        ret
    end
    function get_tab(instance::PangoTabArray, _tab_index::Integer)
        m_alignment = Ref{UInt32}()
        m_location = Ref{Int32}()
        ret = ccall(("pango_tab_array_get_tab", libpango), Nothing, (Ptr{PangoTabArray}, Int32, Ptr{UInt32}, Ptr{Int32}), instance, _tab_index, m_alignment, m_location)
        _alignment = m_alignment[]
        _alignment = TabAlign(_alignment)
        _location = m_location[]
        (_alignment, _location)
    end
    function resize(instance::PangoTabArray, _new_size::Integer)
        ret = ccall(("pango_tab_array_resize", libpango), Nothing, (Ptr{PangoTabArray}, Int32), instance, _new_size)
        nothing
    end
    function set_decimal_point(instance::PangoTabArray, _tab_index::Integer, _decimal_point)
        ret = ccall(("pango_tab_array_set_decimal_point", libpango), Nothing, (Ptr{PangoTabArray}, Int32, Nothing), instance, _tab_index, _decimal_point)
        nothing
    end
    function set_positions_in_pixels(instance::PangoTabArray, _positions_in_pixels::Bool)
        ret = ccall(("pango_tab_array_set_positions_in_pixels", libpango), Nothing, (Ptr{PangoTabArray}, Cint), instance, _positions_in_pixels)
        nothing
    end
    function set_tab(instance::PangoTabArray, _tab_index::Integer, _alignment, _location::Integer)
        ret = ccall(("pango_tab_array_set_tab", libpango), Nothing, (Ptr{PangoTabArray}, Int32, UInt32, Int32), instance, _tab_index, _alignment, _location)
        nothing
    end
    function sort(instance::PangoTabArray)
        ret = ccall(("pango_tab_array_sort", libpango), Nothing, (Ptr{PangoTabArray},), instance)
        nothing
    end
    function to_string(instance::PangoTabArray)
        ret = ccall(("pango_tab_array_to_string", libpango), Cstring, (Ptr{PangoTabArray},), instance)
        ret2 = string_or_nothing(ret, true)
        ret2
    end
    function Context_new()
        ret = ccall(("pango_context_new", libpango), Ptr{GObject}, ())
        ret2 = PangoContextLeaf(ret, true)
        ret2
    end
    function changed(instance::PangoContext)
        ret = ccall(("pango_context_changed", libpango), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function get_base_dir(instance::PangoContext)
        ret = ccall(("pango_context_get_base_dir", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = Direction(ret)
        ret2
    end
    function get_base_gravity(instance::PangoContext)
        ret = ccall(("pango_context_get_base_gravity", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = Gravity(ret)
        ret2
    end
    function get_font_description(instance::PangoContext)
        ret = ccall(("pango_context_get_font_description", libpango), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontDescription, ret, false)
        ret2
    end
    function get_font_map(instance::PangoContext)
        ret = ccall(("pango_context_get_font_map", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontMap, ret, false)
        ret2
    end
    function get_gravity(instance::PangoContext)
        ret = ccall(("pango_context_get_gravity", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = Gravity(ret)
        ret2
    end
    function get_gravity_hint(instance::PangoContext)
        ret = ccall(("pango_context_get_gravity_hint", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = GravityHint(ret)
        ret2
    end
    function get_language(instance::PangoContext)
        ret = ccall(("pango_context_get_language", libpango), Ptr{PangoLanguage}, (Ptr{GObject},), instance)
        ret2 = convert(PangoLanguage, ret, false)
        ret2
    end
    function get_matrix(instance::PangoContext)
        ret = ccall(("pango_context_get_matrix", libpango), Ptr{_PangoMatrix}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoMatrix, ret, false)
        ret2
    end
    function get_metrics(instance::PangoContext, _desc::Maybe(PangoFontDescription), _language::Maybe(PangoLanguage))
        _desc_maybe = nothing_to_null(_desc)
        _language_maybe = nothing_to_null(_language)
        ret = ccall(("pango_context_get_metrics", libpango), Ptr{_PangoFontMetrics}, (Ptr{GObject}, Ptr{PangoFontDescription}, Ptr{PangoLanguage}), instance, _desc_maybe, _language_maybe)
        ret2 = convert(Union{PangoFontMetrics, Ref{_PangoFontMetrics}}, ret, true)
        ret2
    end
    function get_round_glyph_positions(instance::PangoContext)
        ret = ccall(("pango_context_get_round_glyph_positions", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_serial(instance::PangoContext)
        ret = ccall(("pango_context_get_serial", libpango), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function list_families(instance::PangoContext)
        m_families = Ref{Ptr{Ptr{GObject}}}()
        m_n_families = Ref{Int32}()
        ret = ccall(("pango_context_list_families", libpango), Nothing, (Ptr{GObject}, Ptr{Ptr{Ptr{GObject}}}, Ptr{Int32}), instance, m_families, m_n_families)
        _families = m_families[]
        _families = begin
                arrtemp = collect(unsafe_wrap(Vector{Ptr{GObject}}, _families, m_n_families[]))
                GLib.g_free(_families)
                arrtemp = convert.(PangoFontFamily, arrtemp, false)
            end
        _n_families = m_n_families[]
        _families
    end
    function load_font(instance::PangoContext, _desc::PangoFontDescription)
        ret = ccall(("pango_context_load_font", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{PangoFontDescription}), instance, _desc)
        ret2 = convert_if_not_null(PangoFont, ret, true)
        ret2
    end
    function load_fontset(instance::PangoContext, _desc::PangoFontDescription, _language::PangoLanguage)
        ret = ccall(("pango_context_load_fontset", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{PangoFontDescription}, Ptr{PangoLanguage}), instance, _desc, _language)
        ret2 = convert_if_not_null(PangoFontset, ret, true)
        ret2
    end
    function set_base_dir(instance::PangoContext, _direction)
        ret = ccall(("pango_context_set_base_dir", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _direction)
        nothing
    end
    function set_base_gravity(instance::PangoContext, _gravity)
        ret = ccall(("pango_context_set_base_gravity", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _gravity)
        nothing
    end
    function set_font_description(instance::PangoContext, _desc::Maybe(PangoFontDescription))
        _desc_maybe = nothing_to_null(_desc)
        ret = ccall(("pango_context_set_font_description", libpango), Nothing, (Ptr{GObject}, Ptr{PangoFontDescription}), instance, _desc_maybe)
        nothing
    end
    function set_font_map(instance::PangoContext, _font_map::Maybe(PangoFontMap))
        _font_map_maybe = nothing_to_null(_font_map)
        ret = ccall(("pango_context_set_font_map", libpango), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _font_map_maybe)
        nothing
    end
    function set_gravity_hint(instance::PangoContext, _hint)
        ret = ccall(("pango_context_set_gravity_hint", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _hint)
        nothing
    end
    function set_language(instance::PangoContext, _language::Maybe(PangoLanguage))
        _language_maybe = nothing_to_null(_language)
        ret = ccall(("pango_context_set_language", libpango), Nothing, (Ptr{GObject}, Ptr{PangoLanguage}), instance, _language_maybe)
        nothing
    end
    function set_matrix(instance::PangoContext, _matrix::Maybe(Union{PangoMatrix, Ref{_PangoMatrix}}))
        _matrix_maybe = nothing_to_null(_matrix)
        ret = ccall(("pango_context_set_matrix", libpango), Nothing, (Ptr{GObject}, Ptr{_PangoMatrix}), instance, _matrix_maybe)
        nothing
    end
    function set_round_glyph_positions(instance::PangoContext, _round_positions::Bool)
        ret = ccall(("pango_context_set_round_glyph_positions", libpango), Nothing, (Ptr{GObject}, Cint), instance, _round_positions)
        nothing
    end
    function Coverage_new()
        ret = ccall(("pango_coverage_new", libpango), Ptr{GObject}, ())
        ret2 = PangoCoverageLeaf(ret, true)
        ret2
    end
    function copy(instance::PangoCoverage)
        ret = ccall(("pango_coverage_copy", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoCoverage, ret, true)
        ret2
    end
    function get(instance::PangoCoverage, _index_::Integer)
        ret = ccall(("pango_coverage_get", libpango), UInt32, (Ptr{GObject}, Int32), instance, _index_)
        ret2 = CoverageLevel(ret)
        ret2
    end
    function set(instance::PangoCoverage, _index_::Integer, _level)
        ret = ccall(("pango_coverage_set", libpango), Nothing, (Ptr{GObject}, Int32, UInt32), instance, _index_, _level)
        nothing
    end
    function descriptions_free(_descs)
        _descs_arr = convert(Vector{Ptr{PangoFontDescription}}, _descs)
        _n_descs = length(_descs)
        ret = ccall(("pango_font_descriptions_free", libpango), Nothing, (Ptr{Ptr{PangoFontDescription}}, Int32), _descs_arr, _n_descs)
        nothing
    end
    function deserialize(_context::PangoContext, _bytes::GBytes)
        err = err_buf()
        ret = ccall(("pango_font_deserialize", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{GBytes}, Ptr{Ptr{GError}}), _context, _bytes, err)
        check_err(err)
        ret2 = convert_if_not_null(PangoFont, ret, true)
        ret2
    end
    function describe(instance::PangoFont)
        ret = ccall(("pango_font_describe", libpango), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert(PangoFontDescription, ret, true)
        ret2
    end
    function describe_with_absolute_size(instance::PangoFont)
        ret = ccall(("pango_font_describe_with_absolute_size", libpango), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert(PangoFontDescription, ret, true)
        ret2
    end
    function get_coverage(instance::PangoFont, _language::PangoLanguage)
        ret = ccall(("pango_font_get_coverage", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{PangoLanguage}), instance, _language)
        ret2 = convert(PangoCoverage, ret, true)
        ret2
    end
    function get_face(instance::PangoFont)
        ret = ccall(("pango_font_get_face", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoFontFace, ret, false)
        ret2
    end
    function get_font_map(instance::PangoFont)
        ret = ccall(("pango_font_get_font_map", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontMap, ret, false)
        ret2
    end
    function get_glyph_extents(instance::PangoFont, _glyph::Integer)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_font_get_glyph_extents", libpango), Nothing, (Ptr{GObject}, UInt32, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, _glyph, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_metrics(instance::PangoFont, _language::Maybe(PangoLanguage))
        _language_maybe = nothing_to_null(_language)
        ret = ccall(("pango_font_get_metrics", libpango), Ptr{_PangoFontMetrics}, (Ptr{GObject}, Ptr{PangoLanguage}), instance, _language_maybe)
        ret2 = convert(Union{PangoFontMetrics, Ref{_PangoFontMetrics}}, ret, true)
        ret2
    end
    function has_char(instance::PangoFont, _wc)
        ret = ccall(("pango_font_has_char", libpango), Cint, (Ptr{GObject}, Nothing), instance, _wc)
        ret2 = convert(Bool, ret)
        ret2
    end
    function serialize(instance::PangoFont)
        ret = ccall(("pango_font_serialize", libpango), Ptr{GBytes}, (Ptr{GObject},), instance)
        ret2 = convert(GBytes, ret, true)
        ret2
    end
    function describe(instance::PangoFontFace)
        ret = ccall(("pango_font_face_describe", libpango), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert(PangoFontDescription, ret, true)
        ret2
    end
    function get_face_name(instance::PangoFontFace)
        ret = ccall(("pango_font_face_get_face_name", libpango), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_family(instance::PangoFontFace)
        ret = ccall(("pango_font_face_get_family", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoFontFamily, ret, false)
        ret2
    end
    function is_synthesized(instance::PangoFontFace)
        ret = ccall(("pango_font_face_is_synthesized", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function list_sizes(instance::PangoFontFace)
        m_sizes = Ref{Ptr{Int32}}()
        m_n_sizes = Ref{Int32}()
        ret = ccall(("pango_font_face_list_sizes", libpango), Nothing, (Ptr{GObject}, Ptr{Ptr{Int32}}, Ptr{Int32}), instance, m_sizes, m_n_sizes)
        _sizes = m_sizes[]
        _sizes = begin
                arrtemp = copy(unsafe_wrap(Vector{Int32}, _sizes, m_n_sizes[]))
                GLib.g_free(_sizes)
                arrtemp
            end
        _n_sizes = m_n_sizes[]
        _sizes
    end
    function get_face(instance::PangoFontFamily, _name::Maybe(Union{AbstractString, Symbol}))
        _name_maybe = nothing_to_null(_name)
        ret = ccall(("pango_font_family_get_face", libpango), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _name_maybe)
        ret2 = convert_if_not_null(PangoFontFace, ret, false)
        ret2
    end
    function get_name(instance::PangoFontFamily)
        ret = ccall(("pango_font_family_get_name", libpango), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function is_monospace(instance::PangoFontFamily)
        ret = ccall(("pango_font_family_is_monospace", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_variable(instance::PangoFontFamily)
        ret = ccall(("pango_font_family_is_variable", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function list_faces(instance::PangoFontFamily)
        m_faces = Ref{Ptr{Ptr{GObject}}}()
        m_n_faces = Ref{Int32}()
        ret = ccall(("pango_font_family_list_faces", libpango), Nothing, (Ptr{GObject}, Ptr{Ptr{Ptr{GObject}}}, Ptr{Int32}), instance, m_faces, m_n_faces)
        _faces = m_faces[]
        _faces = begin
                arrtemp = collect(unsafe_wrap(Vector{Ptr{GObject}}, _faces, m_n_faces[]))
                GLib.g_free(_faces)
                arrtemp = convert.(PangoFontFace, arrtemp, false)
            end
        _n_faces = m_n_faces[]
        _faces
    end
    function get_item_type(instance::PangoFontFamily)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::PangoFontFamily)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::PangoFontFamily, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::PangoFontFamily, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function changed(instance::PangoFontMap)
        ret = ccall(("pango_font_map_changed", libpango), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function create_context(instance::PangoFontMap)
        ret = ccall(("pango_font_map_create_context", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, true)
        ret2
    end
    function get_family(instance::PangoFontMap, _name::Union{AbstractString, Symbol})
        ret = ccall(("pango_font_map_get_family", libpango), Ptr{GObject}, (Ptr{GObject}, Cstring), instance, _name)
        ret2 = convert(PangoFontFamily, ret, false)
        ret2
    end
    function get_serial(instance::PangoFontMap)
        ret = ccall(("pango_font_map_get_serial", libpango), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function list_families(instance::PangoFontMap)
        m_families = Ref{Ptr{Ptr{GObject}}}()
        m_n_families = Ref{Int32}()
        ret = ccall(("pango_font_map_list_families", libpango), Nothing, (Ptr{GObject}, Ptr{Ptr{Ptr{GObject}}}, Ptr{Int32}), instance, m_families, m_n_families)
        _families = m_families[]
        _families = begin
                arrtemp = collect(unsafe_wrap(Vector{Ptr{GObject}}, _families, m_n_families[]))
                GLib.g_free(_families)
                arrtemp = convert.(PangoFontFamily, arrtemp, false)
            end
        _n_families = m_n_families[]
        _families
    end
    function load_font(instance::PangoFontMap, _context::PangoContext, _desc::PangoFontDescription)
        ret = ccall(("pango_font_map_load_font", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{PangoFontDescription}), instance, _context, _desc)
        ret2 = convert_if_not_null(PangoFont, ret, true)
        ret2
    end
    function load_fontset(instance::PangoFontMap, _context::PangoContext, _desc::PangoFontDescription, _language::PangoLanguage)
        ret = ccall(("pango_font_map_load_fontset", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{GObject}, Ptr{PangoFontDescription}, Ptr{PangoLanguage}), instance, _context, _desc, _language)
        ret2 = convert_if_not_null(PangoFontset, ret, true)
        ret2
    end
    function get_item_type(instance::PangoFontMap)
        get_item_type(GListModel(instance))
    end
    function get_n_items(instance::PangoFontMap)
        get_n_items(GListModel(instance))
    end
    function get_item(instance::PangoFontMap, _position::Integer)
        get_item(GListModel(instance), _position)
    end
    function items_changed(instance::PangoFontMap, _position::Integer, _removed::Integer, _added::Integer)
        items_changed(GListModel(instance), _position, _removed, _added)
    end
    function foreach(instance::PangoFontset, _func::Function)
        begin
            _func_cfunc = @cfunction(PangoFontsetForeachFunc, Cint, (Ptr{GObject}, Ptr{GObject}, Ref{Function}))
            begin
                ref = Ref{Any}(_func)
                _func_closure = unsafe_load(convert(Ptr{Ptr{Nothing}}, Base.unsafe_convert(Ptr{Any}, ref)))
            end
        end
        ret = ccall(("pango_fontset_foreach", libpango), Nothing, (Ptr{GObject}, Ptr{Cvoid}, Ptr{Nothing}), instance, _func_cfunc, _func_closure)
        nothing
    end
    function get_font(instance::PangoFontset, _wc::Integer)
        ret = ccall(("pango_fontset_get_font", libpango), Ptr{GObject}, (Ptr{GObject}, UInt32), instance, _wc)
        ret2 = convert(PangoFont, ret, true)
        ret2
    end
    function get_metrics(instance::PangoFontset)
        ret = ccall(("pango_fontset_get_metrics", libpango), Ptr{_PangoFontMetrics}, (Ptr{GObject},), instance)
        ret2 = convert(Union{PangoFontMetrics, Ref{_PangoFontMetrics}}, ret, true)
        ret2
    end
    function FontsetSimple_new(_language::PangoLanguage)
        ret = ccall(("pango_fontset_simple_new", libpango), Ptr{GObject}, (Ptr{PangoLanguage},), _language)
        ret2 = PangoFontsetSimpleLeaf(ret, true)
        ret2
    end
    function append(instance::PangoFontsetSimple, _font::PangoFont)
        _font = GLib.glib_ref(_font)
        ret = ccall(("pango_fontset_simple_append", libpango), Nothing, (Ptr{GObject}, Ptr{GObject}), instance, _font)
        nothing
    end
    function size(instance::PangoFontsetSimple)
        ret = ccall(("pango_fontset_simple_size", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function Layout_new(_context::PangoContext)
        ret = ccall(("pango_layout_new", libpango), Ptr{GObject}, (Ptr{GObject},), _context)
        ret2 = PangoLayoutLeaf(ret, true)
        ret2
    end
    function deserialize(_context::PangoContext, _bytes::GBytes, _flags)
        err = err_buf()
        ret = ccall(("pango_layout_deserialize", libpango), Ptr{GObject}, (Ptr{GObject}, Ptr{GBytes}, UInt32, Ptr{Ptr{GError}}), _context, _bytes, _flags, err)
        check_err(err)
        ret2 = convert_if_not_null(PangoLayout, ret, true)
        ret2
    end
    function context_changed(instance::PangoLayout)
        ret = ccall(("pango_layout_context_changed", libpango), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function copy(instance::PangoLayout)
        ret = ccall(("pango_layout_copy", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoLayout, ret, true)
        ret2
    end
    function get_alignment(instance::PangoLayout)
        ret = ccall(("pango_layout_get_alignment", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = Alignment(ret)
        ret2
    end
    function get_attributes(instance::PangoLayout)
        ret = ccall(("pango_layout_get_attributes", libpango), Ptr{PangoAttrList}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoAttrList, ret, false)
        ret2
    end
    function get_auto_dir(instance::PangoLayout)
        ret = ccall(("pango_layout_get_auto_dir", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_baseline(instance::PangoLayout)
        ret = ccall(("pango_layout_get_baseline", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_caret_pos(instance::PangoLayout, _index_::Integer)
        m_strong_pos = Ref{_PangoRectangle}()
        m_weak_pos = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_get_caret_pos", libpango), Nothing, (Ptr{GObject}, Int32, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, _index_, m_strong_pos, m_weak_pos)
        _strong_pos = m_strong_pos[]
        _strong_pos = convert(_PangoRectangle, _strong_pos)
        _weak_pos = m_weak_pos[]
        _weak_pos = convert(_PangoRectangle, _weak_pos)
        (_strong_pos, _weak_pos)
    end
    function get_character_count(instance::PangoLayout)
        ret = ccall(("pango_layout_get_character_count", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_context(instance::PangoLayout)
        ret = ccall(("pango_layout_get_context", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert(PangoContext, ret, false)
        ret2
    end
    function get_cursor_pos(instance::PangoLayout, _index_::Integer)
        m_strong_pos = Ref{_PangoRectangle}()
        m_weak_pos = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_get_cursor_pos", libpango), Nothing, (Ptr{GObject}, Int32, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, _index_, m_strong_pos, m_weak_pos)
        _strong_pos = m_strong_pos[]
        _strong_pos = convert(_PangoRectangle, _strong_pos)
        _weak_pos = m_weak_pos[]
        _weak_pos = convert(_PangoRectangle, _weak_pos)
        (_strong_pos, _weak_pos)
    end
    function get_direction(instance::PangoLayout, _index::Integer)
        ret = ccall(("pango_layout_get_direction", libpango), UInt32, (Ptr{GObject}, Int32), instance, _index)
        ret2 = Direction(ret)
        ret2
    end
    function get_ellipsize(instance::PangoLayout)
        ret = ccall(("pango_layout_get_ellipsize", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = EllipsizeMode(ret)
        ret2
    end
    function get_extents(instance::PangoLayout)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_get_extents", libpango), Nothing, (Ptr{GObject}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_font_description(instance::PangoLayout)
        ret = ccall(("pango_layout_get_font_description", libpango), Ptr{PangoFontDescription}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoFontDescription, ret, false)
        ret2
    end
    function get_height(instance::PangoLayout)
        ret = ccall(("pango_layout_get_height", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_indent(instance::PangoLayout)
        ret = ccall(("pango_layout_get_indent", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_iter(instance::PangoLayout)
        ret = ccall(("pango_layout_get_iter", libpango), Ptr{PangoLayoutIter}, (Ptr{GObject},), instance)
        ret2 = convert(PangoLayoutIter, ret, true)
        ret2
    end
    function get_justify(instance::PangoLayout)
        ret = ccall(("pango_layout_get_justify", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_justify_last_line(instance::PangoLayout)
        ret = ccall(("pango_layout_get_justify_last_line", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_line(instance::PangoLayout, _line::Integer)
        ret = ccall(("pango_layout_get_line", libpango), Ptr{_PangoLayoutLine}, (Ptr{GObject}, Int32), instance, _line)
        ret2 = convert_if_not_null(PangoLayoutLine, ret, false)
        ret2
    end
    function get_line_count(instance::PangoLayout)
        ret = ccall(("pango_layout_get_line_count", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_line_readonly(instance::PangoLayout, _line::Integer)
        ret = ccall(("pango_layout_get_line_readonly", libpango), Ptr{_PangoLayoutLine}, (Ptr{GObject}, Int32), instance, _line)
        ret2 = convert_if_not_null(PangoLayoutLine, ret, false)
        ret2
    end
    function get_line_spacing(instance::PangoLayout)
        ret = ccall(("pango_layout_get_line_spacing", libpango), Float32, (Ptr{GObject},), instance)
        ret
    end
    function get_lines(instance::PangoLayout)
        ret = ccall(("pango_layout_get_lines", libpango), Ptr{GLib._GSList{_PangoLayoutLine}}, (Ptr{GObject},), instance)
        ret
    end
    function get_lines_readonly(instance::PangoLayout)
        ret = ccall(("pango_layout_get_lines_readonly", libpango), Ptr{GLib._GSList{_PangoLayoutLine}}, (Ptr{GObject},), instance)
        ret
    end
    function get_log_attrs(instance::PangoLayout)
        m_attrs = Ref{Ptr{_PangoLogAttr}}()
        m_n_attrs = Ref{Int32}()
        ret = ccall(("pango_layout_get_log_attrs", libpango), Nothing, (Ptr{GObject}, Ptr{Ptr{_PangoLogAttr}}, Ptr{Int32}), instance, m_attrs, m_n_attrs)
        _attrs = m_attrs[]
        _attrs = begin
                arrtemp = collect(unsafe_wrap(Vector{_PangoLogAttr}, _attrs, m_n_attrs[]))
                GLib.g_free(_attrs)
                arrtemp
            end
        _n_attrs = m_n_attrs[]
        _attrs
    end
    function get_log_attrs_readonly(instance::PangoLayout)
        m_n_attrs = Ref{Int32}()
        ret = ccall(("pango_layout_get_log_attrs_readonly", libpango), Ptr{_PangoLogAttr}, (Ptr{GObject}, Ptr{Int32}), instance, m_n_attrs)
        ret2 = collect(unsafe_wrap(Vector{_PangoLogAttr}, ret, m_n_attrs[]))
        _n_attrs = m_n_attrs[]
        ret2
    end
    function get_pixel_extents(instance::PangoLayout)
        m_ink_rect = Ref{_PangoRectangle}()
        m_logical_rect = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_get_pixel_extents", libpango), Nothing, (Ptr{GObject}, Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), instance, m_ink_rect, m_logical_rect)
        _ink_rect = m_ink_rect[]
        _ink_rect = convert(_PangoRectangle, _ink_rect)
        _logical_rect = m_logical_rect[]
        _logical_rect = convert(_PangoRectangle, _logical_rect)
        (_ink_rect, _logical_rect)
    end
    function get_pixel_size(instance::PangoLayout)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("pango_layout_get_pixel_size", libpango), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_serial(instance::PangoLayout)
        ret = ccall(("pango_layout_get_serial", libpango), UInt32, (Ptr{GObject},), instance)
        ret
    end
    function get_single_paragraph_mode(instance::PangoLayout)
        ret = ccall(("pango_layout_get_single_paragraph_mode", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function get_size(instance::PangoLayout)
        m_width = Ref{Int32}()
        m_height = Ref{Int32}()
        ret = ccall(("pango_layout_get_size", libpango), Nothing, (Ptr{GObject}, Ptr{Int32}, Ptr{Int32}), instance, m_width, m_height)
        _width = m_width[]
        _height = m_height[]
        (_width, _height)
    end
    function get_spacing(instance::PangoLayout)
        ret = ccall(("pango_layout_get_spacing", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_tabs(instance::PangoLayout)
        ret = ccall(("pango_layout_get_tabs", libpango), Ptr{PangoTabArray}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoTabArray, ret, true)
        ret2
    end
    function get_text(instance::PangoLayout)
        ret = ccall(("pango_layout_get_text", libpango), Cstring, (Ptr{GObject},), instance)
        ret2 = string_or_nothing(ret, false)
        ret2
    end
    function get_unknown_glyphs_count(instance::PangoLayout)
        ret = ccall(("pango_layout_get_unknown_glyphs_count", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_width(instance::PangoLayout)
        ret = ccall(("pango_layout_get_width", libpango), Int32, (Ptr{GObject},), instance)
        ret
    end
    function get_wrap(instance::PangoLayout)
        ret = ccall(("pango_layout_get_wrap", libpango), UInt32, (Ptr{GObject},), instance)
        ret2 = WrapMode(ret)
        ret2
    end
    function index_to_line_x(instance::PangoLayout, _index_::Integer, _trailing::Bool)
        m_line = Ref{Int32}()
        m_x_pos = Ref{Int32}()
        ret = ccall(("pango_layout_index_to_line_x", libpango), Nothing, (Ptr{GObject}, Int32, Cint, Ptr{Int32}, Ptr{Int32}), instance, _index_, _trailing, m_line, m_x_pos)
        _line = m_line[]
        _x_pos = m_x_pos[]
        (_line, _x_pos)
    end
    function index_to_pos(instance::PangoLayout, _index_::Integer)
        m_pos = Ref{_PangoRectangle}()
        ret = ccall(("pango_layout_index_to_pos", libpango), Nothing, (Ptr{GObject}, Int32, Ptr{_PangoRectangle}), instance, _index_, m_pos)
        _pos = m_pos[]
        _pos = convert(_PangoRectangle, _pos)
        _pos
    end
    function is_ellipsized(instance::PangoLayout)
        ret = ccall(("pango_layout_is_ellipsized", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function is_wrapped(instance::PangoLayout)
        ret = ccall(("pango_layout_is_wrapped", libpango), Cint, (Ptr{GObject},), instance)
        ret2 = convert(Bool, ret)
        ret2
    end
    function move_cursor_visually(instance::PangoLayout, _strong::Bool, _old_index::Integer, _old_trailing::Integer, _direction::Integer)
        m_new_index = Ref{Int32}()
        m_new_trailing = Ref{Int32}()
        ret = ccall(("pango_layout_move_cursor_visually", libpango), Nothing, (Ptr{GObject}, Cint, Int32, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _strong, _old_index, _old_trailing, _direction, m_new_index, m_new_trailing)
        _new_index = m_new_index[]
        _new_trailing = m_new_trailing[]
        (_new_index, _new_trailing)
    end
    function serialize(instance::PangoLayout, _flags)
        ret = ccall(("pango_layout_serialize", libpango), Ptr{GBytes}, (Ptr{GObject}, UInt32), instance, _flags)
        ret2 = convert(GBytes, ret, true)
        ret2
    end
    function set_alignment(instance::PangoLayout, _alignment)
        ret = ccall(("pango_layout_set_alignment", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _alignment)
        nothing
    end
    function set_attributes(instance::PangoLayout, _attrs::Maybe(PangoAttrList))
        _attrs_maybe = nothing_to_null(_attrs)
        ret = ccall(("pango_layout_set_attributes", libpango), Nothing, (Ptr{GObject}, Ptr{PangoAttrList}), instance, _attrs_maybe)
        nothing
    end
    function set_auto_dir(instance::PangoLayout, _auto_dir::Bool)
        ret = ccall(("pango_layout_set_auto_dir", libpango), Nothing, (Ptr{GObject}, Cint), instance, _auto_dir)
        nothing
    end
    function set_ellipsize(instance::PangoLayout, _ellipsize)
        ret = ccall(("pango_layout_set_ellipsize", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _ellipsize)
        nothing
    end
    function set_font_description(instance::PangoLayout, _desc::Maybe(PangoFontDescription))
        _desc_maybe = nothing_to_null(_desc)
        ret = ccall(("pango_layout_set_font_description", libpango), Nothing, (Ptr{GObject}, Ptr{PangoFontDescription}), instance, _desc_maybe)
        nothing
    end
    function set_height(instance::PangoLayout, _height::Integer)
        ret = ccall(("pango_layout_set_height", libpango), Nothing, (Ptr{GObject}, Int32), instance, _height)
        nothing
    end
    function set_indent(instance::PangoLayout, _indent::Integer)
        ret = ccall(("pango_layout_set_indent", libpango), Nothing, (Ptr{GObject}, Int32), instance, _indent)
        nothing
    end
    function set_justify(instance::PangoLayout, _justify::Bool)
        ret = ccall(("pango_layout_set_justify", libpango), Nothing, (Ptr{GObject}, Cint), instance, _justify)
        nothing
    end
    function set_justify_last_line(instance::PangoLayout, _justify::Bool)
        ret = ccall(("pango_layout_set_justify_last_line", libpango), Nothing, (Ptr{GObject}, Cint), instance, _justify)
        nothing
    end
    function set_line_spacing(instance::PangoLayout, _factor::Real)
        ret = ccall(("pango_layout_set_line_spacing", libpango), Nothing, (Ptr{GObject}, Float32), instance, _factor)
        nothing
    end
    function set_markup(instance::PangoLayout, _markup::Union{AbstractString, Symbol}, _length::Integer)
        ret = ccall(("pango_layout_set_markup", libpango), Nothing, (Ptr{GObject}, Cstring, Int32), instance, _markup, _length)
        nothing
    end
    function set_markup_with_accel(instance::PangoLayout, _markup::Union{AbstractString, Symbol}, _length::Integer, _accel_marker)
        m_accel_char = Ref{Nothing}()
        ret = ccall(("pango_layout_set_markup_with_accel", libpango), Nothing, (Ptr{GObject}, Cstring, Int32, Nothing, Ptr{Nothing}), instance, _markup, _length, _accel_marker, m_accel_char)
        _accel_char = m_accel_char[]
        _accel_char
    end
    function set_single_paragraph_mode(instance::PangoLayout, _setting::Bool)
        ret = ccall(("pango_layout_set_single_paragraph_mode", libpango), Nothing, (Ptr{GObject}, Cint), instance, _setting)
        nothing
    end
    function set_spacing(instance::PangoLayout, _spacing::Integer)
        ret = ccall(("pango_layout_set_spacing", libpango), Nothing, (Ptr{GObject}, Int32), instance, _spacing)
        nothing
    end
    function set_tabs(instance::PangoLayout, _tabs::Maybe(PangoTabArray))
        _tabs_maybe = nothing_to_null(_tabs)
        ret = ccall(("pango_layout_set_tabs", libpango), Nothing, (Ptr{GObject}, Ptr{PangoTabArray}), instance, _tabs_maybe)
        nothing
    end
    function set_text(instance::PangoLayout, _text::Union{AbstractString, Symbol}, _length::Integer)
        ret = ccall(("pango_layout_set_text", libpango), Nothing, (Ptr{GObject}, Cstring, Int32), instance, _text, _length)
        nothing
    end
    function set_width(instance::PangoLayout, _width::Integer)
        ret = ccall(("pango_layout_set_width", libpango), Nothing, (Ptr{GObject}, Int32), instance, _width)
        nothing
    end
    function set_wrap(instance::PangoLayout, _wrap)
        ret = ccall(("pango_layout_set_wrap", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _wrap)
        nothing
    end
    function write_to_file(instance::PangoLayout, _flags, _filename::Union{AbstractString, Symbol})
        err = err_buf()
        ret = ccall(("pango_layout_write_to_file", libpango), Cint, (Ptr{GObject}, UInt32, Cstring, Ptr{Ptr{GError}}), instance, _flags, _filename, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        ret2
    end
    function xy_to_index(instance::PangoLayout, _x::Integer, _y::Integer)
        m_index_ = Ref{Int32}()
        m_trailing = Ref{Int32}()
        ret = ccall(("pango_layout_xy_to_index", libpango), Cint, (Ptr{GObject}, Int32, Int32, Ptr{Int32}, Ptr{Int32}), instance, _x, _y, m_index_, m_trailing)
        ret2 = convert(Bool, ret)
        _index_ = m_index_[]
        _trailing = m_trailing[]
        (ret2, _index_, _trailing)
    end
    function activate(instance::PangoRenderer)
        ret = ccall(("pango_renderer_activate", libpango), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function deactivate(instance::PangoRenderer)
        ret = ccall(("pango_renderer_deactivate", libpango), Nothing, (Ptr{GObject},), instance)
        nothing
    end
    function draw_error_underline(instance::PangoRenderer, _x::Integer, _y::Integer, _width::Integer, _height::Integer)
        ret = ccall(("pango_renderer_draw_error_underline", libpango), Nothing, (Ptr{GObject}, Int32, Int32, Int32, Int32), instance, _x, _y, _width, _height)
        nothing
    end
    function draw_glyph(instance::PangoRenderer, _font::PangoFont, _glyph::Integer, _x::Real, _y::Real)
        ret = ccall(("pango_renderer_draw_glyph", libpango), Nothing, (Ptr{GObject}, Ptr{GObject}, UInt32, Float64, Float64), instance, _font, _glyph, _x, _y)
        nothing
    end
    function draw_glyph_item(instance::PangoRenderer, _text::Maybe(Union{AbstractString, Symbol}), _glyph_item::Union{PangoGlyphItem, Ref{_PangoGlyphItem}}, _x::Integer, _y::Integer)
        _text_maybe = nothing_to_null(_text)
        ret = ccall(("pango_renderer_draw_glyph_item", libpango), Nothing, (Ptr{GObject}, Cstring, Ptr{_PangoGlyphItem}, Int32, Int32), instance, _text_maybe, _glyph_item, _x, _y)
        nothing
    end
    function draw_glyphs(instance::PangoRenderer, _font::PangoFont, _glyphs::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _x::Integer, _y::Integer)
        ret = ccall(("pango_renderer_draw_glyphs", libpango), Nothing, (Ptr{GObject}, Ptr{GObject}, Ptr{_PangoGlyphString}, Int32, Int32), instance, _font, _glyphs, _x, _y)
        nothing
    end
    function draw_layout(instance::PangoRenderer, _layout::PangoLayout, _x::Integer, _y::Integer)
        ret = ccall(("pango_renderer_draw_layout", libpango), Nothing, (Ptr{GObject}, Ptr{GObject}, Int32, Int32), instance, _layout, _x, _y)
        nothing
    end
    function draw_layout_line(instance::PangoRenderer, _line::Union{PangoLayoutLine, Ref{_PangoLayoutLine}}, _x::Integer, _y::Integer)
        ret = ccall(("pango_renderer_draw_layout_line", libpango), Nothing, (Ptr{GObject}, Ptr{_PangoLayoutLine}, Int32, Int32), instance, _line, _x, _y)
        nothing
    end
    function draw_rectangle(instance::PangoRenderer, _part, _x::Integer, _y::Integer, _width::Integer, _height::Integer)
        ret = ccall(("pango_renderer_draw_rectangle", libpango), Nothing, (Ptr{GObject}, UInt32, Int32, Int32, Int32, Int32), instance, _part, _x, _y, _width, _height)
        nothing
    end
    function draw_trapezoid(instance::PangoRenderer, _part, _y1_::Real, _x11::Real, _x21::Real, _y2::Real, _x12::Real, _x22::Real)
        ret = ccall(("pango_renderer_draw_trapezoid", libpango), Nothing, (Ptr{GObject}, UInt32, Float64, Float64, Float64, Float64, Float64, Float64), instance, _part, _y1_, _x11, _x21, _y2, _x12, _x22)
        nothing
    end
    function get_alpha(instance::PangoRenderer, _part)
        ret = ccall(("pango_renderer_get_alpha", libpango), UInt16, (Ptr{GObject}, UInt32), instance, _part)
        ret
    end
    function get_color(instance::PangoRenderer, _part)
        ret = ccall(("pango_renderer_get_color", libpango), Ptr{_PangoColor}, (Ptr{GObject}, UInt32), instance, _part)
        ret2 = convert_if_not_null(PangoColor, ret, false)
        ret2
    end
    function get_layout(instance::PangoRenderer)
        ret = ccall(("pango_renderer_get_layout", libpango), Ptr{GObject}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoLayout, ret, false)
        ret2
    end
    function get_layout_line(instance::PangoRenderer)
        ret = ccall(("pango_renderer_get_layout_line", libpango), Ptr{_PangoLayoutLine}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoLayoutLine, ret, false)
        ret2
    end
    function get_matrix(instance::PangoRenderer)
        ret = ccall(("pango_renderer_get_matrix", libpango), Ptr{_PangoMatrix}, (Ptr{GObject},), instance)
        ret2 = convert_if_not_null(PangoMatrix, ret, false)
        ret2
    end
    function part_changed(instance::PangoRenderer, _part)
        ret = ccall(("pango_renderer_part_changed", libpango), Nothing, (Ptr{GObject}, UInt32), instance, _part)
        nothing
    end
    function set_alpha(instance::PangoRenderer, _part, _alpha::Integer)
        ret = ccall(("pango_renderer_set_alpha", libpango), Nothing, (Ptr{GObject}, UInt32, UInt16), instance, _part, _alpha)
        nothing
    end
    function set_color(instance::PangoRenderer, _part, _color::Maybe(Union{PangoColor, Ref{_PangoColor}}))
        _color_maybe = nothing_to_null(_color)
        ret = ccall(("pango_renderer_set_color", libpango), Nothing, (Ptr{GObject}, UInt32, Ptr{_PangoColor}), instance, _part, _color_maybe)
        nothing
    end
    function set_matrix(instance::PangoRenderer, _matrix::Maybe(Union{PangoMatrix, Ref{_PangoMatrix}}))
        _matrix_maybe = nothing_to_null(_matrix)
        ret = ccall(("pango_renderer_set_matrix", libpango), Nothing, (Ptr{GObject}, Ptr{_PangoMatrix}), instance, _matrix_maybe)
        nothing
    end
end))
end
