{ This is an autogenerated unit using gobject introspection (gir2pascal). Do not Edit. }
unit Pango1;

{$MODE OBJFPC}{$H+}

{$PACKRECORDS C}
{$MODESWITCH DUPLICATELOCALS+}

{$ifdef Unix}
{$LINKLIB libpango-1.0.so.0}
{$endif}
{$WARN 3031 off : Values in enumeration types have to be ascending}
interface
uses
  CTypes, GObject2, Gio2, HarfBuzz0, cairo1, GLib2;

const
  {$ifdef MsWindows}
  Pango1_library = 'libpango-1.0.so.dll';
  {$else}
  Pango1_library = 'libpango-1.0.so.0';
  {$endif}

  PANGO_ANALYSIS_FLAG_CENTERED_BASELINE = 1;
  PANGO_ANALYSIS_FLAG_IS_ELLIPSIS = 2;
  PANGO_ANALYSIS_FLAG_NEED_HYPHEN = 4;
  PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING = 0;
  PANGO_ATTR_INDEX_TO_TEXT_END = 4294967295;
  PANGO_GLYPH_EMPTY = 268435455;
  PANGO_GLYPH_INVALID_INPUT = 4294967295;
  PANGO_GLYPH_UNKNOWN_FLAG = 268435456;
  PANGO_SCALE = 1024;
  PANGO_VERSION_MAJOR = 1;
  PANGO_VERSION_MICRO = 3;
  PANGO_VERSION_MINOR = 56;
  PANGO_VERSION_STRING_ = '1.56.3';
type


  { TPangoAlignment }
  PPPangoAlignment = ^PPangoAlignment;
  PPangoAlignment = ^TPangoAlignment;
  TPangoAlignment = (
    TPangoAlignmentMinValue = -$7FFFFFFF,
    PANGO_ALIGN_LEFT = 0,
    PANGO_ALIGN_CENTER = 1,
    PANGO_ALIGN_RIGHT = 2,
    TPangoAlignmentMaxValue = $7FFFFFFF
  );


  { TPangoAttrType }
  PPPangoAttrType = ^PPangoAttrType;
  PPangoAttrType = ^TPangoAttrType;
  TPangoAttrType = (
    TPangoAttrTypeMinValue = -$7FFFFFFF,
    PANGO_ATTR_INVALID = 0,
    PANGO_ATTR_LANGUAGE = 1,
    PANGO_ATTR_FAMILY = 2,
    PANGO_ATTR_STYLE = 3,
    PANGO_ATTR_WEIGHT = 4,
    PANGO_ATTR_VARIANT = 5,
    PANGO_ATTR_STRETCH = 6,
    PANGO_ATTR_SIZE = 7,
    PANGO_ATTR_FONT_DESC = 8,
    PANGO_ATTR_FOREGROUND = 9,
    PANGO_ATTR_BACKGROUND = 10,
    PANGO_ATTR_UNDERLINE = 11,
    PANGO_ATTR_STRIKETHROUGH = 12,
    PANGO_ATTR_RISE = 13,
    PANGO_ATTR_SHAPE = 14,
    PANGO_ATTR_SCALE = 15,
    PANGO_ATTR_FALLBACK = 16,
    PANGO_ATTR_LETTER_SPACING = 17,
    PANGO_ATTR_UNDERLINE_COLOR = 18,
    PANGO_ATTR_STRIKETHROUGH_COLOR = 19,
    PANGO_ATTR_ABSOLUTE_SIZE = 20,
    PANGO_ATTR_GRAVITY = 21,
    PANGO_ATTR_GRAVITY_HINT = 22,
    PANGO_ATTR_FONT_FEATURES = 23,
    PANGO_ATTR_FOREGROUND_ALPHA = 24,
    PANGO_ATTR_BACKGROUND_ALPHA = 25,
    PANGO_ATTR_ALLOW_BREAKS = 26,
    PANGO_ATTR_SHOW = 27,
    PANGO_ATTR_INSERT_HYPHENS = 28,
    PANGO_ATTR_OVERLINE = 29,
    PANGO_ATTR_OVERLINE_COLOR = 30,
    PANGO_ATTR_LINE_HEIGHT = 31,
    PANGO_ATTR_ABSOLUTE_LINE_HEIGHT = 32,
    PANGO_ATTR_TEXT_TRANSFORM = 33,
    PANGO_ATTR_WORD = 34,
    PANGO_ATTR_SENTENCE = 35,
    PANGO_ATTR_BASELINE_SHIFT = 36,
    PANGO_ATTR_FONT_SCALE = 37,
    TPangoAttrTypeMaxValue = $7FFFFFFF
  );


  { TPangoBaselineShift }
  PPPangoBaselineShift = ^PPangoBaselineShift;
  PPangoBaselineShift = ^TPangoBaselineShift;
  TPangoBaselineShift = (
    TPangoBaselineShiftMinValue = -$7FFFFFFF,
    PANGO_BASELINE_SHIFT_NONE = 0,
    PANGO_BASELINE_SHIFT_SUPERSCRIPT = 1,
    PANGO_BASELINE_SHIFT_SUBSCRIPT = 2,
    TPangoBaselineShiftMaxValue = $7FFFFFFF
  );


  { TPangoBidiType }
  PPPangoBidiType = ^PPangoBidiType;
  PPangoBidiType = ^TPangoBidiType;
  TPangoBidiType = (
    TPangoBidiTypeMinValue = -$7FFFFFFF,
    PANGO_BIDI_TYPE_L = 0,
    PANGO_BIDI_TYPE_LRE = 1,
    PANGO_BIDI_TYPE_LRO = 2,
    PANGO_BIDI_TYPE_R = 3,
    PANGO_BIDI_TYPE_AL = 4,
    PANGO_BIDI_TYPE_RLE = 5,
    PANGO_BIDI_TYPE_RLO = 6,
    PANGO_BIDI_TYPE_PDF = 7,
    PANGO_BIDI_TYPE_EN = 8,
    PANGO_BIDI_TYPE_ES = 9,
    PANGO_BIDI_TYPE_ET = 10,
    PANGO_BIDI_TYPE_AN = 11,
    PANGO_BIDI_TYPE_CS = 12,
    PANGO_BIDI_TYPE_NSM = 13,
    PANGO_BIDI_TYPE_BN = 14,
    PANGO_BIDI_TYPE_B = 15,
    PANGO_BIDI_TYPE_S = 16,
    PANGO_BIDI_TYPE_WS = 17,
    PANGO_BIDI_TYPE_ON = 18,
    PANGO_BIDI_TYPE_LRI = 19,
    PANGO_BIDI_TYPE_RLI = 20,
    PANGO_BIDI_TYPE_FSI = 21,
    PANGO_BIDI_TYPE_PDI = 22,
    TPangoBidiTypeMaxValue = $7FFFFFFF
  );


  { TPangoDirection }
  PPPangoDirection = ^PPangoDirection;
  PPangoDirection = ^TPangoDirection;
  TPangoDirection = (
    TPangoDirectionMinValue = -$7FFFFFFF,
    PANGO_DIRECTION_LTR = 0,
    PANGO_DIRECTION_RTL = 1,
    PANGO_DIRECTION_TTB_LTR = 2,
    PANGO_DIRECTION_TTB_RTL = 3,
    PANGO_DIRECTION_WEAK_LTR = 4,
    PANGO_DIRECTION_WEAK_RTL = 5,
    PANGO_DIRECTION_NEUTRAL = 6,
    TPangoDirectionMaxValue = $7FFFFFFF
  );


  { TPangoGravity }
  PPPangoGravity = ^PPangoGravity;
  PPangoGravity = ^TPangoGravity;
  TPangoGravity = (
    TPangoGravityMinValue = -$7FFFFFFF,
    PANGO_GRAVITY_SOUTH = 0,
    PANGO_GRAVITY_EAST = 1,
    PANGO_GRAVITY_NORTH = 2,
    PANGO_GRAVITY_WEST = 3,
    PANGO_GRAVITY_AUTO = 4,
    TPangoGravityMaxValue = $7FFFFFFF
  );


  { TPangoGravityHint }
  PPPangoGravityHint = ^PPangoGravityHint;
  PPangoGravityHint = ^TPangoGravityHint;
  TPangoGravityHint = (
    TPangoGravityHintMinValue = -$7FFFFFFF,
    PANGO_GRAVITY_HINT_NATURAL = 0,
    PANGO_GRAVITY_HINT_STRONG = 1,
    PANGO_GRAVITY_HINT_LINE = 2,
    TPangoGravityHintMaxValue = $7FFFFFFF
  );


  { TPangoCoverageLevel }
  PPPangoCoverageLevel = ^PPangoCoverageLevel;
  PPangoCoverageLevel = ^TPangoCoverageLevel;
  TPangoCoverageLevel = (
    TPangoCoverageLevelMinValue = -$7FFFFFFF,
    PANGO_COVERAGE_NONE = 0,
    PANGO_COVERAGE_FALLBACK = 1,
    PANGO_COVERAGE_APPROXIMATE = 2,
    PANGO_COVERAGE_EXACT = 3,
    TPangoCoverageLevelMaxValue = $7FFFFFFF
  );


  { TPangoEllipsizeMode }
  PPPangoEllipsizeMode = ^PPangoEllipsizeMode;
  PPangoEllipsizeMode = ^TPangoEllipsizeMode;
  TPangoEllipsizeMode = (
    TPangoEllipsizeModeMinValue = -$7FFFFFFF,
    PANGO_ELLIPSIZE_NONE = 0,
    PANGO_ELLIPSIZE_START = 1,
    PANGO_ELLIPSIZE_MIDDLE = 2,
    PANGO_ELLIPSIZE_END = 3,
    TPangoEllipsizeModeMaxValue = $7FFFFFFF
  );


  { TPangoFontMask }
  PPPangoFontMask = ^PPangoFontMask;
  PPangoFontMask = ^TPangoFontMask;
  TPangoFontMaskIdx = (
    TPangoFontMaskIdxMinValue = 0,
    PANGO_FONT_MASK_FAMILY = 0,
    PANGO_FONT_MASK_STYLE = 1,
    PANGO_FONT_MASK_VARIANT = 2,
    PANGO_FONT_MASK_WEIGHT = 3,
    PANGO_FONT_MASK_STRETCH = 4,
    PANGO_FONT_MASK_SIZE = 5,
    PANGO_FONT_MASK_GRAVITY = 6,
    PANGO_FONT_MASK_VARIATIONS = 7,
    PANGO_FONT_MASK_FEATURES = 8,
    TPangoFontMaskIdxMaxValue = 31
  );
  TPangoFontMask = Set of TPangoFontMaskIdx;


  { TPangoStretch }
  PPPangoStretch = ^PPangoStretch;
  PPangoStretch = ^TPangoStretch;
  TPangoStretch = (
    TPangoStretchMinValue = -$7FFFFFFF,
    PANGO_STRETCH_ULTRA_CONDENSED = 0,
    PANGO_STRETCH_EXTRA_CONDENSED = 1,
    PANGO_STRETCH_CONDENSED = 2,
    PANGO_STRETCH_SEMI_CONDENSED = 3,
    PANGO_STRETCH_NORMAL = 4,
    PANGO_STRETCH_SEMI_EXPANDED = 5,
    PANGO_STRETCH_EXPANDED = 6,
    PANGO_STRETCH_EXTRA_EXPANDED = 7,
    PANGO_STRETCH_ULTRA_EXPANDED = 8,
    TPangoStretchMaxValue = $7FFFFFFF
  );


  { TPangoStyle }
  PPPangoStyle = ^PPangoStyle;
  PPangoStyle = ^TPangoStyle;
  TPangoStyle = (
    TPangoStyleMinValue = -$7FFFFFFF,
    PANGO_STYLE_NORMAL = 0,
    PANGO_STYLE_OBLIQUE = 1,
    PANGO_STYLE_ITALIC = 2,
    TPangoStyleMaxValue = $7FFFFFFF
  );


  { TPangoVariant }
  PPPangoVariant = ^PPangoVariant;
  PPangoVariant = ^TPangoVariant;
  TPangoVariant = (
    TPangoVariantMinValue = -$7FFFFFFF,
    PANGO_VARIANT_NORMAL = 0,
    PANGO_VARIANT_SMALL_CAPS = 1,
    PANGO_VARIANT_ALL_SMALL_CAPS = 2,
    PANGO_VARIANT_PETITE_CAPS = 3,
    PANGO_VARIANT_ALL_PETITE_CAPS = 4,
    PANGO_VARIANT_UNICASE = 5,
    PANGO_VARIANT_TITLE_CAPS = 6,
    TPangoVariantMaxValue = $7FFFFFFF
  );


  { TPangoWeight }
  PPPangoWeight = ^PPangoWeight;
  PPangoWeight = ^TPangoWeight;
  TPangoWeight = (
    TPangoWeightMinValue = -$7FFFFFFF,
    PANGO_WEIGHT_THIN = 100,
    PANGO_WEIGHT_ULTRALIGHT = 200,
    PANGO_WEIGHT_LIGHT = 300,
    PANGO_WEIGHT_SEMILIGHT = 350,
    PANGO_WEIGHT_BOOK = 380,
    PANGO_WEIGHT_NORMAL = 400,
    PANGO_WEIGHT_MEDIUM = 500,
    PANGO_WEIGHT_SEMIBOLD = 600,
    PANGO_WEIGHT_BOLD = 700,
    PANGO_WEIGHT_ULTRABOLD = 800,
    PANGO_WEIGHT_HEAVY = 900,
    PANGO_WEIGHT_ULTRAHEAVY = 1000,
    TPangoWeightMaxValue = $7FFFFFFF
  );


  { TPangoFontScale }
  PPPangoFontScale = ^PPangoFontScale;
  PPangoFontScale = ^TPangoFontScale;
  TPangoFontScale = (
    TPangoFontScaleMinValue = -$7FFFFFFF,
    PANGO_FONT_SCALE_NONE = 0,
    PANGO_FONT_SCALE_SUPERSCRIPT = 1,
    PANGO_FONT_SCALE_SUBSCRIPT = 2,
    PANGO_FONT_SCALE_SMALL_CAPS = 3,
    TPangoFontScaleMaxValue = $7FFFFFFF
  );


  { TPangoScript }
  PPPangoScript = ^PPangoScript;
  PPangoScript = ^TPangoScript;
  TPangoScript = (
    TPangoScriptMinValue = -$7FFFFFFF,
    PANGO_SCRIPT_INVALID_CODE = -1,
    PANGO_SCRIPT_COMMON = 0,
    PANGO_SCRIPT_INHERITED = 1,
    PANGO_SCRIPT_ARABIC = 2,
    PANGO_SCRIPT_ARMENIAN = 3,
    PANGO_SCRIPT_BENGALI = 4,
    PANGO_SCRIPT_BOPOMOFO = 5,
    PANGO_SCRIPT_CHEROKEE = 6,
    PANGO_SCRIPT_COPTIC = 7,
    PANGO_SCRIPT_CYRILLIC = 8,
    PANGO_SCRIPT_DESERET = 9,
    PANGO_SCRIPT_DEVANAGARI = 10,
    PANGO_SCRIPT_ETHIOPIC = 11,
    PANGO_SCRIPT_GEORGIAN = 12,
    PANGO_SCRIPT_GOTHIC = 13,
    PANGO_SCRIPT_GREEK = 14,
    PANGO_SCRIPT_GUJARATI = 15,
    PANGO_SCRIPT_GURMUKHI = 16,
    PANGO_SCRIPT_HAN = 17,
    PANGO_SCRIPT_HANGUL = 18,
    PANGO_SCRIPT_HEBREW = 19,
    PANGO_SCRIPT_HIRAGANA = 20,
    PANGO_SCRIPT_KANNADA = 21,
    PANGO_SCRIPT_KATAKANA = 22,
    PANGO_SCRIPT_KHMER = 23,
    PANGO_SCRIPT_LAO = 24,
    PANGO_SCRIPT_LATIN = 25,
    PANGO_SCRIPT_MALAYALAM = 26,
    PANGO_SCRIPT_MONGOLIAN = 27,
    PANGO_SCRIPT_MYANMAR = 28,
    PANGO_SCRIPT_OGHAM = 29,
    PANGO_SCRIPT_OLD_ITALIC = 30,
    PANGO_SCRIPT_ORIYA = 31,
    PANGO_SCRIPT_RUNIC = 32,
    PANGO_SCRIPT_SINHALA = 33,
    PANGO_SCRIPT_SYRIAC = 34,
    PANGO_SCRIPT_TAMIL = 35,
    PANGO_SCRIPT_TELUGU = 36,
    PANGO_SCRIPT_THAANA = 37,
    PANGO_SCRIPT_THAI = 38,
    PANGO_SCRIPT_TIBETAN = 39,
    PANGO_SCRIPT_CANADIAN_ABORIGINAL = 40,
    PANGO_SCRIPT_YI = 41,
    PANGO_SCRIPT_TAGALOG = 42,
    PANGO_SCRIPT_HANUNOO = 43,
    PANGO_SCRIPT_BUHID = 44,
    PANGO_SCRIPT_TAGBANWA = 45,
    PANGO_SCRIPT_BRAILLE = 46,
    PANGO_SCRIPT_CYPRIOT = 47,
    PANGO_SCRIPT_LIMBU = 48,
    PANGO_SCRIPT_OSMANYA = 49,
    PANGO_SCRIPT_SHAVIAN = 50,
    PANGO_SCRIPT_LINEAR_B = 51,
    PANGO_SCRIPT_TAI_LE = 52,
    PANGO_SCRIPT_UGARITIC = 53,
    PANGO_SCRIPT_NEW_TAI_LUE = 54,
    PANGO_SCRIPT_BUGINESE = 55,
    PANGO_SCRIPT_GLAGOLITIC = 56,
    PANGO_SCRIPT_TIFINAGH = 57,
    PANGO_SCRIPT_SYLOTI_NAGRI = 58,
    PANGO_SCRIPT_OLD_PERSIAN = 59,
    PANGO_SCRIPT_KHAROSHTHI = 60,
    PANGO_SCRIPT_UNKNOWN = 61,
    PANGO_SCRIPT_BALINESE = 62,
    PANGO_SCRIPT_CUNEIFORM = 63,
    PANGO_SCRIPT_PHOENICIAN = 64,
    PANGO_SCRIPT_PHAGS_PA = 65,
    PANGO_SCRIPT_NKO = 66,
    PANGO_SCRIPT_KAYAH_LI = 67,
    PANGO_SCRIPT_LEPCHA = 68,
    PANGO_SCRIPT_REJANG = 69,
    PANGO_SCRIPT_SUNDANESE = 70,
    PANGO_SCRIPT_SAURASHTRA = 71,
    PANGO_SCRIPT_CHAM = 72,
    PANGO_SCRIPT_OL_CHIKI = 73,
    PANGO_SCRIPT_VAI = 74,
    PANGO_SCRIPT_CARIAN = 75,
    PANGO_SCRIPT_LYCIAN = 76,
    PANGO_SCRIPT_LYDIAN = 77,
    PANGO_SCRIPT_BATAK = 78,
    PANGO_SCRIPT_BRAHMI = 79,
    PANGO_SCRIPT_MANDAIC = 80,
    PANGO_SCRIPT_CHAKMA = 81,
    PANGO_SCRIPT_MEROITIC_CURSIVE = 82,
    PANGO_SCRIPT_MEROITIC_HIEROGLYPHS = 83,
    PANGO_SCRIPT_MIAO = 84,
    PANGO_SCRIPT_SHARADA = 85,
    PANGO_SCRIPT_SORA_SOMPENG = 86,
    PANGO_SCRIPT_TAKRI = 87,
    PANGO_SCRIPT_BASSA_VAH = 88,
    PANGO_SCRIPT_CAUCASIAN_ALBANIAN = 89,
    PANGO_SCRIPT_DUPLOYAN = 90,
    PANGO_SCRIPT_ELBASAN = 91,
    PANGO_SCRIPT_GRANTHA = 92,
    PANGO_SCRIPT_KHOJKI = 93,
    PANGO_SCRIPT_KHUDAWADI = 94,
    PANGO_SCRIPT_LINEAR_A = 95,
    PANGO_SCRIPT_MAHAJANI = 96,
    PANGO_SCRIPT_MANICHAEAN = 97,
    PANGO_SCRIPT_MENDE_KIKAKUI = 98,
    PANGO_SCRIPT_MODI = 99,
    PANGO_SCRIPT_MRO = 100,
    PANGO_SCRIPT_NABATAEAN = 101,
    PANGO_SCRIPT_OLD_NORTH_ARABIAN = 102,
    PANGO_SCRIPT_OLD_PERMIC = 103,
    PANGO_SCRIPT_PAHAWH_HMONG = 104,
    PANGO_SCRIPT_PALMYRENE = 105,
    PANGO_SCRIPT_PAU_CIN_HAU = 106,
    PANGO_SCRIPT_PSALTER_PAHLAVI = 107,
    PANGO_SCRIPT_SIDDHAM = 108,
    PANGO_SCRIPT_TIRHUTA = 109,
    PANGO_SCRIPT_WARANG_CITI = 110,
    PANGO_SCRIPT_AHOM = 111,
    PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS = 112,
    PANGO_SCRIPT_HATRAN = 113,
    PANGO_SCRIPT_MULTANI = 114,
    PANGO_SCRIPT_OLD_HUNGARIAN = 115,
    PANGO_SCRIPT_SIGNWRITING = 116,
    TPangoScriptMaxValue = $7FFFFFFF
  );


  { TPangoLayoutDeserializeFlags }
  PPPangoLayoutDeserializeFlags = ^PPangoLayoutDeserializeFlags;
  PPangoLayoutDeserializeFlags = ^TPangoLayoutDeserializeFlags;
  TPangoLayoutDeserializeFlagsIdx = (
    TPangoLayoutDeserializeFlagsIdxMinValue = 0,
    PANGO_LAYOUT_DESERIALIZE_CONTEXT = 0,
    TPangoLayoutDeserializeFlagsIdxMaxValue = 31
  );
  TPangoLayoutDeserializeFlags = Set of TPangoLayoutDeserializeFlagsIdx;

const
  PANGO_LAYOUT_DESERIALIZE_DEFAULT = []; {0 = $00000000}


type


  { TPangoWrapMode }
  PPPangoWrapMode = ^PPangoWrapMode;
  PPangoWrapMode = ^TPangoWrapMode;
  TPangoWrapMode = (
    TPangoWrapModeMinValue = -$7FFFFFFF,
    PANGO_WRAP_WORD = 0,
    PANGO_WRAP_CHAR = 1,
    PANGO_WRAP_WORD_CHAR = 2,
    PANGO_WRAP_NONE = 3,
    TPangoWrapModeMaxValue = $7FFFFFFF
  );


  { TPangoLayoutSerializeFlags }
  PPPangoLayoutSerializeFlags = ^PPangoLayoutSerializeFlags;
  PPangoLayoutSerializeFlags = ^TPangoLayoutSerializeFlags;
  TPangoLayoutSerializeFlagsIdx = (
    TPangoLayoutSerializeFlagsIdxMinValue = 0,
    PANGO_LAYOUT_SERIALIZE_CONTEXT = 0,
    PANGO_LAYOUT_SERIALIZE_OUTPUT = 1,
    TPangoLayoutSerializeFlagsIdxMaxValue = 31
  );
  TPangoLayoutSerializeFlags = Set of TPangoLayoutSerializeFlagsIdx;

const
  PANGO_LAYOUT_SERIALIZE_DEFAULT = []; {0 = $00000000}


