| 
#define PANGO_CONTEXT_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_CONTEXT, \
	PangoContextClass))
#define PANGO_LAYOUT_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_LAYOUT, \
	PangoLayoutClass))
#define PANGO_RENDERER_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_RENDERER, \
	PangoRendererClass))
#define PANGO_IS_CONTEXT_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_CONTEXT))
#define PANGO_IS_LAYOUT_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_LAYOUT))
#define PANGO_IS_RENDERER_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_RENDERER))
#define PANGO_CONTEXT(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_CONTEXT, \
	PangoContext))
#define PANGO_FONT(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont))
#define PANGO_FONTSET(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONTSET, \
	PangoFontset))
#define PANGO_FONT_FACE(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, \
	PangoFontFace))
#define PANGO_FONT_FAMILY(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, \
	PangoFontFamily))
#define PANGO_FONT_MAP(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_MAP, \
	PangoFontMap))
#define PANGO_LAYOUT(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_LAYOUT, \
	PangoLayout))
#define PANGO_RENDERER(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_RENDERER, \
	PangoRenderer))
#define PANGO_IS_CONTEXT(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_CONTEXT))
#define PANGO_IS_FONT(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT))
#define PANGO_IS_FONTSET(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONTSET))
#define PANGO_IS_FONT_FACE(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE))
#define PANGO_IS_FONT_FAMILY(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY))
#define PANGO_IS_FONT_MAP(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_MAP))
#define PANGO_IS_LAYOUT(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_LAYOUT))
#define PANGO_IS_RENDERER(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_RENDERER))
#define PANGO_CONTEXT_GET_CLASS(obj)	 \
	(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_CONTEXT, \
	PangoContextClass))
#define PANGO_LAYOUT_GET_CLASS(obj)	 \
	(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_LAYOUT, \
	PangoLayoutClass))
#define PANGO_RENDERER_GET_CLASS(obj)	 \
	(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_RENDERER, \
	PangoRendererClass))
