quote
$(Expr(:toplevel, quote
    function attr_allow_breaks_new(_allow_breaks::Bool)
        ret = ccall(("pango_attr_allow_breaks_new", libpango), Ptr{_PangoAttribute}, (Cint,), _allow_breaks)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_background_alpha_new(_alpha::Integer)
        ret = ccall(("pango_attr_background_alpha_new", libpango), Ptr{_PangoAttribute}, (UInt16,), _alpha)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_background_new(_red::Integer, _green::Integer, _blue::Integer)
        ret = ccall(("pango_attr_background_new", libpango), Ptr{_PangoAttribute}, (UInt16, UInt16, UInt16), _red, _green, _blue)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_baseline_shift_new(_shift::Integer)
        ret = ccall(("pango_attr_baseline_shift_new", libpango), Ptr{_PangoAttribute}, (Int32,), _shift)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_break(_text::Union{AbstractString, Symbol}, _length::Integer, _attr_list::PangoAttrList, _offset::Integer, _attrs)
        _attrs = convert(Vector{_PangoLogAttr}, _attrs)
        _attrs_len = length(_attrs)
        ret = ccall(("pango_attr_break", libpango), Nothing, (Cstring, Int32, Ptr{PangoAttrList}, Int32, Ptr{_PangoLogAttr}, Int32), _text, _length, _attr_list, _offset, _attrs, _attrs_len)
        nothing
    end
    function attr_fallback_new(_enable_fallback::Bool)
        ret = ccall(("pango_attr_fallback_new", libpango), Ptr{_PangoAttribute}, (Cint,), _enable_fallback)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_family_new(_family::Union{AbstractString, Symbol})
        ret = ccall(("pango_attr_family_new", libpango), Ptr{_PangoAttribute}, (Cstring,), _family)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_font_desc_new(_desc::PangoFontDescription)
        ret = ccall(("pango_attr_font_desc_new", libpango), Ptr{_PangoAttribute}, (Ptr{PangoFontDescription},), _desc)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_font_features_new(_features::Union{AbstractString, Symbol})
        ret = ccall(("pango_attr_font_features_new", libpango), Ptr{_PangoAttribute}, (Cstring,), _features)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_font_scale_new(_scale)
        ret = ccall(("pango_attr_font_scale_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _scale)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_foreground_alpha_new(_alpha::Integer)
        ret = ccall(("pango_attr_foreground_alpha_new", libpango), Ptr{_PangoAttribute}, (UInt16,), _alpha)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_foreground_new(_red::Integer, _green::Integer, _blue::Integer)
        ret = ccall(("pango_attr_foreground_new", libpango), Ptr{_PangoAttribute}, (UInt16, UInt16, UInt16), _red, _green, _blue)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_gravity_hint_new(_hint)
        ret = ccall(("pango_attr_gravity_hint_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _hint)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_gravity_new(_gravity)
        ret = ccall(("pango_attr_gravity_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _gravity)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_insert_hyphens_new(_insert_hyphens::Bool)
        ret = ccall(("pango_attr_insert_hyphens_new", libpango), Ptr{_PangoAttribute}, (Cint,), _insert_hyphens)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_language_new(_language::PangoLanguage)
        ret = ccall(("pango_attr_language_new", libpango), Ptr{_PangoAttribute}, (Ptr{PangoLanguage},), _language)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_letter_spacing_new(_letter_spacing::Integer)
        ret = ccall(("pango_attr_letter_spacing_new", libpango), Ptr{_PangoAttribute}, (Int32,), _letter_spacing)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_line_height_new(_factor::Real)
        ret = ccall(("pango_attr_line_height_new", libpango), Ptr{_PangoAttribute}, (Float64,), _factor)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_line_height_new_absolute(_height::Integer)
        ret = ccall(("pango_attr_line_height_new_absolute", libpango), Ptr{_PangoAttribute}, (Int32,), _height)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_list_from_string(_text::Union{AbstractString, Symbol})
        ret = ccall(("pango_attr_list_from_string", libpango), Ptr{PangoAttrList}, (Cstring,), _text)
        ret2 = if ret == C_NULL
                nothing
            else
                convert(PangoAttrList, ret, true)
            end
        ret2
    end
    function attr_overline_color_new(_red::Integer, _green::Integer, _blue::Integer)
        ret = ccall(("pango_attr_overline_color_new", libpango), Ptr{_PangoAttribute}, (UInt16, UInt16, UInt16), _red, _green, _blue)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_overline_new(_overline)
        ret = ccall(("pango_attr_overline_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _overline)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_rise_new(_rise::Integer)
        ret = ccall(("pango_attr_rise_new", libpango), Ptr{_PangoAttribute}, (Int32,), _rise)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_scale_new(_scale_factor::Real)
        ret = ccall(("pango_attr_scale_new", libpango), Ptr{_PangoAttribute}, (Float64,), _scale_factor)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_sentence_new()
        ret = ccall(("pango_attr_sentence_new", libpango), Ptr{_PangoAttribute}, ())
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_shape_new(_ink_rect::_PangoRectangle, _logical_rect::_PangoRectangle)
        ret = ccall(("pango_attr_shape_new", libpango), Ptr{_PangoAttribute}, (Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), _ink_rect, _logical_rect)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_shape_new_with_data(_ink_rect::_PangoRectangle, _logical_rect::_PangoRectangle, _data::Maybe(Nothing), _copy_func::Maybe(Function), _destroy_func::Maybe(Function))
        _data = if _data == nothing
                C_NULL
            else
                _data
            end
        _copy_func = if _copy_func == nothing
                C_NULL
            else
                _copy_func
            end
        _destroy_func = if _destroy_func == nothing
                C_NULL
            else
                _destroy_func
            end
        ret = ccall(("pango_attr_shape_new_with_data", libpango), Ptr{_PangoAttribute}, (Ptr{_PangoRectangle}, Ptr{_PangoRectangle}, Ptr{Nothing}, Ptr{Nothing}, Ptr{Nothing}), _ink_rect, _logical_rect, _data, _copy_func, _destroy_func)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_show_new(_flags)
        ret = ccall(("pango_attr_show_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _flags)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_size_new(_size::Integer)
        ret = ccall(("pango_attr_size_new", libpango), Ptr{_PangoAttribute}, (Int32,), _size)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_size_new_absolute(_size::Integer)
        ret = ccall(("pango_attr_size_new_absolute", libpango), Ptr{_PangoAttribute}, (Int32,), _size)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_stretch_new(_stretch)
        ret = ccall(("pango_attr_stretch_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _stretch)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_strikethrough_color_new(_red::Integer, _green::Integer, _blue::Integer)
        ret = ccall(("pango_attr_strikethrough_color_new", libpango), Ptr{_PangoAttribute}, (UInt16, UInt16, UInt16), _red, _green, _blue)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_strikethrough_new(_strikethrough::Bool)
        ret = ccall(("pango_attr_strikethrough_new", libpango), Ptr{_PangoAttribute}, (Cint,), _strikethrough)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_style_new(_style)
        ret = ccall(("pango_attr_style_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _style)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_text_transform_new(_transform)
        ret = ccall(("pango_attr_text_transform_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _transform)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_type_get_name(_type)
        ret = ccall(("pango_attr_type_get_name", libpango), Cstring, (UInt32,), _type)
        ret2 = if ret == C_NULL
                nothing
            else
                bytestring(ret, false)
            end
        ret2
    end
    function attr_type_register(_name::Union{AbstractString, Symbol})
        ret = ccall(("pango_attr_type_register", libpango), UInt32, (Cstring,), _name)
        ret2 = AttrType(ret)
        ret2
    end
    function attr_underline_color_new(_red::Integer, _green::Integer, _blue::Integer)
        ret = ccall(("pango_attr_underline_color_new", libpango), Ptr{_PangoAttribute}, (UInt16, UInt16, UInt16), _red, _green, _blue)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_underline_new(_underline)
        ret = ccall(("pango_attr_underline_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _underline)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_variant_new(_variant)
        ret = ccall(("pango_attr_variant_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _variant)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_weight_new(_weight)
        ret = ccall(("pango_attr_weight_new", libpango), Ptr{_PangoAttribute}, (UInt32,), _weight)
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function attr_word_new()
        ret = ccall(("pango_attr_word_new", libpango), Ptr{_PangoAttribute}, ())
        ret2 = convert(Union{PangoAttribute, Ref{_PangoAttribute}}, ret, true)
        ret2
    end
    function bidi_type_for_unichar(_ch)
        ret = ccall(("pango_bidi_type_for_unichar", libpango), UInt32, (Nothing,), _ch)
        ret2 = BidiType(ret)
        ret2
    end
    function default_break(_text::Union{AbstractString, Symbol}, _length::Integer, _analysis::Maybe(_PangoAnalysis), _attrs::_PangoLogAttr, _attrs_len::Integer)
        _analysis = if _analysis == nothing
                C_NULL
            else
                _analysis
            end
        ret = ccall(("pango_default_break", libpango), Nothing, (Cstring, Int32, Ptr{_PangoAnalysis}, Ptr{_PangoLogAttr}, Int32), _text, _length, _analysis, _attrs, _attrs_len)
        nothing
    end
    function extents_to_pixels(_inclusive::Maybe(_PangoRectangle), _nearest::Maybe(_PangoRectangle))
        _inclusive = if _inclusive == nothing
                C_NULL
            else
                _inclusive
            end
        _nearest = if _nearest == nothing
                C_NULL
            else
                _nearest
            end
        ret = ccall(("pango_extents_to_pixels", libpango), Nothing, (Ptr{_PangoRectangle}, Ptr{_PangoRectangle}), _inclusive, _nearest)
        nothing
    end
    function find_base_dir(_text::Union{AbstractString, Symbol}, _length::Integer)
        ret = ccall(("pango_find_base_dir", libpango), UInt32, (Cstring, Int32), _text, _length)
        ret2 = Direction(ret)
        ret2
    end
    function find_paragraph_boundary(_text::Union{AbstractString, Symbol}, _length::Integer)
        m_paragraph_delimiter_index = Ref{Int32}()
        m_next_paragraph_start = Ref{Int32}()
        ret = ccall(("pango_find_paragraph_boundary", libpango), Nothing, (Cstring, Int32, Ptr{Int32}, Ptr{Int32}), _text, _length, m_paragraph_delimiter_index, m_next_paragraph_start)
        _paragraph_delimiter_index = m_paragraph_delimiter_index[]
        _next_paragraph_start = m_next_paragraph_start[]
        (_paragraph_delimiter_index, _next_paragraph_start)
    end
    function font_description_from_string(_str::Union{AbstractString, Symbol})
        ret = ccall(("pango_font_description_from_string", libpango), Ptr{PangoFontDescription}, (Cstring,), _str)
        ret2 = convert(PangoFontDescription, ret, true)
        ret2
    end
    function get_log_attrs(_text::Union{AbstractString, Symbol}, _length::Integer, _level::Integer, _language::PangoLanguage, _attrs)
        _attrs = convert(Vector{_PangoLogAttr}, _attrs)
        _attrs_len = length(_attrs)
        ret = ccall(("pango_get_log_attrs", libpango), Nothing, (Cstring, Int32, Int32, Ptr{PangoLanguage}, Ptr{_PangoLogAttr}, Int32), _text, _length, _level, _language, _attrs, _attrs_len)
        nothing
    end
    function gravity_get_for_matrix(_matrix::Maybe(Union{PangoMatrix, Ref{_PangoMatrix}}))
        _matrix = if _matrix == nothing
                C_NULL
            else
                _matrix
            end
        ret = ccall(("pango_gravity_get_for_matrix", libpango), UInt32, (Ptr{_PangoMatrix},), _matrix)
        ret2 = Gravity(ret)
        ret2
    end
    function gravity_get_for_script(_script, _base_gravity, _hint)
        ret = ccall(("pango_gravity_get_for_script", libpango), UInt32, (UInt32, UInt32, UInt32), _script, _base_gravity, _hint)
        ret2 = Gravity(ret)
        ret2
    end
    function gravity_get_for_script_and_width(_script, _wide::Bool, _base_gravity, _hint)
        ret = ccall(("pango_gravity_get_for_script_and_width", libpango), UInt32, (UInt32, Cint, UInt32, UInt32), _script, _wide, _base_gravity, _hint)
        ret2 = Gravity(ret)
        ret2
    end
    function gravity_to_rotation(_gravity)
        ret = ccall(("pango_gravity_to_rotation", libpango), Float64, (UInt32,), _gravity)
        ret
    end
    function is_zero_width(_ch)
        ret = ccall(("pango_is_zero_width", libpango), Cint, (Nothing,), _ch)
        ret2 = convert(Bool, ret)
        ret2
    end
    function itemize(_context::PangoContext, _text::Union{AbstractString, Symbol}, _start_index::Integer, _length::Integer, _attrs::PangoAttrList, _cached_iter::Maybe(PangoAttrIterator))
        _cached_iter = if _cached_iter == nothing
                C_NULL
            else
                _cached_iter
            end
        ret = ccall(("pango_itemize", libpango), Ptr{GLib._GList{_PangoItem}}, (Ptr{GObject}, Cstring, Int32, Int32, Ptr{PangoAttrList}, Ptr{PangoAttrIterator}), _context, _text, _start_index, _length, _attrs, _cached_iter)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function itemize_with_base_dir(_context::PangoContext, _base_dir, _text::Union{AbstractString, Symbol}, _start_index::Integer, _length::Integer, _attrs::PangoAttrList, _cached_iter::Maybe(PangoAttrIterator))
        _cached_iter = if _cached_iter == nothing
                C_NULL
            else
                _cached_iter
            end
        ret = ccall(("pango_itemize_with_base_dir", libpango), Ptr{GLib._GList{_PangoItem}}, (Ptr{GObject}, UInt32, Cstring, Int32, Int32, Ptr{PangoAttrList}, Ptr{PangoAttrIterator}), _context, _base_dir, _text, _start_index, _length, _attrs, _cached_iter)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function language_from_string(_language::Maybe(Union{AbstractString, Symbol}))
        _language = if _language == nothing
                C_NULL
            else
                _language
            end
        ret = ccall(("pango_language_from_string", libpango), Ptr{PangoLanguage}, (Cstring,), _language)
        ret2 = if ret == C_NULL
                nothing
            else
                convert(PangoLanguage, ret, false)
            end
        ret2
    end
    function language_get_default()
        ret = ccall(("pango_language_get_default", libpango), Ptr{PangoLanguage}, ())
        ret2 = convert(PangoLanguage, ret, false)
        ret2
    end
    function language_get_preferred()
        ret = ccall(("pango_language_get_preferred", libpango), Ptr{PangoLanguage}, ())
        ret2 = if ret == C_NULL
                nothing
            else
                convert(PangoLanguage, ret, false)
            end
        ret2
    end
    function layout_deserialize_error_quark()
        ret = ccall(("pango_layout_deserialize_error_quark", libpango), UInt32, ())
        ret
    end
    function log2vis_get_embedding_levels(_text::Union{AbstractString, Symbol}, _length::Integer, _pbase_dir)
        ret = ccall(("pango_log2vis_get_embedding_levels", libpango), Ptr{UInt8}, (Cstring, Int32, UInt32), _text, _length, _pbase_dir)
        ret2 = convert(UInt8, ret)
        ret2
    end
    function markup_parser_finish(_context::GMarkupParseContext)
        m_attr_list = Ref{Ptr{PangoAttrList}}()
        m_text = Ref{Cstring}()
        m_accel_char = Ref{Nothing}()
        err = err_buf()
        ret = ccall(("pango_markup_parser_finish", libpango), Cint, (Ptr{GMarkupParseContext}, Ptr{Ptr{PangoAttrList}}, Ptr{Cstring}, Ptr{Nothing}, Ptr{Ptr{GError}}), _context, m_attr_list, m_text, m_accel_char, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        _attr_list = m_attr_list[]
        _attr_list = convert(PangoAttrList, _attr_list, true)
        _text = m_text[]
        _text = if _text == C_NULL
                nothing
            else
                bytestring(_text, true)
            end
        _accel_char = m_accel_char[]
        (ret2, _attr_list, _text, _accel_char)
    end
    function markup_parser_new(_accel_marker)
        ret = ccall(("pango_markup_parser_new", libpango), Ptr{GMarkupParseContext}, (Nothing,), _accel_marker)
        ret2 = convert(GMarkupParseContext, ret, false)
        ret2
    end
    function parse_markup(_markup_text::Union{AbstractString, Symbol}, _length::Integer, _accel_marker)
        m_attr_list = Ref{Ptr{PangoAttrList}}()
        m_text = Ref{Cstring}()
        m_accel_char = Ref{Nothing}()
        err = err_buf()
        ret = ccall(("pango_parse_markup", libpango), Cint, (Cstring, Int32, Nothing, Ptr{Ptr{PangoAttrList}}, Ptr{Cstring}, Ptr{Nothing}, Ptr{Ptr{GError}}), _markup_text, _length, _accel_marker, m_attr_list, m_text, m_accel_char, err)
        check_err(err)
        ret2 = convert(Bool, ret)
        _attr_list = m_attr_list[]
        _attr_list = convert(PangoAttrList, _attr_list, true)
        _text = m_text[]
        _text = if _text == C_NULL
                nothing
            else
                bytestring(_text, true)
            end
        _accel_char = m_accel_char[]
        (ret2, _attr_list, _text, _accel_char)
    end
    function parse_stretch(_str::Union{AbstractString, Symbol}, _warn::Bool)
        m_stretch = Ref{UInt32}()
        ret = ccall(("pango_parse_stretch", libpango), Cint, (Cstring, Ptr{UInt32}, Cint), _str, m_stretch, _warn)
        ret2 = convert(Bool, ret)
        _stretch = m_stretch[]
        _stretch = Stretch(_stretch)
        (ret2, _stretch)
    end
    function parse_style(_str::Union{AbstractString, Symbol}, _warn::Bool)
        m_style = Ref{UInt32}()
        ret = ccall(("pango_parse_style", libpango), Cint, (Cstring, Ptr{UInt32}, Cint), _str, m_style, _warn)
        ret2 = convert(Bool, ret)
        _style = m_style[]
        _style = Style(_style)
        (ret2, _style)
    end
    function parse_variant(_str::Union{AbstractString, Symbol}, _warn::Bool)
        m_variant = Ref{UInt32}()
        ret = ccall(("pango_parse_variant", libpango), Cint, (Cstring, Ptr{UInt32}, Cint), _str, m_variant, _warn)
        ret2 = convert(Bool, ret)
        _variant = m_variant[]
        _variant = Variant(_variant)
        (ret2, _variant)
    end
    function parse_weight(_str::Union{AbstractString, Symbol}, _warn::Bool)
        m_weight = Ref{UInt32}()
        ret = ccall(("pango_parse_weight", libpango), Cint, (Cstring, Ptr{UInt32}, Cint), _str, m_weight, _warn)
        ret2 = convert(Bool, ret)
        _weight = m_weight[]
        _weight = Weight(_weight)
        (ret2, _weight)
    end
    function quantize_line_geometry(_thickness::Integer, _position::Integer)
        m_thickness = Ref{Int32}()
        m_thickness[] = Base.cconvert(Int32, _thickness)
        m_position = Ref{Int32}()
        m_position[] = Base.cconvert(Int32, _position)
        ret = ccall(("pango_quantize_line_geometry", libpango), Nothing, (Ptr{Int32}, Ptr{Int32}), m_thickness, m_position)
        _thickness = m_thickness[]
        _position = m_position[]
        (_thickness, _position)
    end
    function reorder_items(_items::GLib.LList{GLib._GList{_PangoItem}})
        ret = ccall(("pango_reorder_items", libpango), Ptr{GLib._GList{_PangoItem}}, (Ptr{GLib._GList{_PangoItem}},), _items)
        ret2 = GLib.GList(ret, true)
        ret2
    end
    function script_get_sample_language(_script)
        ret = ccall(("pango_script_get_sample_language", libpango), Ptr{PangoLanguage}, (UInt32,), _script)
        ret2 = if ret == C_NULL
                nothing
            else
                convert(PangoLanguage, ret, true)
            end
        ret2
    end
    function shape(_text::Union{AbstractString, Symbol}, _length::Integer, _analysis::_PangoAnalysis, _glyphs::Union{PangoGlyphString, Ref{_PangoGlyphString}})
        ret = ccall(("pango_shape", libpango), Nothing, (Cstring, Int32, Ptr{_PangoAnalysis}, Ptr{_PangoGlyphString}), _text, _length, _analysis, _glyphs)
        nothing
    end
    function shape_full(_item_text::Union{AbstractString, Symbol}, _item_length::Integer, _paragraph_text::Maybe(Union{AbstractString, Symbol}), _paragraph_length::Integer, _analysis::_PangoAnalysis, _glyphs::Union{PangoGlyphString, Ref{_PangoGlyphString}})
        _paragraph_text = if _paragraph_text == nothing
                C_NULL
            else
                _paragraph_text
            end
        ret = ccall(("pango_shape_full", libpango), Nothing, (Cstring, Int32, Cstring, Int32, Ptr{_PangoAnalysis}, Ptr{_PangoGlyphString}), _item_text, _item_length, _paragraph_text, _paragraph_length, _analysis, _glyphs)
        nothing
    end
    function shape_item(_item::Union{PangoItem, Ref{_PangoItem}}, _paragraph_text::Maybe(Union{AbstractString, Symbol}), _paragraph_length::Integer, _log_attrs::Maybe(_PangoLogAttr), _glyphs::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _flags)
        _paragraph_text = if _paragraph_text == nothing
                C_NULL
            else
                _paragraph_text
            end
        _log_attrs = if _log_attrs == nothing
                C_NULL
            else
                _log_attrs
            end
        ret = ccall(("pango_shape_item", libpango), Nothing, (Ptr{_PangoItem}, Cstring, Int32, Ptr{_PangoLogAttr}, Ptr{_PangoGlyphString}, UInt32), _item, _paragraph_text, _paragraph_length, _log_attrs, _glyphs, _flags)
        nothing
    end
    function shape_with_flags(_item_text::Union{AbstractString, Symbol}, _item_length::Integer, _paragraph_text::Maybe(Union{AbstractString, Symbol}), _paragraph_length::Integer, _analysis::_PangoAnalysis, _glyphs::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _flags)
        _paragraph_text = if _paragraph_text == nothing
                C_NULL
            else
                _paragraph_text
            end
        ret = ccall(("pango_shape_with_flags", libpango), Nothing, (Cstring, Int32, Cstring, Int32, Ptr{_PangoAnalysis}, Ptr{_PangoGlyphString}, UInt32), _item_text, _item_length, _paragraph_text, _paragraph_length, _analysis, _glyphs, _flags)
        nothing
    end
    function tab_array_from_string(_text::Union{AbstractString, Symbol})
        ret = ccall(("pango_tab_array_from_string", libpango), Ptr{PangoTabArray}, (Cstring,), _text)
        ret2 = if ret == C_NULL
                nothing
            else
                convert(PangoTabArray, ret, true)
            end
        ret2
    end
    function tailor_break(_text::Union{AbstractString, Symbol}, _length::Integer, _analysis::_PangoAnalysis, _offset::Integer, _attrs)
        _attrs = convert(Vector{_PangoLogAttr}, _attrs)
        _attrs_len = length(_attrs)
        ret = ccall(("pango_tailor_break", libpango), Nothing, (Cstring, Int32, Ptr{_PangoAnalysis}, Int32, Ptr{_PangoLogAttr}, Int32), _text, _length, _analysis, _offset, _attrs, _attrs_len)
        nothing
    end
    function unichar_direction(_ch)
        ret = ccall(("pango_unichar_direction", libpango), UInt32, (Nothing,), _ch)
        ret2 = Direction(ret)
        ret2
    end
    function units_from_double(_d::Real)
        ret = ccall(("pango_units_from_double", libpango), Int32, (Float64,), _d)
        ret
    end
    function units_to_double(_i::Integer)
        ret = ccall(("pango_units_to_double", libpango), Float64, (Int32,), _i)
        ret
    end
    function version()
        ret = ccall(("pango_version", libpango), Int32, ())
        ret
    end
    function version_check(_required_major::Integer, _required_minor::Integer, _required_micro::Integer)
        ret = ccall(("pango_version_check", libpango), Cstring, (Int32, Int32, Int32), _required_major, _required_minor, _required_micro)
        ret2 = if ret == C_NULL
                nothing
            else
                bytestring(ret, false)
            end
        ret2
    end
    function version_string()
        ret = ccall(("pango_version_string", libpango), Cstring, ())
        ret2 = if ret == C_NULL
                nothing
            else
                bytestring(ret, false)
            end
        ret2
    end
end))
end