type


  { TPangoLayoutDeserializeError }
  PPPangoLayoutDeserializeError = ^PPangoLayoutDeserializeError;
  PPangoLayoutDeserializeError = ^TPangoLayoutDeserializeError;
  TPangoLayoutDeserializeError = (
    TPangoLayoutDeserializeErrorMinValue = -$7FFFFFFF,
    PANGO_LAYOUT_DESERIALIZE_INVALID = 0,
    PANGO_LAYOUT_DESERIALIZE_INVALID_VALUE = 1,
    PANGO_LAYOUT_DESERIALIZE_MISSING_VALUE = 2,
    TPangoLayoutDeserializeErrorMaxValue = $7FFFFFFF
  );


  { TPangoOverline }
  PPPangoOverline = ^PPangoOverline;
  PPangoOverline = ^TPangoOverline;
  TPangoOverline = (
    TPangoOverlineMinValue = -$7FFFFFFF,
    PANGO_OVERLINE_NONE = 0,
    PANGO_OVERLINE_SINGLE = 1,
    TPangoOverlineMaxValue = $7FFFFFFF
  );


  { TPangoRenderPart }
  PPPangoRenderPart = ^PPangoRenderPart;
  PPangoRenderPart = ^TPangoRenderPart;
  TPangoRenderPart = (
    TPangoRenderPartMinValue = -$7FFFFFFF,
    PANGO_RENDER_PART_FOREGROUND = 0,
    PANGO_RENDER_PART_BACKGROUND = 1,
    PANGO_RENDER_PART_UNDERLINE = 2,
    PANGO_RENDER_PART_STRIKETHROUGH = 3,
    PANGO_RENDER_PART_OVERLINE = 4,
    TPangoRenderPartMaxValue = $7FFFFFFF
  );


  { TPangoUnderline }
  PPPangoUnderline = ^PPangoUnderline;
  PPangoUnderline = ^TPangoUnderline;
  TPangoUnderline = (
    TPangoUnderlineMinValue = -$7FFFFFFF,
    PANGO_UNDERLINE_NONE = 0,
    PANGO_UNDERLINE_SINGLE = 1,
    PANGO_UNDERLINE_DOUBLE = 2,
    PANGO_UNDERLINE_LOW = 3,
    PANGO_UNDERLINE_ERROR = 4,
    PANGO_UNDERLINE_SINGLE_LINE = 5,
    PANGO_UNDERLINE_DOUBLE_LINE = 6,
    PANGO_UNDERLINE_ERROR_LINE = 7,
    TPangoUnderlineMaxValue = $7FFFFFFF
  );


  { TPangoShapeFlags }
  PPPangoShapeFlags = ^PPangoShapeFlags;
  PPangoShapeFlags = ^TPangoShapeFlags;
  TPangoShapeFlagsIdx = (
    TPangoShapeFlagsIdxMinValue = 0,
    PANGO_SHAPE_ROUND_POSITIONS = 0,
    TPangoShapeFlagsIdxMaxValue = 31
  );
  TPangoShapeFlags = Set of TPangoShapeFlagsIdx;

const
  PANGO_SHAPE_NONE = []; {0 = $00000000}


type


  { TPangoShowFlags }
  PPPangoShowFlags = ^PPangoShowFlags;
  PPangoShowFlags = ^TPangoShowFlags;
  TPangoShowFlagsIdx = (
    TPangoShowFlagsIdxMinValue = 0,
    PANGO_SHOW_SPACES = 0,
    PANGO_SHOW_LINE_BREAKS = 1,
    PANGO_SHOW_IGNORABLES = 2,
    TPangoShowFlagsIdxMaxValue = 31
  );
  TPangoShowFlags = Set of TPangoShowFlagsIdx;

const
  PANGO_SHOW_NONE = []; {0 = $00000000}