#define PANGO_PIXELS(d)	(((int)(d) + 512) >> 10)
#define pango_language_to_string(language)	((const char *)language)
#define PANGO_SCALE_XX_SMALL	((double)0.5787037037037)
#define PANGO_SCALE_X_SMALL	((double)0.6444444444444)
#define PANGO_SCALE_SMALL	((double)0.8333333333333)
#define PANGO_SCALE_MEDIUM	((double)1.0)
#define PANGO_SCALE_LARGE	((double)1.2)
#define PANGO_SCALE_X_LARGE	((double)1.4399999999999)
#define PANGO_SCALE_XX_LARGE	((double)1.728)
#define PANGO_RBEARING(rect)	((rect).x + (rect).width)
#define PANGO_LBEARING(rect)	((rect).x)
#define PANGO_DESCENT(rect)	((rect).y + (rect).height)
#define PANGO_ASCENT(rect)	(-(rect).y)
#define PANGO_TYPE_ALIGNMENT	(pango_alignment_get_type())
#define PANGO_TYPE_ATTR_TYPE	(pango_attr_type_get_type())
#define PANGO_TYPE_CONTEXT	(pango_context_get_type ())
#define PANGO_TYPE_COVERAGE_LEVEL	(pango_coverage_level_get_type())
#define PANGO_TYPE_DIRECTION	(pango_direction_get_type())
#define PANGO_TYPE_ELLIPSIZE_MODE	(pango_ellipsize_mode_get_type())
#define PANGO_TYPE_FONTSET	(pango_fontset_get_type ())
#define PANGO_TYPE_FONT_DESCRIPTION	(pango_font_description_get_type ())
#define PANGO_TYPE_FONT_FACE	(pango_font_face_get_type ())
#define PANGO_TYPE_FONT_FAMILY	(pango_font_family_get_type ())
#define PANGO_TYPE_FONT	(pango_font_get_type ())
#define PANGO_TYPE_FONT_MAP	(pango_font_map_get_type ())
#define PANGO_TYPE_FONT_MASK	(pango_font_mask_get_type())
#define PANGO_TYPE_FONT_METRICS	(pango_font_metrics_get_type ())
#define PANGO_TYPE_GLYPH_STRING	(pango_glyph_string_get_type ())
#define PANGO_TYPE_LANGUAGE	(pango_language_get_type ())
#define PANGO_TYPE_LAYOUT	(pango_layout_get_type ())
#define PANGO_TYPE_LAYOUT_ITER	(pango_layout_iter_get_type ())
#define PANGO_TYPE_MATRIX	(pango_matrix_get_type ())
#define PANGO_TYPE_RENDERER	(pango_renderer_get_type())
#define PANGO_TYPE_RENDER_PART	(pango_render_part_get_type())
#define PANGO_TYPE_SCRIPT	(pango_script_get_type())
#define PANGO_TYPE_STRETCH	(pango_stretch_get_type())
#define PANGO_TYPE_STYLE	(pango_style_get_type())
#define PANGO_TYPE_TAB_ALIGN	(pango_tab_align_get_type())
#define PANGO_TYPE_TAB_ARRAY	(pango_tab_array_get_type ())
#define PANGO_TYPE_UNDERLINE	(pango_underline_get_type())
#define PANGO_TYPE_VARIANT	(pango_variant_get_type())
#define PANGO_TYPE_WEIGHT	(pango_weight_get_type())
#define PANGO_TYPE_WRAP_MODE	(pango_wrap_mode_get_type())
#define PANGO_SCALE	1024
#define PANGO_TYPE_ATTR_LIST	pango_attr_list_get_type ()
#define PANGO_TYPE_COLOR	pango_color_get_type ()
#define PANGO_MATRIX_INIT	{ 1., 0., 0., 1., 0., 0. }
typedef struct _PangoFontFace PangoFontFace;
typedef enum {
    PANGO_WRAP_WORD = 0,
    PANGO_WRAP_CHAR = 1,
    PANGO_WRAP_WORD_CHAR = 2
} PangoWrapMode;
typedef struct _PangoLayout PangoLayout;
typedef struct _PangoScriptIter PangoScriptIter;
typedef enum {
    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
} PangoScript;
typedef struct _PangoFont PangoFont;
typedef struct _PangoContext PangoContext;
typedef struct _PangoFontDescription PangoFontDescription;
typedef enum {
    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
} PangoAttrType;
typedef struct _PangoAttribute {
    const PangoAttrClass *klass;
    guint start_index;
    guint end_index;
} PangoAttribute;
typedef struct _PangoAttrClass {
    PangoAttrType type;
    PangoAttribute *(*copy) (const PangoAttribute *);
    void (*destroy) (PangoAttribute *);
     gboolean(*equal) (const PangoAttribute *, const PangoAttribute *);
} PangoAttrClass;
typedef struct _PangoLanguage PangoLanguage;
typedef struct _PangoLogAttr {
    guint is_line_break:1;
    guint is_mandatory_break:1;
    guint is_char_break:1;
    guint is_white:1;
    guint is_cursor_position:1;
    guint is_word_start:1;
    guint is_word_end:1;
    guint is_sentence_boundary:1;
    guint is_sentence_start:1;
    guint is_sentence_end:1;
    guint backspace_deletes_character:1;
} PangoLogAttr;
typedef struct _PangoColor {
    guint16 red;
    guint16 green;
    guint16 blue;
} PangoColor;
typedef struct _PangoMatrix {
    double xx;
    double xy;
    double yx;
    double yy;
    double x0;
    double y0;
} PangoMatrix;
typedef struct _PangoEngineShape PangoEngineShape;
typedef struct _PangoEngineLang PangoEngineLang;
typedef struct _PangoAnalysis {
    PangoEngineShape *shape_engine;
    PangoEngineLang *lang_engine;
    PangoFont *font;
    guint8 level;
    PangoLanguage *language;
    GSList *extra_attrs;
} PangoAnalysis;
typedef struct _PangoItem {
    gint offset;
    gint length;
    gint num_chars;
    PangoAnalysis analysis;
} PangoItem;
typedef guint32 PangoGlyph;
typedef gint32 PangoGlyphUnit;
typedef struct _PangoGlyphGeometry {
    PangoGlyphUnit width;
    PangoGlyphUnit x_offset;
    PangoGlyphUnit y_offset;
} PangoGlyphGeometry;
typedef struct _PangoGlyphVisAttr {
    guint is_cluster_start:1;
} PangoGlyphVisAttr;
typedef struct _PangoGlyphInfo {
    PangoGlyph glyph;
    PangoGlyphGeometry geometry;
    PangoGlyphVisAttr attr;
} PangoGlyphInfo;
typedef struct _PangoGlyphString {
    gint num_glyphs;
    PangoGlyphInfo *glyphs;
    gint *log_clusters;
    gint space;
} PangoGlyphString;
typedef struct _PangoGlyphItem {
    PangoItem *item;
    PangoGlyphString *glyphs;
} PangoGlyphItem;
typedef PangoGlyphItem PangoLayoutRun;
typedef struct _PangoLayoutIter PangoLayoutIter;
typedef enum {
    PANGO_UNDERLINE_NONE = 0,
    PANGO_UNDERLINE_SINGLE = 1,
    PANGO_UNDERLINE_DOUBLE = 2,
    PANGO_UNDERLINE_LOW = 3,
    PANGO_UNDERLINE_ERROR = 4
} PangoUnderline;
typedef struct _PangoRendererPrivate PangoRendererPrivate;
typedef struct _PangoRenderer {
    GObject parent_instance;
    PangoUnderline underline;
    gboolean strikethrough;
    int active_count;
    PangoMatrix *matrix;
    PangoRendererPrivate *priv;
} PangoRenderer;
typedef enum {
    PANGO_RENDER_PART_FOREGROUND = 0,
    PANGO_RENDER_PART_BACKGROUND = 1,
    PANGO_RENDER_PART_UNDERLINE = 2,
    PANGO_RENDER_PART_STRIKETHROUGH = 3
} PangoRenderPart;
typedef struct _PangoAttrList PangoAttrList;
typedef struct _PangoLayoutLine {
    PangoLayout *layout;
    gint start_index;
    gint length;
    GSList *runs;
    guint is_paragraph_start:1;
    guint resolved_dir:3;
} PangoLayoutLine;
typedef enum {
    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
} PangoStretch;
typedef struct _PangoRectangle {
    int x;
    int y;
    int width;
    int height;
} PangoRectangle;
typedef struct _PangoFontFamily PangoFontFamily;
typedef struct _PangoFontMetrics PangoFontMetrics;
typedef struct _PangoTabArray PangoTabArray;
typedef enum {
    PANGO_TAB_LEFT = 0
} PangoTabAlign;
typedef enum {
    PANGO_ALIGN_LEFT = 0,
    PANGO_ALIGN_CENTER = 1,
    PANGO_ALIGN_RIGHT = 2
} PangoAlignment;
typedef struct _PangoAttrIterator PangoAttrIterator;
typedef enum {
    PANGO_FONT_MASK_FAMILY = 1,
    PANGO_FONT_MASK_STYLE = 2,
    PANGO_FONT_MASK_VARIANT = 4,
    PANGO_FONT_MASK_WEIGHT = 8,
    PANGO_FONT_MASK_STRETCH = 16,
    PANGO_FONT_MASK_SIZE = 32
} PangoFontMask;
typedef enum {
    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
} PangoDirection;
typedef enum {
    PANGO_ELLIPSIZE_NONE = 0,
    PANGO_ELLIPSIZE_START = 1,
    PANGO_ELLIPSIZE_MIDDLE = 2,
    PANGO_ELLIPSIZE_END = 3
} PangoEllipsizeMode;
typedef struct _PangoCoverage PangoCoverage;
typedef enum {
    PANGO_STYLE_NORMAL = 0,
    PANGO_STYLE_OBLIQUE = 1,
    PANGO_STYLE_ITALIC = 2
} PangoStyle;
typedef enum {
    PANGO_COVERAGE_NONE = 0,
    PANGO_COVERAGE_FALLBACK = 1,
    PANGO_COVERAGE_APPROXIMATE = 2,
    PANGO_COVERAGE_EXACT = 3
} PangoCoverageLevel;
typedef struct _PangoFontMap PangoFontMap;
typedef gboolean(*PangoAttrFilterFunc) (PangoAttribute *, gpointer);
typedef struct _PangoFontset PangoFontset;
typedef enum {
    PANGO_WEIGHT_ULTRALIGHT = 200,
    PANGO_WEIGHT_LIGHT = 300,
    PANGO_WEIGHT_NORMAL = 400,
    PANGO_WEIGHT_SEMIBOLD = 600,
    PANGO_WEIGHT_BOLD = 700,
    PANGO_WEIGHT_ULTRABOLD = 800,
    PANGO_WEIGHT_HEAVY = 900
} PangoWeight;
typedef gboolean(*PangoFontsetForeachFunc) (PangoFontset *, PangoFont *,
					    gpointer);
typedef enum {
    PANGO_VARIANT_NORMAL = 0,
    PANGO_VARIANT_SMALL_CAPS = 1
} PangoVariant;
typedef gpointer(*PangoAttrDataCopyFunc) (gconstpointer);
typedef struct _PangoAttrShape {
    PangoAttribute attr;
    PangoRectangle ink_rect;
    PangoRectangle logical_rect;
    gpointer data;
    PangoAttrDataCopyFunc copy_func;
    GDestroyNotify destroy_func;
} PangoAttrShape;
typedef struct _PangoContextClass PangoContextClass;
typedef struct _PangoAttrString {
    PangoAttribute attr;
    char *value;
} PangoAttrString;
typedef struct _PangoAttrColor {
    PangoAttribute attr;
    PangoColor color;
} PangoAttrColor;
typedef struct _PangoAttrFontDesc {
    PangoAttribute attr;
    PangoFontDescription *desc;
} PangoAttrFontDesc;
typedef struct _PangoAttrFloat {
    PangoAttribute attr;
    double value;
} PangoAttrFloat;
typedef struct _PangoRendererClass {
    GObjectClass parent_class;
    void (*draw_glyphs) (PangoRenderer *, PangoFont *, PangoGlyphString *,
			 int, int);
    void (*draw_rectangle) (PangoRenderer *, PangoRenderPart, int, int,
			    int, int);
    void (*draw_error_underline) (PangoRenderer *, int, int, int, int);
    void (*draw_shape) (PangoRenderer *, PangoAttrShape *, int, int);
    void (*draw_trapezoid) (PangoRenderer *, PangoRenderPart, double,
			    double, double, double, double, double);
    void (*draw_glyph) (PangoRenderer *, PangoFont *, PangoGlyph, double,
			double);
    void (*part_changed) (PangoRenderer *, PangoRenderPart);
    void (*begin) (PangoRenderer *);
    void (*end) (PangoRenderer *);
    void (*prepare_run) (PangoRenderer *, PangoLayoutRun *);
    void (*_pango_reserved1) (void);
    void (*_pango_reserved2) (void);
    void (*_pango_reserved3) (void);
    void (*_pango_reserved4) (void);
} PangoRendererClass;
typedef struct _PangoAttrLanguage {
    PangoAttribute attr;
    PangoLanguage *value;
} PangoAttrLanguage;
typedef struct _PangoAttrInt {
    PangoAttribute attr;
    int value;
} PangoAttrInt;
typedef struct _PangoAttrSize {
    PangoAttribute attr;
    int size;
    guint absolute:1;
} PangoAttrSize;
typedef struct _PangoLayoutClass PangoLayoutClass;
extern GType pango_script_get_type(void);
extern const char *pango_font_face_get_face_name(PangoFontFace *);
extern PangoWrapMode pango_layout_get_wrap(PangoLayout *);
extern void pango_layout_context_changed(PangoLayout *);
extern gboolean pango_script_iter_next(PangoScriptIter *);
extern PangoScript pango_script_for_unichar(gunichar);
extern PangoFont *pango_context_load_font(PangoContext *,
					  const PangoFontDescription *);