type


  { TPangoTabAlign }
  PPPangoTabAlign = ^PPangoTabAlign;
  PPangoTabAlign = ^TPangoTabAlign;
  TPangoTabAlign = (
    TPangoTabAlignMinValue = -$7FFFFFFF,
    PANGO_TAB_LEFT = 0,
    PANGO_TAB_RIGHT = 1,
    PANGO_TAB_CENTER = 2,
    PANGO_TAB_DECIMAL = 3,
    TPangoTabAlignMaxValue = $7FFFFFFF
  );


  { TPangoTextTransform }
  PPPangoTextTransform = ^PPangoTextTransform;
  PPangoTextTransform = ^TPangoTextTransform;
  TPangoTextTransform = (
    TPangoTextTransformMinValue = -$7FFFFFFF,
    PANGO_TEXT_TRANSFORM_NONE = 0,
    PANGO_TEXT_TRANSFORM_LOWERCASE = 1,
    PANGO_TEXT_TRANSFORM_UPPERCASE = 2,
    PANGO_TEXT_TRANSFORM_CAPITALIZE = 3,
    TPangoTextTransformMaxValue = $7FFFFFFF
  );


  { TPangoGlyph }
  PPPangoGlyph = ^PPangoGlyph;
  PPangoGlyph = ^TPangoGlyph;
  TPangoGlyph = guint32;


  { TPangoGlyphUnit }
  PPPangoGlyphUnit = ^PPangoGlyphUnit;
  PPangoGlyphUnit = ^TPangoGlyphUnit;
  TPangoGlyphUnit = gint32;


  { TPangoGlyphItem }
  PPPangoGlyphItem = ^PPangoGlyphItem;
  PPangoGlyphItem = ^TPangoGlyphItem;


  { TPangoAttrList }
  PPPangoAttrList = ^PPangoAttrList;
  PPangoAttrList = ^TPangoAttrList;


  { TPangoLogAttr }
  PPPPangoLogAttr = ^PPPangoLogAttr;
  PPPangoLogAttr = ^PPangoLogAttr;
  PPangoLogAttr = ^TPangoLogAttr;


  { TPangoItem }
  PPPangoItem = ^PPangoItem;
  PPangoItem = ^TPangoItem;


  { TPangoGlyphString }
  PPPangoGlyphString = ^PPangoGlyphString;
  PPangoGlyphString = ^TPangoGlyphString;
  TPangoGlyphItem = object
    item: PPangoItem;
    glyphs: PPangoGlyphString;
    y_offset: gint;
    start_x_offset: gint;
    end_x_offset: gint;
    function apply_attrs(text: Pgchar; list: PPangoAttrList): PGSList; cdecl; inline;
    function copy: PPangoGlyphItem; cdecl; inline;
    procedure free; cdecl; inline;
    procedure get_logical_widths(text: Pgchar; logical_widths: Pgint); cdecl; inline;
    procedure letter_space(text: Pgchar; log_attrs: PPangoLogAttr; letter_spacing: gint); cdecl; inline;
    function split(text: Pgchar; split_index: gint): PPangoGlyphItem; cdecl; inline;
  end;


  { TPangoLayoutRun }
  PPPangoLayoutRun = ^PPangoLayoutRun;
  PPangoLayoutRun = ^TPangoLayoutRun;
  TPangoLayoutRun = TPangoGlyphItem;


  { TPangoFont }
  PPPangoFont = ^PPangoFont;
  PPangoFont = ^TPangoFont;


  { TPangoFontDescription }
  PPPangoFontDescription = ^PPangoFontDescription;
  PPangoFontDescription = ^TPangoFontDescription;


  { TPangoContext }
  PPPangoContext = ^PPangoContext;
  PPangoContext = ^TPangoContext;


  { TPangoCoverage }
  PPPangoCoverage = ^PPangoCoverage;
  PPangoCoverage = ^TPangoCoverage;


  { TPangoLanguage }
  PPPangoLanguage = ^PPangoLanguage;
  PPangoLanguage = ^TPangoLanguage;


  { TPangoFontFace }
  PPPPangoFontFace = ^PPPangoFontFace;
  PPPangoFontFace = ^PPangoFontFace;
  PPangoFontFace = ^TPangoFontFace;


  { TPangoFontMap }
  PPPangoFontMap = ^PPangoFontMap;
  PPangoFontMap = ^TPangoFontMap;


  { TPangoRectangle }
  PPPangoRectangle = ^PPangoRectangle;
  PPangoRectangle = ^TPangoRectangle;


  { TPangoFontMetrics }
  PPPangoFontMetrics = ^PPangoFontMetrics;
  PPangoFontMetrics = ^TPangoFontMetrics;
  TPangoFont = object(TGObject)
    procedure descriptions_free(descs: PPPangoFontDescription; n_descs: gint); cdecl; inline; static; deprecated 'Just use pango_font_description_free in a loop';
    function deserialize(context: PPangoContext; bytes: PGBytes; error: PPGError): PPangoFont; cdecl; inline; static;
    function describe: PPangoFontDescription; cdecl; inline;
    function describe_with_absolute_size: PPangoFontDescription; cdecl; inline;
    function get_coverage(language: PPangoLanguage): PPangoCoverage; cdecl; inline;
    function get_face: PPangoFontFace; cdecl; inline;
    procedure get_features(features: Phb_feature_t; len: guint; num_features: Pguint); cdecl; inline;
    function get_font_map: PPangoFontMap; cdecl; inline;
    procedure get_glyph_extents(glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_hb_font: Phb_font_t; cdecl; inline;
    function get_languages: PPPangoLanguage; cdecl; inline;
    function get_metrics(language: PPangoLanguage): PPangoFontMetrics; cdecl; inline;
    function has_char(wc: gunichar): gboolean; cdecl; inline;
    function serialize: PGBytes; cdecl; inline;
  end;
  TPangoLanguage = object
    function get_sample_string: Pgchar; cdecl; inline;
    function get_scripts(num_scripts: Pgint): PPangoScript; cdecl; inline;
    function includes_script(script: TPangoScript): gboolean; cdecl; inline;
    function matches(range_list: Pgchar): gboolean; cdecl; inline;
    function to_string: Pgchar; cdecl; inline;
    function from_string(language: Pgchar): PPangoLanguage; cdecl; inline; static;
    function get_default: PPangoLanguage; cdecl; inline; static;
    function get_preferred: PPPangoLanguage; cdecl; inline; static;
  end;


  { TPangoAnalysis }
  PPPangoAnalysis = ^PPangoAnalysis;
  PPangoAnalysis = ^TPangoAnalysis;

  TPangoAnalysis = record
    shape_engine: gpointer;
    lang_engine: gpointer;
    font: PPangoFont;
    level: guint8;
    gravity: guint8;
    flags: guint8;
    script: guint8;
    language: PPangoLanguage;
    extra_attrs: PGSList;
  end;




  { TPangoAttribute }
  PPPangoAttribute = ^PPangoAttribute;
  PPangoAttribute = ^TPangoAttribute;


  { TPangoAttrColor }
  PPPangoAttrColor = ^PPangoAttrColor;
  PPangoAttrColor = ^TPangoAttrColor;


  { TPangoAttrFloat }
  PPPangoAttrFloat = ^PPangoAttrFloat;
  PPangoAttrFloat = ^TPangoAttrFloat;


  { TPangoAttrFontDesc }
  PPPangoAttrFontDesc = ^PPangoAttrFontDesc;
  PPangoAttrFontDesc = ^TPangoAttrFontDesc;


  { TPangoAttrFontFeatures }
  PPPangoAttrFontFeatures = ^PPangoAttrFontFeatures;
  PPangoAttrFontFeatures = ^TPangoAttrFontFeatures;


  { TPangoAttrInt }
  PPPangoAttrInt = ^PPangoAttrInt;
  PPangoAttrInt = ^TPangoAttrInt;


  { TPangoAttrLanguage }
  PPPangoAttrLanguage = ^PPangoAttrLanguage;
  PPangoAttrLanguage = ^TPangoAttrLanguage;


  { TPangoAttrShape }
  PPPangoAttrShape = ^PPangoAttrShape;
  PPangoAttrShape = ^TPangoAttrShape;


  { TPangoAttrSize }
  PPPangoAttrSize = ^PPangoAttrSize;
  PPangoAttrSize = ^TPangoAttrSize;


  { TPangoAttrString }
  PPPangoAttrString = ^PPangoAttrString;
  PPangoAttrString = ^TPangoAttrString;


  { TPangoAttrClass }
  PPPangoAttrClass = ^PPangoAttrClass;
  PPangoAttrClass = ^TPangoAttrClass;
  TPangoAttribute = object
    klass: PPangoAttrClass;
    start_index: guint;
    end_index: guint;
    function as_color: PPangoAttrColor; cdecl; inline;
    function as_float: PPangoAttrFloat; cdecl; inline;
    function as_font_desc: PPangoAttrFontDesc; cdecl; inline;
    function as_font_features: PPangoAttrFontFeatures; cdecl; inline;
    function as_int: PPangoAttrInt; cdecl; inline;
    function as_language: PPangoAttrLanguage; cdecl; inline;
    function as_shape: PPangoAttrShape; cdecl; inline;
    function as_size: PPangoAttrSize; cdecl; inline;
    function as_string: PPangoAttrString; cdecl; inline;
    function copy: PPangoAttribute; cdecl; inline;
    procedure destroy_; cdecl; inline;
    function equal(attr2: PPangoAttribute): gboolean; cdecl; inline;
    procedure init(klass: PPangoAttrClass); cdecl; inline;
  end;

  TPangoAttrClass = record
    type_: TPangoAttrType;
    copy: function(attr: PPangoAttribute): PPangoAttribute; cdecl;
    destroy_: procedure(attr: PPangoAttribute); cdecl;
    equal: function(attr1: PPangoAttribute; attr2: PPangoAttribute): gboolean; cdecl;
  end;




  { TPangoColor }
  PPPangoColor = ^PPangoColor;
  PPangoColor = ^TPangoColor;
  TPangoColor = object
    red: guint16;
    green: guint16;
    blue: guint16;
    function copy: PPangoColor; cdecl; inline;
    procedure free; cdecl; inline;
    function parse(spec: Pgchar): gboolean; cdecl; inline;
    function parse_with_alpha(alpha: Pguint16; spec: Pgchar): gboolean; cdecl; inline;
    function to_string: Pgchar; cdecl; inline;
  end;

  TPangoAttrColor = record
    attr: TPangoAttribute;
    color: TPangoColor;
  end;


  TPangoAttrDataCopyFunc = function(user_data: Pgpointer): gpointer; cdecl;
  TPangoAttrFilterFunc = function(attribute: PPangoAttribute; user_data: gpointer): gboolean; cdecl;

  TPangoAttrFloat = record
    attr: TPangoAttribute;
    value: gdouble;
  end;


  TPangoFontDescription = object
    function new: PPangoFontDescription; cdecl; inline; static;
    function better_match(old_match: PPangoFontDescription; new_match: PPangoFontDescription): gboolean; cdecl; inline;
    function copy: PPangoFontDescription; cdecl; inline;
    function copy_static: PPangoFontDescription; cdecl; inline;
    function equal(desc2: PPangoFontDescription): gboolean; cdecl; inline;
    procedure free; cdecl; inline;
    function get_family: Pgchar; cdecl; inline;
    function get_features: Pgchar; cdecl; inline;
    function get_gravity: TPangoGravity; cdecl; inline;
    function get_set_fields: TPangoFontMask; cdecl; inline;
    function get_size: gint; cdecl; inline;
    function get_size_is_absolute: gboolean; cdecl; inline;
    function get_stretch: TPangoStretch; cdecl; inline;
    function get_style: TPangoStyle; cdecl; inline;
    function get_variant: TPangoVariant; cdecl; inline;
    function get_variations: Pgchar; cdecl; inline;
    function get_weight: TPangoWeight; cdecl; inline;
    function hash: guint; cdecl; inline;
    procedure merge(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; inline;
    procedure merge_static(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; inline;
    procedure set_absolute_size(size: gdouble); cdecl; inline;
    procedure set_family(family: Pgchar); cdecl; inline;
    procedure set_family_static(family: Pgchar); cdecl; inline;
    procedure set_features(features: Pgchar); cdecl; inline;
    procedure set_features_static(features: Pgchar); cdecl; inline;
    procedure set_gravity(gravity: TPangoGravity); cdecl; inline;
    procedure set_size(size: gint); cdecl; inline;
    procedure set_stretch(stretch: TPangoStretch); cdecl; inline;
    procedure set_style(style: TPangoStyle); cdecl; inline;
    procedure set_variant(variant: TPangoVariant); cdecl; inline;
    procedure set_variations(variations: Pgchar); cdecl; inline;
    procedure set_variations_static(variations: Pgchar); cdecl; inline;
    procedure set_weight(weight: TPangoWeight); cdecl; inline;
    function to_filename: Pgchar; cdecl; inline;
    function to_string: Pgchar; cdecl; inline;
    procedure unset_fields(to_unset: TPangoFontMask); cdecl; inline;
    function from_string(str: Pgchar): PPangoFontDescription; cdecl; inline; static;
  end;
  TPangoAttrFontDesc = object
    attr: TPangoAttribute;
    desc: PPangoFontDescription;
    function new(desc: PPangoFontDescription): PPangoAttribute; cdecl; inline; static;
  end;
  TPangoAttrFontFeatures = object
    attr: TPangoAttribute;
    features: Pgchar;
    function new(features: Pgchar): PPangoAttribute; cdecl; inline; static;
  end;

  TPangoAttrInt = record
    attr: TPangoAttribute;
    value: gint;
  end;




  { TPangoAttrIterator }
  PPPangoAttrIterator = ^PPangoAttrIterator;
  PPangoAttrIterator = ^TPangoAttrIterator;
  TPangoAttrIterator = object
    function copy: PPangoAttrIterator; cdecl; inline;
    procedure destroy_; cdecl; inline;
    function get(type_: TPangoAttrType): PPangoAttribute; cdecl; inline;
    function get_attrs: PGSList; cdecl; inline;
    procedure get_font(desc: PPangoFontDescription; language: PPPangoLanguage; extra_attrs: PPGSList); cdecl; inline;
    function next: gboolean; cdecl; inline;
    procedure range(start: Pgint; end_: Pgint); cdecl; inline;
  end;
  TPangoAttrLanguage = object
    attr: TPangoAttribute;
    value: PPangoLanguage;
    function new(language: PPangoLanguage): PPangoAttribute; cdecl; inline; static;
  end;


  { TPangoAttrFilterFunc }
  PPPangoAttrFilterFunc = ^PPangoAttrFilterFunc;
  PPangoAttrFilterFunc = ^TPangoAttrFilterFunc;
  TPangoAttrList = object
    function new: PPangoAttrList; cdecl; inline; static;
    procedure change(attr: PPangoAttribute); cdecl; inline;
    function copy: PPangoAttrList; cdecl; inline;
    function equal(other_list: PPangoAttrList): gboolean; cdecl; inline;
    function filter(func: TPangoAttrFilterFunc; data: gpointer): PPangoAttrList; cdecl; inline;
    function get_attributes: PGSList; cdecl; inline;
    function get_iterator: PPangoAttrIterator; cdecl; inline;
    procedure insert(attr: PPangoAttribute); cdecl; inline;
    procedure insert_before(attr: PPangoAttribute); cdecl; inline;
    function ref: PPangoAttrList; cdecl; inline;
    procedure splice(other: PPangoAttrList; pos: gint; len: gint); cdecl; inline;
    function to_string: Pgchar; cdecl; inline;
    procedure unref; cdecl; inline;
    procedure update(pos: gint; remove: gint; add: gint); cdecl; inline;
    function from_string(text: Pgchar): PPangoAttrList; cdecl; inline; static;
  end;

  TPangoRectangle = record
    x: gint;
    y: gint;
    width: gint;
    height: gint;
  end;




  { TPangoAttrDataCopyFunc }
  PPPangoAttrDataCopyFunc = ^PPangoAttrDataCopyFunc;
  PPangoAttrDataCopyFunc = ^TPangoAttrDataCopyFunc;
  TPangoAttrShape = object
    attr: TPangoAttribute;
    ink_rect: TPangoRectangle;
    logical_rect: TPangoRectangle;
    data: gpointer;
    copy_func: TPangoAttrDataCopyFunc;
    destroy_func: TGDestroyNotify;
    function new(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle): PPangoAttribute; cdecl; inline; static;
    function new_with_data(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle; data: gpointer; copy_func: TPangoAttrDataCopyFunc; destroy_func: TGDestroyNotify): PPangoAttribute; cdecl; inline; static;
  end;
  TPangoAttrSizeBitfield0 = bitpacked record
    absolute: guint1 { changed from guint to accomodate 1 bitsize requirement };
  end;

  TPangoAttrSize = object
    attr: TPangoAttribute;
    size: gint;
    Bitfield0 : TPangoAttrSizeBitfield0; { auto generated type }
    function new(size: gint): PPangoAttribute; cdecl; inline; static;
    function new_absolute(size: gint): PPangoAttribute; cdecl; inline; static;
  end;

  TPangoAttrString = record
    attr: TPangoAttribute;
    value: Pgchar;
  end;




  { TPangoMatrix }
  PPPangoMatrix = ^PPangoMatrix;
  PPangoMatrix = ^TPangoMatrix;


  { TPangoFontFamily }
  PPPPangoFontFamily = ^PPPangoFontFamily;
  PPPangoFontFamily = ^PPangoFontFamily;
  PPangoFontFamily = ^TPangoFontFamily;


  { TPangoFontset }
  PPPangoFontset = ^PPangoFontset;
  PPangoFontset = ^TPangoFontset;
  TPangoContext = object(TGObject)
    function new: PPangoContext; cdecl; inline; static;
    procedure changed; cdecl; inline;
    function get_base_dir: TPangoDirection; cdecl; inline;
    function get_base_gravity: TPangoGravity; cdecl; inline;
    function get_font_description: PPangoFontDescription; cdecl; inline;
    function get_font_map: PPangoFontMap; cdecl; inline;
    function get_gravity: TPangoGravity; cdecl; inline;
    function get_gravity_hint: TPangoGravityHint; cdecl; inline;
    function get_language: PPangoLanguage; cdecl; inline;
    function get_matrix: PPangoMatrix; cdecl; inline;
    function get_metrics(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontMetrics; cdecl; inline;
    function get_round_glyph_positions: gboolean; cdecl; inline;
    function get_serial: guint; cdecl; inline;
    procedure list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl; inline;
    function load_font(desc: PPangoFontDescription): PPangoFont; cdecl; inline;
    function load_fontset(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; inline;
    procedure set_base_dir(direction: TPangoDirection); cdecl; inline;
    procedure set_base_gravity(gravity: TPangoGravity); cdecl; inline;
    procedure set_font_description(desc: PPangoFontDescription); cdecl; inline;
    procedure set_font_map(font_map: PPangoFontMap); cdecl; inline;
    procedure set_gravity_hint(hint: TPangoGravityHint); cdecl; inline;
    procedure set_language(language: PPangoLanguage); cdecl; inline;
    procedure set_matrix(matrix: PPangoMatrix); cdecl; inline;
    procedure set_round_glyph_positions(round_positions: gboolean); cdecl; inline;
  end;
  TPangoFontMap = object(TGObject)
    function add_font_file(filename: Pgchar; error: PPGError): gboolean; cdecl; inline;
    procedure changed; cdecl; inline;
    function create_context: PPangoContext; cdecl; inline;
    function get_family(name: Pgchar): PPangoFontFamily; cdecl; inline;
    function get_serial: guint; cdecl; inline;
    procedure list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl; inline;
    function load_font(context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; inline;
    function load_fontset(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; inline;
    function reload_font(font: PPangoFont; scale: gdouble; context: PPangoContext; variations: Pgchar): PPangoFont; cdecl; inline;
    //property item_type: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_item_type ;
    //property n_items: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_n_items ;
  end;
  TPangoMatrix = object
    xx: gdouble;
    xy: gdouble;
    yx: gdouble;
    yy: gdouble;
    x0: gdouble;
    y0: gdouble;
    procedure concat(new_matrix: PPangoMatrix); cdecl; inline;
    function copy: PPangoMatrix; cdecl; inline;
    procedure free; cdecl; inline;
    function get_font_scale_factor: gdouble; cdecl; inline;
    procedure get_font_scale_factors(xscale: Pgdouble; yscale: Pgdouble); cdecl; inline;
    function get_slant_ratio: gdouble; cdecl; inline;
    procedure rotate(degrees: gdouble); cdecl; inline;
    procedure scale(scale_x: gdouble; scale_y: gdouble); cdecl; inline;
    procedure transform_distance(dx: Pgdouble; dy: Pgdouble); cdecl; inline;
    procedure transform_pixel_rectangle(rect: PPangoRectangle); cdecl; inline;
    procedure transform_point(x: Pgdouble; y: Pgdouble); cdecl; inline;
    procedure transform_rectangle(rect: PPangoRectangle); cdecl; inline;
    procedure translate(tx: gdouble; ty: gdouble); cdecl; inline;
  end;
  TPangoFontMetrics = object
    ref_count: guint;
    ascent: gint;
    descent: gint;
    height: gint;
    approximate_char_width: gint;
    approximate_digit_width: gint;
    underline_position: gint;
    underline_thickness: gint;
    strikethrough_position: gint;
    strikethrough_thickness: gint;
    function get_approximate_char_width: gint; cdecl; inline;
    function get_approximate_digit_width: gint; cdecl; inline;
    function get_ascent: gint; cdecl; inline;
    function get_descent: gint; cdecl; inline;
    function get_height: gint; cdecl; inline;
    function get_strikethrough_position: gint; cdecl; inline;
    function get_strikethrough_thickness: gint; cdecl; inline;
    function get_underline_position: gint; cdecl; inline;
    function get_underline_thickness: gint; cdecl; inline;
    function ref: PPangoFontMetrics; cdecl; inline;
    procedure unref; cdecl; inline;
  end;
  TPangoFontFamily = object(TGObject)
    function get_face(name: Pgchar): PPangoFontFace; cdecl; inline;
    function get_name: Pgchar; cdecl; inline;
    function is_monospace: gboolean; cdecl; inline;
    function is_variable: gboolean; cdecl; inline;
    procedure list_faces(faces: PPPPangoFontFace; n_faces: Pgint); cdecl; inline;
    //property is_monospace1: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_is_monospace ;
    //property is_variable1: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_is_variable ;
    //property item_type: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_item_type ;
    //property n_items: UNABLE_TO_FIND_TYPE_FOR_PROPERTY read get_n_items ;
    property name: Pgchar read get_name ;
  end;


  { TPangoFontsetForeachFunc }
  PPPangoFontsetForeachFunc = ^PPangoFontsetForeachFunc;
  PPangoFontsetForeachFunc = ^TPangoFontsetForeachFunc;
  TPangoFontsetForeachFunc = function(fontset: PPangoFontset; font: PPangoFont; user_data: gpointer): gboolean; cdecl;
  TPangoFontset = object(TGObject)
    procedure foreach(func: TPangoFontsetForeachFunc; data: gpointer); cdecl; inline;
    function get_font(wc: guint): PPangoFont; cdecl; inline;
    function get_metrics: PPangoFontMetrics; cdecl; inline;
  end;


  { TPangoContextClass }
  PPPangoContextClass = ^PPangoContextClass;
  PPangoContextClass = ^TPangoContextClass;
  TPangoContextClass = object
  end;
  TPangoCoverage = object(TGObject)
    function new: PPangoCoverage; cdecl; inline; static;
    function from_bytes(bytes: Pguint8; n_bytes: gint): PPangoCoverage; cdecl; inline; static; deprecated 'This returns %NULL';
    function copy: PPangoCoverage; cdecl; inline;
    function get(index_: gint): TPangoCoverageLevel; cdecl; inline;
    procedure max(other: PPangoCoverage); cdecl; inline; deprecated 'This function does nothing';
    function ref: PPangoCoverage; cdecl; inline; deprecated 'Use g_object_ref instead';
    procedure set_(index_: gint; level: TPangoCoverageLevel); cdecl; inline;
    procedure to_bytes(bytes: PPguint8; n_bytes: Pgint); cdecl; inline; deprecated 'This returns %NULL';
    procedure unref; cdecl; inline; deprecated 'Use g_object_unref instead';
  end;
  TPangoFontFace = object(TGObject)
    function describe: PPangoFontDescription; cdecl; inline;
    function get_face_name: Pgchar; cdecl; inline;
    function get_family: PPangoFontFamily; cdecl; inline;
    function is_synthesized: gboolean; cdecl; inline;
    procedure list_sizes(sizes: PPgint; n_sizes: Pgint); cdecl; inline;
  end;


  { TPangoFontClass }
  PPPangoFontClass = ^PPangoFontClass;
  PPangoFontClass = ^TPangoFontClass;
  TPangoFontClass = object
    parent_class: TGObjectClass;
    describe: function(font: PPangoFont): PPangoFontDescription; cdecl;
    get_coverage: function(font: PPangoFont; language: PPangoLanguage): PPangoCoverage; cdecl;
    get_glyph_extents: procedure(font: PPangoFont; glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
    get_metrics: function(font: PPangoFont; language: PPangoLanguage): PPangoFontMetrics; cdecl;
    get_font_map: function(font: PPangoFont): PPangoFontMap; cdecl;
    describe_absolute: function(font: PPangoFont): PPangoFontDescription; cdecl;
    get_features: procedure(font: PPangoFont; features: Phb_feature_t; len: guint; num_features: Pguint); cdecl;
    create_hb_font: function(font: PPangoFont): Phb_font_t; cdecl;
  end;


  { TPangoFontFaceClass }
  PPPangoFontFaceClass = ^PPangoFontFaceClass;
  PPangoFontFaceClass = ^TPangoFontFaceClass;
  TPangoFontFaceClass = object
    parent_class: TGObjectClass;
    get_face_name: function(face: PPangoFontFace): Pgchar; cdecl;
    describe: function(face: PPangoFontFace): PPangoFontDescription; cdecl;
    list_sizes: procedure(face: PPangoFontFace; sizes: PPgint; n_sizes: Pgint); cdecl;
    is_synthesized: function(face: PPangoFontFace): gboolean; cdecl;
    get_family: function(face: PPangoFontFace): PPangoFontFamily; cdecl;
    _pango_reserved3: procedure; cdecl;
    _pango_reserved4: procedure; cdecl;
  end;


  { TPangoFontFamilyClass }
  PPPangoFontFamilyClass = ^PPangoFontFamilyClass;
  PPangoFontFamilyClass = ^TPangoFontFamilyClass;
  TPangoFontFamilyClass = object
    parent_class: TGObjectClass;
    list_faces: procedure(family: PPangoFontFamily; faces: PPPPangoFontFace; n_faces: Pgint); cdecl;
    get_name: function(family: PPangoFontFamily): Pgchar; cdecl;
    is_monospace: function(family: PPangoFontFamily): gboolean; cdecl;
    is_variable: function(family: PPangoFontFamily): gboolean; cdecl;
    get_face: function(family: PPangoFontFamily; name: Pgchar): PPangoFontFace; cdecl;
    _pango_reserved2: procedure; cdecl;
  end;


  { TPangoFontMapClass }
  PPPangoFontMapClass = ^PPangoFontMapClass;
  PPangoFontMapClass = ^TPangoFontMapClass;
  TPangoFontMapClass = object
    parent_class: TGObjectClass;
    load_font: function(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl;
    list_families: procedure(fontmap: PPangoFontMap; families: PPPPangoFontFamily; n_families: Pgint); cdecl;
    load_fontset: function(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl;
    shape_engine_type: Pgchar;
    get_serial: function(fontmap: PPangoFontMap): guint; cdecl;
    changed: procedure(fontmap: PPangoFontMap); cdecl;
    get_family: function(fontmap: PPangoFontMap; name: Pgchar): PPangoFontFamily; cdecl;
    get_face: function(fontmap: PPangoFontMap; font: PPangoFont): PPangoFontFace; cdecl;
  end;


  { TPangoFontsetClass }
  PPPangoFontsetClass = ^PPangoFontsetClass;
  PPangoFontsetClass = ^TPangoFontsetClass;
  TPangoFontsetClass = object
    parent_class: TGObjectClass;
    get_font: function(fontset: PPangoFontset; wc: guint): PPangoFont; cdecl;
    get_metrics: function(fontset: PPangoFontset): PPangoFontMetrics; cdecl;
    get_language: function(fontset: PPangoFontset): PPangoLanguage; cdecl;
    foreach: procedure(fontset: PPangoFontset; func: TPangoFontsetForeachFunc; data: gpointer); cdecl;
    _pango_reserved1: procedure; cdecl;
    _pango_reserved2: procedure; cdecl;
    _pango_reserved3: procedure; cdecl;
    _pango_reserved4: procedure; cdecl;
  end;


  { TPangoFontsetSimple }
  PPPangoFontsetSimple = ^PPangoFontsetSimple;
  PPangoFontsetSimple = ^TPangoFontsetSimple;
  TPangoFontsetSimple = object(TPangoFontset)
    function new(language: PPangoLanguage): PPangoFontsetSimple; cdecl; inline; static;
    procedure append(font: PPangoFont); cdecl; inline;
    function size: gint; cdecl; inline;
  end;


  { TPangoFontsetSimpleClass }
  PPPangoFontsetSimpleClass = ^PPangoFontsetSimpleClass;
  PPangoFontsetSimpleClass = ^TPangoFontsetSimpleClass;
  TPangoFontsetSimpleClass = object
  end;


  { TPangoGlyphGeometry }
  PPPangoGlyphGeometry = ^PPangoGlyphGeometry;
  PPangoGlyphGeometry = ^TPangoGlyphGeometry;

  TPangoGlyphGeometry = record
    width: TPangoGlyphUnit;
    x_offset: TPangoGlyphUnit;
    y_offset: TPangoGlyphUnit;
  end;




  { TPangoGlyphVisAttr }
  PPPangoGlyphVisAttr = ^PPangoGlyphVisAttr;
  PPangoGlyphVisAttr = ^TPangoGlyphVisAttr;
  TPangoGlyphVisAttrBitfield0 = bitpacked record
    is_cluster_start: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_color: guint1 { changed from guint to accomodate 1 bitsize requirement };
  end;


  TPangoGlyphVisAttr = record
    Bitfield0 : TPangoGlyphVisAttrBitfield0; { auto generated type }
  end;




  { TPangoGlyphInfo }
  PPPangoGlyphInfo = ^PPangoGlyphInfo;
  PPangoGlyphInfo = ^TPangoGlyphInfo;

  TPangoGlyphInfo = record
    glyph: TPangoGlyph;
    geometry: TPangoGlyphGeometry;
    attr: TPangoGlyphVisAttr;
  end;


  TPangoItem = object
    offset: gint;
    length: gint;
    num_chars: gint;
    analysis: TPangoAnalysis;
    function new: PPangoItem; cdecl; inline; static;
    procedure apply_attrs(iter: PPangoAttrIterator); cdecl; inline;
    function copy: PPangoItem; cdecl; inline;
    procedure free; cdecl; inline;
    function get_char_offset: gint; cdecl; inline;
    function split(split_index: gint; split_offset: gint): PPangoItem; cdecl; inline;
  end;
  TPangoGlyphString = object
    num_glyphs: gint;
    glyphs: PPangoGlyphInfo;
    log_clusters: Pgint;
    space: gint;
    function new: PPangoGlyphString; cdecl; inline; static;
    function copy: PPangoGlyphString; cdecl; inline;
    procedure extents(font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    procedure extents_range(start: gint; end_: gint; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    procedure free; cdecl; inline;
    procedure get_logical_widths(text: Pgchar; length: gint; embedding_level: gint; logical_widths: Pgint); cdecl; inline;
    function get_width: gint; cdecl; inline;
    procedure index_to_x(text: Pgchar; length: gint; analysis: PPangoAnalysis; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; inline;
    procedure index_to_x_full(text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; inline;
    procedure set_size(new_len: gint); cdecl; inline;
    procedure x_to_index(text: Pgchar; length: gint; analysis: PPangoAnalysis; x_pos: gint; index_: Pgint; trailing: Pgint); cdecl; inline;
  end;
  TPangoLogAttrBitfield0 = bitpacked record
    is_line_break: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_mandatory_break: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_char_break: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_white: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_cursor_position: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_word_start: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_word_end: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_sentence_boundary: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_sentence_start: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_sentence_end: guint1 { changed from guint to accomodate 1 bitsize requirement };
    backspace_deletes_character: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_expandable_space: guint1 { changed from guint to accomodate 1 bitsize requirement };
    is_word_boundary: guint1 { changed from guint to accomodate 1 bitsize requirement };
    break_inserts_hyphen: guint1 { changed from guint to accomodate 1 bitsize requirement };
    break_removes_preceding: guint1 { changed from guint to accomodate 1 bitsize requirement };
    reserved: guint17 { changed from guint to accomodate 17 bitsize requirement };
  end;


  TPangoLogAttr = record
    Bitfield0 : TPangoLogAttrBitfield0; { auto generated type }
  end;




  { TPangoGlyphItemIter }
  PPPangoGlyphItemIter = ^PPangoGlyphItemIter;
  PPangoGlyphItemIter = ^TPangoGlyphItemIter;
  TPangoGlyphItemIter = object
    glyph_item: PPangoGlyphItem;
    text: Pgchar;
    start_glyph: gint;
    start_index: gint;
    start_char: gint;
    end_glyph: gint;
    end_index: gint;
    end_char: gint;
    function copy: PPangoGlyphItemIter; cdecl; inline;
    procedure free; cdecl; inline;
    function init_end(glyph_item: PPangoGlyphItem; text: Pgchar): gboolean; cdecl; inline;
    function init_start(glyph_item: PPangoGlyphItem; text: Pgchar): gboolean; cdecl; inline;
    function next_cluster: gboolean; cdecl; inline;
    function prev_cluster: gboolean; cdecl; inline;
  end;


  { TPangoLayout }
  PPPangoLayout = ^PPangoLayout;
  PPangoLayout = ^TPangoLayout;


  { TPangoLayoutIter }
  PPPangoLayoutIter = ^PPangoLayoutIter;
  PPangoLayoutIter = ^TPangoLayoutIter;


  { TPangoLayoutLine }
  PPPangoLayoutLine = ^PPangoLayoutLine;
  PPangoLayoutLine = ^TPangoLayoutLine;


  { TPangoTabArray }
  PPPangoTabArray = ^PPangoTabArray;
  PPangoTabArray = ^TPangoTabArray;
  TPangoLayout = object(TGObject)
    function new(context: PPangoContext): PPangoLayout; cdecl; inline; static;
    function deserialize(context: PPangoContext; bytes: PGBytes; flags: TPangoLayoutDeserializeFlags; error: PPGError): PPangoLayout; cdecl; inline; static;
    procedure context_changed; cdecl; inline;
    function copy: PPangoLayout; cdecl; inline;
    function get_alignment: TPangoAlignment; cdecl; inline;
    function get_attributes: PPangoAttrList; cdecl; inline;
    function get_auto_dir: gboolean; cdecl; inline;
    function get_baseline: gint; cdecl; inline;
    procedure get_caret_pos(index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; inline;
    function get_character_count: gint; cdecl; inline;
    function get_context: PPangoContext; cdecl; inline;
    procedure get_cursor_pos(index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; inline;
    function get_direction(index: gint): TPangoDirection; cdecl; inline;
    function get_ellipsize: TPangoEllipsizeMode; cdecl; inline;
    procedure get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_font_description: PPangoFontDescription; cdecl; inline;
    function get_height: gint; cdecl; inline;
    function get_indent: gint; cdecl; inline;
    function get_iter: PPangoLayoutIter; cdecl; inline;
    function get_justify: gboolean; cdecl; inline;
    function get_justify_last_line: gboolean; cdecl; inline;
    function get_line(line: gint): PPangoLayoutLine; cdecl; inline;
    function get_line_count: gint; cdecl; inline;
    function get_line_readonly(line: gint): PPangoLayoutLine; cdecl; inline;
    function get_line_spacing: gfloat; cdecl; inline;
    function get_lines: PGSList; cdecl; inline;
    function get_lines_readonly: PGSList; cdecl; inline;
    procedure get_log_attrs(attrs: PPPangoLogAttr; n_attrs: Pgint); cdecl; inline;
    function get_log_attrs_readonly(n_attrs: Pgint): PPangoLogAttr; cdecl; inline;
    procedure get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    procedure get_pixel_size(width: Pgint; height: Pgint); cdecl; inline;
    function get_serial: guint; cdecl; inline;
    function get_single_paragraph_mode: gboolean; cdecl; inline;
    procedure get_size(width: Pgint; height: Pgint); cdecl; inline;
    function get_spacing: gint; cdecl; inline;
    function get_tabs: PPangoTabArray; cdecl; inline;
    function get_text: Pgchar; cdecl; inline;
    function get_unknown_glyphs_count: gint; cdecl; inline;
    function get_width: gint; cdecl; inline;
    function get_wrap: TPangoWrapMode; cdecl; inline;
    procedure index_to_line_x(index_: gint; trailing: gboolean; line: Pgint; x_pos: Pgint); cdecl; inline;
    procedure index_to_pos(index_: gint; pos: PPangoRectangle); cdecl; inline;
    function is_ellipsized: gboolean; cdecl; inline;
    function is_wrapped: gboolean; cdecl; inline;
    procedure move_cursor_visually(strong: gboolean; old_index: gint; old_trailing: gint; direction: gint; new_index: Pgint; new_trailing: Pgint); cdecl; inline;
    function serialize(flags: TPangoLayoutSerializeFlags): PGBytes; cdecl; inline;
    procedure set_alignment(alignment: TPangoAlignment); cdecl; inline;
    procedure set_attributes(attrs: PPangoAttrList); cdecl; inline;
    procedure set_auto_dir(auto_dir: gboolean); cdecl; inline;
    procedure set_ellipsize(ellipsize: TPangoEllipsizeMode); cdecl; inline;
    procedure set_font_description(desc: PPangoFontDescription); cdecl; inline;
    procedure set_height(height: gint); cdecl; inline;
    procedure set_indent(indent: gint); cdecl; inline;
    procedure set_justify(justify: gboolean); cdecl; inline;
    procedure set_justify_last_line(justify: gboolean); cdecl; inline;
    procedure set_line_spacing(factor: gfloat); cdecl; inline;
    procedure set_markup(markup: Pgchar; length: gint); cdecl; inline;
    procedure set_markup_with_accel(markup: Pgchar; length: gint; accel_marker: gunichar; accel_char: Pgunichar); cdecl; inline;
    procedure set_single_paragraph_mode(setting: gboolean); cdecl; inline;
    procedure set_spacing(spacing: gint); cdecl; inline;
    procedure set_tabs(tabs: PPangoTabArray); cdecl; inline;
    procedure set_text(text: Pgchar; length: gint); cdecl; inline;
    procedure set_width(width: gint); cdecl; inline;
    procedure set_wrap(wrap: TPangoWrapMode); cdecl; inline;
    function write_to_file(flags: TPangoLayoutSerializeFlags; filename: Pgchar; error: PPGError): gboolean; cdecl; inline;
    function xy_to_index(x: gint; y: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; inline;
  end;
  TPangoLayoutIter = object
    function at_last_line: gboolean; cdecl; inline;
    function copy: PPangoLayoutIter; cdecl; inline;
    procedure free; cdecl; inline;
    function get_baseline: gint; cdecl; inline;
    procedure get_char_extents(logical_rect: PPangoRectangle); cdecl; inline;
    procedure get_cluster_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_index: gint; cdecl; inline;
    function get_layout: PPangoLayout; cdecl; inline;
    procedure get_layout_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_line: PPangoLayoutLine; cdecl; inline;
    procedure get_line_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_line_readonly: PPangoLayoutLine; cdecl; inline;
    procedure get_line_yrange(y0_: Pgint; y1_: Pgint); cdecl; inline;
    function get_run: PPangoLayoutRun; cdecl; inline;
    function get_run_baseline: gint; cdecl; inline;
    procedure get_run_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_run_readonly: PPangoLayoutRun; cdecl; inline;
    function next_char: gboolean; cdecl; inline;
    function next_cluster: gboolean; cdecl; inline;
    function next_line: gboolean; cdecl; inline;
    function next_run: gboolean; cdecl; inline;
  end;
  TPangoLayoutLineBitfield0 = bitpacked record
    is_paragraph_start1: guint1 { changed from guint to accomodate 1 bitsize requirement };
    resolved_dir: guint3 { changed from guint to accomodate 3 bitsize requirement };
  end;

  TPangoLayoutLine = object
    layout: PPangoLayout;
    start_index: gint;
    length: gint;
    runs: PGSList;
    Bitfield0 : TPangoLayoutLineBitfield0; { auto generated type }
    procedure get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    procedure get_height(height: Pgint); cdecl; inline;
    function get_length: gint; cdecl; inline;
    procedure get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; inline;
    function get_resolved_direction: TPangoDirection; cdecl; inline;
    function get_start_index: gint; cdecl; inline;
    procedure get_x_ranges(start_index: gint; end_index: gint; ranges: PPgint; n_ranges: Pgint); cdecl; inline;
    procedure index_to_x(index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; inline;
    function is_paragraph_start: gboolean; cdecl; inline;
    function ref: PPangoLayoutLine; cdecl; inline;
    procedure unref; cdecl; inline;
    function x_to_index(x_pos: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; inline;
  end;
  TPangoTabArray = object
    function new(initial_size: gint; positions_in_pixels: gboolean): PPangoTabArray; cdecl; inline; static;
    //function new_with_positions(size: gint; positions_in_pixels: gboolean; first_alignment: TPangoTabAlign; first_position: gint; args: array of const): PPangoTabArray; cdecl; inline; static;
    function copy: PPangoTabArray; cdecl; inline;
    procedure free; cdecl; inline;
    function get_decimal_point(tab_index: gint): gunichar; cdecl; inline;
    function get_positions_in_pixels: gboolean; cdecl; inline;
    function get_size: gint; cdecl; inline;
    procedure get_tab(tab_index: gint; alignment: PPangoTabAlign; location: Pgint); cdecl; inline;
    procedure get_tabs(alignments: PPPangoTabAlign; locations: PPgint); cdecl; inline;
    procedure resize(new_size: gint); cdecl; inline;
    procedure set_decimal_point(tab_index: gint; decimal_point: gunichar); cdecl; inline;
    procedure set_positions_in_pixels(positions_in_pixels: gboolean); cdecl; inline;
    procedure set_tab(tab_index: gint; alignment: TPangoTabAlign; location: gint); cdecl; inline;
    procedure sort; cdecl; inline;
    function to_string: Pgchar; cdecl; inline;
    function from_string(text: Pgchar): PPangoTabArray; cdecl; inline; static;
  end;


  { TPangoLayoutClass }
  PPPangoLayoutClass = ^PPangoLayoutClass;
  PPangoLayoutClass = ^TPangoLayoutClass;
  TPangoLayoutClass = object
  end;


  { TPangoRenderer }
  PPPangoRenderer = ^PPangoRenderer;
  PPangoRenderer = ^TPangoRenderer;


  { TPangoRendererPrivate }
  PPPangoRendererPrivate = ^PPangoRendererPrivate;
  PPangoRendererPrivate = ^TPangoRendererPrivate;
  TPangoRenderer = object(TGObject)
    underline: TPangoUnderline;
    strikethrough: gboolean;
    active_count: gint;
    matrix: PPangoMatrix;
    priv: PPangoRendererPrivate;
    procedure activate; cdecl; inline;
    procedure deactivate; cdecl; inline;
    procedure draw_error_underline(x: gint; y: gint; width: gint; height: gint); cdecl; inline;
    procedure draw_glyph(font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl; inline;
    procedure draw_glyph_item(text: Pgchar; glyph_item: PPangoGlyphItem; x: gint; y: gint); cdecl; inline;
    procedure draw_glyphs(font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl; inline;
    procedure draw_layout(layout: PPangoLayout; x: gint; y: gint); cdecl; inline;
    procedure draw_layout_line(line: PPangoLayoutLine; x: gint; y: gint); cdecl; inline;
    procedure draw_rectangle(part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl; inline;
    procedure draw_trapezoid(part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl; inline;
    function get_alpha(part: TPangoRenderPart): guint16; cdecl; inline;
    function get_color(part: TPangoRenderPart): PPangoColor; cdecl; inline;
    function get_layout: PPangoLayout; cdecl; inline;
    function get_layout_line: PPangoLayoutLine; cdecl; inline;
    function get_matrix: PPangoMatrix; cdecl; inline;
    procedure part_changed(part: TPangoRenderPart); cdecl; inline;
    procedure set_alpha(part: TPangoRenderPart; alpha: guint16); cdecl; inline;
    procedure set_color(part: TPangoRenderPart; color: PPangoColor); cdecl; inline;
    procedure set_matrix(matrix: PPangoMatrix); cdecl; inline;
  end;

  TPangoRendererPrivate = record
  end;




  { TPangoRendererClass }
  PPPangoRendererClass = ^PPangoRendererClass;
  PPangoRendererClass = ^TPangoRendererClass;
  TPangoRendererClass = object
    parent_class: TGObjectClass;
    draw_glyphs: procedure(renderer: PPangoRenderer; font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl;
    draw_rectangle: procedure(renderer: PPangoRenderer; part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl;
    draw_error_underline: procedure(renderer: PPangoRenderer; x: gint; y: gint; width: gint; height: gint); cdecl;
    draw_shape: procedure(renderer: PPangoRenderer; attr: PPangoAttrShape; x: gint; y: gint); cdecl;
    draw_trapezoid: procedure(renderer: PPangoRenderer; part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl;
    draw_glyph: procedure(renderer: PPangoRenderer; font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl;
    part_changed: procedure(renderer: PPangoRenderer; part: TPangoRenderPart); cdecl;
    begin_: procedure(renderer: PPangoRenderer); cdecl;
    end_: procedure(renderer: PPangoRenderer); cdecl;
    prepare_run: procedure(renderer: PPangoRenderer; run: PPangoLayoutRun); cdecl;
    draw_glyph_item: procedure(renderer: PPangoRenderer; text: Pgchar; glyph_item: PPangoGlyphItem; x: gint; y: gint); cdecl;
    _pango_reserved2: procedure; cdecl;
    _pango_reserved3: procedure; cdecl;
    _pango_reserved4: procedure; cdecl;
  end;


  { TPangoScriptIter }
  PPPangoScriptIter = ^PPangoScriptIter;
  PPangoScriptIter = ^TPangoScriptIter;
  TPangoScriptIter = object
    function new(text: Pgchar; length: gint): PPangoScriptIter; cdecl; inline; static;
    procedure free; cdecl; inline;
    procedure get_range(start: PPgchar; end_: PPgchar; script: PPangoScript); cdecl; inline;
    function next: gboolean; cdecl; inline;
  end;

function pango_attr_allow_breaks_new(allow_breaks: gboolean): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_allow_breaks_new';
function pango_attr_background_alpha_new(alpha: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_background_alpha_new';
function pango_attr_background_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_background_new';
function pango_attr_baseline_shift_new(shift: gint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_baseline_shift_new';
function pango_attr_fallback_new(enable_fallback: gboolean): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_fallback_new';
function pango_attr_family_new(family: Pgchar): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_family_new';
function pango_attr_font_desc_new(desc: PPangoFontDescription): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_font_desc_new';
function pango_attr_font_features_new(features: Pgchar): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_font_features_new';
function pango_attr_font_scale_new(scale: TPangoFontScale): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_font_scale_new';
function pango_attr_foreground_alpha_new(alpha: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_foreground_alpha_new';
function pango_attr_foreground_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_foreground_new';
function pango_attr_gravity_hint_new(hint: TPangoGravityHint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_gravity_hint_new';
function pango_attr_gravity_new(gravity: TPangoGravity): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_gravity_new';
function pango_attr_insert_hyphens_new(insert_hyphens: gboolean): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_insert_hyphens_new';
function pango_attr_iterator_copy(iterator: PPangoAttrIterator): PPangoAttrIterator; cdecl; external Pango1_library name 'pango_attr_iterator_copy';
function pango_attr_iterator_get(iterator: PPangoAttrIterator; type_: TPangoAttrType): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_iterator_get';
function pango_attr_iterator_get_attrs(iterator: PPangoAttrIterator): PGSList; cdecl; external Pango1_library name 'pango_attr_iterator_get_attrs';
function pango_attr_iterator_get_type: TGType; cdecl; external Pango1_library name 'pango_attr_iterator_get_type';
function pango_attr_iterator_next(iterator: PPangoAttrIterator): gboolean; cdecl; external Pango1_library name 'pango_attr_iterator_next';
function pango_attr_language_new(language: PPangoLanguage): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_language_new';
function pango_attr_letter_spacing_new(letter_spacing: gint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_letter_spacing_new';
function pango_attr_line_height_new(factor: gdouble): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_line_height_new';
function pango_attr_line_height_new_absolute(height: gint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_line_height_new_absolute';
function pango_attr_list_copy(list: PPangoAttrList): PPangoAttrList; cdecl; external Pango1_library name 'pango_attr_list_copy';
function pango_attr_list_equal(list: PPangoAttrList; other_list: PPangoAttrList): gboolean; cdecl; external Pango1_library name 'pango_attr_list_equal';
function pango_attr_list_filter(list: PPangoAttrList; func: TPangoAttrFilterFunc; data: gpointer): PPangoAttrList; cdecl; external Pango1_library name 'pango_attr_list_filter';
function pango_attr_list_from_string(text: Pgchar): PPangoAttrList; cdecl; external Pango1_library name 'pango_attr_list_from_string';
function pango_attr_list_get_attributes(list: PPangoAttrList): PGSList; cdecl; external Pango1_library name 'pango_attr_list_get_attributes';
function pango_attr_list_get_iterator(list: PPangoAttrList): PPangoAttrIterator; cdecl; external Pango1_library name 'pango_attr_list_get_iterator';
function pango_attr_list_get_type: TGType; cdecl; external Pango1_library name 'pango_attr_list_get_type';
function pango_attr_list_new: PPangoAttrList; cdecl; external Pango1_library name 'pango_attr_list_new';
function pango_attr_list_ref(list: PPangoAttrList): PPangoAttrList; cdecl; external Pango1_library name 'pango_attr_list_ref';
function pango_attr_list_to_string(list: PPangoAttrList): Pgchar; cdecl; external Pango1_library name 'pango_attr_list_to_string';
function pango_attr_overline_color_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_overline_color_new';
function pango_attr_overline_new(overline: TPangoOverline): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_overline_new';
function pango_attr_rise_new(rise: gint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_rise_new';
function pango_attr_scale_new(scale_factor: gdouble): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_scale_new';
function pango_attr_sentence_new: PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_sentence_new';
function pango_attr_shape_new(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_shape_new';
function pango_attr_shape_new_with_data(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle; data: gpointer; copy_func: TPangoAttrDataCopyFunc; destroy_func: TGDestroyNotify): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_shape_new_with_data';
function pango_attr_show_new(flags: TPangoShowFlags): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_show_new';
function pango_attr_size_new(size: gint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_size_new';
function pango_attr_size_new_absolute(size: gint): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_size_new_absolute';
function pango_attr_stretch_new(stretch: TPangoStretch): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_stretch_new';
function pango_attr_strikethrough_color_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_strikethrough_color_new';
function pango_attr_strikethrough_new(strikethrough: gboolean): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_strikethrough_new';
function pango_attr_style_new(style: TPangoStyle): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_style_new';
function pango_attr_text_transform_new(transform: TPangoTextTransform): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_text_transform_new';
function pango_attr_type_get_name(type_: TPangoAttrType): Pgchar; cdecl; external Pango1_library name 'pango_attr_type_get_name';
function pango_attr_type_register(name: Pgchar): TPangoAttrType; cdecl; external Pango1_library name 'pango_attr_type_register';
function pango_attr_underline_color_new(red: guint16; green: guint16; blue: guint16): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_underline_color_new';
function pango_attr_underline_new(underline: TPangoUnderline): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_underline_new';
function pango_attr_variant_new(variant: TPangoVariant): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_variant_new';
function pango_attr_weight_new(weight: TPangoWeight): PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_weight_new';
function pango_attr_word_new: PPangoAttribute; cdecl; external Pango1_library name 'pango_attr_word_new';
function pango_attribute_as_color(attr: PPangoAttribute): PPangoAttrColor; cdecl; external Pango1_library name 'pango_attribute_as_color';
function pango_attribute_as_float(attr: PPangoAttribute): PPangoAttrFloat; cdecl; external Pango1_library name 'pango_attribute_as_float';
function pango_attribute_as_font_desc(attr: PPangoAttribute): PPangoAttrFontDesc; cdecl; external Pango1_library name 'pango_attribute_as_font_desc';
function pango_attribute_as_font_features(attr: PPangoAttribute): PPangoAttrFontFeatures; cdecl; external Pango1_library name 'pango_attribute_as_font_features';
function pango_attribute_as_int(attr: PPangoAttribute): PPangoAttrInt; cdecl; external Pango1_library name 'pango_attribute_as_int';
function pango_attribute_as_language(attr: PPangoAttribute): PPangoAttrLanguage; cdecl; external Pango1_library name 'pango_attribute_as_language';
function pango_attribute_as_shape(attr: PPangoAttribute): PPangoAttrShape; cdecl; external Pango1_library name 'pango_attribute_as_shape';
function pango_attribute_as_size(attr: PPangoAttribute): PPangoAttrSize; cdecl; external Pango1_library name 'pango_attribute_as_size';
function pango_attribute_as_string(attr: PPangoAttribute): PPangoAttrString; cdecl; external Pango1_library name 'pango_attribute_as_string';
function pango_attribute_copy(attr: PPangoAttribute): PPangoAttribute; cdecl; external Pango1_library name 'pango_attribute_copy';
function pango_attribute_equal(attr1: PPangoAttribute; attr2: PPangoAttribute): gboolean; cdecl; external Pango1_library name 'pango_attribute_equal';
function pango_attribute_get_type: TGType; cdecl; external Pango1_library name 'pango_attribute_get_type';
function pango_bidi_type_for_unichar(ch: gunichar): TPangoBidiType; cdecl; external Pango1_library name 'pango_bidi_type_for_unichar';
function pango_color_copy(src: PPangoColor): PPangoColor; cdecl; external Pango1_library name 'pango_color_copy';
function pango_color_get_type: TGType; cdecl; external Pango1_library name 'pango_color_get_type';
function pango_color_parse(color: PPangoColor; spec: Pgchar): gboolean; cdecl; external Pango1_library name 'pango_color_parse';
function pango_color_parse_with_alpha(color: PPangoColor; alpha: Pguint16; spec: Pgchar): gboolean; cdecl; external Pango1_library name 'pango_color_parse_with_alpha';
function pango_color_to_string(color: PPangoColor): Pgchar; cdecl; external Pango1_library name 'pango_color_to_string';
function pango_context_get_base_dir(context: PPangoContext): TPangoDirection; cdecl; external Pango1_library name 'pango_context_get_base_dir';
function pango_context_get_base_gravity(context: PPangoContext): TPangoGravity; cdecl; external Pango1_library name 'pango_context_get_base_gravity';
function pango_context_get_font_description(context: PPangoContext): PPangoFontDescription; cdecl; external Pango1_library name 'pango_context_get_font_description';
function pango_context_get_font_map(context: PPangoContext): PPangoFontMap; cdecl; external Pango1_library name 'pango_context_get_font_map';
function pango_context_get_gravity(context: PPangoContext): TPangoGravity; cdecl; external Pango1_library name 'pango_context_get_gravity';
function pango_context_get_gravity_hint(context: PPangoContext): TPangoGravityHint; cdecl; external Pango1_library name 'pango_context_get_gravity_hint';
function pango_context_get_language(context: PPangoContext): PPangoLanguage; cdecl; external Pango1_library name 'pango_context_get_language';
function pango_context_get_matrix(context: PPangoContext): PPangoMatrix; cdecl; external Pango1_library name 'pango_context_get_matrix';
function pango_context_get_metrics(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontMetrics; cdecl; external Pango1_library name 'pango_context_get_metrics';
function pango_context_get_round_glyph_positions(context: PPangoContext): gboolean; cdecl; external Pango1_library name 'pango_context_get_round_glyph_positions';
function pango_context_get_serial(context: PPangoContext): guint; cdecl; external Pango1_library name 'pango_context_get_serial';
function pango_context_get_type: TGType; cdecl; external Pango1_library name 'pango_context_get_type';
function pango_context_load_font(context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; external Pango1_library name 'pango_context_load_font';
function pango_context_load_fontset(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; external Pango1_library name 'pango_context_load_fontset';
function pango_context_new: PPangoContext; cdecl; external Pango1_library name 'pango_context_new';
function pango_coverage_copy(coverage: PPangoCoverage): PPangoCoverage; cdecl; external Pango1_library name 'pango_coverage_copy';
function pango_coverage_from_bytes(bytes: Pguint8; n_bytes: gint): PPangoCoverage; cdecl; external Pango1_library name 'pango_coverage_from_bytes'; deprecated 'This returns %NULL';
function pango_coverage_get(coverage: PPangoCoverage; index_: gint): TPangoCoverageLevel; cdecl; external Pango1_library name 'pango_coverage_get';
function pango_coverage_get_type: TGType; cdecl; external Pango1_library name 'pango_coverage_get_type';
function pango_coverage_new: PPangoCoverage; cdecl; external Pango1_library name 'pango_coverage_new';
function pango_coverage_ref(coverage: PPangoCoverage): PPangoCoverage; cdecl; external Pango1_library name 'pango_coverage_ref'; deprecated 'Use g_object_ref instead';
function pango_find_base_dir(text: Pgchar; length: gint): TPangoDirection; cdecl; external Pango1_library name 'pango_find_base_dir';
function pango_font_describe(font: PPangoFont): PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_describe';
function pango_font_describe_with_absolute_size(font: PPangoFont): PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_describe_with_absolute_size';
function pango_font_description_better_match(desc: PPangoFontDescription; old_match: PPangoFontDescription; new_match: PPangoFontDescription): gboolean; cdecl; external Pango1_library name 'pango_font_description_better_match';
function pango_font_description_copy(desc: PPangoFontDescription): PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_description_copy';
function pango_font_description_copy_static(desc: PPangoFontDescription): PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_description_copy_static';
function pango_font_description_equal(desc1: PPangoFontDescription; desc2: PPangoFontDescription): gboolean; cdecl; external Pango1_library name 'pango_font_description_equal';
function pango_font_description_from_string(str: Pgchar): PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_description_from_string';
function pango_font_description_get_family(desc: PPangoFontDescription): Pgchar; cdecl; external Pango1_library name 'pango_font_description_get_family';
function pango_font_description_get_features(desc: PPangoFontDescription): Pgchar; cdecl; external Pango1_library name 'pango_font_description_get_features';
function pango_font_description_get_gravity(desc: PPangoFontDescription): TPangoGravity; cdecl; external Pango1_library name 'pango_font_description_get_gravity';
function pango_font_description_get_set_fields(desc: PPangoFontDescription): TPangoFontMask; cdecl; external Pango1_library name 'pango_font_description_get_set_fields';
function pango_font_description_get_size(desc: PPangoFontDescription): gint; cdecl; external Pango1_library name 'pango_font_description_get_size';
function pango_font_description_get_size_is_absolute(desc: PPangoFontDescription): gboolean; cdecl; external Pango1_library name 'pango_font_description_get_size_is_absolute';
function pango_font_description_get_stretch(desc: PPangoFontDescription): TPangoStretch; cdecl; external Pango1_library name 'pango_font_description_get_stretch';
function pango_font_description_get_style(desc: PPangoFontDescription): TPangoStyle; cdecl; external Pango1_library name 'pango_font_description_get_style';
function pango_font_description_get_type: TGType; cdecl; external Pango1_library name 'pango_font_description_get_type';
function pango_font_description_get_variant(desc: PPangoFontDescription): TPangoVariant; cdecl; external Pango1_library name 'pango_font_description_get_variant';
function pango_font_description_get_variations(desc: PPangoFontDescription): Pgchar; cdecl; external Pango1_library name 'pango_font_description_get_variations';
function pango_font_description_get_weight(desc: PPangoFontDescription): TPangoWeight; cdecl; external Pango1_library name 'pango_font_description_get_weight';
function pango_font_description_hash(desc: PPangoFontDescription): guint; cdecl; external Pango1_library name 'pango_font_description_hash';
function pango_font_description_new: PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_description_new';
function pango_font_description_to_filename(desc: PPangoFontDescription): Pgchar; cdecl; external Pango1_library name 'pango_font_description_to_filename';
function pango_font_description_to_string(desc: PPangoFontDescription): Pgchar; cdecl; external Pango1_library name 'pango_font_description_to_string';
function pango_font_deserialize(context: PPangoContext; bytes: PGBytes; error: PPGError): PPangoFont; cdecl; external Pango1_library name 'pango_font_deserialize';
function pango_font_face_describe(face: PPangoFontFace): PPangoFontDescription; cdecl; external Pango1_library name 'pango_font_face_describe';
function pango_font_face_get_face_name(face: PPangoFontFace): Pgchar; cdecl; external Pango1_library name 'pango_font_face_get_face_name';
function pango_font_face_get_family(face: PPangoFontFace): PPangoFontFamily; cdecl; external Pango1_library name 'pango_font_face_get_family';
function pango_font_face_get_type: TGType; cdecl; external Pango1_library name 'pango_font_face_get_type';
function pango_font_face_is_synthesized(face: PPangoFontFace): gboolean; cdecl; external Pango1_library name 'pango_font_face_is_synthesized';
function pango_font_family_get_face(family: PPangoFontFamily; name: Pgchar): PPangoFontFace; cdecl; external Pango1_library name 'pango_font_family_get_face';
function pango_font_family_get_name(family: PPangoFontFamily): Pgchar; cdecl; external Pango1_library name 'pango_font_family_get_name';
function pango_font_family_get_type: TGType; cdecl; external Pango1_library name 'pango_font_family_get_type';
function pango_font_family_is_monospace(family: PPangoFontFamily): gboolean; cdecl; external Pango1_library name 'pango_font_family_is_monospace';
function pango_font_family_is_variable(family: PPangoFontFamily): gboolean; cdecl; external Pango1_library name 'pango_font_family_is_variable';
function pango_font_get_coverage(font: PPangoFont; language: PPangoLanguage): PPangoCoverage; cdecl; external Pango1_library name 'pango_font_get_coverage';
function pango_font_get_face(font: PPangoFont): PPangoFontFace; cdecl; external Pango1_library name 'pango_font_get_face';
function pango_font_get_font_map(font: PPangoFont): PPangoFontMap; cdecl; external Pango1_library name 'pango_font_get_font_map';
function pango_font_get_hb_font(font: PPangoFont): Phb_font_t; cdecl; external Pango1_library name 'pango_font_get_hb_font';
function pango_font_get_languages(font: PPangoFont): PPPangoLanguage; cdecl; external Pango1_library name 'pango_font_get_languages';
function pango_font_get_metrics(font: PPangoFont; language: PPangoLanguage): PPangoFontMetrics; cdecl; external Pango1_library name 'pango_font_get_metrics';
function pango_font_get_type: TGType; cdecl; external Pango1_library name 'pango_font_get_type';
function pango_font_has_char(font: PPangoFont; wc: gunichar): gboolean; cdecl; external Pango1_library name 'pango_font_has_char';
function pango_font_map_add_font_file(fontmap: PPangoFontMap; filename: Pgchar; error: PPGError): gboolean; cdecl; external Pango1_library name 'pango_font_map_add_font_file';
function pango_font_map_create_context(fontmap: PPangoFontMap): PPangoContext; cdecl; external Pango1_library name 'pango_font_map_create_context';
function pango_font_map_get_family(fontmap: PPangoFontMap; name: Pgchar): PPangoFontFamily; cdecl; external Pango1_library name 'pango_font_map_get_family';
function pango_font_map_get_serial(fontmap: PPangoFontMap): guint; cdecl; external Pango1_library name 'pango_font_map_get_serial';
function pango_font_map_get_type: TGType; cdecl; external Pango1_library name 'pango_font_map_get_type';
function pango_font_map_load_font(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl; external Pango1_library name 'pango_font_map_load_font';
function pango_font_map_load_fontset(fontmap: PPangoFontMap; context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl; external Pango1_library name 'pango_font_map_load_fontset';
function pango_font_map_reload_font(fontmap: PPangoFontMap; font: PPangoFont; scale: gdouble; context: PPangoContext; variations: Pgchar): PPangoFont; cdecl; external Pango1_library name 'pango_font_map_reload_font';
function pango_font_metrics_get_approximate_char_width(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_approximate_char_width';
function pango_font_metrics_get_approximate_digit_width(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_approximate_digit_width';
function pango_font_metrics_get_ascent(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_ascent';
function pango_font_metrics_get_descent(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_descent';
function pango_font_metrics_get_height(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_height';
function pango_font_metrics_get_strikethrough_position(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_strikethrough_position';
function pango_font_metrics_get_strikethrough_thickness(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_strikethrough_thickness';
function pango_font_metrics_get_type: TGType; cdecl; external Pango1_library name 'pango_font_metrics_get_type';
function pango_font_metrics_get_underline_position(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_underline_position';
function pango_font_metrics_get_underline_thickness(metrics: PPangoFontMetrics): gint; cdecl; external Pango1_library name 'pango_font_metrics_get_underline_thickness';
function pango_font_metrics_ref(metrics: PPangoFontMetrics): PPangoFontMetrics; cdecl; external Pango1_library name 'pango_font_metrics_ref';
function pango_font_serialize(font: PPangoFont): PGBytes; cdecl; external Pango1_library name 'pango_font_serialize';
function pango_fontset_get_font(fontset: PPangoFontset; wc: guint): PPangoFont; cdecl; external Pango1_library name 'pango_fontset_get_font';
function pango_fontset_get_metrics(fontset: PPangoFontset): PPangoFontMetrics; cdecl; external Pango1_library name 'pango_fontset_get_metrics';
function pango_fontset_get_type: TGType; cdecl; external Pango1_library name 'pango_fontset_get_type';
function pango_fontset_simple_get_type: TGType; cdecl; external Pango1_library name 'pango_fontset_simple_get_type';
function pango_fontset_simple_new(language: PPangoLanguage): PPangoFontsetSimple; cdecl; external Pango1_library name 'pango_fontset_simple_new';
function pango_fontset_simple_size(fontset: PPangoFontsetSimple): gint; cdecl; external Pango1_library name 'pango_fontset_simple_size';
function pango_get_mirror_char(ch: gunichar; mirrored_ch: Pgunichar): gboolean; cdecl; external Pango1_library name 'pango_get_mirror_char'; deprecated 'Use [func@GLib.unichar_get_mirror_char] instead;   the docs for that function provide full details.';
function pango_glyph_item_apply_attrs(glyph_item: PPangoGlyphItem; text: Pgchar; list: PPangoAttrList): PGSList; cdecl; external Pango1_library name 'pango_glyph_item_apply_attrs';
function pango_glyph_item_copy(orig: PPangoGlyphItem): PPangoGlyphItem; cdecl; external Pango1_library name 'pango_glyph_item_copy';
function pango_glyph_item_get_type: TGType; cdecl; external Pango1_library name 'pango_glyph_item_get_type';
function pango_glyph_item_iter_copy(orig: PPangoGlyphItemIter): PPangoGlyphItemIter; cdecl; external Pango1_library name 'pango_glyph_item_iter_copy';
function pango_glyph_item_iter_get_type: TGType; cdecl; external Pango1_library name 'pango_glyph_item_iter_get_type';
function pango_glyph_item_iter_init_end(iter: PPangoGlyphItemIter; glyph_item: PPangoGlyphItem; text: Pgchar): gboolean; cdecl; external Pango1_library name 'pango_glyph_item_iter_init_end';
function pango_glyph_item_iter_init_start(iter: PPangoGlyphItemIter; glyph_item: PPangoGlyphItem; text: Pgchar): gboolean; cdecl; external Pango1_library name 'pango_glyph_item_iter_init_start';
function pango_glyph_item_iter_next_cluster(iter: PPangoGlyphItemIter): gboolean; cdecl; external Pango1_library name 'pango_glyph_item_iter_next_cluster';
function pango_glyph_item_iter_prev_cluster(iter: PPangoGlyphItemIter): gboolean; cdecl; external Pango1_library name 'pango_glyph_item_iter_prev_cluster';
function pango_glyph_item_split(orig: PPangoGlyphItem; text: Pgchar; split_index: gint): PPangoGlyphItem; cdecl; external Pango1_library name 'pango_glyph_item_split';
function pango_glyph_string_copy(string_: PPangoGlyphString): PPangoGlyphString; cdecl; external Pango1_library name 'pango_glyph_string_copy';
function pango_glyph_string_get_type: TGType; cdecl; external Pango1_library name 'pango_glyph_string_get_type';
function pango_glyph_string_get_width(glyphs: PPangoGlyphString): gint; cdecl; external Pango1_library name 'pango_glyph_string_get_width';
function pango_glyph_string_new: PPangoGlyphString; cdecl; external Pango1_library name 'pango_glyph_string_new';
function pango_gravity_get_for_matrix(matrix: PPangoMatrix): TPangoGravity; cdecl; external Pango1_library name 'pango_gravity_get_for_matrix';
function pango_gravity_get_for_script(script: TPangoScript; base_gravity: TPangoGravity; hint: TPangoGravityHint): TPangoGravity; cdecl; external Pango1_library name 'pango_gravity_get_for_script';
function pango_gravity_get_for_script_and_width(script: TPangoScript; wide: gboolean; base_gravity: TPangoGravity; hint: TPangoGravityHint): TPangoGravity; cdecl; external Pango1_library name 'pango_gravity_get_for_script_and_width';
function pango_gravity_to_rotation(gravity: TPangoGravity): gdouble; cdecl; external Pango1_library name 'pango_gravity_to_rotation';
function pango_is_zero_width(ch: gunichar): gboolean; cdecl; external Pango1_library name 'pango_is_zero_width';
function pango_item_copy(item: PPangoItem): PPangoItem; cdecl; external Pango1_library name 'pango_item_copy';
function pango_item_get_char_offset(item: PPangoItem): gint; cdecl; external Pango1_library name 'pango_item_get_char_offset';
function pango_item_get_type: TGType; cdecl; external Pango1_library name 'pango_item_get_type';
function pango_item_new: PPangoItem; cdecl; external Pango1_library name 'pango_item_new';
function pango_item_split(orig: PPangoItem; split_index: gint; split_offset: gint): PPangoItem; cdecl; external Pango1_library name 'pango_item_split';
function pango_itemize(context: PPangoContext; text: Pgchar; start_index: gint; length: gint; attrs: PPangoAttrList; cached_iter: PPangoAttrIterator): PGList; cdecl; external Pango1_library name 'pango_itemize';
function pango_itemize_with_base_dir(context: PPangoContext; base_dir: TPangoDirection; text: Pgchar; start_index: gint; length: gint; attrs: PPangoAttrList; cached_iter: PPangoAttrIterator): PGList; cdecl; external Pango1_library name 'pango_itemize_with_base_dir';
function pango_language_from_string(language: Pgchar): PPangoLanguage; cdecl; external Pango1_library name 'pango_language_from_string';
function pango_language_get_default: PPangoLanguage; cdecl; external Pango1_library name 'pango_language_get_default';
function pango_language_get_preferred: PPPangoLanguage; cdecl; external Pango1_library name 'pango_language_get_preferred';
function pango_language_get_sample_string(language: PPangoLanguage): Pgchar; cdecl; external Pango1_library name 'pango_language_get_sample_string';
function pango_language_get_scripts(language: PPangoLanguage; num_scripts: Pgint): PPangoScript; cdecl; external Pango1_library name 'pango_language_get_scripts';
function pango_language_get_type: TGType; cdecl; external Pango1_library name 'pango_language_get_type';
function pango_language_includes_script(language: PPangoLanguage; script: TPangoScript): gboolean; cdecl; external Pango1_library name 'pango_language_includes_script';
function pango_language_matches(language: PPangoLanguage; range_list: Pgchar): gboolean; cdecl; external Pango1_library name 'pango_language_matches';
function pango_language_to_string(language: PPangoLanguage): Pgchar; cdecl; external Pango1_library name 'pango_language_to_string';
function pango_layout_copy(src: PPangoLayout): PPangoLayout; cdecl; external Pango1_library name 'pango_layout_copy';
function pango_layout_deserialize(context: PPangoContext; bytes: PGBytes; flags: TPangoLayoutDeserializeFlags; error: PPGError): PPangoLayout; cdecl; external Pango1_library name 'pango_layout_deserialize';
function pango_layout_deserialize_error_quark: TGQuark; cdecl; external Pango1_library name 'pango_layout_deserialize_error_quark';
function pango_layout_get_alignment(layout: PPangoLayout): TPangoAlignment; cdecl; external Pango1_library name 'pango_layout_get_alignment';
function pango_layout_get_attributes(layout: PPangoLayout): PPangoAttrList; cdecl; external Pango1_library name 'pango_layout_get_attributes';
function pango_layout_get_auto_dir(layout: PPangoLayout): gboolean; cdecl; external Pango1_library name 'pango_layout_get_auto_dir';
function pango_layout_get_baseline(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_baseline';
function pango_layout_get_character_count(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_character_count';
function pango_layout_get_context(layout: PPangoLayout): PPangoContext; cdecl; external Pango1_library name 'pango_layout_get_context';
function pango_layout_get_direction(layout: PPangoLayout; index: gint): TPangoDirection; cdecl; external Pango1_library name 'pango_layout_get_direction';
function pango_layout_get_ellipsize(layout: PPangoLayout): TPangoEllipsizeMode; cdecl; external Pango1_library name 'pango_layout_get_ellipsize';
function pango_layout_get_font_description(layout: PPangoLayout): PPangoFontDescription; cdecl; external Pango1_library name 'pango_layout_get_font_description';
function pango_layout_get_height(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_height';
function pango_layout_get_indent(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_indent';
function pango_layout_get_iter(layout: PPangoLayout): PPangoLayoutIter; cdecl; external Pango1_library name 'pango_layout_get_iter';
function pango_layout_get_justify(layout: PPangoLayout): gboolean; cdecl; external Pango1_library name 'pango_layout_get_justify';
function pango_layout_get_justify_last_line(layout: PPangoLayout): gboolean; cdecl; external Pango1_library name 'pango_layout_get_justify_last_line';
function pango_layout_get_line(layout: PPangoLayout; line: gint): PPangoLayoutLine; cdecl; external Pango1_library name 'pango_layout_get_line';
function pango_layout_get_line_count(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_line_count';
function pango_layout_get_line_readonly(layout: PPangoLayout; line: gint): PPangoLayoutLine; cdecl; external Pango1_library name 'pango_layout_get_line_readonly';
function pango_layout_get_line_spacing(layout: PPangoLayout): gfloat; cdecl; external Pango1_library name 'pango_layout_get_line_spacing';
function pango_layout_get_lines(layout: PPangoLayout): PGSList; cdecl; external Pango1_library name 'pango_layout_get_lines';
function pango_layout_get_lines_readonly(layout: PPangoLayout): PGSList; cdecl; external Pango1_library name 'pango_layout_get_lines_readonly';
function pango_layout_get_log_attrs_readonly(layout: PPangoLayout; n_attrs: Pgint): PPangoLogAttr; cdecl; external Pango1_library name 'pango_layout_get_log_attrs_readonly';
function pango_layout_get_serial(layout: PPangoLayout): guint; cdecl; external Pango1_library name 'pango_layout_get_serial';
function pango_layout_get_single_paragraph_mode(layout: PPangoLayout): gboolean; cdecl; external Pango1_library name 'pango_layout_get_single_paragraph_mode';
function pango_layout_get_spacing(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_spacing';
function pango_layout_get_tabs(layout: PPangoLayout): PPangoTabArray; cdecl; external Pango1_library name 'pango_layout_get_tabs';
function pango_layout_get_text(layout: PPangoLayout): Pgchar; cdecl; external Pango1_library name 'pango_layout_get_text';
function pango_layout_get_type: TGType; cdecl; external Pango1_library name 'pango_layout_get_type';
function pango_layout_get_unknown_glyphs_count(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_unknown_glyphs_count';
function pango_layout_get_width(layout: PPangoLayout): gint; cdecl; external Pango1_library name 'pango_layout_get_width';
function pango_layout_get_wrap(layout: PPangoLayout): TPangoWrapMode; cdecl; external Pango1_library name 'pango_layout_get_wrap';
function pango_layout_is_ellipsized(layout: PPangoLayout): gboolean; cdecl; external Pango1_library name 'pango_layout_is_ellipsized';
function pango_layout_is_wrapped(layout: PPangoLayout): gboolean; cdecl; external Pango1_library name 'pango_layout_is_wrapped';
function pango_layout_iter_at_last_line(iter: PPangoLayoutIter): gboolean; cdecl; external Pango1_library name 'pango_layout_iter_at_last_line';
function pango_layout_iter_copy(iter: PPangoLayoutIter): PPangoLayoutIter; cdecl; external Pango1_library name 'pango_layout_iter_copy';
function pango_layout_iter_get_baseline(iter: PPangoLayoutIter): gint; cdecl; external Pango1_library name 'pango_layout_iter_get_baseline';
function pango_layout_iter_get_index(iter: PPangoLayoutIter): gint; cdecl; external Pango1_library name 'pango_layout_iter_get_index';
function pango_layout_iter_get_layout(iter: PPangoLayoutIter): PPangoLayout; cdecl; external Pango1_library name 'pango_layout_iter_get_layout';
function pango_layout_iter_get_line(iter: PPangoLayoutIter): PPangoLayoutLine; cdecl; external Pango1_library name 'pango_layout_iter_get_line';
function pango_layout_iter_get_line_readonly(iter: PPangoLayoutIter): PPangoLayoutLine; cdecl; external Pango1_library name 'pango_layout_iter_get_line_readonly';
function pango_layout_iter_get_run(iter: PPangoLayoutIter): PPangoLayoutRun; cdecl; external Pango1_library name 'pango_layout_iter_get_run';
function pango_layout_iter_get_run_baseline(iter: PPangoLayoutIter): gint; cdecl; external Pango1_library name 'pango_layout_iter_get_run_baseline';
function pango_layout_iter_get_run_readonly(iter: PPangoLayoutIter): PPangoLayoutRun; cdecl; external Pango1_library name 'pango_layout_iter_get_run_readonly';
function pango_layout_iter_get_type: TGType; cdecl; external Pango1_library name 'pango_layout_iter_get_type';
function pango_layout_iter_next_char(iter: PPangoLayoutIter): gboolean; cdecl; external Pango1_library name 'pango_layout_iter_next_char';
function pango_layout_iter_next_cluster(iter: PPangoLayoutIter): gboolean; cdecl; external Pango1_library name 'pango_layout_iter_next_cluster';
function pango_layout_iter_next_line(iter: PPangoLayoutIter): gboolean; cdecl; external Pango1_library name 'pango_layout_iter_next_line';
function pango_layout_iter_next_run(iter: PPangoLayoutIter): gboolean; cdecl; external Pango1_library name 'pango_layout_iter_next_run';
function pango_layout_line_get_length(line: PPangoLayoutLine): gint; cdecl; external Pango1_library name 'pango_layout_line_get_length';
function pango_layout_line_get_resolved_direction(line: PPangoLayoutLine): TPangoDirection; cdecl; external Pango1_library name 'pango_layout_line_get_resolved_direction';
function pango_layout_line_get_start_index(line: PPangoLayoutLine): gint; cdecl; external Pango1_library name 'pango_layout_line_get_start_index';
function pango_layout_line_get_type: TGType; cdecl; external Pango1_library name 'pango_layout_line_get_type';
function pango_layout_line_is_paragraph_start(line: PPangoLayoutLine): gboolean; cdecl; external Pango1_library name 'pango_layout_line_is_paragraph_start';
function pango_layout_line_ref(line: PPangoLayoutLine): PPangoLayoutLine; cdecl; external Pango1_library name 'pango_layout_line_ref';
function pango_layout_line_x_to_index(line: PPangoLayoutLine; x_pos: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; external Pango1_library name 'pango_layout_line_x_to_index';
function pango_layout_new(context: PPangoContext): PPangoLayout; cdecl; external Pango1_library name 'pango_layout_new';
function pango_layout_serialize(layout: PPangoLayout; flags: TPangoLayoutSerializeFlags): PGBytes; cdecl; external Pango1_library name 'pango_layout_serialize';
function pango_layout_write_to_file(layout: PPangoLayout; flags: TPangoLayoutSerializeFlags; filename: Pgchar; error: PPGError): gboolean; cdecl; external Pango1_library name 'pango_layout_write_to_file';
function pango_layout_xy_to_index(layout: PPangoLayout; x: gint; y: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl; external Pango1_library name 'pango_layout_xy_to_index';
function pango_log2vis_get_embedding_levels(text: Pgchar; length: gint; pbase_dir: PPangoDirection): Pguint8; cdecl; external Pango1_library name 'pango_log2vis_get_embedding_levels';
function pango_markup_parser_finish(context: PGMarkupParseContext; attr_list: PPPangoAttrList; text: PPgchar; accel_char: Pgunichar; error: PPGError): gboolean; cdecl; external Pango1_library name 'pango_markup_parser_finish';
function pango_markup_parser_new(accel_marker: gunichar): PGMarkupParseContext; cdecl; external Pango1_library name 'pango_markup_parser_new';
function pango_matrix_copy(matrix: PPangoMatrix): PPangoMatrix; cdecl; external Pango1_library name 'pango_matrix_copy';
function pango_matrix_get_font_scale_factor(matrix: PPangoMatrix): gdouble; cdecl; external Pango1_library name 'pango_matrix_get_font_scale_factor';
function pango_matrix_get_slant_ratio(matrix: PPangoMatrix): gdouble; cdecl; external Pango1_library name 'pango_matrix_get_slant_ratio';
function pango_matrix_get_type: TGType; cdecl; external Pango1_library name 'pango_matrix_get_type';
function pango_parse_enum(type_: TGType; str: Pgchar; value: Pgint; warn: gboolean; possible_values: PPgchar): gboolean; cdecl; external Pango1_library name 'pango_parse_enum'; deprecated 'Since Pango 1.38 ';
function pango_parse_markup(markup_text: Pgchar; length: gint; accel_marker: gunichar; attr_list: PPPangoAttrList; text: PPgchar; accel_char: Pgunichar; error: PPGError): gboolean; cdecl; external Pango1_library name 'pango_parse_markup';
function pango_parse_stretch(str: Pgchar; stretch: PPangoStretch; warn: gboolean): gboolean; cdecl; external Pango1_library name 'pango_parse_stretch';
function pango_parse_style(str: Pgchar; style: PPangoStyle; warn: gboolean): gboolean; cdecl; external Pango1_library name 'pango_parse_style';
function pango_parse_variant(str: Pgchar; variant: PPangoVariant; warn: gboolean): gboolean; cdecl; external Pango1_library name 'pango_parse_variant';
function pango_parse_weight(str: Pgchar; weight: PPangoWeight; warn: gboolean): gboolean; cdecl; external Pango1_library name 'pango_parse_weight';
function pango_read_line(stream: Pgpointer; str: PGString): gint; cdecl; external Pango1_library name 'pango_read_line'; deprecated 'Since Pango 1.38 ';
function pango_renderer_get_alpha(renderer: PPangoRenderer; part: TPangoRenderPart): guint16; cdecl; external Pango1_library name 'pango_renderer_get_alpha';
function pango_renderer_get_color(renderer: PPangoRenderer; part: TPangoRenderPart): PPangoColor; cdecl; external Pango1_library name 'pango_renderer_get_color';
function pango_renderer_get_layout(renderer: PPangoRenderer): PPangoLayout; cdecl; external Pango1_library name 'pango_renderer_get_layout';
function pango_renderer_get_layout_line(renderer: PPangoRenderer): PPangoLayoutLine; cdecl; external Pango1_library name 'pango_renderer_get_layout_line';
function pango_renderer_get_matrix(renderer: PPangoRenderer): PPangoMatrix; cdecl; external Pango1_library name 'pango_renderer_get_matrix';
function pango_renderer_get_type: TGType; cdecl; external Pango1_library name 'pango_renderer_get_type';
function pango_reorder_items(items: PGList): PGList; cdecl; external Pango1_library name 'pango_reorder_items';
function pango_scan_int(pos: PPgchar; out_: Pgint): gboolean; cdecl; external Pango1_library name 'pango_scan_int'; deprecated 'Since Pango 1.38 ';
function pango_scan_string(pos: PPgchar; out_: PGString): gboolean; cdecl; external Pango1_library name 'pango_scan_string'; deprecated 'Since Pango 1.38 ';
function pango_scan_word(pos: PPgchar; out_: PGString): gboolean; cdecl; external Pango1_library name 'pango_scan_word'; deprecated 'Since Pango 1.38 ';
function pango_script_for_unichar(ch: gunichar): TPangoScript; cdecl; external Pango1_library name 'pango_script_for_unichar'; deprecated 'Use g_unichar_get_script()';
function pango_script_get_sample_language(script: TPangoScript): PPangoLanguage; cdecl; external Pango1_library name 'pango_script_get_sample_language';
function pango_script_iter_get_type: TGType; cdecl; external Pango1_library name 'pango_script_iter_get_type';
function pango_script_iter_new(text: Pgchar; length: gint): PPangoScriptIter; cdecl; external Pango1_library name 'pango_script_iter_new';
function pango_script_iter_next(iter: PPangoScriptIter): gboolean; cdecl; external Pango1_library name 'pango_script_iter_next';
function pango_skip_space(pos: PPgchar): gboolean; cdecl; external Pango1_library name 'pango_skip_space'; deprecated 'Since Pango 1.38 ';
function pango_split_file_list(str: Pgchar): PPgchar; cdecl; external Pango1_library name 'pango_split_file_list'; deprecated 'Since Pango 1.38 ';
function pango_tab_array_copy(src: PPangoTabArray): PPangoTabArray; cdecl; external Pango1_library name 'pango_tab_array_copy';
function pango_tab_array_from_string(text: Pgchar): PPangoTabArray; cdecl; external Pango1_library name 'pango_tab_array_from_string';
function pango_tab_array_get_decimal_point(tab_array: PPangoTabArray; tab_index: gint): gunichar; cdecl; external Pango1_library name 'pango_tab_array_get_decimal_point';
function pango_tab_array_get_positions_in_pixels(tab_array: PPangoTabArray): gboolean; cdecl; external Pango1_library name 'pango_tab_array_get_positions_in_pixels';
function pango_tab_array_get_size(tab_array: PPangoTabArray): gint; cdecl; external Pango1_library name 'pango_tab_array_get_size';
function pango_tab_array_get_type: TGType; cdecl; external Pango1_library name 'pango_tab_array_get_type';
function pango_tab_array_new(initial_size: gint; positions_in_pixels: gboolean): PPangoTabArray; cdecl; external Pango1_library name 'pango_tab_array_new';
function pango_tab_array_new_with_positions(size: gint; positions_in_pixels: gboolean; first_alignment: TPangoTabAlign; first_position: gint; args: array of const): PPangoTabArray; cdecl; external Pango1_library name 'pango_tab_array_new_with_positions';
function pango_tab_array_to_string(tab_array: PPangoTabArray): Pgchar; cdecl; external Pango1_library name 'pango_tab_array_to_string';
function pango_trim_string(str: Pgchar): Pgchar; cdecl; external Pango1_library name 'pango_trim_string'; deprecated 'Since Pango 1.38 ';
function pango_unichar_direction(ch: gunichar): TPangoDirection; cdecl; external Pango1_library name 'pango_unichar_direction';
function pango_units_from_double(d: gdouble): gint; cdecl; external Pango1_library name 'pango_units_from_double';
function pango_units_to_double(i: gint): gdouble; cdecl; external Pango1_library name 'pango_units_to_double';
function pango_version: gint; cdecl; external Pango1_library name 'pango_version';
function pango_version_check(required_major: gint; required_minor: gint; required_micro: gint): Pgchar; cdecl; external Pango1_library name 'pango_version_check';
function pango_version_string: Pgchar; cdecl; external Pango1_library name 'pango_version_string';
procedure pango_attr_break(text: Pgchar; length: gint; attr_list: PPangoAttrList; offset: gint; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external Pango1_library name 'pango_attr_break';
procedure pango_attr_iterator_destroy(iterator: PPangoAttrIterator); cdecl; external Pango1_library name 'pango_attr_iterator_destroy';
procedure pango_attr_iterator_get_font(iterator: PPangoAttrIterator; desc: PPangoFontDescription; language: PPPangoLanguage; extra_attrs: PPGSList); cdecl; external Pango1_library name 'pango_attr_iterator_get_font';
procedure pango_attr_iterator_range(iterator: PPangoAttrIterator; start: Pgint; end_: Pgint); cdecl; external Pango1_library name 'pango_attr_iterator_range';
procedure pango_attr_list_change(list: PPangoAttrList; attr: PPangoAttribute); cdecl; external Pango1_library name 'pango_attr_list_change';
procedure pango_attr_list_insert(list: PPangoAttrList; attr: PPangoAttribute); cdecl; external Pango1_library name 'pango_attr_list_insert';
procedure pango_attr_list_insert_before(list: PPangoAttrList; attr: PPangoAttribute); cdecl; external Pango1_library name 'pango_attr_list_insert_before';
procedure pango_attr_list_splice(list: PPangoAttrList; other: PPangoAttrList; pos: gint; len: gint); cdecl; external Pango1_library name 'pango_attr_list_splice';
procedure pango_attr_list_unref(list: PPangoAttrList); cdecl; external Pango1_library name 'pango_attr_list_unref';
procedure pango_attr_list_update(list: PPangoAttrList; pos: gint; remove: gint; add: gint); cdecl; external Pango1_library name 'pango_attr_list_update';
procedure pango_attribute_destroy(attr: PPangoAttribute); cdecl; external Pango1_library name 'pango_attribute_destroy';
procedure pango_attribute_init(attr: PPangoAttribute; klass: PPangoAttrClass); cdecl; external Pango1_library name 'pango_attribute_init';
procedure pango_break(text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external Pango1_library name 'pango_break'; deprecated 'Use [func@Pango.default_break],   [func@Pango.tailor_break] and [func@Pango.attr_break].';
procedure pango_color_free(color: PPangoColor); cdecl; external Pango1_library name 'pango_color_free';
procedure pango_context_changed(context: PPangoContext); cdecl; external Pango1_library name 'pango_context_changed';
procedure pango_context_list_families(context: PPangoContext; families: PPPPangoFontFamily; n_families: Pgint); cdecl; external Pango1_library name 'pango_context_list_families';
procedure pango_context_set_base_dir(context: PPangoContext; direction: TPangoDirection); cdecl; external Pango1_library name 'pango_context_set_base_dir';
procedure pango_context_set_base_gravity(context: PPangoContext; gravity: TPangoGravity); cdecl; external Pango1_library name 'pango_context_set_base_gravity';
procedure pango_context_set_font_description(context: PPangoContext; desc: PPangoFontDescription); cdecl; external Pango1_library name 'pango_context_set_font_description';
procedure pango_context_set_font_map(context: PPangoContext; font_map: PPangoFontMap); cdecl; external Pango1_library name 'pango_context_set_font_map';
procedure pango_context_set_gravity_hint(context: PPangoContext; hint: TPangoGravityHint); cdecl; external Pango1_library name 'pango_context_set_gravity_hint';
procedure pango_context_set_language(context: PPangoContext; language: PPangoLanguage); cdecl; external Pango1_library name 'pango_context_set_language';
procedure pango_context_set_matrix(context: PPangoContext; matrix: PPangoMatrix); cdecl; external Pango1_library name 'pango_context_set_matrix';
procedure pango_context_set_round_glyph_positions(context: PPangoContext; round_positions: gboolean); cdecl; external Pango1_library name 'pango_context_set_round_glyph_positions';
procedure pango_coverage_max(coverage: PPangoCoverage; other: PPangoCoverage); cdecl; external Pango1_library name 'pango_coverage_max'; deprecated 'This function does nothing';
procedure pango_coverage_set(coverage: PPangoCoverage; index_: gint; level: TPangoCoverageLevel); cdecl; external Pango1_library name 'pango_coverage_set';
procedure pango_coverage_to_bytes(coverage: PPangoCoverage; bytes: PPguint8; n_bytes: Pgint); cdecl; external Pango1_library name 'pango_coverage_to_bytes'; deprecated 'This returns %NULL';
procedure pango_coverage_unref(coverage: PPangoCoverage); cdecl; external Pango1_library name 'pango_coverage_unref'; deprecated 'Use g_object_unref instead';
procedure pango_default_break(text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external Pango1_library name 'pango_default_break';
procedure pango_extents_to_pixels(inclusive: PPangoRectangle; nearest: PPangoRectangle); cdecl; external Pango1_library name 'pango_extents_to_pixels';
procedure pango_find_paragraph_boundary(text: Pgchar; length: gint; paragraph_delimiter_index: Pgint; next_paragraph_start: Pgint); cdecl; external Pango1_library name 'pango_find_paragraph_boundary';
procedure pango_font_description_free(desc: PPangoFontDescription); cdecl; external Pango1_library name 'pango_font_description_free';
procedure pango_font_description_merge(desc: PPangoFontDescription; desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; external Pango1_library name 'pango_font_description_merge';
procedure pango_font_description_merge_static(desc: PPangoFontDescription; desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl; external Pango1_library name 'pango_font_description_merge_static';
procedure pango_font_description_set_absolute_size(desc: PPangoFontDescription; size: gdouble); cdecl; external Pango1_library name 'pango_font_description_set_absolute_size';
procedure pango_font_description_set_family(desc: PPangoFontDescription; family: Pgchar); cdecl; external Pango1_library name 'pango_font_description_set_family';
procedure pango_font_description_set_family_static(desc: PPangoFontDescription; family: Pgchar); cdecl; external Pango1_library name 'pango_font_description_set_family_static';
procedure pango_font_description_set_features(desc: PPangoFontDescription; features: Pgchar); cdecl; external Pango1_library name 'pango_font_description_set_features';
procedure pango_font_description_set_features_static(desc: PPangoFontDescription; features: Pgchar); cdecl; external Pango1_library name 'pango_font_description_set_features_static';
procedure pango_font_description_set_gravity(desc: PPangoFontDescription; gravity: TPangoGravity); cdecl; external Pango1_library name 'pango_font_description_set_gravity';
procedure pango_font_description_set_size(desc: PPangoFontDescription; size: gint); cdecl; external Pango1_library name 'pango_font_description_set_size';
procedure pango_font_description_set_stretch(desc: PPangoFontDescription; stretch: TPangoStretch); cdecl; external Pango1_library name 'pango_font_description_set_stretch';
procedure pango_font_description_set_style(desc: PPangoFontDescription; style: TPangoStyle); cdecl; external Pango1_library name 'pango_font_description_set_style';
procedure pango_font_description_set_variant(desc: PPangoFontDescription; variant: TPangoVariant); cdecl; external Pango1_library name 'pango_font_description_set_variant';
procedure pango_font_description_set_variations(desc: PPangoFontDescription; variations: Pgchar); cdecl; external Pango1_library name 'pango_font_description_set_variations';
procedure pango_font_description_set_variations_static(desc: PPangoFontDescription; variations: Pgchar); cdecl; external Pango1_library name 'pango_font_description_set_variations_static';
procedure pango_font_description_set_weight(desc: PPangoFontDescription; weight: TPangoWeight); cdecl; external Pango1_library name 'pango_font_description_set_weight';
procedure pango_font_description_unset_fields(desc: PPangoFontDescription; to_unset: TPangoFontMask); cdecl; external Pango1_library name 'pango_font_description_unset_fields';
procedure pango_font_descriptions_free(descs: PPPangoFontDescription; n_descs: gint); cdecl; external Pango1_library name 'pango_font_descriptions_free'; deprecated 'Just use pango_font_description_free in a loop';
procedure pango_font_face_list_sizes(face: PPangoFontFace; sizes: PPgint; n_sizes: Pgint); cdecl; external Pango1_library name 'pango_font_face_list_sizes';
procedure pango_font_family_list_faces(family: PPangoFontFamily; faces: PPPPangoFontFace; n_faces: Pgint); cdecl; external Pango1_library name 'pango_font_family_list_faces';
procedure pango_font_get_features(font: PPangoFont; features: Phb_feature_t; len: guint; num_features: Pguint); cdecl; external Pango1_library name 'pango_font_get_features';
procedure pango_font_get_glyph_extents(font: PPangoFont; glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_font_get_glyph_extents';
procedure pango_font_map_changed(fontmap: PPangoFontMap); cdecl; external Pango1_library name 'pango_font_map_changed';
procedure pango_font_map_list_families(fontmap: PPangoFontMap; families: PPPPangoFontFamily; n_families: Pgint); cdecl; external Pango1_library name 'pango_font_map_list_families';
procedure pango_font_metrics_unref(metrics: PPangoFontMetrics); cdecl; external Pango1_library name 'pango_font_metrics_unref';
procedure pango_fontset_foreach(fontset: PPangoFontset; func: TPangoFontsetForeachFunc; data: gpointer); cdecl; external Pango1_library name 'pango_fontset_foreach';
procedure pango_fontset_simple_append(fontset: PPangoFontsetSimple; font: PPangoFont); cdecl; external Pango1_library name 'pango_fontset_simple_append';
procedure pango_get_log_attrs(text: Pgchar; length: gint; level: gint; language: PPangoLanguage; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external Pango1_library name 'pango_get_log_attrs';
procedure pango_glyph_item_free(glyph_item: PPangoGlyphItem); cdecl; external Pango1_library name 'pango_glyph_item_free';
procedure pango_glyph_item_get_logical_widths(glyph_item: PPangoGlyphItem; text: Pgchar; logical_widths: Pgint); cdecl; external Pango1_library name 'pango_glyph_item_get_logical_widths';
procedure pango_glyph_item_iter_free(iter: PPangoGlyphItemIter); cdecl; external Pango1_library name 'pango_glyph_item_iter_free';
procedure pango_glyph_item_letter_space(glyph_item: PPangoGlyphItem; text: Pgchar; log_attrs: PPangoLogAttr; letter_spacing: gint); cdecl; external Pango1_library name 'pango_glyph_item_letter_space';
procedure pango_glyph_string_extents(glyphs: PPangoGlyphString; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_glyph_string_extents';
procedure pango_glyph_string_extents_range(glyphs: PPangoGlyphString; start: gint; end_: gint; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_glyph_string_extents_range';
procedure pango_glyph_string_free(string_: PPangoGlyphString); cdecl; external Pango1_library name 'pango_glyph_string_free';
procedure pango_glyph_string_get_logical_widths(glyphs: PPangoGlyphString; text: Pgchar; length: gint; embedding_level: gint; logical_widths: Pgint); cdecl; external Pango1_library name 'pango_glyph_string_get_logical_widths';
procedure pango_glyph_string_index_to_x(glyphs: PPangoGlyphString; text: Pgchar; length: gint; analysis: PPangoAnalysis; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; external Pango1_library name 'pango_glyph_string_index_to_x';
procedure pango_glyph_string_index_to_x_full(glyphs: PPangoGlyphString; text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; external Pango1_library name 'pango_glyph_string_index_to_x_full';
procedure pango_glyph_string_set_size(string_: PPangoGlyphString; new_len: gint); cdecl; external Pango1_library name 'pango_glyph_string_set_size';
procedure pango_glyph_string_x_to_index(glyphs: PPangoGlyphString; text: Pgchar; length: gint; analysis: PPangoAnalysis; x_pos: gint; index_: Pgint; trailing: Pgint); cdecl; external Pango1_library name 'pango_glyph_string_x_to_index';
procedure pango_item_apply_attrs(item: PPangoItem; iter: PPangoAttrIterator); cdecl; external Pango1_library name 'pango_item_apply_attrs';
procedure pango_item_free(item: PPangoItem); cdecl; external Pango1_library name 'pango_item_free';
procedure pango_layout_context_changed(layout: PPangoLayout); cdecl; external Pango1_library name 'pango_layout_context_changed';
procedure pango_layout_get_caret_pos(layout: PPangoLayout; index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_get_caret_pos';
procedure pango_layout_get_cursor_pos(layout: PPangoLayout; index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_get_cursor_pos';
procedure pango_layout_get_extents(layout: PPangoLayout; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_get_extents';
procedure pango_layout_get_log_attrs(layout: PPangoLayout; attrs: PPPangoLogAttr; n_attrs: Pgint); cdecl; external Pango1_library name 'pango_layout_get_log_attrs';
procedure pango_layout_get_pixel_extents(layout: PPangoLayout; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_get_pixel_extents';
procedure pango_layout_get_pixel_size(layout: PPangoLayout; width: Pgint; height: Pgint); cdecl; external Pango1_library name 'pango_layout_get_pixel_size';
procedure pango_layout_get_size(layout: PPangoLayout; width: Pgint; height: Pgint); cdecl; external Pango1_library name 'pango_layout_get_size';
procedure pango_layout_index_to_line_x(layout: PPangoLayout; index_: gint; trailing: gboolean; line: Pgint; x_pos: Pgint); cdecl; external Pango1_library name 'pango_layout_index_to_line_x';
procedure pango_layout_index_to_pos(layout: PPangoLayout; index_: gint; pos: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_index_to_pos';
procedure pango_layout_iter_free(iter: PPangoLayoutIter); cdecl; external Pango1_library name 'pango_layout_iter_free';
procedure pango_layout_iter_get_char_extents(iter: PPangoLayoutIter; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_iter_get_char_extents';
procedure pango_layout_iter_get_cluster_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_iter_get_cluster_extents';
procedure pango_layout_iter_get_layout_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_iter_get_layout_extents';
procedure pango_layout_iter_get_line_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_iter_get_line_extents';
procedure pango_layout_iter_get_line_yrange(iter: PPangoLayoutIter; y0_: Pgint; y1_: Pgint); cdecl; external Pango1_library name 'pango_layout_iter_get_line_yrange';
procedure pango_layout_iter_get_run_extents(iter: PPangoLayoutIter; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_iter_get_run_extents';
procedure pango_layout_line_get_extents(line: PPangoLayoutLine; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_line_get_extents';
procedure pango_layout_line_get_height(line: PPangoLayoutLine; height: Pgint); cdecl; external Pango1_library name 'pango_layout_line_get_height';
procedure pango_layout_line_get_pixel_extents(layout_line: PPangoLayoutLine; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_layout_line_get_pixel_extents';
procedure pango_layout_line_get_x_ranges(line: PPangoLayoutLine; start_index: gint; end_index: gint; ranges: PPgint; n_ranges: Pgint); cdecl; external Pango1_library name 'pango_layout_line_get_x_ranges';
procedure pango_layout_line_index_to_x(line: PPangoLayoutLine; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl; external Pango1_library name 'pango_layout_line_index_to_x';
procedure pango_layout_line_unref(line: PPangoLayoutLine); cdecl; external Pango1_library name 'pango_layout_line_unref';
procedure pango_layout_move_cursor_visually(layout: PPangoLayout; strong: gboolean; old_index: gint; old_trailing: gint; direction: gint; new_index: Pgint; new_trailing: Pgint); cdecl; external Pango1_library name 'pango_layout_move_cursor_visually';
procedure pango_layout_set_alignment(layout: PPangoLayout; alignment: TPangoAlignment); cdecl; external Pango1_library name 'pango_layout_set_alignment';
procedure pango_layout_set_attributes(layout: PPangoLayout; attrs: PPangoAttrList); cdecl; external Pango1_library name 'pango_layout_set_attributes';
procedure pango_layout_set_auto_dir(layout: PPangoLayout; auto_dir: gboolean); cdecl; external Pango1_library name 'pango_layout_set_auto_dir';
procedure pango_layout_set_ellipsize(layout: PPangoLayout; ellipsize: TPangoEllipsizeMode); cdecl; external Pango1_library name 'pango_layout_set_ellipsize';
procedure pango_layout_set_font_description(layout: PPangoLayout; desc: PPangoFontDescription); cdecl; external Pango1_library name 'pango_layout_set_font_description';
procedure pango_layout_set_height(layout: PPangoLayout; height: gint); cdecl; external Pango1_library name 'pango_layout_set_height';
procedure pango_layout_set_indent(layout: PPangoLayout; indent: gint); cdecl; external Pango1_library name 'pango_layout_set_indent';
procedure pango_layout_set_justify(layout: PPangoLayout; justify: gboolean); cdecl; external Pango1_library name 'pango_layout_set_justify';
procedure pango_layout_set_justify_last_line(layout: PPangoLayout; justify: gboolean); cdecl; external Pango1_library name 'pango_layout_set_justify_last_line';
procedure pango_layout_set_line_spacing(layout: PPangoLayout; factor: gfloat); cdecl; external Pango1_library name 'pango_layout_set_line_spacing';
procedure pango_layout_set_markup(layout: PPangoLayout; markup: Pgchar; length: gint); cdecl; external Pango1_library name 'pango_layout_set_markup';
procedure pango_layout_set_markup_with_accel(layout: PPangoLayout; markup: Pgchar; length: gint; accel_marker: gunichar; accel_char: Pgunichar); cdecl; external Pango1_library name 'pango_layout_set_markup_with_accel';
procedure pango_layout_set_single_paragraph_mode(layout: PPangoLayout; setting: gboolean); cdecl; external Pango1_library name 'pango_layout_set_single_paragraph_mode';
procedure pango_layout_set_spacing(layout: PPangoLayout; spacing: gint); cdecl; external Pango1_library name 'pango_layout_set_spacing';
procedure pango_layout_set_tabs(layout: PPangoLayout; tabs: PPangoTabArray); cdecl; external Pango1_library name 'pango_layout_set_tabs';
procedure pango_layout_set_text(layout: PPangoLayout; text: Pgchar; length: gint); cdecl; external Pango1_library name 'pango_layout_set_text';
procedure pango_layout_set_width(layout: PPangoLayout; width: gint); cdecl; external Pango1_library name 'pango_layout_set_width';
procedure pango_layout_set_wrap(layout: PPangoLayout; wrap: TPangoWrapMode); cdecl; external Pango1_library name 'pango_layout_set_wrap';
procedure pango_matrix_concat(matrix: PPangoMatrix; new_matrix: PPangoMatrix); cdecl; external Pango1_library name 'pango_matrix_concat';
procedure pango_matrix_free(matrix: PPangoMatrix); cdecl; external Pango1_library name 'pango_matrix_free';
procedure pango_matrix_get_font_scale_factors(matrix: PPangoMatrix; xscale: Pgdouble; yscale: Pgdouble); cdecl; external Pango1_library name 'pango_matrix_get_font_scale_factors';
procedure pango_matrix_rotate(matrix: PPangoMatrix; degrees: gdouble); cdecl; external Pango1_library name 'pango_matrix_rotate';
procedure pango_matrix_scale(matrix: PPangoMatrix; scale_x: gdouble; scale_y: gdouble); cdecl; external Pango1_library name 'pango_matrix_scale';
procedure pango_matrix_transform_distance(matrix: PPangoMatrix; dx: Pgdouble; dy: Pgdouble); cdecl; external Pango1_library name 'pango_matrix_transform_distance';
procedure pango_matrix_transform_pixel_rectangle(matrix: PPangoMatrix; rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_matrix_transform_pixel_rectangle';
procedure pango_matrix_transform_point(matrix: PPangoMatrix; x: Pgdouble; y: Pgdouble); cdecl; external Pango1_library name 'pango_matrix_transform_point';
procedure pango_matrix_transform_rectangle(matrix: PPangoMatrix; rect: PPangoRectangle); cdecl; external Pango1_library name 'pango_matrix_transform_rectangle';
procedure pango_matrix_translate(matrix: PPangoMatrix; tx: gdouble; ty: gdouble); cdecl; external Pango1_library name 'pango_matrix_translate';
procedure pango_quantize_line_geometry(thickness: Pgint; position: Pgint); cdecl; external Pango1_library name 'pango_quantize_line_geometry';
procedure pango_renderer_activate(renderer: PPangoRenderer); cdecl; external Pango1_library name 'pango_renderer_activate';
procedure pango_renderer_deactivate(renderer: PPangoRenderer); cdecl; external Pango1_library name 'pango_renderer_deactivate';
procedure pango_renderer_draw_error_underline(renderer: PPangoRenderer; x: gint; y: gint; width: gint; height: gint); cdecl; external Pango1_library name 'pango_renderer_draw_error_underline';
procedure pango_renderer_draw_glyph(renderer: PPangoRenderer; font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl; external Pango1_library name 'pango_renderer_draw_glyph';
procedure pango_renderer_draw_glyph_item(renderer: PPangoRenderer; text: Pgchar; glyph_item: PPangoGlyphItem; x: gint; y: gint); cdecl; external Pango1_library name 'pango_renderer_draw_glyph_item';
procedure pango_renderer_draw_glyphs(renderer: PPangoRenderer; font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl; external Pango1_library name 'pango_renderer_draw_glyphs';
procedure pango_renderer_draw_layout(renderer: PPangoRenderer; layout: PPangoLayout; x: gint; y: gint); cdecl; external Pango1_library name 'pango_renderer_draw_layout';
procedure pango_renderer_draw_layout_line(renderer: PPangoRenderer; line: PPangoLayoutLine; x: gint; y: gint); cdecl; external Pango1_library name 'pango_renderer_draw_layout_line';
procedure pango_renderer_draw_rectangle(renderer: PPangoRenderer; part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl; external Pango1_library name 'pango_renderer_draw_rectangle';
procedure pango_renderer_draw_trapezoid(renderer: PPangoRenderer; part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl; external Pango1_library name 'pango_renderer_draw_trapezoid';
procedure pango_renderer_part_changed(renderer: PPangoRenderer; part: TPangoRenderPart); cdecl; external Pango1_library name 'pango_renderer_part_changed';
procedure pango_renderer_set_alpha(renderer: PPangoRenderer; part: TPangoRenderPart; alpha: guint16); cdecl; external Pango1_library name 'pango_renderer_set_alpha';
procedure pango_renderer_set_color(renderer: PPangoRenderer; part: TPangoRenderPart; color: PPangoColor); cdecl; external Pango1_library name 'pango_renderer_set_color';
procedure pango_renderer_set_matrix(renderer: PPangoRenderer; matrix: PPangoMatrix); cdecl; external Pango1_library name 'pango_renderer_set_matrix';
procedure pango_script_iter_free(iter: PPangoScriptIter); cdecl; external Pango1_library name 'pango_script_iter_free';
procedure pango_script_iter_get_range(iter: PPangoScriptIter; start: PPgchar; end_: PPgchar; script: PPangoScript); cdecl; external Pango1_library name 'pango_script_iter_get_range';
procedure pango_shape(text: Pgchar; length: gint; analysis: PPangoAnalysis; glyphs: PPangoGlyphString); cdecl; external Pango1_library name 'pango_shape';
procedure pango_shape_full(item_text: Pgchar; item_length: gint; paragraph_text: Pgchar; paragraph_length: gint; analysis: PPangoAnalysis; glyphs: PPangoGlyphString); cdecl; external Pango1_library name 'pango_shape_full';
procedure pango_shape_item(item: PPangoItem; paragraph_text: Pgchar; paragraph_length: gint; log_attrs: PPangoLogAttr; glyphs: PPangoGlyphString; flags: TPangoShapeFlags); cdecl; external Pango1_library name 'pango_shape_item';
procedure pango_shape_with_flags(item_text: Pgchar; item_length: gint; paragraph_text: Pgchar; paragraph_length: gint; analysis: PPangoAnalysis; glyphs: PPangoGlyphString; flags: TPangoShapeFlags); cdecl; external Pango1_library name 'pango_shape_with_flags';
procedure pango_tab_array_free(tab_array: PPangoTabArray); cdecl; external Pango1_library name 'pango_tab_array_free';
procedure pango_tab_array_get_tab(tab_array: PPangoTabArray; tab_index: gint; alignment: PPangoTabAlign; location: Pgint); cdecl; external Pango1_library name 'pango_tab_array_get_tab';
procedure pango_tab_array_get_tabs(tab_array: PPangoTabArray; alignments: PPPangoTabAlign; locations: PPgint); cdecl; external Pango1_library name 'pango_tab_array_get_tabs';
procedure pango_tab_array_resize(tab_array: PPangoTabArray; new_size: gint); cdecl; external Pango1_library name 'pango_tab_array_resize';
procedure pango_tab_array_set_decimal_point(tab_array: PPangoTabArray; tab_index: gint; decimal_point: gunichar); cdecl; external Pango1_library name 'pango_tab_array_set_decimal_point';
procedure pango_tab_array_set_positions_in_pixels(tab_array: PPangoTabArray; positions_in_pixels: gboolean); cdecl; external Pango1_library name 'pango_tab_array_set_positions_in_pixels';
procedure pango_tab_array_set_tab(tab_array: PPangoTabArray; tab_index: gint; alignment: TPangoTabAlign; location: gint); cdecl; external Pango1_library name 'pango_tab_array_set_tab';
procedure pango_tab_array_sort(tab_array: PPangoTabArray); cdecl; external Pango1_library name 'pango_tab_array_sort';
procedure pango_tailor_break(text: Pgchar; length: gint; analysis: PPangoAnalysis; offset: gint; attrs: PPangoLogAttr; attrs_len: gint); cdecl; external Pango1_library name 'pango_tailor_break';
implementation
function TPangoGlyphItem.apply_attrs(text: Pgchar; list: PPangoAttrList): PGSList; cdecl;
begin
  Result := Pango1.pango_glyph_item_apply_attrs(@self, text, list);
end;

function TPangoGlyphItem.copy: PPangoGlyphItem; cdecl;
begin
  Result := Pango1.pango_glyph_item_copy(@self);
end;

procedure TPangoGlyphItem.free; cdecl;
begin
  Pango1.pango_glyph_item_free(@self);
end;

procedure TPangoGlyphItem.get_logical_widths(text: Pgchar; logical_widths: Pgint); cdecl;
begin
  Pango1.pango_glyph_item_get_logical_widths(@self, text, logical_widths);
end;

procedure TPangoGlyphItem.letter_space(text: Pgchar; log_attrs: PPangoLogAttr; letter_spacing: gint); cdecl;
begin
  Pango1.pango_glyph_item_letter_space(@self, text, log_attrs, letter_spacing);
end;

function TPangoGlyphItem.split(text: Pgchar; split_index: gint): PPangoGlyphItem; cdecl;
begin
  Result := Pango1.pango_glyph_item_split(@self, text, split_index);
end;

procedure TPangoFont.descriptions_free(descs: PPPangoFontDescription; n_descs: gint); cdecl;
begin
  Pango1.pango_font_descriptions_free(descs, n_descs);
end;

function TPangoFont.deserialize(context: PPangoContext; bytes: PGBytes; error: PPGError): PPangoFont; cdecl;
begin
  Result := Pango1.pango_font_deserialize(context, bytes, error);
end;

function TPangoFont.describe: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_describe(@self);
end;

function TPangoFont.describe_with_absolute_size: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_describe_with_absolute_size(@self);
end;

function TPangoFont.get_coverage(language: PPangoLanguage): PPangoCoverage; cdecl;
begin
  Result := Pango1.pango_font_get_coverage(@self, language);
end;

function TPangoFont.get_face: PPangoFontFace; cdecl;
begin
  Result := Pango1.pango_font_get_face(@self);
end;

procedure TPangoFont.get_features(features: Phb_feature_t; len: guint; num_features: Pguint); cdecl;
begin
  Pango1.pango_font_get_features(@self, features, len, num_features);
end;

function TPangoFont.get_font_map: PPangoFontMap; cdecl;
begin
  Result := Pango1.pango_font_get_font_map(@self);
end;

procedure TPangoFont.get_glyph_extents(glyph: TPangoGlyph; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_font_get_glyph_extents(@self, glyph, ink_rect, logical_rect);
end;

function TPangoFont.get_hb_font: Phb_font_t; cdecl;
begin
  Result := Pango1.pango_font_get_hb_font(@self);
end;

function TPangoFont.get_languages: PPPangoLanguage; cdecl;
begin
  Result := Pango1.pango_font_get_languages(@self);
end;

function TPangoFont.get_metrics(language: PPangoLanguage): PPangoFontMetrics; cdecl;
begin
  Result := Pango1.pango_font_get_metrics(@self, language);
end;

function TPangoFont.has_char(wc: gunichar): gboolean; cdecl;
begin
  Result := Pango1.pango_font_has_char(@self, wc);
end;

function TPangoFont.serialize: PGBytes; cdecl;
begin
  Result := Pango1.pango_font_serialize(@self);
end;

function TPangoLanguage.get_sample_string: Pgchar; cdecl;
begin
  Result := Pango1.pango_language_get_sample_string(@self);
end;

function TPangoLanguage.get_scripts(num_scripts: Pgint): PPangoScript; cdecl;
begin
  Result := Pango1.pango_language_get_scripts(@self, num_scripts);
end;

function TPangoLanguage.includes_script(script: TPangoScript): gboolean; cdecl;
begin
  Result := Pango1.pango_language_includes_script(@self, script);
end;

function TPangoLanguage.matches(range_list: Pgchar): gboolean; cdecl;
begin
  Result := Pango1.pango_language_matches(@self, range_list);
end;

function TPangoLanguage.to_string: Pgchar; cdecl;
begin
  Result := Pango1.pango_language_to_string(@self);
end;

function TPangoLanguage.from_string(language: Pgchar): PPangoLanguage; cdecl;
begin
  Result := Pango1.pango_language_from_string(language);
end;

function TPangoLanguage.get_default: PPangoLanguage; cdecl;
begin
  Result := Pango1.pango_language_get_default();
end;

function TPangoLanguage.get_preferred: PPPangoLanguage; cdecl;
begin
  Result := Pango1.pango_language_get_preferred();
end;

function TPangoAttribute.as_color: PPangoAttrColor; cdecl;
begin
  Result := Pango1.pango_attribute_as_color(@self);
end;

function TPangoAttribute.as_float: PPangoAttrFloat; cdecl;
begin
  Result := Pango1.pango_attribute_as_float(@self);
end;

function TPangoAttribute.as_font_desc: PPangoAttrFontDesc; cdecl;
begin
  Result := Pango1.pango_attribute_as_font_desc(@self);
end;

function TPangoAttribute.as_font_features: PPangoAttrFontFeatures; cdecl;
begin
  Result := Pango1.pango_attribute_as_font_features(@self);
end;

function TPangoAttribute.as_int: PPangoAttrInt; cdecl;
begin
  Result := Pango1.pango_attribute_as_int(@self);
end;

function TPangoAttribute.as_language: PPangoAttrLanguage; cdecl;
begin
  Result := Pango1.pango_attribute_as_language(@self);
end;

function TPangoAttribute.as_shape: PPangoAttrShape; cdecl;
begin
  Result := Pango1.pango_attribute_as_shape(@self);
end;

function TPangoAttribute.as_size: PPangoAttrSize; cdecl;
begin
  Result := Pango1.pango_attribute_as_size(@self);
end;

function TPangoAttribute.as_string: PPangoAttrString; cdecl;
begin
  Result := Pango1.pango_attribute_as_string(@self);
end;

function TPangoAttribute.copy: PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attribute_copy(@self);
end;

procedure TPangoAttribute.destroy_; cdecl;
begin
  Pango1.pango_attribute_destroy(@self);
end;

function TPangoAttribute.equal(attr2: PPangoAttribute): gboolean; cdecl;
begin
  Result := Pango1.pango_attribute_equal(@self, attr2);
end;

procedure TPangoAttribute.init(klass: PPangoAttrClass); cdecl;
begin
  Pango1.pango_attribute_init(@self, klass);
end;

function TPangoColor.copy: PPangoColor; cdecl;
begin
  Result := Pango1.pango_color_copy(@self);
end;

procedure TPangoColor.free; cdecl;
begin
  Pango1.pango_color_free(@self);
end;

function TPangoColor.parse(spec: Pgchar): gboolean; cdecl;
begin
  Result := Pango1.pango_color_parse(@self, spec);
end;

function TPangoColor.parse_with_alpha(alpha: Pguint16; spec: Pgchar): gboolean; cdecl;
begin
  Result := Pango1.pango_color_parse_with_alpha(@self, alpha, spec);
end;

function TPangoColor.to_string: Pgchar; cdecl;
begin
  Result := Pango1.pango_color_to_string(@self);
end;

function TPangoFontDescription.new: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_description_new();
end;

function TPangoFontDescription.better_match(old_match: PPangoFontDescription; new_match: PPangoFontDescription): gboolean; cdecl;
begin
  Result := Pango1.pango_font_description_better_match(@self, old_match, new_match);
end;

function TPangoFontDescription.copy: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_description_copy(@self);
end;

function TPangoFontDescription.copy_static: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_description_copy_static(@self);
end;

function TPangoFontDescription.equal(desc2: PPangoFontDescription): gboolean; cdecl;
begin
  Result := Pango1.pango_font_description_equal(@self, desc2);
end;

procedure TPangoFontDescription.free; cdecl;
begin
  Pango1.pango_font_description_free(@self);
end;

function TPangoFontDescription.get_family: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_description_get_family(@self);
end;

function TPangoFontDescription.get_features: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_description_get_features(@self);
end;

function TPangoFontDescription.get_gravity: TPangoGravity; cdecl;
begin
  Result := Pango1.pango_font_description_get_gravity(@self);
end;

function TPangoFontDescription.get_set_fields: TPangoFontMask; cdecl;
begin
  Result := Pango1.pango_font_description_get_set_fields(@self);
end;

function TPangoFontDescription.get_size: gint; cdecl;
begin
  Result := Pango1.pango_font_description_get_size(@self);
end;

function TPangoFontDescription.get_size_is_absolute: gboolean; cdecl;
begin
  Result := Pango1.pango_font_description_get_size_is_absolute(@self);
end;

function TPangoFontDescription.get_stretch: TPangoStretch; cdecl;
begin
  Result := Pango1.pango_font_description_get_stretch(@self);
end;

function TPangoFontDescription.get_style: TPangoStyle; cdecl;
begin
  Result := Pango1.pango_font_description_get_style(@self);
end;

function TPangoFontDescription.get_variant: TPangoVariant; cdecl;
begin
  Result := Pango1.pango_font_description_get_variant(@self);
end;

function TPangoFontDescription.get_variations: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_description_get_variations(@self);
end;

function TPangoFontDescription.get_weight: TPangoWeight; cdecl;
begin
  Result := Pango1.pango_font_description_get_weight(@self);
end;

function TPangoFontDescription.hash: guint; cdecl;
begin
  Result := Pango1.pango_font_description_hash(@self);
end;

procedure TPangoFontDescription.merge(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl;
begin
  Pango1.pango_font_description_merge(@self, desc_to_merge, replace_existing);
end;

procedure TPangoFontDescription.merge_static(desc_to_merge: PPangoFontDescription; replace_existing: gboolean); cdecl;
begin
  Pango1.pango_font_description_merge_static(@self, desc_to_merge, replace_existing);
end;

procedure TPangoFontDescription.set_absolute_size(size: gdouble); cdecl;
begin
  Pango1.pango_font_description_set_absolute_size(@self, size);
end;

procedure TPangoFontDescription.set_family(family: Pgchar); cdecl;
begin
  Pango1.pango_font_description_set_family(@self, family);
end;

procedure TPangoFontDescription.set_family_static(family: Pgchar); cdecl;
begin
  Pango1.pango_font_description_set_family_static(@self, family);
end;

procedure TPangoFontDescription.set_features(features: Pgchar); cdecl;
begin
  Pango1.pango_font_description_set_features(@self, features);
end;

procedure TPangoFontDescription.set_features_static(features: Pgchar); cdecl;
begin
  Pango1.pango_font_description_set_features_static(@self, features);
end;

procedure TPangoFontDescription.set_gravity(gravity: TPangoGravity); cdecl;
begin
  Pango1.pango_font_description_set_gravity(@self, gravity);
end;

procedure TPangoFontDescription.set_size(size: gint); cdecl;
begin
  Pango1.pango_font_description_set_size(@self, size);
end;

procedure TPangoFontDescription.set_stretch(stretch: TPangoStretch); cdecl;
begin
  Pango1.pango_font_description_set_stretch(@self, stretch);
end;

procedure TPangoFontDescription.set_style(style: TPangoStyle); cdecl;
begin
  Pango1.pango_font_description_set_style(@self, style);
end;

procedure TPangoFontDescription.set_variant(variant: TPangoVariant); cdecl;
begin
  Pango1.pango_font_description_set_variant(@self, variant);
end;

procedure TPangoFontDescription.set_variations(variations: Pgchar); cdecl;
begin
  Pango1.pango_font_description_set_variations(@self, variations);
end;

procedure TPangoFontDescription.set_variations_static(variations: Pgchar); cdecl;
begin
  Pango1.pango_font_description_set_variations_static(@self, variations);
end;

procedure TPangoFontDescription.set_weight(weight: TPangoWeight); cdecl;
begin
  Pango1.pango_font_description_set_weight(@self, weight);
end;

function TPangoFontDescription.to_filename: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_description_to_filename(@self);
end;

function TPangoFontDescription.to_string: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_description_to_string(@self);
end;

procedure TPangoFontDescription.unset_fields(to_unset: TPangoFontMask); cdecl;
begin
  Pango1.pango_font_description_unset_fields(@self, to_unset);
end;

function TPangoFontDescription.from_string(str: Pgchar): PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_description_from_string(str);
end;

function TPangoAttrFontDesc.new(desc: PPangoFontDescription): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_font_desc_new(desc);
end;

function TPangoAttrFontFeatures.new(features: Pgchar): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_font_features_new(features);
end;

function TPangoAttrIterator.copy: PPangoAttrIterator; cdecl;
begin
  Result := Pango1.pango_attr_iterator_copy(@self);
end;

procedure TPangoAttrIterator.destroy_; cdecl;
begin
  Pango1.pango_attr_iterator_destroy(@self);
end;

function TPangoAttrIterator.get(type_: TPangoAttrType): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_iterator_get(@self, type_);
end;

function TPangoAttrIterator.get_attrs: PGSList; cdecl;
begin
  Result := Pango1.pango_attr_iterator_get_attrs(@self);
end;

procedure TPangoAttrIterator.get_font(desc: PPangoFontDescription; language: PPPangoLanguage; extra_attrs: PPGSList); cdecl;
begin
  Pango1.pango_attr_iterator_get_font(@self, desc, language, extra_attrs);
end;

function TPangoAttrIterator.next: gboolean; cdecl;
begin
  Result := Pango1.pango_attr_iterator_next(@self);
end;

procedure TPangoAttrIterator.range(start: Pgint; end_: Pgint); cdecl;
begin
  Pango1.pango_attr_iterator_range(@self, start, end_);
end;

function TPangoAttrLanguage.new(language: PPangoLanguage): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_language_new(language);
end;

function TPangoAttrList.new: PPangoAttrList; cdecl;
begin
  Result := Pango1.pango_attr_list_new();
end;

procedure TPangoAttrList.change(attr: PPangoAttribute); cdecl;
begin
  Pango1.pango_attr_list_change(@self, attr);
end;

function TPangoAttrList.copy: PPangoAttrList; cdecl;
begin
  Result := Pango1.pango_attr_list_copy(@self);
end;

function TPangoAttrList.equal(other_list: PPangoAttrList): gboolean; cdecl;
begin
  Result := Pango1.pango_attr_list_equal(@self, other_list);
end;

function TPangoAttrList.filter(func: TPangoAttrFilterFunc; data: gpointer): PPangoAttrList; cdecl;
begin
  Result := Pango1.pango_attr_list_filter(@self, func, data);
end;

function TPangoAttrList.get_attributes: PGSList; cdecl;
begin
  Result := Pango1.pango_attr_list_get_attributes(@self);
end;

function TPangoAttrList.get_iterator: PPangoAttrIterator; cdecl;
begin
  Result := Pango1.pango_attr_list_get_iterator(@self);
end;

procedure TPangoAttrList.insert(attr: PPangoAttribute); cdecl;
begin
  Pango1.pango_attr_list_insert(@self, attr);
end;

procedure TPangoAttrList.insert_before(attr: PPangoAttribute); cdecl;
begin
  Pango1.pango_attr_list_insert_before(@self, attr);
end;

function TPangoAttrList.ref: PPangoAttrList; cdecl;
begin
  Result := Pango1.pango_attr_list_ref(@self);
end;

procedure TPangoAttrList.splice(other: PPangoAttrList; pos: gint; len: gint); cdecl;
begin
  Pango1.pango_attr_list_splice(@self, other, pos, len);
end;

function TPangoAttrList.to_string: Pgchar; cdecl;
begin
  Result := Pango1.pango_attr_list_to_string(@self);
end;

procedure TPangoAttrList.unref; cdecl;
begin
  Pango1.pango_attr_list_unref(@self);
end;

procedure TPangoAttrList.update(pos: gint; remove: gint; add: gint); cdecl;
begin
  Pango1.pango_attr_list_update(@self, pos, remove, add);
end;

function TPangoAttrList.from_string(text: Pgchar): PPangoAttrList; cdecl;
begin
  Result := Pango1.pango_attr_list_from_string(text);
end;

function TPangoAttrShape.new(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_shape_new(ink_rect, logical_rect);
end;

function TPangoAttrShape.new_with_data(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle; data: gpointer; copy_func: TPangoAttrDataCopyFunc; destroy_func: TGDestroyNotify): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_shape_new_with_data(ink_rect, logical_rect, data, copy_func, destroy_func);
end;

function TPangoAttrSize.new(size: gint): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_size_new(size);
end;

function TPangoAttrSize.new_absolute(size: gint): PPangoAttribute; cdecl;
begin
  Result := Pango1.pango_attr_size_new_absolute(size);
end;

function TPangoContext.new: PPangoContext; cdecl;
begin
  Result := Pango1.pango_context_new();
end;

procedure TPangoContext.changed; cdecl;
begin
  Pango1.pango_context_changed(@self);
end;

function TPangoContext.get_base_dir: TPangoDirection; cdecl;
begin
  Result := Pango1.pango_context_get_base_dir(@self);
end;

function TPangoContext.get_base_gravity: TPangoGravity; cdecl;
begin
  Result := Pango1.pango_context_get_base_gravity(@self);
end;

function TPangoContext.get_font_description: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_context_get_font_description(@self);
end;

function TPangoContext.get_font_map: PPangoFontMap; cdecl;
begin
  Result := Pango1.pango_context_get_font_map(@self);
end;

function TPangoContext.get_gravity: TPangoGravity; cdecl;
begin
  Result := Pango1.pango_context_get_gravity(@self);
end;

function TPangoContext.get_gravity_hint: TPangoGravityHint; cdecl;
begin
  Result := Pango1.pango_context_get_gravity_hint(@self);
end;

function TPangoContext.get_language: PPangoLanguage; cdecl;
begin
  Result := Pango1.pango_context_get_language(@self);
end;

function TPangoContext.get_matrix: PPangoMatrix; cdecl;
begin
  Result := Pango1.pango_context_get_matrix(@self);
end;

function TPangoContext.get_metrics(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontMetrics; cdecl;
begin
  Result := Pango1.pango_context_get_metrics(@self, desc, language);
end;

function TPangoContext.get_round_glyph_positions: gboolean; cdecl;
begin
  Result := Pango1.pango_context_get_round_glyph_positions(@self);
end;

function TPangoContext.get_serial: guint; cdecl;
begin
  Result := Pango1.pango_context_get_serial(@self);
end;

procedure TPangoContext.list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl;
begin
  Pango1.pango_context_list_families(@self, families, n_families);
end;

function TPangoContext.load_font(desc: PPangoFontDescription): PPangoFont; cdecl;
begin
  Result := Pango1.pango_context_load_font(@self, desc);
end;

function TPangoContext.load_fontset(desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl;
begin
  Result := Pango1.pango_context_load_fontset(@self, desc, language);
end;

procedure TPangoContext.set_base_dir(direction: TPangoDirection); cdecl;
begin
  Pango1.pango_context_set_base_dir(@self, direction);
end;

procedure TPangoContext.set_base_gravity(gravity: TPangoGravity); cdecl;
begin
  Pango1.pango_context_set_base_gravity(@self, gravity);
end;

procedure TPangoContext.set_font_description(desc: PPangoFontDescription); cdecl;
begin
  Pango1.pango_context_set_font_description(@self, desc);
end;

procedure TPangoContext.set_font_map(font_map: PPangoFontMap); cdecl;
begin
  Pango1.pango_context_set_font_map(@self, font_map);
end;

procedure TPangoContext.set_gravity_hint(hint: TPangoGravityHint); cdecl;
begin
  Pango1.pango_context_set_gravity_hint(@self, hint);
end;

procedure TPangoContext.set_language(language: PPangoLanguage); cdecl;
begin
  Pango1.pango_context_set_language(@self, language);
end;

procedure TPangoContext.set_matrix(matrix: PPangoMatrix); cdecl;
begin
  Pango1.pango_context_set_matrix(@self, matrix);
end;

procedure TPangoContext.set_round_glyph_positions(round_positions: gboolean); cdecl;
begin
  Pango1.pango_context_set_round_glyph_positions(@self, round_positions);
end;

function TPangoFontMap.add_font_file(filename: Pgchar; error: PPGError): gboolean; cdecl;
begin
  Result := Pango1.pango_font_map_add_font_file(@self, filename, error);
end;

procedure TPangoFontMap.changed; cdecl;
begin
  Pango1.pango_font_map_changed(@self);
end;

function TPangoFontMap.create_context: PPangoContext; cdecl;
begin
  Result := Pango1.pango_font_map_create_context(@self);
end;

function TPangoFontMap.get_family(name: Pgchar): PPangoFontFamily; cdecl;
begin
  Result := Pango1.pango_font_map_get_family(@self, name);
end;

function TPangoFontMap.get_serial: guint; cdecl;
begin
  Result := Pango1.pango_font_map_get_serial(@self);
end;

procedure TPangoFontMap.list_families(families: PPPPangoFontFamily; n_families: Pgint); cdecl;
begin
  Pango1.pango_font_map_list_families(@self, families, n_families);
end;

function TPangoFontMap.load_font(context: PPangoContext; desc: PPangoFontDescription): PPangoFont; cdecl;
begin
  Result := Pango1.pango_font_map_load_font(@self, context, desc);
end;

function TPangoFontMap.load_fontset(context: PPangoContext; desc: PPangoFontDescription; language: PPangoLanguage): PPangoFontset; cdecl;
begin
  Result := Pango1.pango_font_map_load_fontset(@self, context, desc, language);
end;

function TPangoFontMap.reload_font(font: PPangoFont; scale: gdouble; context: PPangoContext; variations: Pgchar): PPangoFont; cdecl;
begin
  Result := Pango1.pango_font_map_reload_font(@self, font, scale, context, variations);
end;

procedure TPangoMatrix.concat(new_matrix: PPangoMatrix); cdecl;
begin
  Pango1.pango_matrix_concat(@self, new_matrix);
end;

function TPangoMatrix.copy: PPangoMatrix; cdecl;
begin
  Result := Pango1.pango_matrix_copy(@self);
end;

procedure TPangoMatrix.free; cdecl;
begin
  Pango1.pango_matrix_free(@self);
end;

function TPangoMatrix.get_font_scale_factor: gdouble; cdecl;
begin
  Result := Pango1.pango_matrix_get_font_scale_factor(@self);
end;

procedure TPangoMatrix.get_font_scale_factors(xscale: Pgdouble; yscale: Pgdouble); cdecl;
begin
  Pango1.pango_matrix_get_font_scale_factors(@self, xscale, yscale);
end;

function TPangoMatrix.get_slant_ratio: gdouble; cdecl;
begin
  Result := Pango1.pango_matrix_get_slant_ratio(@self);
end;

procedure TPangoMatrix.rotate(degrees: gdouble); cdecl;
begin
  Pango1.pango_matrix_rotate(@self, degrees);
end;

procedure TPangoMatrix.scale(scale_x: gdouble; scale_y: gdouble); cdecl;
begin
  Pango1.pango_matrix_scale(@self, scale_x, scale_y);
end;

procedure TPangoMatrix.transform_distance(dx: Pgdouble; dy: Pgdouble); cdecl;
begin
  Pango1.pango_matrix_transform_distance(@self, dx, dy);
end;

procedure TPangoMatrix.transform_pixel_rectangle(rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_matrix_transform_pixel_rectangle(@self, rect);
end;

procedure TPangoMatrix.transform_point(x: Pgdouble; y: Pgdouble); cdecl;
begin
  Pango1.pango_matrix_transform_point(@self, x, y);
end;

procedure TPangoMatrix.transform_rectangle(rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_matrix_transform_rectangle(@self, rect);
end;

procedure TPangoMatrix.translate(tx: gdouble; ty: gdouble); cdecl;
begin
  Pango1.pango_matrix_translate(@self, tx, ty);
end;

function TPangoFontMetrics.get_approximate_char_width: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_approximate_char_width(@self);
end;

function TPangoFontMetrics.get_approximate_digit_width: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_approximate_digit_width(@self);
end;

function TPangoFontMetrics.get_ascent: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_ascent(@self);
end;

function TPangoFontMetrics.get_descent: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_descent(@self);
end;

function TPangoFontMetrics.get_height: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_height(@self);
end;

function TPangoFontMetrics.get_strikethrough_position: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_strikethrough_position(@self);
end;

function TPangoFontMetrics.get_strikethrough_thickness: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_strikethrough_thickness(@self);
end;

function TPangoFontMetrics.get_underline_position: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_underline_position(@self);
end;

function TPangoFontMetrics.get_underline_thickness: gint; cdecl;
begin
  Result := Pango1.pango_font_metrics_get_underline_thickness(@self);
end;

function TPangoFontMetrics.ref: PPangoFontMetrics; cdecl;
begin
  Result := Pango1.pango_font_metrics_ref(@self);
end;

procedure TPangoFontMetrics.unref; cdecl;
begin
  Pango1.pango_font_metrics_unref(@self);
end;

function TPangoFontFamily.get_face(name: Pgchar): PPangoFontFace; cdecl;
begin
  Result := Pango1.pango_font_family_get_face(@self, name);
end;

function TPangoFontFamily.get_name: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_family_get_name(@self);
end;

function TPangoFontFamily.is_monospace: gboolean; cdecl;
begin
  Result := Pango1.pango_font_family_is_monospace(@self);
end;

function TPangoFontFamily.is_variable: gboolean; cdecl;
begin
  Result := Pango1.pango_font_family_is_variable(@self);
end;

procedure TPangoFontFamily.list_faces(faces: PPPPangoFontFace; n_faces: Pgint); cdecl;
begin
  Pango1.pango_font_family_list_faces(@self, faces, n_faces);
end;

procedure TPangoFontset.foreach(func: TPangoFontsetForeachFunc; data: gpointer); cdecl;
begin
  Pango1.pango_fontset_foreach(@self, func, data);
end;

function TPangoFontset.get_font(wc: guint): PPangoFont; cdecl;
begin
  Result := Pango1.pango_fontset_get_font(@self, wc);
end;

function TPangoFontset.get_metrics: PPangoFontMetrics; cdecl;
begin
  Result := Pango1.pango_fontset_get_metrics(@self);
end;

function TPangoCoverage.new: PPangoCoverage; cdecl;
begin
  Result := Pango1.pango_coverage_new();
end;

function TPangoCoverage.from_bytes(bytes: Pguint8; n_bytes: gint): PPangoCoverage; cdecl;
begin
  Result := Pango1.pango_coverage_from_bytes(bytes, n_bytes);
end;

function TPangoCoverage.copy: PPangoCoverage; cdecl;
begin
  Result := Pango1.pango_coverage_copy(@self);
end;

function TPangoCoverage.get(index_: gint): TPangoCoverageLevel; cdecl;
begin
  Result := Pango1.pango_coverage_get(@self, index_);
end;

procedure TPangoCoverage.max(other: PPangoCoverage); cdecl;
begin
  Pango1.pango_coverage_max(@self, other);
end;

function TPangoCoverage.ref: PPangoCoverage; cdecl;
begin
  Result := Pango1.pango_coverage_ref(@self);
end;

procedure TPangoCoverage.set_(index_: gint; level: TPangoCoverageLevel); cdecl;
begin
  Pango1.pango_coverage_set(@self, index_, level);
end;

procedure TPangoCoverage.to_bytes(bytes: PPguint8; n_bytes: Pgint); cdecl;
begin
  Pango1.pango_coverage_to_bytes(@self, bytes, n_bytes);
end;

procedure TPangoCoverage.unref; cdecl;
begin
  Pango1.pango_coverage_unref(@self);
end;

function TPangoFontFace.describe: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_font_face_describe(@self);
end;

function TPangoFontFace.get_face_name: Pgchar; cdecl;
begin
  Result := Pango1.pango_font_face_get_face_name(@self);
end;

function TPangoFontFace.get_family: PPangoFontFamily; cdecl;
begin
  Result := Pango1.pango_font_face_get_family(@self);
end;

function TPangoFontFace.is_synthesized: gboolean; cdecl;
begin
  Result := Pango1.pango_font_face_is_synthesized(@self);
end;

procedure TPangoFontFace.list_sizes(sizes: PPgint; n_sizes: Pgint); cdecl;
begin
  Pango1.pango_font_face_list_sizes(@self, sizes, n_sizes);
end;

function TPangoFontsetSimple.new(language: PPangoLanguage): PPangoFontsetSimple; cdecl;
begin
  Result := Pango1.pango_fontset_simple_new(language);
end;

procedure TPangoFontsetSimple.append(font: PPangoFont); cdecl;
begin
  Pango1.pango_fontset_simple_append(@self, font);
end;

function TPangoFontsetSimple.size: gint; cdecl;
begin
  Result := Pango1.pango_fontset_simple_size(@self);
end;

function TPangoItem.new: PPangoItem; cdecl;
begin
  Result := Pango1.pango_item_new();
end;

procedure TPangoItem.apply_attrs(iter: PPangoAttrIterator); cdecl;
begin
  Pango1.pango_item_apply_attrs(@self, iter);
end;

function TPangoItem.copy: PPangoItem; cdecl;
begin
  Result := Pango1.pango_item_copy(@self);
end;

procedure TPangoItem.free; cdecl;
begin
  Pango1.pango_item_free(@self);
end;

function TPangoItem.get_char_offset: gint; cdecl;
begin
  Result := Pango1.pango_item_get_char_offset(@self);
end;

function TPangoItem.split(split_index: gint; split_offset: gint): PPangoItem; cdecl;
begin
  Result := Pango1.pango_item_split(@self, split_index, split_offset);
end;

function TPangoGlyphString.new: PPangoGlyphString; cdecl;
begin
  Result := Pango1.pango_glyph_string_new();
end;

function TPangoGlyphString.copy: PPangoGlyphString; cdecl;
begin
  Result := Pango1.pango_glyph_string_copy(@self);
end;

procedure TPangoGlyphString.extents(font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_glyph_string_extents(@self, font, ink_rect, logical_rect);
end;

procedure TPangoGlyphString.extents_range(start: gint; end_: gint; font: PPangoFont; ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_glyph_string_extents_range(@self, start, end_, font, ink_rect, logical_rect);
end;

procedure TPangoGlyphString.free; cdecl;
begin
  Pango1.pango_glyph_string_free(@self);
end;

procedure TPangoGlyphString.get_logical_widths(text: Pgchar; length: gint; embedding_level: gint; logical_widths: Pgint); cdecl;
begin
  Pango1.pango_glyph_string_get_logical_widths(@self, text, length, embedding_level, logical_widths);
end;

function TPangoGlyphString.get_width: gint; cdecl;
begin
  Result := Pango1.pango_glyph_string_get_width(@self);
end;

procedure TPangoGlyphString.index_to_x(text: Pgchar; length: gint; analysis: PPangoAnalysis; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl;
begin
  Pango1.pango_glyph_string_index_to_x(@self, text, length, analysis, index_, trailing, x_pos);
end;

procedure TPangoGlyphString.index_to_x_full(text: Pgchar; length: gint; analysis: PPangoAnalysis; attrs: PPangoLogAttr; index_: gint; trailing: gboolean; x_pos: Pgint); cdecl;
begin
  Pango1.pango_glyph_string_index_to_x_full(@self, text, length, analysis, attrs, index_, trailing, x_pos);
end;

procedure TPangoGlyphString.set_size(new_len: gint); cdecl;
begin
  Pango1.pango_glyph_string_set_size(@self, new_len);
end;

procedure TPangoGlyphString.x_to_index(text: Pgchar; length: gint; analysis: PPangoAnalysis; x_pos: gint; index_: Pgint; trailing: Pgint); cdecl;
begin
  Pango1.pango_glyph_string_x_to_index(@self, text, length, analysis, x_pos, index_, trailing);
end;

function TPangoGlyphItemIter.copy: PPangoGlyphItemIter; cdecl;
begin
  Result := Pango1.pango_glyph_item_iter_copy(@self);
end;

procedure TPangoGlyphItemIter.free; cdecl;
begin
  Pango1.pango_glyph_item_iter_free(@self);
end;

function TPangoGlyphItemIter.init_end(glyph_item: PPangoGlyphItem; text: Pgchar): gboolean; cdecl;
begin
  Result := Pango1.pango_glyph_item_iter_init_end(@self, glyph_item, text);
end;

function TPangoGlyphItemIter.init_start(glyph_item: PPangoGlyphItem; text: Pgchar): gboolean; cdecl;
begin
  Result := Pango1.pango_glyph_item_iter_init_start(@self, glyph_item, text);
end;

function TPangoGlyphItemIter.next_cluster: gboolean; cdecl;
begin
  Result := Pango1.pango_glyph_item_iter_next_cluster(@self);
end;

function TPangoGlyphItemIter.prev_cluster: gboolean; cdecl;
begin
  Result := Pango1.pango_glyph_item_iter_prev_cluster(@self);
end;

function TPangoLayout.new(context: PPangoContext): PPangoLayout; cdecl;
begin
  Result := Pango1.pango_layout_new(context);
end;

function TPangoLayout.deserialize(context: PPangoContext; bytes: PGBytes; flags: TPangoLayoutDeserializeFlags; error: PPGError): PPangoLayout; cdecl;
begin
  Result := Pango1.pango_layout_deserialize(context, bytes, flags, error);
end;

procedure TPangoLayout.context_changed; cdecl;
begin
  Pango1.pango_layout_context_changed(@self);
end;

function TPangoLayout.copy: PPangoLayout; cdecl;
begin
  Result := Pango1.pango_layout_copy(@self);
end;

function TPangoLayout.get_alignment: TPangoAlignment; cdecl;
begin
  Result := Pango1.pango_layout_get_alignment(@self);
end;

function TPangoLayout.get_attributes: PPangoAttrList; cdecl;
begin
  Result := Pango1.pango_layout_get_attributes(@self);
end;

function TPangoLayout.get_auto_dir: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_get_auto_dir(@self);
end;

function TPangoLayout.get_baseline: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_baseline(@self);
end;

procedure TPangoLayout.get_caret_pos(index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_get_caret_pos(@self, index_, strong_pos, weak_pos);
end;

function TPangoLayout.get_character_count: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_character_count(@self);
end;

function TPangoLayout.get_context: PPangoContext; cdecl;
begin
  Result := Pango1.pango_layout_get_context(@self);
end;

procedure TPangoLayout.get_cursor_pos(index_: gint; strong_pos: PPangoRectangle; weak_pos: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_get_cursor_pos(@self, index_, strong_pos, weak_pos);
end;

function TPangoLayout.get_direction(index: gint): TPangoDirection; cdecl;
begin
  Result := Pango1.pango_layout_get_direction(@self, index);
end;

function TPangoLayout.get_ellipsize: TPangoEllipsizeMode; cdecl;
begin
  Result := Pango1.pango_layout_get_ellipsize(@self);
end;

procedure TPangoLayout.get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_get_extents(@self, ink_rect, logical_rect);
end;

function TPangoLayout.get_font_description: PPangoFontDescription; cdecl;
begin
  Result := Pango1.pango_layout_get_font_description(@self);
end;

function TPangoLayout.get_height: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_height(@self);
end;

function TPangoLayout.get_indent: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_indent(@self);
end;

function TPangoLayout.get_iter: PPangoLayoutIter; cdecl;
begin
  Result := Pango1.pango_layout_get_iter(@self);
end;

function TPangoLayout.get_justify: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_get_justify(@self);
end;

function TPangoLayout.get_justify_last_line: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_get_justify_last_line(@self);
end;

function TPangoLayout.get_line(line: gint): PPangoLayoutLine; cdecl;
begin
  Result := Pango1.pango_layout_get_line(@self, line);
end;

function TPangoLayout.get_line_count: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_line_count(@self);
end;

function TPangoLayout.get_line_readonly(line: gint): PPangoLayoutLine; cdecl;
begin
  Result := Pango1.pango_layout_get_line_readonly(@self, line);
end;

function TPangoLayout.get_line_spacing: gfloat; cdecl;
begin
  Result := Pango1.pango_layout_get_line_spacing(@self);
end;

function TPangoLayout.get_lines: PGSList; cdecl;
begin
  Result := Pango1.pango_layout_get_lines(@self);
end;

function TPangoLayout.get_lines_readonly: PGSList; cdecl;
begin
  Result := Pango1.pango_layout_get_lines_readonly(@self);
end;

procedure TPangoLayout.get_log_attrs(attrs: PPPangoLogAttr; n_attrs: Pgint); cdecl;
begin
  Pango1.pango_layout_get_log_attrs(@self, attrs, n_attrs);
end;

function TPangoLayout.get_log_attrs_readonly(n_attrs: Pgint): PPangoLogAttr; cdecl;
begin
  Result := Pango1.pango_layout_get_log_attrs_readonly(@self, n_attrs);
end;

procedure TPangoLayout.get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_get_pixel_extents(@self, ink_rect, logical_rect);
end;

procedure TPangoLayout.get_pixel_size(width: Pgint; height: Pgint); cdecl;
begin
  Pango1.pango_layout_get_pixel_size(@self, width, height);
end;

function TPangoLayout.get_serial: guint; cdecl;
begin
  Result := Pango1.pango_layout_get_serial(@self);
end;

function TPangoLayout.get_single_paragraph_mode: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_get_single_paragraph_mode(@self);
end;

procedure TPangoLayout.get_size(width: Pgint; height: Pgint); cdecl;
begin
  Pango1.pango_layout_get_size(@self, width, height);
end;

function TPangoLayout.get_spacing: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_spacing(@self);
end;

function TPangoLayout.get_tabs: PPangoTabArray; cdecl;
begin
  Result := Pango1.pango_layout_get_tabs(@self);
end;

function TPangoLayout.get_text: Pgchar; cdecl;
begin
  Result := Pango1.pango_layout_get_text(@self);
end;

function TPangoLayout.get_unknown_glyphs_count: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_unknown_glyphs_count(@self);
end;

function TPangoLayout.get_width: gint; cdecl;
begin
  Result := Pango1.pango_layout_get_width(@self);
end;

function TPangoLayout.get_wrap: TPangoWrapMode; cdecl;
begin
  Result := Pango1.pango_layout_get_wrap(@self);
end;

procedure TPangoLayout.index_to_line_x(index_: gint; trailing: gboolean; line: Pgint; x_pos: Pgint); cdecl;
begin
  Pango1.pango_layout_index_to_line_x(@self, index_, trailing, line, x_pos);
end;

procedure TPangoLayout.index_to_pos(index_: gint; pos: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_index_to_pos(@self, index_, pos);
end;

function TPangoLayout.is_ellipsized: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_is_ellipsized(@self);
end;

function TPangoLayout.is_wrapped: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_is_wrapped(@self);
end;

procedure TPangoLayout.move_cursor_visually(strong: gboolean; old_index: gint; old_trailing: gint; direction: gint; new_index: Pgint; new_trailing: Pgint); cdecl;
begin
  Pango1.pango_layout_move_cursor_visually(@self, strong, old_index, old_trailing, direction, new_index, new_trailing);
end;

function TPangoLayout.serialize(flags: TPangoLayoutSerializeFlags): PGBytes; cdecl;
begin
  Result := Pango1.pango_layout_serialize(@self, flags);
end;

procedure TPangoLayout.set_alignment(alignment: TPangoAlignment); cdecl;
begin
  Pango1.pango_layout_set_alignment(@self, alignment);
end;

procedure TPangoLayout.set_attributes(attrs: PPangoAttrList); cdecl;
begin
  Pango1.pango_layout_set_attributes(@self, attrs);
end;

procedure TPangoLayout.set_auto_dir(auto_dir: gboolean); cdecl;
begin
  Pango1.pango_layout_set_auto_dir(@self, auto_dir);
end;

procedure TPangoLayout.set_ellipsize(ellipsize: TPangoEllipsizeMode); cdecl;
begin
  Pango1.pango_layout_set_ellipsize(@self, ellipsize);
end;

procedure TPangoLayout.set_font_description(desc: PPangoFontDescription); cdecl;
begin
  Pango1.pango_layout_set_font_description(@self, desc);
end;

procedure TPangoLayout.set_height(height: gint); cdecl;
begin
  Pango1.pango_layout_set_height(@self, height);
end;

procedure TPangoLayout.set_indent(indent: gint); cdecl;
begin
  Pango1.pango_layout_set_indent(@self, indent);
end;

procedure TPangoLayout.set_justify(justify: gboolean); cdecl;
begin
  Pango1.pango_layout_set_justify(@self, justify);
end;

procedure TPangoLayout.set_justify_last_line(justify: gboolean); cdecl;
begin
  Pango1.pango_layout_set_justify_last_line(@self, justify);
end;

procedure TPangoLayout.set_line_spacing(factor: gfloat); cdecl;
begin
  Pango1.pango_layout_set_line_spacing(@self, factor);
end;

procedure TPangoLayout.set_markup(markup: Pgchar; length: gint); cdecl;
begin
  Pango1.pango_layout_set_markup(@self, markup, length);
end;

procedure TPangoLayout.set_markup_with_accel(markup: Pgchar; length: gint; accel_marker: gunichar; accel_char: Pgunichar); cdecl;
begin
  Pango1.pango_layout_set_markup_with_accel(@self, markup, length, accel_marker, accel_char);
end;

procedure TPangoLayout.set_single_paragraph_mode(setting: gboolean); cdecl;
begin
  Pango1.pango_layout_set_single_paragraph_mode(@self, setting);
end;

procedure TPangoLayout.set_spacing(spacing: gint); cdecl;
begin
  Pango1.pango_layout_set_spacing(@self, spacing);
end;

procedure TPangoLayout.set_tabs(tabs: PPangoTabArray); cdecl;
begin
  Pango1.pango_layout_set_tabs(@self, tabs);
end;

procedure TPangoLayout.set_text(text: Pgchar; length: gint); cdecl;
begin
  Pango1.pango_layout_set_text(@self, text, length);
end;

procedure TPangoLayout.set_width(width: gint); cdecl;
begin
  Pango1.pango_layout_set_width(@self, width);
end;

procedure TPangoLayout.set_wrap(wrap: TPangoWrapMode); cdecl;
begin
  Pango1.pango_layout_set_wrap(@self, wrap);
end;

function TPangoLayout.write_to_file(flags: TPangoLayoutSerializeFlags; filename: Pgchar; error: PPGError): gboolean; cdecl;
begin
  Result := Pango1.pango_layout_write_to_file(@self, flags, filename, error);
end;

function TPangoLayout.xy_to_index(x: gint; y: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl;
begin
  Result := Pango1.pango_layout_xy_to_index(@self, x, y, index_, trailing);
end;

function TPangoLayoutIter.at_last_line: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_iter_at_last_line(@self);
end;

function TPangoLayoutIter.copy: PPangoLayoutIter; cdecl;
begin
  Result := Pango1.pango_layout_iter_copy(@self);
end;

procedure TPangoLayoutIter.free; cdecl;
begin
  Pango1.pango_layout_iter_free(@self);
end;

function TPangoLayoutIter.get_baseline: gint; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_baseline(@self);
end;

procedure TPangoLayoutIter.get_char_extents(logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_iter_get_char_extents(@self, logical_rect);
end;

procedure TPangoLayoutIter.get_cluster_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_iter_get_cluster_extents(@self, ink_rect, logical_rect);
end;

function TPangoLayoutIter.get_index: gint; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_index(@self);
end;

function TPangoLayoutIter.get_layout: PPangoLayout; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_layout(@self);
end;

procedure TPangoLayoutIter.get_layout_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_iter_get_layout_extents(@self, ink_rect, logical_rect);
end;

function TPangoLayoutIter.get_line: PPangoLayoutLine; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_line(@self);
end;

procedure TPangoLayoutIter.get_line_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_iter_get_line_extents(@self, ink_rect, logical_rect);
end;

function TPangoLayoutIter.get_line_readonly: PPangoLayoutLine; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_line_readonly(@self);
end;

procedure TPangoLayoutIter.get_line_yrange(y0_: Pgint; y1_: Pgint); cdecl;
begin
  Pango1.pango_layout_iter_get_line_yrange(@self, y0_, y1_);
end;

function TPangoLayoutIter.get_run: PPangoLayoutRun; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_run(@self);
end;

function TPangoLayoutIter.get_run_baseline: gint; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_run_baseline(@self);
end;

procedure TPangoLayoutIter.get_run_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_iter_get_run_extents(@self, ink_rect, logical_rect);
end;

function TPangoLayoutIter.get_run_readonly: PPangoLayoutRun; cdecl;
begin
  Result := Pango1.pango_layout_iter_get_run_readonly(@self);
end;

function TPangoLayoutIter.next_char: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_iter_next_char(@self);
end;

function TPangoLayoutIter.next_cluster: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_iter_next_cluster(@self);
end;

function TPangoLayoutIter.next_line: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_iter_next_line(@self);
end;

function TPangoLayoutIter.next_run: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_iter_next_run(@self);
end;

procedure TPangoLayoutLine.get_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_line_get_extents(@self, ink_rect, logical_rect);
end;

procedure TPangoLayoutLine.get_height(height: Pgint); cdecl;
begin
  Pango1.pango_layout_line_get_height(@self, height);
end;

function TPangoLayoutLine.get_length: gint; cdecl;
begin
  Result := Pango1.pango_layout_line_get_length(@self);
end;

procedure TPangoLayoutLine.get_pixel_extents(ink_rect: PPangoRectangle; logical_rect: PPangoRectangle); cdecl;
begin
  Pango1.pango_layout_line_get_pixel_extents(@self, ink_rect, logical_rect);
end;

function TPangoLayoutLine.get_resolved_direction: TPangoDirection; cdecl;
begin
  Result := Pango1.pango_layout_line_get_resolved_direction(@self);
end;

function TPangoLayoutLine.get_start_index: gint; cdecl;
begin
  Result := Pango1.pango_layout_line_get_start_index(@self);
end;

procedure TPangoLayoutLine.get_x_ranges(start_index: gint; end_index: gint; ranges: PPgint; n_ranges: Pgint); cdecl;
begin
  Pango1.pango_layout_line_get_x_ranges(@self, start_index, end_index, ranges, n_ranges);
end;

procedure TPangoLayoutLine.index_to_x(index_: gint; trailing: gboolean; x_pos: Pgint); cdecl;
begin
  Pango1.pango_layout_line_index_to_x(@self, index_, trailing, x_pos);
end;

function TPangoLayoutLine.is_paragraph_start: gboolean; cdecl;
begin
  Result := Pango1.pango_layout_line_is_paragraph_start(@self);
end;

function TPangoLayoutLine.ref: PPangoLayoutLine; cdecl;
begin
  Result := Pango1.pango_layout_line_ref(@self);
end;

procedure TPangoLayoutLine.unref; cdecl;
begin
  Pango1.pango_layout_line_unref(@self);
end;

function TPangoLayoutLine.x_to_index(x_pos: gint; index_: Pgint; trailing: Pgint): gboolean; cdecl;
begin
  Result := Pango1.pango_layout_line_x_to_index(@self, x_pos, index_, trailing);
end;

function TPangoTabArray.new(initial_size: gint; positions_in_pixels: gboolean): PPangoTabArray; cdecl;
begin
  Result := Pango1.pango_tab_array_new(initial_size, positions_in_pixels);
end;

function TPangoTabArray.copy: PPangoTabArray; cdecl;
begin
  Result := Pango1.pango_tab_array_copy(@self);
end;

procedure TPangoTabArray.free; cdecl;
begin
  Pango1.pango_tab_array_free(@self);
end;

function TPangoTabArray.get_decimal_point(tab_index: gint): gunichar; cdecl;
begin
  Result := Pango1.pango_tab_array_get_decimal_point(@self, tab_index);
end;

function TPangoTabArray.get_positions_in_pixels: gboolean; cdecl;
begin
  Result := Pango1.pango_tab_array_get_positions_in_pixels(@self);
end;

function TPangoTabArray.get_size: gint; cdecl;
begin
  Result := Pango1.pango_tab_array_get_size(@self);
end;

procedure TPangoTabArray.get_tab(tab_index: gint; alignment: PPangoTabAlign; location: Pgint); cdecl;
begin
  Pango1.pango_tab_array_get_tab(@self, tab_index, alignment, location);
end;

procedure TPangoTabArray.get_tabs(alignments: PPPangoTabAlign; locations: PPgint); cdecl;
begin
  Pango1.pango_tab_array_get_tabs(@self, alignments, locations);
end;

procedure TPangoTabArray.resize(new_size: gint); cdecl;
begin
  Pango1.pango_tab_array_resize(@self, new_size);
end;

procedure TPangoTabArray.set_decimal_point(tab_index: gint; decimal_point: gunichar); cdecl;
begin
  Pango1.pango_tab_array_set_decimal_point(@self, tab_index, decimal_point);
end;

procedure TPangoTabArray.set_positions_in_pixels(positions_in_pixels: gboolean); cdecl;
begin
  Pango1.pango_tab_array_set_positions_in_pixels(@self, positions_in_pixels);
end;

procedure TPangoTabArray.set_tab(tab_index: gint; alignment: TPangoTabAlign; location: gint); cdecl;
begin
  Pango1.pango_tab_array_set_tab(@self, tab_index, alignment, location);
end;

procedure TPangoTabArray.sort; cdecl;
begin
  Pango1.pango_tab_array_sort(@self);
end;

function TPangoTabArray.to_string: Pgchar; cdecl;
begin
  Result := Pango1.pango_tab_array_to_string(@self);
end;

function TPangoTabArray.from_string(text: Pgchar): PPangoTabArray; cdecl;
begin
  Result := Pango1.pango_tab_array_from_string(text);
end;

procedure TPangoRenderer.activate; cdecl;
begin
  Pango1.pango_renderer_activate(@self);
end;

procedure TPangoRenderer.deactivate; cdecl;
begin
  Pango1.pango_renderer_deactivate(@self);
end;

procedure TPangoRenderer.draw_error_underline(x: gint; y: gint; width: gint; height: gint); cdecl;
begin
  Pango1.pango_renderer_draw_error_underline(@self, x, y, width, height);
end;

procedure TPangoRenderer.draw_glyph(font: PPangoFont; glyph: TPangoGlyph; x: gdouble; y: gdouble); cdecl;
begin
  Pango1.pango_renderer_draw_glyph(@self, font, glyph, x, y);
end;

procedure TPangoRenderer.draw_glyph_item(text: Pgchar; glyph_item: PPangoGlyphItem; x: gint; y: gint); cdecl;
begin
  Pango1.pango_renderer_draw_glyph_item(@self, text, glyph_item, x, y);
end;

procedure TPangoRenderer.draw_glyphs(font: PPangoFont; glyphs: PPangoGlyphString; x: gint; y: gint); cdecl;
begin
  Pango1.pango_renderer_draw_glyphs(@self, font, glyphs, x, y);
end;

procedure TPangoRenderer.draw_layout(layout: PPangoLayout; x: gint; y: gint); cdecl;
begin
  Pango1.pango_renderer_draw_layout(@self, layout, x, y);
end;

procedure TPangoRenderer.draw_layout_line(line: PPangoLayoutLine; x: gint; y: gint); cdecl;
begin
  Pango1.pango_renderer_draw_layout_line(@self, line, x, y);
end;

procedure TPangoRenderer.draw_rectangle(part: TPangoRenderPart; x: gint; y: gint; width: gint; height: gint); cdecl;
begin
  Pango1.pango_renderer_draw_rectangle(@self, part, x, y, width, height);
end;

procedure TPangoRenderer.draw_trapezoid(part: TPangoRenderPart; y1_: gdouble; x11: gdouble; x21: gdouble; y2: gdouble; x12: gdouble; x22: gdouble); cdecl;
begin
  Pango1.pango_renderer_draw_trapezoid(@self, part, y1_, x11, x21, y2, x12, x22);
end;

function TPangoRenderer.get_alpha(part: TPangoRenderPart): guint16; cdecl;
begin
  Result := Pango1.pango_renderer_get_alpha(@self, part);
end;

function TPangoRenderer.get_color(part: TPangoRenderPart): PPangoColor; cdecl;
begin
  Result := Pango1.pango_renderer_get_color(@self, part);
end;

function TPangoRenderer.get_layout: PPangoLayout; cdecl;
begin
  Result := Pango1.pango_renderer_get_layout(@self);
end;

function TPangoRenderer.get_layout_line: PPangoLayoutLine; cdecl;
begin
  Result := Pango1.pango_renderer_get_layout_line(@self);
end;

function TPangoRenderer.get_matrix: PPangoMatrix; cdecl;
begin
  Result := Pango1.pango_renderer_get_matrix(@self);
end;

procedure TPangoRenderer.part_changed(part: TPangoRenderPart); cdecl;
begin
  Pango1.pango_renderer_part_changed(@self, part);
end;

procedure TPangoRenderer.set_alpha(part: TPangoRenderPart; alpha: guint16); cdecl;
begin
  Pango1.pango_renderer_set_alpha(@self, part, alpha);
end;

procedure TPangoRenderer.set_color(part: TPangoRenderPart; color: PPangoColor); cdecl;
begin
  Pango1.pango_renderer_set_color(@self, part, color);
end;

procedure TPangoRenderer.set_matrix(matrix: PPangoMatrix); cdecl;
begin
  Pango1.pango_renderer_set_matrix(@self, matrix);
end;

function TPangoScriptIter.new(text: Pgchar; length: gint): PPangoScriptIter; cdecl;
begin
  Result := Pango1.pango_script_iter_new(text, length);
end;

procedure TPangoScriptIter.free; cdecl;
begin
  Pango1.pango_script_iter_free(@self);
end;

procedure TPangoScriptIter.get_range(start: PPgchar; end_: PPgchar; script: PPangoScript); cdecl;
begin
  Pango1.pango_script_iter_get_range(@self, start, end_, script);
end;

function TPangoScriptIter.next: gboolean; cdecl;
begin
  Result := Pango1.pango_script_iter_next(@self);
end;

end.