extern gboolean pango_attribute_equal(const PangoAttribute *,
				      const PangoAttribute *);
extern void pango_get_log_attrs(const char *, int, int, PangoLanguage *,
				PangoLogAttr *, int);
extern gboolean pango_color_parse(PangoColor *, const char *);
extern gboolean pango_font_description_equal(const PangoFontDescription *,
					     const PangoFontDescription *);
extern PangoAttribute *pango_attr_rise_new(int);
extern void pango_matrix_translate(PangoMatrix *, double, double);
extern PangoLayoutRun *pango_layout_iter_get_run(PangoLayoutIter *);
extern PangoLayout *pango_layout_new(PangoContext *);
extern PangoAttribute *pango_attr_size_new(int);
extern PangoAttribute *pango_attr_family_new(const char *);
extern void pango_layout_set_markup_with_accel(PangoLayout *, const char *,
					       int, gunichar, gunichar *);
extern PangoLanguage *pango_script_get_sample_language(PangoScript);
extern void pango_renderer_draw_trapezoid(PangoRenderer *, PangoRenderPart,
					  double, double, double, double,
					  double, double);
extern void pango_attr_list_insert_before(PangoAttrList *,
					  PangoAttribute *);
extern PangoAttribute *pango_attr_underline_new(PangoUnderline);
extern void pango_layout_line_unref(PangoLayoutLine *);
extern void pango_glyph_string_get_logical_widths(PangoGlyphString *,
						  const char *, int, int,
						  int *);
extern PangoStretch pango_font_description_get_stretch(const
						       PangoFontDescription
						       *);
extern void pango_layout_iter_get_char_extents(PangoLayoutIter *,
					       PangoRectangle *);
extern PangoAttribute *pango_attr_scale_new(double);
extern void pango_layout_set_width(PangoLayout *, int);
extern void pango_layout_line_index_to_x(PangoLayoutLine *, int, int,
					 int *);
extern gboolean pango_font_family_is_monospace(PangoFontFamily *);
extern void pango_font_descriptions_free(PangoFontDescription * *, int);
extern void pango_layout_set_single_paragraph_mode(PangoLayout *,
						   gboolean);
extern char *pango_font_description_to_filename(const PangoFontDescription
						*);
extern PangoLayout *pango_layout_copy(PangoLayout *);
extern int pango_font_metrics_get_approximate_char_width(PangoFontMetrics
							 *);
extern void pango_shape(const gchar *, gint, PangoAnalysis *,
			PangoGlyphString *);
extern void pango_layout_line_get_pixel_extents(PangoLayoutLine *,
						PangoRectangle *,
						PangoRectangle *);
extern void pango_layout_set_wrap(PangoLayout *, PangoWrapMode);
extern const char *pango_font_description_get_family(const
						     PangoFontDescription
						     *);
extern void pango_tab_array_get_tabs(PangoTabArray *, PangoTabAlign * *,
				     gint * *);
extern void pango_script_iter_get_range(PangoScriptIter *, const char **,
					const char **, PangoScript *);
extern gboolean pango_layout_iter_next_line(PangoLayoutIter *);
extern void pango_layout_get_log_attrs(PangoLayout *, PangoLogAttr * *,
				       gint *);
extern void pango_tab_array_free(PangoTabArray *);
extern PangoTabArray *pango_layout_get_tabs(PangoLayout *);
extern PangoFontDescription *pango_font_describe(PangoFont *);
extern void pango_context_set_font_description(PangoContext *,
					       const PangoFontDescription
					       *);
extern gint pango_tab_array_get_size(PangoTabArray *);
extern PangoAlignment pango_layout_get_alignment(PangoLayout *);
extern const PangoMatrix *pango_renderer_get_matrix(PangoRenderer *);
extern PangoAttrIterator *pango_attr_iterator_copy(PangoAttrIterator *);
extern GType pango_style_get_type(void);
extern PangoFontMask pango_font_description_get_set_fields(const
							   PangoFontDescription
							   *);
extern gboolean pango_language_matches(PangoLanguage *, const char *);
extern int pango_font_metrics_get_descent(PangoFontMetrics *);
extern void pango_layout_get_extents(PangoLayout *, PangoRectangle *,
				     PangoRectangle *);
extern char *pango_font_description_to_string(const PangoFontDescription
					      *);
extern void pango_layout_set_justify(PangoLayout *, gboolean);
extern void pango_find_paragraph_boundary(const gchar *, gint, gint *,
					  gint *);
extern PangoDirection pango_unichar_direction(gunichar);
extern GList *pango_reorder_items(GList *);
extern void pango_glyph_string_set_size(PangoGlyphString *, gint);
extern PangoFontDescription *pango_font_description_from_string(const char
								*);
extern int pango_font_metrics_get_strikethrough_position(PangoFontMetrics
							 *);
extern PangoEngineShape *pango_font_find_shaper(PangoFont *,
						PangoLanguage *, guint32);
extern GType pango_glyph_string_get_type(void);
extern PangoEllipsizeMode pango_layout_get_ellipsize(PangoLayout *);
extern PangoFontDescription *pango_font_face_describe(PangoFontFace *);
extern PangoMatrix *pango_matrix_copy(const PangoMatrix *);
extern const PangoMatrix *pango_context_get_matrix(PangoContext *);
extern void pango_attr_iterator_range(PangoAttrIterator *, gint *, gint *);
extern void pango_context_set_language(PangoContext *, PangoLanguage *);
extern void pango_glyph_item_letter_space(PangoGlyphItem *, const char *,
					  PangoLogAttr *, int);
extern void pango_coverage_max(PangoCoverage *, PangoCoverage *);
extern PangoStyle pango_font_description_get_style(const
						   PangoFontDescription *);
extern void pango_layout_line_get_extents(PangoLayoutLine *,
					  PangoRectangle *,
					  PangoRectangle *);
extern void pango_attribute_destroy(PangoAttribute *);
extern PangoLayoutLine *pango_layout_get_line(PangoLayout *, int);
extern gboolean pango_layout_get_auto_dir(PangoLayout *);
extern int pango_font_metrics_get_approximate_digit_width(PangoFontMetrics
							  *);
extern void pango_attr_list_splice(PangoAttrList *, PangoAttrList *, gint,
				   gint);
extern PangoLayoutLine *pango_layout_iter_get_line(PangoLayoutIter *);
extern PangoFontDescription *pango_font_description_new(void);
extern PangoAttribute *pango_attr_font_desc_new(const PangoFontDescription
						*);
extern PangoFontDescription *pango_font_description_copy_static(const
								PangoFontDescription
								*);
extern void pango_font_metrics_unref(PangoFontMetrics *);
extern PangoDirection pango_find_base_dir(const gchar *, gint);
extern void pango_layout_iter_get_run_extents(PangoLayoutIter *,
					      PangoRectangle *,
					      PangoRectangle *);
extern void pango_layout_index_to_pos(PangoLayout *, int,
				      PangoRectangle *);
extern const char *pango_font_family_get_name(PangoFontFamily *);
extern void pango_layout_line_get_x_ranges(PangoLayoutLine *, int, int,
					   int **, int *);
extern void pango_item_free(PangoItem *);
extern GType pango_renderer_get_type(void);
extern void pango_layout_set_indent(PangoLayout *, int);
extern void pango_layout_set_text(PangoLayout *, const char *, int);
extern gint pango_font_description_get_size(const PangoFontDescription *);
extern GType pango_fontset_get_type(void);
extern GType pango_weight_get_type(void);
extern guint pango_font_description_hash(const PangoFontDescription *);
extern void pango_renderer_activate(PangoRenderer *);
extern PangoContext *pango_layout_get_context(PangoLayout *);
extern PangoCoverage *pango_coverage_new(void);
extern PangoAttribute *pango_attr_strikethrough_new(gboolean);
extern void pango_coverage_set(PangoCoverage *, int, PangoCoverageLevel);
extern PangoFont *pango_font_map_load_font(PangoFontMap *, PangoContext *,
					   const PangoFontDescription *);
extern int pango_layout_iter_get_baseline(PangoLayoutIter *);
extern gboolean pango_font_description_better_match(const
						    PangoFontDescription *,
						    const
						    PangoFontDescription *,
						    const
						    PangoFontDescription
						    *);
extern void pango_layout_iter_get_line_extents(PangoLayoutIter *,
					       PangoRectangle *,
					       PangoRectangle *);
extern PangoItem *pango_item_new(void);
extern GType pango_font_mask_get_type(void);
extern void pango_tab_array_get_tab(PangoTabArray *, gint, PangoTabAlign *,
				    gint *);
extern gboolean pango_attr_iterator_next(PangoAttrIterator *);
extern gboolean pango_layout_get_justify(PangoLayout *);
extern PangoCoverage *pango_coverage_ref(PangoCoverage *);
extern PangoAttribute *pango_attr_foreground_new(guint16, guint16,
						 guint16);
extern PangoAttrList *pango_attr_list_filter(PangoAttrList *,
					     PangoAttrFilterFunc,
					     gpointer);
extern PangoFontDescription
    *pango_context_get_font_description(PangoContext *);
extern PangoTabArray *pango_tab_array_new_with_positions(gint, gboolean,
							 PangoTabAlign,
							 gint, ...);
extern GSList *pango_glyph_item_apply_attrs(PangoGlyphItem *, const char *,
					    PangoAttrList *);
extern PangoAttribute *pango_attr_shape_new(const PangoRectangle *,
					    const PangoRectangle *);
extern GType pango_variant_get_type(void);
extern void pango_layout_set_spacing(PangoLayout *, int);
extern void pango_attr_list_ref(PangoAttrList *);
extern void pango_font_description_set_family_static(PangoFontDescription
						     *, const char *);
extern gboolean pango_layout_iter_next_char(PangoLayoutIter *);
extern void pango_glyph_string_index_to_x(PangoGlyphString *, char *, int,
					  PangoAnalysis *, int, gboolean,
					  int *);
extern PangoAttribute *pango_attr_stretch_new(PangoStretch);
extern GType pango_attr_type_get_type(void);
extern GType pango_language_get_type(void);
extern void pango_font_get_glyph_extents(PangoFont *, PangoGlyph,
					 PangoRectangle *,
					 PangoRectangle *);
extern PangoAttribute *pango_attr_fallback_new(gboolean);
extern void pango_font_description_merge_static(PangoFontDescription *,
						const PangoFontDescription
						*, gboolean);
extern PangoAttrList *pango_layout_get_attributes(PangoLayout *);
extern PangoFontset *pango_font_map_load_fontset(PangoFontMap *,
						 PangoContext *,
						 const PangoFontDescription
						 *, PangoLanguage *);
extern void pango_layout_set_tabs(PangoLayout *, PangoTabArray *);
extern GType pango_attr_list_get_type(void);
extern GType pango_font_family_get_type(void);
extern void pango_matrix_free(PangoMatrix *);
extern PangoAttribute *pango_attr_language_new(PangoLanguage *);
extern void pango_layout_iter_get_cluster_extents(PangoLayoutIter *,
						  PangoRectangle *,
						  PangoRectangle *);
extern PangoAttrType pango_attr_type_register(const gchar *);
extern void pango_context_set_matrix(PangoContext *, const PangoMatrix *);
extern void pango_layout_set_markup(PangoLayout *, const char *, int);
extern GType pango_coverage_level_get_type(void);
extern PangoTabArray *pango_tab_array_copy(PangoTabArray *);
extern void pango_attr_list_change(PangoAttrList *, PangoAttribute *);
extern PangoColor *pango_renderer_get_color(PangoRenderer *,
					    PangoRenderPart);
extern void pango_renderer_part_changed(PangoRenderer *, PangoRenderPart);
extern void pango_glyph_string_x_to_index(PangoGlyphString *, char *, int,
					  PangoAnalysis *, int, int *,
					  gboolean *);
extern void pango_tab_array_resize(PangoTabArray *, gint);
extern void pango_break(const gchar *, gint, PangoAnalysis *,
			PangoLogAttr *, int);
extern void pango_coverage_unref(PangoCoverage *);
extern void pango_font_map_list_families(PangoFontMap *,
					 PangoFontFamily * **, int *);
extern void pango_matrix_concat(PangoMatrix *, const PangoMatrix *);
extern PangoAttrList *pango_attr_list_copy(PangoAttrList *);
extern GType pango_layout_iter_get_type(void);
extern void pango_layout_set_attributes(PangoLayout *, PangoAttrList *);
extern void pango_color_free(PangoColor *);
extern PangoItem *pango_item_copy(PangoItem *);
extern void pango_font_description_set_weight(PangoFontDescription *,
					      PangoWeight);
extern PangoAttribute *pango_attr_letter_spacing_new(int);
extern PangoLanguage *pango_language_from_string(const char *);
extern PangoAttribute *pango_attr_strikethrough_color_new(guint16, guint16,
							  guint16);
extern void pango_attr_list_insert(PangoAttrList *, PangoAttribute *);
extern gboolean pango_layout_line_x_to_index(PangoLayoutLine *, int, int *,
					     int *);
extern PangoFontMap *pango_context_get_font_map(PangoContext *);
extern GType pango_direction_get_type(void);
extern void pango_layout_iter_get_layout_extents(PangoLayoutIter *,
						 PangoRectangle *,
						 PangoRectangle *);
extern void pango_glyph_string_free(PangoGlyphString *);
extern gboolean pango_tab_array_get_positions_in_pixels(PangoTabArray *);
extern PangoFontMetrics *pango_fontset_get_metrics(PangoFontset *);
extern int pango_layout_iter_get_index(PangoLayoutIter *);
extern int pango_layout_get_spacing(PangoLayout *);
extern gboolean pango_layout_get_single_paragraph_mode(PangoLayout *);
extern GSList *pango_layout_get_lines(PangoLayout *);
extern GType pango_underline_get_type(void);
extern void pango_layout_get_pixel_extents(PangoLayout *, PangoRectangle *,
					   PangoRectangle *);
extern void pango_matrix_scale(PangoMatrix *, double, double);
extern void pango_attr_iterator_destroy(PangoAttrIterator *);
extern void pango_glyph_string_extents(PangoGlyphString *, PangoFont *,
				       PangoRectangle *, PangoRectangle *);
extern PangoTabArray *pango_tab_array_new(gint, gboolean);
extern PangoAttribute *pango_attr_weight_new(PangoWeight);
extern int pango_layout_get_width(PangoLayout *);
extern gboolean pango_parse_markup(const char *, int, gunichar,
				   PangoAttrList * *, char **, gunichar *,
				   GError * *);
extern void pango_matrix_rotate(PangoMatrix *, double);
extern void pango_font_description_set_style(PangoFontDescription *,
					     PangoStyle);
extern void pango_layout_set_auto_dir(PangoLayout *, gboolean);
extern GType pango_context_get_type(void);
extern PangoAttribute *pango_attr_background_new(guint16, guint16,
						 guint16);
extern void pango_coverage_to_bytes(PangoCoverage *, guchar * *, int *);
extern void pango_font_description_set_size(PangoFontDescription *, gint);
extern void pango_attr_list_unref(PangoAttrList *);
extern int pango_font_metrics_get_strikethrough_thickness(PangoFontMetrics
							  *);
extern PangoAttribute *pango_attr_size_new_absolute(int);
extern PangoAttribute *pango_attribute_copy(const PangoAttribute *);
extern PangoAttribute *pango_attr_iterator_get(PangoAttrIterator *,
					       PangoAttrType);
extern GType pango_matrix_get_type(void);
extern PangoDirection pango_context_get_base_dir(PangoContext *);
extern PangoAttribute *pango_attr_style_new(PangoStyle);
extern void pango_attr_iterator_get_font(PangoAttrIterator *,
					 PangoFontDescription *,
					 PangoLanguage * *, GSList * *);
extern void pango_renderer_draw_glyph(PangoRenderer *, PangoFont *,
				      PangoGlyph, double, double);
extern void pango_glyph_item_free(PangoGlyphItem *);
extern gboolean pango_language_includes_script(PangoLanguage *,
					       PangoScript);
extern gboolean pango_font_description_get_size_is_absolute(const
							    PangoFontDescription
							    *);
extern GSList *pango_attr_iterator_get_attrs(PangoAttrIterator *);
extern GType pango_ellipsize_mode_get_type(void);
extern void pango_font_face_list_sizes(PangoFontFace *, int **, int *);
extern void pango_layout_get_size(PangoLayout *, int *, int *);
extern void pango_renderer_draw_glyphs(PangoRenderer *, PangoFont *,
				       PangoGlyphString *, int, int);
extern GType pango_tab_array_get_type(void);
extern PangoGlyphItem *pango_glyph_item_split(PangoGlyphItem *,
					      const char *, int);
extern PangoLayoutIter *pango_layout_get_iter(PangoLayout *);
extern PangoGlyphString *pango_glyph_string_new(void);
extern gboolean pango_layout_iter_next_run(PangoLayoutIter *);
extern void pango_glyph_string_extents_range(PangoGlyphString *, int, int,
					     PangoFont *, PangoRectangle *,
					     PangoRectangle *);
extern PangoWeight pango_font_description_get_weight(const
						     PangoFontDescription
						     *);
extern GType pango_font_description_get_type(void);
extern void pango_renderer_deactivate(PangoRenderer *);
extern PangoGlyphString *pango_glyph_string_copy(PangoGlyphString *);
extern void pango_script_iter_free(PangoScriptIter *);
extern PangoCoverage *pango_coverage_from_bytes(guchar *, int);
extern void pango_layout_iter_get_line_yrange(PangoLayoutIter *, int *,
					      int *);
extern GType pango_stretch_get_type(void);
extern int pango_layout_get_line_count(PangoLayout *);
extern void pango_layout_set_ellipsize(PangoLayout *, PangoEllipsizeMode);
extern PangoCoverage *pango_font_get_coverage(PangoFont *,
					      PangoLanguage *);
extern PangoFontDescription *pango_font_description_copy(const
							 PangoFontDescription
							 *);
extern void pango_fontset_foreach(PangoFontset *, PangoFontsetForeachFunc,
				  gpointer);
extern GType pango_font_get_type(void);
extern void pango_layout_set_alignment(PangoLayout *, PangoAlignment);
extern GType pango_layout_get_type(void);
extern void pango_renderer_draw_layout_line(PangoRenderer *,
					    PangoLayoutLine *, int, int);
extern GType pango_alignment_get_type(void);
extern void pango_renderer_draw_rectangle(PangoRenderer *, PangoRenderPart,
					  int, int, int, int);
extern void pango_context_list_families(PangoContext *,
					PangoFontFamily * **, int *);
extern void pango_font_description_set_absolute_size(PangoFontDescription
						     *, double);
extern void pango_layout_iter_free(PangoLayoutIter *);
extern PangoCoverageLevel pango_coverage_get(PangoCoverage *, int);
extern void pango_renderer_draw_error_underline(PangoRenderer *, int, int,
						int, int);
extern PangoFontset *pango_context_load_fontset(PangoContext *,
						const PangoFontDescription
						*, PangoLanguage *);
extern void pango_layout_line_ref(PangoLayoutLine *);
extern void pango_font_description_set_family(PangoFontDescription *,
					      const char *);
extern gboolean pango_layout_iter_at_last_line(PangoLayoutIter *);
extern GType pango_render_part_get_type(void);
extern PangoAttrList *pango_attr_list_new(void);
extern void pango_font_description_set_stretch(PangoFontDescription *,
					       PangoStretch);
extern void pango_font_description_merge(PangoFontDescription *,
					 const PangoFontDescription *,
					 gboolean);
extern int pango_font_metrics_get_underline_thickness(PangoFontMetrics *);
extern const char *pango_layout_get_text(PangoLayout *);
extern int pango_font_metrics_get_ascent(PangoFontMetrics *);
extern PangoFont *pango_fontset_get_font(PangoFontset *, guint);
extern void pango_renderer_draw_layout(PangoRenderer *, PangoLayout *, int,
				       int);
extern int pango_font_metrics_get_underline_position(PangoFontMetrics *);
extern GType pango_color_get_type(void);
extern PangoFontMetrics *pango_context_get_metrics(PangoContext *,
						   const
						   PangoFontDescription *,
						   PangoLanguage *);
extern gboolean pango_layout_xy_to_index(PangoLayout *, int, int, int *,
					 gint *);
extern void pango_renderer_set_matrix(PangoRenderer *,
				      const PangoMatrix *);
extern void pango_font_description_set_variant(PangoFontDescription *,
					       PangoVariant);
extern GList *pango_itemize(PangoContext *, const char *, int, int,
			    PangoAttrList *, PangoAttrIterator *);
extern void pango_layout_move_cursor_visually(PangoLayout *, gboolean, int,
					      int, int, int *, int *);
extern int pango_layout_get_indent(PangoLayout *);
extern PangoAttrIterator *pango_attr_list_get_iterator(PangoAttrList *);
extern void pango_layout_get_pixel_size(PangoLayout *, int *, int *);
extern void pango_font_description_unset_fields(PangoFontDescription *,
						PangoFontMask);
extern GType pango_tab_align_get_type(void);
extern PangoItem *pango_item_split(PangoItem *, int, int);
extern PangoFontMetrics *pango_font_metrics_ref(PangoFontMetrics *);
extern void pango_context_set_base_dir(PangoContext *, PangoDirection);
extern PangoAttribute *pango_attr_underline_color_new(guint16, guint16,
						      guint16);
extern gboolean pango_layout_iter_next_cluster(PangoLayoutIter *);
extern PangoAttribute *pango_attr_variant_new(PangoVariant);
extern GType pango_font_face_get_type(void);
extern void pango_font_family_list_faces(PangoFontFamily *,
					 PangoFontFace * **, int *);
extern PangoColor *pango_color_copy(const PangoColor *);
extern GType pango_wrap_mode_get_type(void);
extern void pango_tab_array_set_tab(PangoTabArray *, gint, PangoTabAlign,
				    gint);
extern PangoAttribute *pango_attr_shape_new_with_data(const PangoRectangle
						      *,
						      const PangoRectangle
						      *, gpointer,
						      PangoAttrDataCopyFunc,
						      GDestroyNotify);
extern PangoVariant pango_font_description_get_variant(const
						       PangoFontDescription
						       *);
extern void pango_font_description_free(PangoFontDescription *);
extern GType pango_font_metrics_get_type(void);
extern void pango_layout_get_cursor_pos(PangoLayout *, int,
					PangoRectangle *,
					PangoRectangle *);
extern GList *pango_itemize_with_base_dir(PangoContext *, PangoDirection,
					  const char *, int, int,
					  PangoAttrList *,
					  PangoAttrIterator *);
extern PangoLanguage *pango_context_get_language(PangoContext *);
extern void pango_renderer_set_color(PangoRenderer *, PangoRenderPart,
				     const PangoColor *);
extern GType pango_font_map_get_type(void);
extern const PangoFontDescription
    *pango_layout_get_font_description(PangoLayout *);
extern void pango_layout_set_font_description(PangoLayout *,
					      const PangoFontDescription
					      *);
extern PangoFontMetrics *pango_font_get_metrics(PangoFont *,
						PangoLanguage *);
extern PangoScriptIter *pango_script_iter_new(const char *, int); |