shirok / Gauche-gtk2

Reactivating Gauche-gtk bindings
http://practical-scheme.net/gauche/
Other
12 stars 3 forks source link

fails to build on debian/sid #5

Closed karme closed 8 years ago

karme commented 8 years ago

see also debian bug 837028 https://bugs.debian.org/cgi-bin/bugreport.cgi?archive=yes&bug=837028

karme commented 8 years ago

maybe it is caused by a newer pango version 1.40.2.1 on debian/sid where debian/jessie with 1.36.8-3 works

karme commented 8 years ago

a hackish fix would be to skip all lines starting with PANGO_AVAILABLEIN

diff --git a/lib/h2s/parse.scm b/lib/h2s/parse.scm
index ae15c98..bf8290b 100644
--- a/lib/h2s/parse.scm
+++ b/lib/h2s/parse.scm
@@ -90,7 +90,7 @@
     ;; Also, note that it must start at bol.
     ;; and no way to combine  typedef struct _a{....}  a; !!!  Must be separate.

-
+    (#/^PANGO_AVAILABLE_IN_/ () (parse-body))

     (#/^typedef enum/        ()        (parse-enum) (parse-body))
shirok commented 8 years ago

I'm trying to set up env with newer Pango but haven't done yet. I'd like to understand how the PANG_AVAILABLE_IN_ALL etc. affects h2s. If you can, could you paste src/pango-font.stub generated with the newer Pango headers?

karme commented 8 years ago

Shiro Kawai notifications@github.com writes:

I'm trying to set up env with newer Pango but haven't done yet. I'd like to understand how the PANG_AVAILABLE_IN_ALL etc. affects h2s. If you can, could you paste src/pango-font.stub generated with the newer Pango headers?

attached (i hope this works with github...):

karme commented 8 years ago

attachments didn't make it through :-(

karme commented 8 years ago

broken pango-font.stub:

;; -*-scheme-*-
;; Automatically generated - DO NOT EDIT

(include "gtk-lib.types")
"#include \"gauche-gtk.h\""

(define-cproc pango-font-family-get-name (f::<pango-font-family>) "const gchar *s = pango_font_family_get_name(f);\n  SCM_RETURN(SCM_MAKE_STR_COPYING(s));")

(define-cproc pango-font-face-get-face-name (f::<pango-font-face>) "const gchar *s = pango_font_face_get_face_name(f);\n  SCM_RETURN(SCM_MAKE_STR_COPYING(s));")

(define-cproc pango-font-description-get-family (f::<pango-font-description>) "const gchar *s = pango_font_description_get_family(f);\n  SCM_RETURN(SCM_MAKE_STR_COPYING(s));")

;;  enum PangoStyle
(define-enum PANGO_STYLE_NORMAL)
(define-enum PANGO_STYLE_OBLIQUE)
(define-enum PANGO_STYLE_ITALIC)

;;  enum PangoVariant
(define-enum PANGO_VARIANT_NORMAL)
(define-enum PANGO_VARIANT_SMALL_CAPS)

;;  enum PangoWeight
(define-enum PANGO_WEIGHT_THIN)
(define-enum PANGO_WEIGHT_ULTRALIGHT)
(define-enum PANGO_WEIGHT_LIGHT)
(define-enum PANGO_WEIGHT_SEMILIGHT)
(define-enum PANGO_WEIGHT_BOOK)
(define-enum PANGO_WEIGHT_NORMAL)
(define-enum PANGO_WEIGHT_MEDIUM)
(define-enum PANGO_WEIGHT_SEMIBOLD)
(define-enum PANGO_WEIGHT_BOLD)
(define-enum PANGO_WEIGHT_ULTRABOLD)
(define-enum PANGO_WEIGHT_HEAVY)
(define-enum PANGO_WEIGHT_ULTRAHEAVY)

;;  enum PangoStretch
(define-enum PANGO_STRETCH_ULTRA_CONDENSED)
(define-enum PANGO_STRETCH_EXTRA_CONDENSED)
(define-enum PANGO_STRETCH_CONDENSED)
(define-enum PANGO_STRETCH_SEMI_CONDENSED)
(define-enum PANGO_STRETCH_NORMAL)
(define-enum PANGO_STRETCH_SEMI_EXPANDED)
(define-enum PANGO_STRETCH_EXPANDED)
(define-enum PANGO_STRETCH_EXTRA_EXPANDED)
(define-enum PANGO_STRETCH_ULTRA_EXPANDED)

;;  enum PangoFontMask
(define-enum PANGO_FONT_MASK_FAMILY)
(define-enum PANGO_FONT_MASK_STYLE)
(define-enum PANGO_FONT_MASK_VARIANT)
(define-enum PANGO_FONT_MASK_WEIGHT)
(define-enum PANGO_FONT_MASK_STRETCH)
(define-enum PANGO_FONT_MASK_SIZE)
(define-enum PANGO_FONT_MASK_GRAVITY)

;;  struct PangoFontMetrics

"static void scm_PangoFontMetrics_finalize(ScmObj obj, void* data)
 {
   ScmPangoFontMetrics *p = (ScmPangoFontMetrics*)obj;
   PangoFontMetrics *d = SCM_PANGO_FONT_METRICS(obj);
   pango_font_metrics_unref(d);
   p->data = NULL;
 }"

"ScmObj Scm_MakePangoFontMetrics(PangoFontMetrics *data)
 {
   ScmPangoFontMetrics *z = SCM_NEW(ScmPangoFontMetrics);
   SCM_SET_CLASS(z, SCM_CLASS_PANGO_FONT_METRICS);
   z->data = data;
   Scm_RegisterFinalizer(SCM_OBJ(z), scm_PangoFontMetrics_finalize, NULL);
   pango_font_metrics_ref(z->data);
   return SCM_OBJ(z);
 }"

(define-cclass <pango-font-metrics>
  "PangoFontMetrics*" "Scm_PangoFontMetricsClass"
  ()
  (
   )
  )

;;  struct PangoFontFamily

(define-cclass <pango-font-family> :base
  "ScmGObject*" "Scm_PangoFontFamilyClass"
  ("Scm_GObjectClass")
  (
   )
(allocator (c "Scm_GtkObjectAllocate"))
  )

(initcode "Scm_GtkRegisterClass(PANGO_TYPE_FONT_FAMILY, SCM_CLASS_PANGO_FONT_FAMILY);
")

;;  struct PangoFontFace

(define-cclass <pango-font-face> :base
  "ScmGObject*" "Scm_PangoFontFaceClass"
  ("Scm_GObjectClass")
  (
   )
(allocator (c "Scm_GtkObjectAllocate"))
  )

(initcode "Scm_GtkRegisterClass(PANGO_TYPE_FONT_FACE, SCM_CLASS_PANGO_FONT_FACE);
")

;;  struct PangoFont

(define-cclass <pango-font> :base
  "ScmGObject*" "Scm_PangoFontClass"
  ("Scm_GObjectClass")
  (
   )
(allocator (c "Scm_GtkObjectAllocate"))
  )

(initcode "Scm_GtkRegisterClass(PANGO_TYPE_FONT, SCM_CLASS_PANGO_FONT);
")

;;  struct PangoFontDescription

"static void scm_PangoFontDescription_finalize(ScmObj obj, void* data)
 {
   ScmPangoFontDescription *p = (ScmPangoFontDescription*)obj;
   PangoFontDescription *d = SCM_PANGO_FONT_DESCRIPTION(obj);
   pango_font_description_free(d);
   p->data = NULL;
 }"

"ScmObj Scm_MakePangoFontDescription(PangoFontDescription *data)
 {
   ScmPangoFontDescription *z = SCM_NEW(ScmPangoFontDescription);
   SCM_SET_CLASS(z, SCM_CLASS_PANGO_FONT_DESCRIPTION);
   z->data = data;
    Scm_RegisterFinalizer(SCM_OBJ(z), scm_PangoFontDescription_finalize, NULL);
   return SCM_OBJ(z);
 }
"

(define-cclass <pango-font-description>
  "PangoFontDescription*" "Scm_PangoFontDescriptionClass"
  ()
  (
   )
  )

;; pango_font_get_metrics
(define-cproc pango-font-get-metrics (font::<pango-font> language::<pango-language>-or-null) (call <void> "pango_font_get_metrics"))

;; pango_font_description_to_string
(define-cproc pango-font-description-to-string () "char *s = pango_font_description_to_string(desc);\n  ScmObj ss = SCM_MAKE_STR_COPYING(s);\n  g_free(s);\n  SCM_RETURN(ss);")

;; pango_font_description_to_filename
(define-cproc pango-font-description-to-filename () "char *s = pango_font_description_to_filename(desc);\n  ScmObj ss = SCM_MAKE_STR_COPYING(s);\n  g_free(s);\n  SCM_RETURN(ss);")

;; pango_font_family_list_faces
(define-cproc pango-font-family-list-faces (family::<pango-font-family>) "PangoFontFace **face; int nfaces, i;\n  ScmObj h = SCM_NIL, t = SCM_NIL;\n  pango_font_family_list_faces(family, &face, &nfaces);\n  for (i = 0; i < nfaces; i++) {\n    SCM_APPEND1(h, t, SCM_MAKE_PANGO_FONT_FACE(face[i]));\n  }\n  g_free(face);\n  SCM_RETURN(h);")
karme commented 8 years ago

pango diff:

diff -Nur /usr/include/pango-1.0/pango/pango-attributes.h pango-1.0/pango/pango-attributes.h
--- /usr/include/pango-1.0/pango/pango-attributes.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-attributes.h  2016-09-10 21:41:35.042395033 +0200
@@ -53,12 +53,17 @@
  * The #GObject type for #PangoColor.
  */
 #define PANGO_TYPE_COLOR pango_color_get_type ()
+PANGO_AVAILABLE_IN_ALL
 GType       pango_color_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoColor *pango_color_copy     (const PangoColor *src);
+PANGO_AVAILABLE_IN_ALL
 void        pango_color_free     (PangoColor       *color);
+PANGO_AVAILABLE_IN_ALL
 gboolean    pango_color_parse    (PangoColor       *color,
                  const char       *spec);
+PANGO_AVAILABLE_IN_1_16
 gchar      *pango_color_to_string(const PangoColor *color);

@@ -75,6 +80,7 @@
 typedef struct _PangoAttrColor    PangoAttrColor;
 typedef struct _PangoAttrFontDesc PangoAttrFontDesc;
 typedef struct _PangoAttrShape    PangoAttrShape;
+typedef struct _PangoAttrFontFeatures PangoAttrFontFeatures;

 /**
  * PANGO_TYPE_ATTR_LIST:
@@ -135,6 +141,9 @@
  * @PANGO_ATTR_ABSOLUTE_SIZE: font size in pixels scaled by %PANGO_SCALE (#PangoAttrInt)
  * @PANGO_ATTR_GRAVITY: base text gravity (#PangoAttrInt)
  * @PANGO_ATTR_GRAVITY_HINT: gravity hint (#PangoAttrInt)
+ * @PANGO_ATTR_FONT_FEATURES: OpenType font features (#PangoAttrString). Since 1.38
+ * @PANGO_ATTR_FOREGROUND_ALPHA: foreground alpha (#PangoAttrInt). Since 1.38
+ * @PANGO_ATTR_BACKGROUND_ALPHA: background alpha (#PangoAttrInt). Since 1.38
  *
  * The #PangoAttrType
  * distinguishes between different types of attributes. Along with the
@@ -167,7 +176,10 @@
   PANGO_ATTR_STRIKETHROUGH_COLOR,/* PangoAttrColor */
   PANGO_ATTR_ABSOLUTE_SIZE,    /* PangoAttrSize */
   PANGO_ATTR_GRAVITY,      /* PangoAttrInt */
-  PANGO_ATTR_GRAVITY_HINT  /* PangoAttrInt */
+  PANGO_ATTR_GRAVITY_HINT, /* PangoAttrInt */
+  PANGO_ATTR_FONT_FEATURES,    /* PangoAttrString */
+  PANGO_ATTR_FOREGROUND_ALPHA, /* PangoAttrInt */
+  PANGO_ATTR_BACKGROUND_ALPHA  /* PangoAttrInt */
 } PangoAttrType;

 /**
@@ -406,94 +418,164 @@
   PangoFontDescription *desc;
 };

+/**
+ * PangoAttrFontFeatures:
+ * @attr: the common portion of the attribute
+ * @features: the featues, as a string in CSS syntax
+ *
+ * The #PangoAttrFontFeatures structure is used to represent OpenType
+ * font features as an attribute.
+ *
+ * Since: 1.38
+ */
+struct _PangoAttrFontFeatures
+{
+  PangoAttribute attr;
+  gchar *features;
+};
+
+PANGO_AVAILABLE_IN_ALL
 PangoAttrType         pango_attr_type_register (const gchar        *name);
+PANGO_AVAILABLE_IN_1_22
 const char *          pango_attr_type_get_name (PangoAttrType       type) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_20
 void             pango_attribute_init        (PangoAttribute       *attr,
                          const PangoAttrClass *klass);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute * pango_attribute_copy        (const PangoAttribute *attr);
+PANGO_AVAILABLE_IN_ALL
 void             pango_attribute_destroy     (PangoAttribute       *attr);
+PANGO_AVAILABLE_IN_ALL
 gboolean         pango_attribute_equal       (const PangoAttribute *attr1,
                          const PangoAttribute *attr2) G_GNUC_PURE;

+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_language_new      (PangoLanguage              *language);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_family_new        (const char                 *family);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_foreground_new    (guint16                     red,
                          guint16                     green,
                          guint16                     blue);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_background_new    (guint16                     red,
                          guint16                     green,
                          guint16                     blue);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_size_new          (int                         size);
+PANGO_AVAILABLE_IN_1_8
 PangoAttribute *pango_attr_size_new_absolute (int                         size);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_style_new         (PangoStyle                  style);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_weight_new        (PangoWeight                 weight);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_variant_new       (PangoVariant                variant);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_stretch_new       (PangoStretch                stretch);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_font_desc_new     (const PangoFontDescription *desc);

+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_underline_new           (PangoUnderline underline);
+PANGO_AVAILABLE_IN_1_8
 PangoAttribute *pango_attr_underline_color_new     (guint16        red,
                            guint16        green,
                            guint16        blue);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_strikethrough_new       (gboolean       strikethrough);
+PANGO_AVAILABLE_IN_1_8
 PangoAttribute *pango_attr_strikethrough_color_new (guint16        red,
                            guint16        green,
                            guint16        blue);

+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_rise_new          (int                         rise);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_scale_new         (double                      scale_factor);
+PANGO_AVAILABLE_IN_1_4
 PangoAttribute *pango_attr_fallback_new      (gboolean                    enable_fallback);
+PANGO_AVAILABLE_IN_1_6
 PangoAttribute *pango_attr_letter_spacing_new (int                        letter_spacing);

+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *pango_attr_shape_new           (const PangoRectangle       *ink_rect,
                        const PangoRectangle       *logical_rect);
+PANGO_AVAILABLE_IN_1_8
 PangoAttribute *pango_attr_shape_new_with_data (const PangoRectangle       *ink_rect,
                        const PangoRectangle       *logical_rect,
                        gpointer                    data,
                        PangoAttrDataCopyFunc       copy_func,
                        GDestroyNotify              destroy_func);

+PANGO_AVAILABLE_IN_1_16
 PangoAttribute *pango_attr_gravity_new      (PangoGravity     gravity);
+PANGO_AVAILABLE_IN_1_16
 PangoAttribute *pango_attr_gravity_hint_new (PangoGravityHint hint);
+PANGO_AVAILABLE_IN_1_38
+PangoAttribute *pango_attr_font_features_new (const gchar *features);
+PANGO_AVAILABLE_IN_1_38
+PangoAttribute *pango_attr_foreground_alpha_new (guint16 alpha);
+PANGO_AVAILABLE_IN_1_38
+PangoAttribute *pango_attr_background_alpha_new (guint16 alpha);

+PANGO_AVAILABLE_IN_ALL
 GType              pango_attr_list_get_type      (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoAttrList *    pango_attr_list_new           (void);
+PANGO_AVAILABLE_IN_1_10
 PangoAttrList *    pango_attr_list_ref           (PangoAttrList  *list);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_list_unref         (PangoAttrList  *list);
+PANGO_AVAILABLE_IN_ALL
 PangoAttrList *    pango_attr_list_copy          (PangoAttrList  *list);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_list_insert        (PangoAttrList  *list,
                          PangoAttribute *attr);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_list_insert_before (PangoAttrList  *list,
                          PangoAttribute *attr);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_list_change        (PangoAttrList  *list,
                          PangoAttribute *attr);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_list_splice        (PangoAttrList  *list,
                          PangoAttrList  *other,
                          gint            pos,
                          gint            len);

+PANGO_AVAILABLE_IN_1_2
 PangoAttrList *pango_attr_list_filter (PangoAttrList       *list,
                       PangoAttrFilterFunc  func,
                       gpointer             data);

+PANGO_AVAILABLE_IN_ALL
 PangoAttrIterator *pango_attr_list_get_iterator  (PangoAttrList  *list);

+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_iterator_range    (PangoAttrIterator     *iterator,
                         gint                  *start,
                         gint                  *end);
+PANGO_AVAILABLE_IN_ALL
 gboolean           pango_attr_iterator_next     (PangoAttrIterator     *iterator);
+PANGO_AVAILABLE_IN_ALL
 PangoAttrIterator *pango_attr_iterator_copy     (PangoAttrIterator     *iterator);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_iterator_destroy  (PangoAttrIterator     *iterator);
+PANGO_AVAILABLE_IN_ALL
 PangoAttribute *   pango_attr_iterator_get      (PangoAttrIterator     *iterator,
                         PangoAttrType          type);
+PANGO_AVAILABLE_IN_ALL
 void               pango_attr_iterator_get_font (PangoAttrIterator     *iterator,
                         PangoFontDescription  *desc,
                         PangoLanguage        **language,
                         GSList               **extra_attrs);
+PANGO_AVAILABLE_IN_1_2
 GSList *          pango_attr_iterator_get_attrs (PangoAttrIterator     *iterator);

+PANGO_AVAILABLE_IN_ALL
 gboolean pango_parse_markup (const char                 *markup_text,
                 int                         length,
                 gunichar                    accel_marker,
@@ -502,7 +584,9 @@
                 gunichar                   *accel_char,
                 GError                    **error);

+PANGO_AVAILABLE_IN_1_32
 GMarkupParseContext * pango_markup_parser_new (gunichar               accel_marker);
+PANGO_AVAILABLE_IN_1_32
 gboolean              pango_markup_parser_finish (GMarkupParseContext   *context,
                                                   PangoAttrList        **attr_list,
                                                   char                 **text,
diff -Nur /usr/include/pango-1.0/pango/pango-bidi-type.h pango-1.0/pango/pango-bidi-type.h
--- /usr/include/pango-1.0/pango/pango-bidi-type.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-bidi-type.h   2016-09-10 21:41:33.054430190 +0200
@@ -24,6 +24,7 @@

 #include <glib.h>

+#include <pango/pango-version-macros.h>
 G_BEGIN_DECLS

 /**
@@ -81,6 +82,7 @@
   PANGO_BIDI_TYPE_ON
 } PangoBidiType;

+PANGO_AVAILABLE_IN_1_22
 PangoBidiType pango_bidi_type_for_unichar (gunichar ch) G_GNUC_CONST;

 /**
@@ -121,12 +123,14 @@
   PANGO_DIRECTION_NEUTRAL
 } PangoDirection;

+PANGO_AVAILABLE_IN_ALL
 PangoDirection pango_unichar_direction      (gunichar     ch) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_4
 PangoDirection pango_find_base_dir          (const gchar *text,
                         gint         length);

 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(g_unichar_get_mirror_char)
+PANGO_DEPRECATED_FOR(g_unichar_get_mirror_char)
 gboolean       pango_get_mirror_char        (gunichar     ch,
                         gunichar    *mirrored_ch);
 #endif
diff -Nur /usr/include/pango-1.0/pango/pango-break.h pango-1.0/pango/pango-break.h
--- /usr/include/pango-1.0/pango/pango-break.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-break.h   2016-09-10 21:41:33.582420891 +0200
@@ -135,17 +135,20 @@
 /* Determine information about cluster/word/line breaks in a string
  * of Unicode text.
  */
+PANGO_AVAILABLE_IN_ALL
 void pango_break (const gchar   *text,
          int            length,
          PangoAnalysis *analysis,
          PangoLogAttr  *attrs,
          int            attrs_len);

+PANGO_AVAILABLE_IN_ALL
 void pango_find_paragraph_boundary (const gchar *text,
                    gint         length,
                    gint        *paragraph_delimiter_index,
                    gint        *next_paragraph_start);

+PANGO_AVAILABLE_IN_ALL
 void pango_get_log_attrs (const char    *text,
              int            length,
              int            level,
@@ -160,6 +163,7 @@
  * instead; this function is mostly useful for chaining up
  * from a language engine override.
  */
+PANGO_AVAILABLE_IN_ALL
 void pango_default_break (const gchar   *text,
              int            length,
              PangoAnalysis *analysis,
diff -Nur /usr/include/pango-1.0/pango/pangocairo.h pango-1.0/pango/pangocairo.h
--- /usr/include/pango-1.0/pango/pangocairo.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangocairo.h    2016-09-10 21:41:36.170375324 +0200
@@ -77,70 +77,95 @@
 /*
  * PangoCairoFontMap
  */
+PANGO_AVAILABLE_IN_1_10
 GType         pango_cairo_font_map_get_type          (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_10
 PangoFontMap *pango_cairo_font_map_new               (void);
+PANGO_AVAILABLE_IN_1_18
 PangoFontMap *pango_cairo_font_map_new_for_font_type (cairo_font_type_t fonttype);
+PANGO_AVAILABLE_IN_1_10
 PangoFontMap *pango_cairo_font_map_get_default       (void);
+PANGO_AVAILABLE_IN_1_22
 void          pango_cairo_font_map_set_default       (PangoCairoFontMap *fontmap);
+PANGO_AVAILABLE_IN_1_18
 cairo_font_type_t pango_cairo_font_map_get_font_type (PangoCairoFontMap *fontmap);

+PANGO_AVAILABLE_IN_1_10
 void          pango_cairo_font_map_set_resolution (PangoCairoFontMap *fontmap,
                           double             dpi);
+PANGO_AVAILABLE_IN_1_10
 double        pango_cairo_font_map_get_resolution (PangoCairoFontMap *fontmap);
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(pango_font_map_create_context)
+PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)
 PangoContext *pango_cairo_font_map_create_context (PangoCairoFontMap *fontmap);
 #endif

 /*
  * PangoCairoFont
  */
+PANGO_AVAILABLE_IN_1_18
 GType         pango_cairo_font_get_type               (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_18
 cairo_scaled_font_t *pango_cairo_font_get_scaled_font (PangoCairoFont *font);

 /* Update a Pango context for the current state of a cairo context
  */
+PANGO_AVAILABLE_IN_1_10
 void         pango_cairo_update_context (cairo_t      *cr,
                     PangoContext *context);

+PANGO_AVAILABLE_IN_1_10
 void                        pango_cairo_context_set_font_options (PangoContext               *context,
                                  const cairo_font_options_t *options);
+PANGO_AVAILABLE_IN_1_10
 const cairo_font_options_t *pango_cairo_context_get_font_options (PangoContext               *context);

+PANGO_AVAILABLE_IN_1_10
 void               pango_cairo_context_set_resolution     (PangoContext       *context,
                               double              dpi);
+PANGO_AVAILABLE_IN_1_10
 double             pango_cairo_context_get_resolution     (PangoContext       *context);

+PANGO_AVAILABLE_IN_1_18
 void                        pango_cairo_context_set_shape_renderer (PangoContext                *context,
                                    PangoCairoShapeRendererFunc  func,
                                    gpointer                     data,
                                    GDestroyNotify               dnotify);
+PANGO_AVAILABLE_IN_1_18
 PangoCairoShapeRendererFunc pango_cairo_context_get_shape_renderer (PangoContext                *context,
                                    gpointer                    *data);

 /* Convenience
  */
+PANGO_AVAILABLE_IN_1_22
 PangoContext *pango_cairo_create_context (cairo_t   *cr);
+PANGO_AVAILABLE_IN_ALL
 PangoLayout *pango_cairo_create_layout (cairo_t     *cr);
+PANGO_AVAILABLE_IN_1_10
 void         pango_cairo_update_layout (cairo_t     *cr,
                    PangoLayout *layout);

 /*
  * Rendering
  */
+PANGO_AVAILABLE_IN_1_10
 void pango_cairo_show_glyph_string (cairo_t          *cr,
                    PangoFont        *font,
                    PangoGlyphString *glyphs);
+PANGO_AVAILABLE_IN_1_22
 void pango_cairo_show_glyph_item   (cairo_t          *cr,
                    const char       *text,
                    PangoGlyphItem   *glyph_item);
+PANGO_AVAILABLE_IN_1_10
 void pango_cairo_show_layout_line  (cairo_t          *cr,
                    PangoLayoutLine  *line);
+PANGO_AVAILABLE_IN_1_10
 void pango_cairo_show_layout       (cairo_t          *cr,
                    PangoLayout      *layout);

+PANGO_AVAILABLE_IN_1_14
 void pango_cairo_show_error_underline (cairo_t       *cr,
                       double         x,
                       double         y,
@@ -150,14 +175,18 @@
 /*
  * Rendering to a path
  */
+PANGO_AVAILABLE_IN_1_10
 void pango_cairo_glyph_string_path (cairo_t          *cr,
                    PangoFont        *font,
                    PangoGlyphString *glyphs);
+PANGO_AVAILABLE_IN_1_10
 void pango_cairo_layout_line_path  (cairo_t          *cr,
                    PangoLayoutLine  *line);
+PANGO_AVAILABLE_IN_1_10
 void pango_cairo_layout_path       (cairo_t          *cr,
                    PangoLayout      *layout);

+PANGO_AVAILABLE_IN_1_14
 void pango_cairo_error_underline_path (cairo_t       *cr,
                       double         x,
                       double         y,
diff -Nur /usr/include/pango-1.0/pango/pango-context.h pango-1.0/pango/pango-context.h
--- /usr/include/pango-1.0/pango/pango-context.h    2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-context.h 2016-09-10 21:41:33.650419694 +0200
@@ -47,58 +47,83 @@
  * need to create a subclass of these, file a bug.
  */

+PANGO_AVAILABLE_IN_ALL
 GType         pango_context_get_type      (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoContext *pango_context_new           (void);
+PANGO_AVAILABLE_IN_1_32
 void          pango_context_changed       (PangoContext                 *context);
+PANGO_AVAILABLE_IN_ALL
 void          pango_context_set_font_map  (PangoContext                 *context,
                       PangoFontMap                 *font_map);
+PANGO_AVAILABLE_IN_1_6
 PangoFontMap *pango_context_get_font_map  (PangoContext                 *context);
+PANGO_AVAILABLE_IN_1_32
 guint         pango_context_get_serial    (PangoContext                 *context);
+PANGO_AVAILABLE_IN_ALL
 void          pango_context_list_families (PangoContext                 *context,
                       PangoFontFamily            ***families,
                       int                          *n_families);
+PANGO_AVAILABLE_IN_ALL
 PangoFont *   pango_context_load_font     (PangoContext                 *context,
                       const PangoFontDescription   *desc);
+PANGO_AVAILABLE_IN_ALL
 PangoFontset *pango_context_load_fontset  (PangoContext                 *context,
                       const PangoFontDescription   *desc,
                       PangoLanguage                *language);

+PANGO_AVAILABLE_IN_ALL
 PangoFontMetrics *pango_context_get_metrics   (PangoContext                 *context,
                           const PangoFontDescription   *desc,
                           PangoLanguage                *language);

+PANGO_AVAILABLE_IN_ALL
 void                      pango_context_set_font_description (PangoContext               *context,
                                  const PangoFontDescription *desc);
+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *    pango_context_get_font_description (PangoContext               *context);
+PANGO_AVAILABLE_IN_ALL
 PangoLanguage            *pango_context_get_language         (PangoContext               *context);
+PANGO_AVAILABLE_IN_ALL
 void                      pango_context_set_language         (PangoContext               *context,
                                  PangoLanguage              *language);
+PANGO_AVAILABLE_IN_ALL
 void                      pango_context_set_base_dir         (PangoContext               *context,
                                  PangoDirection              direction);
+PANGO_AVAILABLE_IN_ALL
 PangoDirection            pango_context_get_base_dir         (PangoContext               *context);
+PANGO_AVAILABLE_IN_1_16
 void                      pango_context_set_base_gravity     (PangoContext               *context,
                                  PangoGravity                gravity);
+PANGO_AVAILABLE_IN_1_16
 PangoGravity              pango_context_get_base_gravity     (PangoContext               *context);
+PANGO_AVAILABLE_IN_1_16
 PangoGravity              pango_context_get_gravity          (PangoContext               *context);
+PANGO_AVAILABLE_IN_1_16
 void                      pango_context_set_gravity_hint     (PangoContext               *context,
                                  PangoGravityHint            hint);
+PANGO_AVAILABLE_IN_1_16
 PangoGravityHint          pango_context_get_gravity_hint     (PangoContext               *context);

+PANGO_AVAILABLE_IN_1_6
 void                      pango_context_set_matrix           (PangoContext      *context,
                                      const PangoMatrix *matrix);
+PANGO_AVAILABLE_IN_1_6
 const PangoMatrix *       pango_context_get_matrix           (PangoContext      *context);

 /* Break a string of Unicode characters into segments with
  * consistent shaping/language engine and bidrectional level.
  * Returns a #GList of #PangoItem's
  */
+PANGO_AVAILABLE_IN_ALL
 GList *pango_itemize                (PangoContext      *context,
                     const char        *text,
                     int                start_index,
                     int                length,
                     PangoAttrList     *attrs,
                     PangoAttrIterator *cached_iter);
+PANGO_AVAILABLE_IN_1_4
 GList *pango_itemize_with_base_dir  (PangoContext      *context,
                     PangoDirection     base_dir,
                     const char        *text,
diff -Nur /usr/include/pango-1.0/pango/pango-coverage.h pango-1.0/pango/pango-coverage.h
--- /usr/include/pango-1.0/pango/pango-coverage.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-coverage.h    2016-09-10 21:41:35.654384424 +0200
@@ -24,6 +24,8 @@

 #include <glib.h>

+#include <pango/pango-version-macros.h>
+
 G_BEGIN_DECLS

 /**
@@ -56,21 +58,30 @@
   PANGO_COVERAGE_EXACT
 } PangoCoverageLevel;

+PANGO_AVAILABLE_IN_ALL
 PangoCoverage *    pango_coverage_new     (void);
+PANGO_AVAILABLE_IN_ALL
 PangoCoverage *    pango_coverage_ref     (PangoCoverage      *coverage);
+PANGO_AVAILABLE_IN_ALL
 void               pango_coverage_unref   (PangoCoverage      *coverage);
+PANGO_AVAILABLE_IN_ALL
 PangoCoverage *    pango_coverage_copy    (PangoCoverage      *coverage);
+PANGO_AVAILABLE_IN_ALL
 PangoCoverageLevel pango_coverage_get     (PangoCoverage      *coverage,
                       int                 index_);
+PANGO_AVAILABLE_IN_ALL
 void               pango_coverage_set     (PangoCoverage      *coverage,
                       int                 index_,
                       PangoCoverageLevel  level);
+PANGO_AVAILABLE_IN_ALL
 void               pango_coverage_max     (PangoCoverage      *coverage,
                       PangoCoverage      *other);

+PANGO_AVAILABLE_IN_ALL
 void           pango_coverage_to_bytes   (PangoCoverage  *coverage,
                      guchar        **bytes,
                      int            *n_bytes);
+PANGO_AVAILABLE_IN_ALL
 PangoCoverage *pango_coverage_from_bytes (guchar         *bytes,
                      int             n_bytes);

diff -Nur /usr/include/pango-1.0/pango/pango-engine.h pango-1.0/pango/pango-engine.h
--- /usr/include/pango-1.0/pango/pango-engine.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-engine.h  2016-09-10 21:41:33.946414480 +0200
@@ -32,15 +32,13 @@

 #ifdef PANGO_ENABLE_ENGINE

-/* Module API */
-
-#include <gmodule.h>
-
 /**
  * PANGO_RENDER_TYPE_NONE:
  *
  * A string constant defining the render type
  * for engines that are not rendering-system specific.
+ *
+ * Deprecated: 1.38
  */
 #define PANGO_RENDER_TYPE_NONE "PangoRenderNone"

@@ -59,6 +57,8 @@
  *
  * #PangoEngine is the base class for all types of language and
  * script specific engines. It has no functionality by itself.
+ *
+ * Deprecated: 1.38
  **/
 struct _PangoEngine
 {
@@ -70,6 +70,8 @@
  * PangoEngineClass:
  *
  * Class structure for #PangoEngine
+ *
+ * Deprecated: 1.38
  **/
 struct _PangoEngineClass
 {
@@ -77,6 +79,7 @@
   GObjectClass parent_class;
 };

+PANGO_DEPRECATED_IN_1_38
 GType pango_engine_get_type (void) G_GNUC_CONST;

 /**
@@ -84,6 +87,8 @@
  *
  * A string constant defining the engine type for language engines.
  * These engines derive from #PangoEngineLang.
+ *
+ * Deprecated: 1.38
  */
 #define PANGO_ENGINE_TYPE_LANG "PangoEngineLang"

@@ -105,6 +110,8 @@
  * instance, a custom #PangoEngineLang could be provided for
  * Thai to implement the dictionary-based word boundary
  * lookups needed for that language.
+ *
+ * Deprecated: 1.38
  **/
 struct _PangoEngineLang
 {
@@ -114,14 +121,16 @@

 /**
  * PangoEngineLangClass:
- * @script_break: Provides a custom implementation of pango_break().
- * If %NULL, pango_default_break() is used instead. If not %NULL, for
- * Pango versions before 1.16 (module interface version before 1.6.0),
- * this was called instead of pango_default_break(), but in newer versions,
- * pango_default_break() is always called and this is called after that to
- * allow tailoring the breaking results.
+ * @script_break: (nullable): Provides a custom implementation of
+ * pango_break().  If %NULL, pango_default_break() is used instead. If
+ * not %NULL, for Pango versions before 1.16 (module interface version
+ * before 1.6.0), this was called instead of pango_default_break(),
+ * but in newer versions, pango_default_break() is always called and
+ * this is called after that to allow tailoring the breaking results.
  *
  * Class structure for #PangoEngineLang
+ *
+ * Deprecated: 1.38
  **/
 struct _PangoEngineLangClass
 {
@@ -137,6 +146,7 @@
            int            attrs_len);
 };

+PANGO_DEPRECATED_IN_1_38
 GType pango_engine_lang_get_type (void) G_GNUC_CONST;

 /**
@@ -144,6 +154,8 @@
  *
  * A string constant defining the engine type for shaping engines.
  * These engines derive from #PangoEngineShape.
+ *
+ * Deprecated: 1.38
  */
 #define PANGO_ENGINE_TYPE_SHAPE "PangoEngineShape"

@@ -167,6 +179,8 @@
  * and to a particular script. For instance, there is one
  * #PangoEngineShape implementation to handle shaping Arabic
  * for Fontconfig-based backends.
+ *
+ * Deprecated: 1.38
  **/
 struct _PangoEngineShape
 {
@@ -197,6 +211,8 @@
  *   font itself unmodified.
  *
  * Class structure for #PangoEngineShape
+ *
+ * Deprecated: 1.38
  **/
 struct _PangoEngineShapeClass
 {
@@ -218,6 +234,7 @@
                  gunichar          wc);
 };

+PANGO_DEPRECATED_IN_1_38
 GType pango_engine_shape_get_type (void) G_GNUC_CONST;

 typedef struct _PangoEngineInfo PangoEngineInfo;
@@ -239,6 +256,8 @@
  *
  * The #PangoEngineScriptInfo structure contains
  * information about how the shaper covers a particular script.
+ *
+ * Deprecated: 1.38
  */
 struct _PangoEngineScriptInfo
 {
@@ -256,6 +275,8 @@
  *
  * The #PangoEngineInfo structure contains information about a particular
  * engine. It contains the following fields:
+ *
+ * Deprecated: 1.38
  */
 struct _PangoEngineInfo
 {
@@ -271,14 +292,11 @@
  * @engines: location to store a pointer to an array of engines.
  * @n_engines: location to store the number of elements in @engines.
  *
- * Function to be provided by a module to list the engines that the
- * module supplies. The function stores a pointer to an array
- * of #PangoEngineInfo structures and the length of that array in
- * the given location.
+ * Do not use.
  *
- * Note that script_engine_init() will not be called before this
- * function.
+ * Deprecated: 1.38
  **/
+PANGO_DEPRECATED_IN_1_38
 void script_engine_list (PangoEngineInfo **engines,
             int              *n_engines);

@@ -287,33 +305,33 @@
  * @module: a #GTypeModule structure used to associate any
  *  GObject types created in this module with the module.
  *
- * Function to be provided by a module to register any
- * GObject types in the module.
+ * Do not use.
+ *
+ * Deprecated: 1.38
  **/
+PANGO_DEPRECATED_IN_1_38
 void script_engine_init (GTypeModule *module);

 /**
  * script_engine_exit:
  *
- * Function to be provided by the module that is called
- * when the module is unloading. Frequently does nothing.
+ * Do not use.
+ *
+ * Deprecated: 1.38
  **/
+PANGO_DEPRECATED_IN_1_38
 void script_engine_exit (void);

 /**
  * script_engine_create:
  * @id: the ID of an engine as reported by script_engine_list.
  *
- * Function to be provided by the module to create an instance
- * of one of the engines implemented by the module.
+ * Do not use.
  *
- * Return value: a newly created #PangoEngine of the specified
- *  type, or %NULL if an error occurred. (In normal operation,
- *  a module should not return %NULL. A %NULL return is only
- *  acceptable in the case where system misconfiguration or
- *  bugs in the driver routine are encountered.)
+ * Deprecated: 1.38
  **/
+PANGO_DEPRECATED_IN_1_38
 PangoEngine *script_engine_create (const char *id);

 /* Utility macro used by PANGO_ENGINE_LANG_DEFINE_TYPE and
@@ -347,8 +365,8 @@
  * PANGO_ENGINE_LANG_DEFINE_TYPE:
  * @name: Name of the the type to register (for example:, <literal>ArabicEngineFc</literal>
  * @prefix: Prefix for symbols that will be defined (for example:, <literal>arabic_engine_fc</literal>
- * @class_init: Class initialization function for the new type, or %NULL
- * @instance_init: Instance initialization function for the new type, or %NULL
+ * @class_init: (nullable): Class initialization function for the new type, or %NULL
+ * @instance_init: (nullable): Instance initialization function for the new type, or %NULL
  *
  * Outputs the necessary code for GObject type registration for a
  * #PangoEngineLang class defined in a module. Two static symbols
@@ -367,6 +385,8 @@
  * <informalexample><programlisting>
  *  PangoEngine *engine = g_object_new (<replaceable>prefix</replaceable>_type, NULL);
  * </programlisting></informalexample>
+ *
+ * Deprecated: 1.38
  **/
 #define PANGO_ENGINE_LANG_DEFINE_TYPE(name, prefix, class_init, instance_init) \
   PANGO_ENGINE_DEFINE_TYPE (name, prefix,              \
@@ -377,8 +397,8 @@
  * PANGO_ENGINE_SHAPE_DEFINE_TYPE:
  * @name: Name of the the type to register (for example:, <literal>ArabicEngineFc</literal>
  * @prefix: Prefix for symbols that will be defined (for example:, <literal>arabic_engine_fc</literal>
- * @class_init: Class initialization function for the new type, or %NULL
- * @instance_init: Instance initialization function for the new type, or %NULL
+ * @class_init: (nullable): Class initialization function for the new type, or %NULL
+ * @instance_init: (nullable): Instance initialization function for the new type, or %NULL
  *
  * Outputs the necessary code for GObject type registration for a
  * #PangoEngineShape class defined in a module. Two static symbols
@@ -397,6 +417,8 @@
  * <informalexample><programlisting>
  *  PangoEngine *engine = g_object_new (<replaceable>prefix</replaceable>_type, NULL);
  * </programlisting></informalexample>
+ *
+ * Deprecated: 1.38
  **/
 #define PANGO_ENGINE_SHAPE_DEFINE_TYPE(name, prefix, class_init, instance_init)    \
   PANGO_ENGINE_DEFINE_TYPE (name, prefix,              \
diff -Nur /usr/include/pango-1.0/pango/pango-enum-types.h pango-1.0/pango/pango-enum-types.h
--- /usr/include/pango-1.0/pango/pango-enum-types.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-enum-types.h  2016-09-10 21:41:33.394424204 +0200
@@ -6,59 +6,79 @@

 #include <glib-object.h>

+#include <pango/pango-version-macros.h>
+
 G_BEGIN_DECLS

 /* enumerations from "pango-attributes.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_attr_type_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_ATTR_TYPE (pango_attr_type_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_underline_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_UNDERLINE (pango_underline_get_type ())

 /* enumerations from "pango-bidi-type.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_bidi_type_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_BIDI_TYPE (pango_bidi_type_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_direction_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_DIRECTION (pango_direction_get_type ())

 /* enumerations from "pango-coverage.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_coverage_level_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_COVERAGE_LEVEL (pango_coverage_level_get_type ())

 /* enumerations from "pango-font.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_style_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_STYLE (pango_style_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_variant_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_VARIANT (pango_variant_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_weight_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_WEIGHT (pango_weight_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_stretch_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_STRETCH (pango_stretch_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_font_mask_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_FONT_MASK (pango_font_mask_get_type ())

 /* enumerations from "pango-gravity.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_gravity_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_GRAVITY (pango_gravity_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_gravity_hint_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_GRAVITY_HINT (pango_gravity_hint_get_type ())

 /* enumerations from "pango-layout.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_alignment_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_ALIGNMENT (pango_alignment_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_wrap_mode_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_WRAP_MODE (pango_wrap_mode_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType pango_ellipsize_mode_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_ELLIPSIZE_MODE (pango_ellipsize_mode_get_type ())

 /* enumerations from "pango-renderer.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_render_part_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_RENDER_PART (pango_render_part_get_type ())

 /* enumerations from "pango-script.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_script_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_SCRIPT (pango_script_get_type ())

 /* enumerations from "pango-tabs.h" */
+PANGO_AVAILABLE_IN_ALL
 GType pango_tab_align_get_type (void) G_GNUC_CONST;
 #define PANGO_TYPE_TAB_ALIGN (pango_tab_align_get_type ())
 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pangofc-decoder.h pango-1.0/pango/pangofc-decoder.h
--- /usr/include/pango-1.0/pango/pangofc-decoder.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangofc-decoder.h   2016-09-10 21:41:32.730435897 +0200
@@ -95,11 +95,14 @@
   void (*_pango_reserved4) (void);
 };

+PANGO_AVAILABLE_IN_1_6
 GType      pango_fc_decoder_get_type    (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_6
 FcCharSet *pango_fc_decoder_get_charset (PangoFcDecoder *decoder,
                     PangoFcFont    *fcfont);

+PANGO_AVAILABLE_IN_1_6
 PangoGlyph pango_fc_decoder_get_glyph   (PangoFcDecoder *decoder,
                     PangoFcFont    *fcfont,
                     guint32         wc);
diff -Nur /usr/include/pango-1.0/pango/pangofc-font.h pango-1.0/pango/pangofc-font.h
--- /usr/include/pango-1.0/pango/pangofc-font.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangofc-font.h  2016-09-10 21:41:33.190427796 +0200
@@ -22,12 +22,10 @@
 #ifndef __PANGO_FC_FONT_H__
 #define __PANGO_FC_FONT_H__

+#include <pango/pango.h>
 #include <ft2build.h>
 #include FT_FREETYPE_H
 #include <fontconfig/fontconfig.h>
-#include <pango/pango-font.h>
-#include <pango/pango-fontmap.h>
-#include <pango/pango-glyph.h>

 G_BEGIN_DECLS

@@ -93,13 +91,12 @@
  *   corresponding to the specified character.
  * @get_glyph: Gets the glyph that corresponds to the given
  *   Unicode character.
- * @get_unknown_glyph: Gets the glyph that should be used to
- *   display an unknown-glyph indication for the specified
- *   Unicode character.
- *   May be %NULL.
- * @shutdown: Performs any font-specific shutdown code that
- *   needs to be done when pango_fc_font_map_shutdown is called.
- *   May be %NULL.
+ * @get_unknown_glyph: (nullable): Gets the glyph that
+ *   should be used to display an unknown-glyph indication
+ *   for the specified Unicode character.  May be %NULL.
+ * @shutdown: (nullable): Performs any font-specific
+ *   shutdown code that needs to be done when
+ *   pango_fc_font_map_shutdown is called.  May be %NULL.
  *
  * Class structure for #PangoFcFont.
  **/
@@ -129,24 +126,29 @@

 #endif /* PANGO_ENABLE_BACKEND */

+PANGO_AVAILABLE_IN_1_4
 gboolean   pango_fc_font_has_char          (PangoFcFont      *font,
                        gunichar          wc);
+PANGO_AVAILABLE_IN_1_4
 guint      pango_fc_font_get_glyph         (PangoFcFont      *font,
                        gunichar          wc);
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
+PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
 PangoGlyph pango_fc_font_get_unknown_glyph (PangoFcFont      *font,
                        gunichar          wc);
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_32
 void       pango_fc_font_kern_glyphs       (PangoFcFont      *font,
                        PangoGlyphString *glyphs);
 #endif /* PANGO_DISABLE_DEPRECATED */

 #endif /* PANGO_ENABLE_ENGINE || PANGO_ENABLE_BACKEND */

+PANGO_AVAILABLE_IN_ALL
 GType      pango_fc_font_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_4
 FT_Face    pango_fc_font_lock_face         (PangoFcFont      *font);
+PANGO_AVAILABLE_IN_1_4
 void       pango_fc_font_unlock_face       (PangoFcFont      *font);

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pangofc-fontmap.h pango-1.0/pango/pangofc-fontmap.h
--- /usr/include/pango-1.0/pango/pangofc-fontmap.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangofc-fontmap.h   2016-09-10 21:41:36.042377577 +0200
@@ -22,8 +22,8 @@
 #ifndef __PANGO_FC_FONT_MAP_H__
 #define __PANGO_FC_FONT_MAP_H__

+#include <pango/pango.h>
 #include <fontconfig/fontconfig.h>
-#include <pango/pango-fontmap.h>
 #include <pango/pangofc-decoder.h>
 #include <pango/pangofc-font.h>

@@ -42,11 +42,17 @@
  **/
 typedef struct _PangoFcFontsetKey  PangoFcFontsetKey;

+PANGO_AVAILABLE_IN_1_24
 PangoLanguage              *pango_fc_fontset_key_get_language      (const PangoFcFontsetKey *key);
+PANGO_AVAILABLE_IN_1_24
 const PangoFontDescription *pango_fc_fontset_key_get_description   (const PangoFcFontsetKey *key);
+PANGO_AVAILABLE_IN_1_24
 const PangoMatrix          *pango_fc_fontset_key_get_matrix        (const PangoFcFontsetKey *key);
+PANGO_AVAILABLE_IN_1_24
 double                      pango_fc_fontset_key_get_absolute_size (const PangoFcFontsetKey *key);
+PANGO_AVAILABLE_IN_1_24
 double                      pango_fc_fontset_key_get_resolution    (const PangoFcFontsetKey *key);
+PANGO_AVAILABLE_IN_1_24
 gpointer                    pango_fc_fontset_key_get_context_key   (const PangoFcFontsetKey *key);

 /**
@@ -59,8 +65,11 @@
  **/
 typedef struct _PangoFcFontKey     PangoFcFontKey;

+PANGO_AVAILABLE_IN_1_24
 const FcPattern   *pango_fc_font_key_get_pattern     (const PangoFcFontKey *key);
+PANGO_AVAILABLE_IN_1_24
 const PangoMatrix *pango_fc_font_key_get_matrix      (const PangoFcFontKey *key);
+PANGO_AVAILABLE_IN_1_24
 gpointer           pango_fc_font_key_get_context_key (const PangoFcFontKey *key);

 #endif
@@ -102,10 +111,10 @@

 /**
  * PangoFcFontMapClass:
- * @default_substitute: Substitutes in default values for
- *  unspecified fields in a #FcPattern. This will be called
- *  prior to creating a font for the pattern. May be %NULL.
- *  Deprecated in favor of @font_key_substitute().
+ * @default_substitute: (nullable): Substitutes in default
+ *  values for unspecified fields in a #FcPattern. This will
+ *  be called prior to creating a font for the pattern. May be
+ *  %NULL.  Deprecated in favor of @font_key_substitute().
  * @new_font: Creates a new #PangoFcFont for the specified
  *  pattern of the appropriate type for this font map. The
  *  @pattern argument must be passed to the "pattern" property
@@ -128,17 +137,17 @@
  *  @context_key_copy.
  * @context_key_hash: Gets a hash value for a context key
  * @context_key_equal: Compares two context keys for equality.
- * @fontset_key_substitute: Substitutes in default values for
- *  unspecified fields in a #FcPattern. This will be called
- *  prior to creating a font for the pattern. May be %NULL.
- *  (Since: 1.24)
- * @create_font: Creates a new #PangoFcFont for the specified
- *  pattern of the appropriate type for this font map using
- *  information from the font key that is passed in. The
- *  @pattern member of @font_key can be retrieved using
- *  pango_fc_font_key_get_pattern() and must be passed to
- *  the "pattern" property of #PangoFcFont when you call
- *  g_object_new().  If %NULL, new_font() is used.
+ * @fontset_key_substitute: (nullable): Substitutes in
+ *  default values for unspecified fields in a
+ *  #FcPattern. This will be called prior to creating a font
+ *  for the pattern. May be %NULL.  (Since: 1.24)
+ * @create_font: (nullable): Creates a new #PangoFcFont for
+ *  the specified pattern of the appropriate type for this
+ *  font map using information from the font key that is
+ *  passed in. The @pattern member of @font_key can be
+ *  retrieved using pango_fc_font_key_get_pattern() and must
+ *  be passed to the "pattern" property of #PangoFcFont when
+ *  you call g_object_new().  If %NULL, new_font() is used.
  *  (Since: 1.24)
  *
  * Class structure for #PangoFcFontMap.
@@ -170,8 +179,8 @@
   gboolean     (*context_key_equal)  (PangoFcFontMap             *fcfontmap,
                      gconstpointer               key_a,
                      gconstpointer               key_b);
-
   void         (*fontset_key_substitute)(PangoFcFontMap             *fontmap,
+
                      PangoFcFontsetKey          *fontsetkey,
                      FcPattern                  *pattern);
   PangoFcFont  *(*create_font)       (PangoFcFontMap             *fontmap,
@@ -186,17 +195,32 @@
 };

 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(pango_font_map_create_context)
+PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)
 PangoContext * pango_fc_font_map_create_context (PangoFcFontMap *fcfontmap);
 #endif
+PANGO_AVAILABLE_IN_1_4
 void           pango_fc_font_map_shutdown       (PangoFcFontMap *fcfontmap);

 #endif

+PANGO_AVAILABLE_IN_ALL
 GType pango_fc_font_map_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_4
 void           pango_fc_font_map_cache_clear    (PangoFcFontMap *fcfontmap);

+PANGO_AVAILABLE_IN_1_38
+void
+pango_fc_font_map_config_changed (PangoFcFontMap *fcfontmap);
+
+PANGO_AVAILABLE_IN_1_38
+void
+pango_fc_font_map_set_config (PangoFcFontMap *fcfontmap,
+                 FcConfig       *fcconfig);
+PANGO_AVAILABLE_IN_1_38
+FcConfig *
+pango_fc_font_map_get_config (PangoFcFontMap *fcfontmap);
+
 /**
  * PangoFcDecoderFindFunc:
  * @pattern: a fully resolved #FcPattern specifying the font on the system
@@ -210,13 +234,16 @@
 typedef PangoFcDecoder * (*PangoFcDecoderFindFunc) (FcPattern *pattern,
                            gpointer   user_data);

+PANGO_AVAILABLE_IN_1_6
 void pango_fc_font_map_add_decoder_find_func (PangoFcFontMap        *fcfontmap,
                          PangoFcDecoderFindFunc findfunc,
                          gpointer               user_data,
                          GDestroyNotify         dnotify);
+PANGO_AVAILABLE_IN_1_26
 PangoFcDecoder *pango_fc_font_map_find_decoder (PangoFcFontMap *fcfontmap,
                            FcPattern      *pattern);

+PANGO_AVAILABLE_IN_1_4
 PangoFontDescription *pango_fc_font_description_from_pattern (FcPattern *pattern,
                                  gboolean   include_size);

diff -Nur /usr/include/pango-1.0/pango/pango-features.h pango-1.0/pango/pango-features.h
--- /usr/include/pango-1.0/pango/pango-features.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-features.h    2016-09-10 21:41:35.350389750 +0200
@@ -3,10 +3,10 @@
 #define PANGO_FEATURES_H

 #define PANGO_VERSION_MAJOR 1
-#define PANGO_VERSION_MINOR 36
-#define PANGO_VERSION_MICRO 8
+#define PANGO_VERSION_MINOR 40
+#define PANGO_VERSION_MICRO 2

-#define PANGO_VERSION_STRING "1.36.8"
+#define PANGO_VERSION_STRING "1.40.2"

 #endif
diff -Nur /usr/include/pango-1.0/pango/pango-font.h pango-1.0/pango/pango-font.h
--- /usr/include/pango-1.0/pango/pango-font.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-font.h    2016-09-10 21:41:32.990431318 +0200
@@ -214,61 +214,94 @@
  */
 #define PANGO_TYPE_FONT_DESCRIPTION (pango_font_description_get_type ())

+PANGO_AVAILABLE_IN_ALL
 GType                 pango_font_description_get_type    (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *pango_font_description_new         (void);
+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *pango_font_description_copy        (const PangoFontDescription  *desc);
+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *pango_font_description_copy_static (const PangoFontDescription  *desc);
+PANGO_AVAILABLE_IN_ALL
 guint                 pango_font_description_hash        (const PangoFontDescription  *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 gboolean              pango_font_description_equal       (const PangoFontDescription  *desc1,
                              const PangoFontDescription  *desc2) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void                  pango_font_description_free        (PangoFontDescription        *desc);
+PANGO_AVAILABLE_IN_ALL
 void                  pango_font_descriptions_free       (PangoFontDescription       **descs,
                              int                          n_descs);

+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_family        (PangoFontDescription *desc,
                                   const char           *family);
+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_family_static (PangoFontDescription *desc,
                                   const char           *family);
+PANGO_AVAILABLE_IN_ALL
 const char          *pango_font_description_get_family        (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_style         (PangoFontDescription *desc,
                                   PangoStyle            style);
+PANGO_AVAILABLE_IN_ALL
 PangoStyle           pango_font_description_get_style         (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_variant       (PangoFontDescription *desc,
                                   PangoVariant          variant);
+PANGO_AVAILABLE_IN_ALL
 PangoVariant         pango_font_description_get_variant       (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_weight        (PangoFontDescription *desc,
                                   PangoWeight           weight);
+PANGO_AVAILABLE_IN_ALL
 PangoWeight          pango_font_description_get_weight        (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_stretch       (PangoFontDescription *desc,
                                   PangoStretch          stretch);
+PANGO_AVAILABLE_IN_ALL
 PangoStretch         pango_font_description_get_stretch       (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_description_set_size          (PangoFontDescription *desc,
                                   gint                  size);
+PANGO_AVAILABLE_IN_ALL
 gint                 pango_font_description_get_size          (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_8
 void                 pango_font_description_set_absolute_size (PangoFontDescription *desc,
                                   double                size);
+PANGO_AVAILABLE_IN_1_8
 gboolean             pango_font_description_get_size_is_absolute (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_16
 void                 pango_font_description_set_gravity       (PangoFontDescription *desc,
                                   PangoGravity          gravity);
+PANGO_AVAILABLE_IN_1_16
 PangoGravity         pango_font_description_get_gravity       (const PangoFontDescription *desc) G_GNUC_PURE;

+PANGO_AVAILABLE_IN_ALL
 PangoFontMask pango_font_description_get_set_fields (const PangoFontDescription *desc) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 void          pango_font_description_unset_fields   (PangoFontDescription       *desc,
                             PangoFontMask               to_unset);

+PANGO_AVAILABLE_IN_ALL
 void pango_font_description_merge        (PangoFontDescription       *desc,
                      const PangoFontDescription *desc_to_merge,
                      gboolean                    replace_existing);
+PANGO_AVAILABLE_IN_ALL
 void pango_font_description_merge_static (PangoFontDescription       *desc,
                      const PangoFontDescription *desc_to_merge,
                      gboolean                    replace_existing);

+PANGO_AVAILABLE_IN_ALL
 gboolean pango_font_description_better_match (const PangoFontDescription *desc,
                          const PangoFontDescription *old_match,
                          const PangoFontDescription *new_match) G_GNUC_PURE;

+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *pango_font_description_from_string (const char                  *str);
+PANGO_AVAILABLE_IN_ALL
 char *                pango_font_description_to_string   (const PangoFontDescription  *desc);
+PANGO_AVAILABLE_IN_ALL
 char *                pango_font_description_to_filename (const PangoFontDescription  *desc);

 /*
@@ -281,24 +314,37 @@
  * The #GObject type for #PangoFontMetrics.
  */
 #define PANGO_TYPE_FONT_METRICS  (pango_font_metrics_get_type ())
+PANGO_AVAILABLE_IN_ALL
 GType             pango_font_metrics_get_type                    (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoFontMetrics *pango_font_metrics_ref                         (PangoFontMetrics *metrics);
+PANGO_AVAILABLE_IN_ALL
 void              pango_font_metrics_unref                       (PangoFontMetrics *metrics);
+PANGO_AVAILABLE_IN_ALL
 int               pango_font_metrics_get_ascent                  (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 int               pango_font_metrics_get_descent                 (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 int               pango_font_metrics_get_approximate_char_width  (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_ALL
 int               pango_font_metrics_get_approximate_digit_width (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_6
 int               pango_font_metrics_get_underline_position      (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_6
 int               pango_font_metrics_get_underline_thickness     (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_6
 int               pango_font_metrics_get_strikethrough_position  (PangoFontMetrics *metrics) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_6
 int               pango_font_metrics_get_strikethrough_thickness (PangoFontMetrics *metrics) G_GNUC_PURE;

 #ifdef PANGO_ENABLE_BACKEND

+PANGO_AVAILABLE_IN_ALL
 PangoFontMetrics *pango_font_metrics_new (void);

 struct _PangoFontMetrics
 {
+  /* <private> */
   guint ref_count;

   int ascent;
@@ -341,12 +387,16 @@
 typedef struct _PangoFontFamily      PangoFontFamily;
 typedef struct _PangoFontFace        PangoFontFace;

+PANGO_AVAILABLE_IN_ALL
 GType      pango_font_family_get_type       (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 void                 pango_font_family_list_faces (PangoFontFamily  *family,
                           PangoFontFace  ***faces,
                           int              *n_faces);
+PANGO_AVAILABLE_IN_ALL
 const char *pango_font_family_get_name   (PangoFontFamily  *family) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_4
 gboolean   pango_font_family_is_monospace         (PangoFontFamily  *family) G_GNUC_PURE;

 #ifdef PANGO_ENABLE_BACKEND
@@ -417,13 +467,18 @@
 #define PANGO_FONT_FACE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, PangoFontFace))
 #define PANGO_IS_FONT_FACE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE))

+PANGO_AVAILABLE_IN_ALL
 GType      pango_font_face_get_type       (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *pango_font_face_describe       (PangoFontFace  *face);
+PANGO_AVAILABLE_IN_ALL
 const char           *pango_font_face_get_face_name  (PangoFontFace  *face) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_4
 void                  pango_font_face_list_sizes     (PangoFontFace  *face,
                              int           **sizes,
                              int            *n_sizes);
+PANGO_AVAILABLE_IN_1_18
 gboolean              pango_font_face_is_synthesized (PangoFontFace  *face) G_GNUC_PURE;

 #ifdef PANGO_ENABLE_BACKEND
@@ -492,21 +547,29 @@
 #define PANGO_FONT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont))
 #define PANGO_IS_FONT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT))

+PANGO_AVAILABLE_IN_ALL
 GType                 pango_font_get_type          (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoFontDescription *pango_font_describe          (PangoFont        *font);
+PANGO_AVAILABLE_IN_1_14
 PangoFontDescription *pango_font_describe_with_absolute_size (PangoFont        *font);
+PANGO_AVAILABLE_IN_ALL
 PangoCoverage *       pango_font_get_coverage      (PangoFont        *font,
                            PangoLanguage    *language);
+PANGO_AVAILABLE_IN_ALL
 PangoEngineShape *    pango_font_find_shaper       (PangoFont        *font,
                            PangoLanguage    *language,
                            guint32           ch);
+PANGO_AVAILABLE_IN_ALL
 PangoFontMetrics *    pango_font_get_metrics       (PangoFont        *font,
                            PangoLanguage    *language);
+PANGO_AVAILABLE_IN_ALL
 void                  pango_font_get_glyph_extents (PangoFont        *font,
                            PangoGlyph        glyph,
                            PangoRectangle   *ink_rect,
                            PangoRectangle   *logical_rect);
+PANGO_AVAILABLE_IN_1_10
 PangoFontMap         *pango_font_get_font_map      (PangoFont        *font);

 #ifdef PANGO_ENABLE_BACKEND
diff -Nur /usr/include/pango-1.0/pango/pango-fontmap.h pango-1.0/pango/pango-fontmap.h
--- /usr/include/pango-1.0/pango/pango-fontmap.h    2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-fontmap.h 2016-09-10 21:41:33.122428994 +0200
@@ -50,19 +50,26 @@

 typedef struct _PangoContext PangoContext;

+PANGO_AVAILABLE_IN_ALL
 GType         pango_font_map_get_type       (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_22
 PangoContext * pango_font_map_create_context (PangoFontMap               *fontmap);
+PANGO_AVAILABLE_IN_ALL
 PangoFont *   pango_font_map_load_font     (PangoFontMap                 *fontmap,
                        PangoContext                 *context,
                        const PangoFontDescription   *desc);
+PANGO_AVAILABLE_IN_ALL
 PangoFontset *pango_font_map_load_fontset  (PangoFontMap                 *fontmap,
                        PangoContext                 *context,
                        const PangoFontDescription   *desc,
                        PangoLanguage                *language);
+PANGO_AVAILABLE_IN_ALL
 void          pango_font_map_list_families (PangoFontMap                 *fontmap,
                        PangoFontFamily            ***families,
                        int                          *n_families);
+PANGO_AVAILABLE_IN_1_32
 guint         pango_font_map_get_serial    (PangoFontMap                 *fontmap);
+PANGO_AVAILABLE_IN_1_34
 void          pango_font_map_changed       (PangoFontMap                 *fontmap);

 #ifdef PANGO_ENABLE_BACKEND
@@ -158,6 +165,7 @@
   void (*_pango_reserved2) (void);
 };

+PANGO_DEPRECATED_IN_1_38
 const char   *pango_font_map_get_shape_engine_type (PangoFontMap *fontmap);

 #endif /* PANGO_ENABLE_BACKEND */
diff -Nur /usr/include/pango-1.0/pango/pango-fontset.h pango-1.0/pango/pango-fontset.h
--- /usr/include/pango-1.0/pango/pango-fontset.h    2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-fontset.h 2016-09-10 21:41:33.458423075 +0200
@@ -42,6 +42,7 @@
 #define PANGO_FONTSET(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONTSET, PangoFontset))
 #define PANGO_IS_FONTSET(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONTSET))

+PANGO_AVAILABLE_IN_ALL
 GType pango_fontset_get_type (void) G_GNUC_CONST;

 typedef struct _PangoFontset        PangoFontset;
@@ -63,9 +64,12 @@
                         PangoFont     *font,
                         gpointer       user_data);

+PANGO_AVAILABLE_IN_ALL
 PangoFont *       pango_fontset_get_font    (PangoFontset           *fontset,
                         guint                   wc);
+PANGO_AVAILABLE_IN_ALL
 PangoFontMetrics *pango_fontset_get_metrics (PangoFontset           *fontset);
+PANGO_AVAILABLE_IN_1_4
 void              pango_fontset_foreach     (PangoFontset           *fontset,
                         PangoFontsetForeachFunc func,
                         gpointer                data);
@@ -155,11 +159,15 @@
 typedef struct _PangoFontsetSimple  PangoFontsetSimple;
 typedef struct _PangoFontsetSimpleClass  PangoFontsetSimpleClass;

+PANGO_AVAILABLE_IN_ALL
 GType pango_fontset_simple_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoFontsetSimple * pango_fontset_simple_new    (PangoLanguage      *language);
+PANGO_AVAILABLE_IN_ALL
 void                 pango_fontset_simple_append (PangoFontsetSimple *fontset,
                          PangoFont          *font);
+PANGO_AVAILABLE_IN_ALL
 int                  pango_fontset_simple_size   (PangoFontsetSimple *fontset);

 #endif /* PANGO_ENABLE_BACKEND */
diff -Nur /usr/include/pango-1.0/pango/pangoft2.h pango-1.0/pango/pangoft2.h
--- /usr/include/pango-1.0/pango/pangoft2.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangoft2.h  2016-09-10 21:41:32.578438576 +0200
@@ -58,11 +58,13 @@

 /* Calls for applications */

+PANGO_AVAILABLE_IN_ALL
 void pango_ft2_render             (FT_Bitmap         *bitmap,
                   PangoFont         *font,
                   PangoGlyphString  *glyphs,
                   gint               x,
                   gint               y);
+PANGO_AVAILABLE_IN_1_6
 void pango_ft2_render_transformed (FT_Bitmap         *bitmap,
                   const PangoMatrix *matrix,
                   PangoFont         *font,
@@ -70,36 +72,45 @@
                   int                x,
                   int                y);

+PANGO_AVAILABLE_IN_ALL
 void pango_ft2_render_layout_line          (FT_Bitmap        *bitmap,
                        PangoLayoutLine  *line,
                        int               x,
                        int               y);
+PANGO_AVAILABLE_IN_1_6
 void pango_ft2_render_layout_line_subpixel (FT_Bitmap        *bitmap,
                        PangoLayoutLine  *line,
                        int               x,
                        int               y);
+PANGO_AVAILABLE_IN_ALL
 void pango_ft2_render_layout               (FT_Bitmap        *bitmap,
                        PangoLayout      *layout,
                        int               x,
                        int               y);
+PANGO_AVAILABLE_IN_1_6
 void pango_ft2_render_layout_subpixel      (FT_Bitmap        *bitmap,
                        PangoLayout      *layout,
                        int               x,
                        int               y);

+PANGO_AVAILABLE_IN_ALL
 GType pango_ft2_font_map_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_2
 PangoFontMap *pango_ft2_font_map_new                    (void);
+PANGO_AVAILABLE_IN_1_2
 void          pango_ft2_font_map_set_resolution         (PangoFT2FontMap        *fontmap,
                             double                  dpi_x,
                             double                  dpi_y);
+PANGO_AVAILABLE_IN_1_2
 void          pango_ft2_font_map_set_default_substitute (PangoFT2FontMap        *fontmap,
                             PangoFT2SubstituteFunc  func,
                             gpointer                data,
                             GDestroyNotify          notify);
+PANGO_AVAILABLE_IN_1_2
 void          pango_ft2_font_map_substitute_changed     (PangoFT2FontMap         *fontmap);
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(pango_font_map_create_context)
+PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)
 PangoContext *pango_ft2_font_map_create_context         (PangoFT2FontMap         *fontmap);
 #endif

@@ -107,23 +118,23 @@
 /* API for rendering modules
  */
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(pango_font_map_create_context)
+PANGO_DEPRECATED_FOR(pango_font_map_create_context)
 PangoContext      *pango_ft2_get_context          (double dpi_x,
                           double dpi_y);
-G_DEPRECATED_FOR(pango_ft2_font_map_new)
+PANGO_DEPRECATED_FOR(pango_ft2_font_map_new)
 PangoFontMap      *pango_ft2_font_map_for_display (void);
-G_DEPRECATED
+PANGO_DEPRECATED
 void               pango_ft2_shutdown_display     (void);

-G_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
+PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
 PangoGlyph     pango_ft2_get_unknown_glyph (PangoFont       *font);
-G_DEPRECATED_FOR(pango_fc_font_kern_glyphs)
+PANGO_DEPRECATED_FOR(pango_fc_font_kern_glyphs)
 int            pango_ft2_font_get_kerning  (PangoFont       *font,
                        PangoGlyph       left,
                        PangoGlyph       right);
-G_DEPRECATED_FOR(pango_fc_font_lock_face)
+PANGO_DEPRECATED_FOR(pango_fc_font_lock_face)
 FT_Face        pango_ft2_font_get_face     (PangoFont       *font);
-G_DEPRECATED_FOR(pango_font_get_coverage)
+PANGO_DEPRECATED_FOR(pango_font_get_coverage)
 PangoCoverage *pango_ft2_font_get_coverage (PangoFont       *font,
                        PangoLanguage   *language);
 #endif /* PANGO_DISABLE_DEPRECATED */
diff -Nur /usr/include/pango-1.0/pango/pango-glyph.h pango-1.0/pango/pango-glyph.h
--- /usr/include/pango-1.0/pango/pango-glyph.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-glyph.h   2016-09-10 21:41:34.426405999 +0200
@@ -107,6 +107,11 @@
  */
 /**
  * PangoGlyphString:
+ * @num_glyphs: number of the glyphs in this glyph string.
+ * @glyphs: (array length=num_glyphs): array of glyph information
+ *          for the glyph string.
+ * @log_clusters: logical cluster info, indexed by the byte index
+ *                within the text corresponding to the glyph string.
  *
  * The #PangoGlyphString structure is used to store strings
  * of glyphs with geometry and visual attribute information.
@@ -136,18 +141,26 @@
  */
 #define PANGO_TYPE_GLYPH_STRING (pango_glyph_string_get_type ())

+PANGO_AVAILABLE_IN_ALL
 PangoGlyphString *pango_glyph_string_new      (void);
+PANGO_AVAILABLE_IN_ALL
 void              pango_glyph_string_set_size (PangoGlyphString *string,
                           gint              new_len);
+PANGO_AVAILABLE_IN_ALL
 GType             pango_glyph_string_get_type (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoGlyphString *pango_glyph_string_copy     (PangoGlyphString *string);
+PANGO_AVAILABLE_IN_ALL
 void              pango_glyph_string_free     (PangoGlyphString *string);
+PANGO_AVAILABLE_IN_ALL
 void              pango_glyph_string_extents  (PangoGlyphString *glyphs,
                           PangoFont        *font,
                           PangoRectangle   *ink_rect,
                           PangoRectangle   *logical_rect);
+PANGO_AVAILABLE_IN_1_14
 int               pango_glyph_string_get_width(PangoGlyphString *glyphs);

+PANGO_AVAILABLE_IN_ALL
 void              pango_glyph_string_extents_range  (PangoGlyphString *glyphs,
                             int               start,
                             int               end,
@@ -155,12 +168,14 @@
                             PangoRectangle   *ink_rect,
                             PangoRectangle   *logical_rect);

+PANGO_AVAILABLE_IN_ALL
 void pango_glyph_string_get_logical_widths (PangoGlyphString *glyphs,
                        const char       *text,
                        int               length,
                        int               embedding_level,
                        int              *logical_widths);

+PANGO_AVAILABLE_IN_ALL
 void pango_glyph_string_index_to_x (PangoGlyphString *glyphs,
                    char             *text,
                    int               length,
@@ -168,6 +183,7 @@
                    int               index_,
                    gboolean          trailing,
                    int              *x_pos);
+PANGO_AVAILABLE_IN_ALL
 void pango_glyph_string_x_to_index (PangoGlyphString *glyphs,
                    char             *text,
                    int               length,
@@ -178,11 +194,13 @@

 /* Turn a string of characters into a string of glyphs
  */
+PANGO_AVAILABLE_IN_ALL
 void pango_shape (const gchar      *text,
          gint              length,
          const PangoAnalysis *analysis,
          PangoGlyphString *glyphs);

+PANGO_AVAILABLE_IN_1_32
 void pango_shape_full (const gchar      *item_text,
               gint              item_length,
               const gchar      *paragraph_text,
@@ -190,6 +208,7 @@
               const PangoAnalysis *analysis,
               PangoGlyphString *glyphs);

+PANGO_AVAILABLE_IN_ALL
 GList *pango_reorder_items (GList *logical_items);

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pango-glyph-item.h pango-1.0/pango/pango-glyph-item.h
--- /usr/include/pango-1.0/pango/pango-glyph-item.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-glyph-item.h  2016-09-10 21:41:33.862415960 +0200
@@ -31,6 +31,8 @@

 /**
  * PangoGlyphItem:
+ * @item: corresponding #PangoItem.
+ * @glyphs: corresponding #PangoGlyphString.
  *
  * A #PangoGlyphItem is a pair of a #PangoItem and the glyphs
  * resulting from shaping the text corresponding to an item.
@@ -53,20 +55,27 @@
  */
 #define PANGO_TYPE_GLYPH_ITEM (pango_glyph_item_get_type ())

+PANGO_AVAILABLE_IN_ALL
 GType pango_glyph_item_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_2
 PangoGlyphItem *pango_glyph_item_split        (PangoGlyphItem *orig,
                           const char     *text,
                           int             split_index);
+PANGO_AVAILABLE_IN_1_20
 PangoGlyphItem *pango_glyph_item_copy         (PangoGlyphItem *orig);
+PANGO_AVAILABLE_IN_1_6
 void            pango_glyph_item_free         (PangoGlyphItem *glyph_item);
+PANGO_AVAILABLE_IN_1_2
 GSList *        pango_glyph_item_apply_attrs  (PangoGlyphItem *glyph_item,
                           const char     *text,
                           PangoAttrList  *list);
+PANGO_AVAILABLE_IN_1_6
 void            pango_glyph_item_letter_space (PangoGlyphItem *glyph_item,
                           const char     *text,
                           PangoLogAttr   *log_attrs,
                           int             letter_spacing);
+PANGO_AVAILABLE_IN_1_26
 void     pango_glyph_item_get_logical_widths (PangoGlyphItem *glyph_item,
                           const char     *text,
                           int            *logical_widths);
@@ -140,17 +149,24 @@
  */
 #define PANGO_TYPE_GLYPH_ITEM_ITER (pango_glyph_item_iter_get_type ())

+PANGO_AVAILABLE_IN_1_22
 GType               pango_glyph_item_iter_get_type (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_22
 PangoGlyphItemIter *pango_glyph_item_iter_copy (PangoGlyphItemIter *orig);
+PANGO_AVAILABLE_IN_1_22
 void                pango_glyph_item_iter_free (PangoGlyphItemIter *iter);

+PANGO_AVAILABLE_IN_1_22
 gboolean pango_glyph_item_iter_init_start   (PangoGlyphItemIter *iter,
                         PangoGlyphItem     *glyph_item,
                         const char         *text);
+PANGO_AVAILABLE_IN_1_22
 gboolean pango_glyph_item_iter_init_end     (PangoGlyphItemIter *iter,
                         PangoGlyphItem     *glyph_item,
                         const char         *text);
+PANGO_AVAILABLE_IN_1_22
 gboolean pango_glyph_item_iter_next_cluster (PangoGlyphItemIter *iter);
+PANGO_AVAILABLE_IN_1_22
 gboolean pango_glyph_item_iter_prev_cluster (PangoGlyphItemIter *iter);

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pango-gravity.h pango-1.0/pango/pango-gravity.h
--- /usr/include/pango-1.0/pango/pango-gravity.h    2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-gravity.h 2016-09-10 21:41:32.510439775 +0200
@@ -111,11 +111,15 @@
 #include <pango/pango-matrix.h>
 #include <pango/pango-script.h>

+PANGO_AVAILABLE_IN_1_16
 double       pango_gravity_to_rotation    (PangoGravity       gravity) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_16
 PangoGravity pango_gravity_get_for_matrix (const PangoMatrix *matrix) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_16
 PangoGravity pango_gravity_get_for_script (PangoScript        script,
                       PangoGravity       base_gravity,
                       PangoGravityHint   hint) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_26
 PangoGravity pango_gravity_get_for_script_and_width
                      (PangoScript        script,
                       gboolean           wide,
diff -Nur /usr/include/pango-1.0/pango/pango.h pango-1.0/pango/pango.h
--- /usr/include/pango-1.0/pango/pango.h    2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango.h 2016-09-10 21:41:34.126411310 +0200
@@ -44,5 +44,6 @@
 #include <pango/pango-tabs.h>
 #include <pango/pango-types.h>
 #include <pango/pango-utils.h>
+#include <pango/pango-version-macros.h>

 #endif /* __PANGO_H__ */
diff -Nur /usr/include/pango-1.0/pango/pango-item.h pango-1.0/pango/pango-item.h
--- /usr/include/pango-1.0/pango/pango-item.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-item.h    2016-09-10 21:41:35.962379332 +0200
@@ -82,6 +82,10 @@

 /**
  * PangoItem:
+ * @offset: byte offset of the start of this item in text.
+ * @length: length of this item in bytes.
+ * @num_chars: number of Unicode characters in the item.
+ * @analysis: analysis results for the item.
  *
  * The #PangoItem structure stores information about a segment of text.
  */
@@ -95,11 +99,16 @@

 #define PANGO_TYPE_ITEM (pango_item_get_type ())

+PANGO_AVAILABLE_IN_ALL
 GType pango_item_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoItem *pango_item_new   (void);
+PANGO_AVAILABLE_IN_ALL
 PangoItem *pango_item_copy  (PangoItem  *item);
+PANGO_AVAILABLE_IN_ALL
 void       pango_item_free  (PangoItem  *item);
+PANGO_AVAILABLE_IN_ALL
 PangoItem *pango_item_split (PangoItem  *orig,
                 int         split_index,
                 int         split_offset);
diff -Nur /usr/include/pango-1.0/pango/pango-language.h pango-1.0/pango/pango-language.h
--- /usr/include/pango-1.0/pango/pango-language.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-language.h    2016-09-10 21:41:32.294443579 +0200
@@ -25,6 +25,8 @@
 #include <glib.h>
 #include <glib-object.h>

+#include <pango/pango-version-macros.h>
+
 G_BEGIN_DECLS

 typedef struct _PangoLanguage PangoLanguage;
@@ -36,23 +38,31 @@
  */
 #define PANGO_TYPE_LANGUAGE (pango_language_get_type ())

+PANGO_AVAILABLE_IN_ALL
 GType          pango_language_get_type    (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoLanguage *pango_language_from_string (const char *language);

+PANGO_AVAILABLE_IN_ALL
 const char    *pango_language_to_string   (PangoLanguage *language) G_GNUC_CONST;
 /* For back compat.  Will have to keep indefinitely. */
 #define pango_language_to_string(language) ((const char *)language)

+PANGO_AVAILABLE_IN_ALL
 const char    *pango_language_get_sample_string (PangoLanguage *language) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_16
 PangoLanguage *pango_language_get_default (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 gboolean      pango_language_matches  (PangoLanguage *language,
                       const char *range_list) G_GNUC_PURE;

 #include <pango/pango-script.h>

+PANGO_AVAILABLE_IN_1_4
 gboolean           pango_language_includes_script (PangoLanguage *language,
                                PangoScript    script) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_22
 const PangoScript          *pango_language_get_scripts    (PangoLanguage *language,
                                int           *num_scripts);

diff -Nur /usr/include/pango-1.0/pango/pango-layout.h pango-1.0/pango/pango-layout.h
--- /usr/include/pango-1.0/pango/pango-layout.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-layout.h  2016-09-10 21:41:32.666437025 +0200
@@ -96,8 +96,11 @@

 /**
  * PangoLayoutLine:
+ * @layout: (allow-none): the layout this line belongs to, might be %NULL
  * @start_index: start of line as byte index into layout->text
  * @length: length of line in bytes
+ * @runs: (allow-none) (element-type: Pango.LayoutRun): list of runs in the
+ *        line, from left to right
  * @is_paragraph_start: #TRUE if this is the first line of the paragraph
  * @resolved_dir: #Resolved PangoDirection of line
  *
@@ -131,102 +134,148 @@
  * need to create a subclass of these, file a bug.
  */

+PANGO_AVAILABLE_IN_ALL
 GType        pango_layout_get_type       (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoLayout *pango_layout_new            (PangoContext   *context);
+PANGO_AVAILABLE_IN_ALL
 PangoLayout *pango_layout_copy           (PangoLayout    *src);

+PANGO_AVAILABLE_IN_ALL
 PangoContext  *pango_layout_get_context    (PangoLayout    *layout);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_attributes (PangoLayout    *layout,
                        PangoAttrList  *attrs);
+PANGO_AVAILABLE_IN_ALL
 PangoAttrList *pango_layout_get_attributes (PangoLayout    *layout);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_text       (PangoLayout    *layout,
                        const char     *text,
                        int             length);
+PANGO_AVAILABLE_IN_ALL
 const char    *pango_layout_get_text       (PangoLayout    *layout);

+PANGO_AVAILABLE_IN_1_30
 gint           pango_layout_get_character_count (PangoLayout *layout);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_markup     (PangoLayout    *layout,
                        const char     *markup,
                        int             length);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_markup_with_accel (PangoLayout    *layout,
                           const char     *markup,
                           int             length,
                           gunichar        accel_marker,
                           gunichar       *accel_char);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_font_description (PangoLayout                *layout,
                          const PangoFontDescription *desc);

+PANGO_AVAILABLE_IN_1_8
 const PangoFontDescription *pango_layout_get_font_description (PangoLayout *layout);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_width            (PangoLayout                *layout,
                          int                         width);
+PANGO_AVAILABLE_IN_ALL
 int            pango_layout_get_width            (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_1_20
 void           pango_layout_set_height           (PangoLayout                *layout,
                          int                         height);
+PANGO_AVAILABLE_IN_1_20
 int            pango_layout_get_height           (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_wrap             (PangoLayout                *layout,
                          PangoWrapMode               wrap);
+PANGO_AVAILABLE_IN_ALL
 PangoWrapMode  pango_layout_get_wrap             (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_1_16
 gboolean       pango_layout_is_wrapped           (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_indent           (PangoLayout                *layout,
                          int                         indent);
+PANGO_AVAILABLE_IN_ALL
 int            pango_layout_get_indent           (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_spacing          (PangoLayout                *layout,
                          int                         spacing);
+PANGO_AVAILABLE_IN_ALL
 int            pango_layout_get_spacing          (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_justify          (PangoLayout                *layout,
                          gboolean                    justify);
+PANGO_AVAILABLE_IN_ALL
 gboolean       pango_layout_get_justify          (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_1_4
 void           pango_layout_set_auto_dir         (PangoLayout                *layout,
                          gboolean                    auto_dir);
+PANGO_AVAILABLE_IN_1_4
 gboolean       pango_layout_get_auto_dir         (PangoLayout                *layout);
+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_alignment        (PangoLayout                *layout,
                          PangoAlignment              alignment);
+PANGO_AVAILABLE_IN_ALL
 PangoAlignment pango_layout_get_alignment        (PangoLayout                *layout);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_tabs             (PangoLayout                *layout,
                          PangoTabArray              *tabs);

+PANGO_AVAILABLE_IN_ALL
 PangoTabArray* pango_layout_get_tabs             (PangoLayout                *layout);

+PANGO_AVAILABLE_IN_ALL
 void           pango_layout_set_single_paragraph_mode (PangoLayout                *layout,
                               gboolean                    setting);
+PANGO_AVAILABLE_IN_ALL
 gboolean       pango_layout_get_single_paragraph_mode (PangoLayout                *layout);

+PANGO_AVAILABLE_IN_1_6
 void               pango_layout_set_ellipsize (PangoLayout        *layout,
                           PangoEllipsizeMode  ellipsize);
+PANGO_AVAILABLE_IN_1_6
 PangoEllipsizeMode pango_layout_get_ellipsize (PangoLayout        *layout);
+PANGO_AVAILABLE_IN_1_16
 gboolean           pango_layout_is_ellipsized (PangoLayout        *layout);

+PANGO_AVAILABLE_IN_1_16
 int      pango_layout_get_unknown_glyphs_count (PangoLayout    *layout);

+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_context_changed (PangoLayout    *layout);
+PANGO_AVAILABLE_IN_1_32
 guint    pango_layout_get_serial      (PangoLayout    *layout);

+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_get_log_attrs (PangoLayout    *layout,
                     PangoLogAttr  **attrs,
                     gint           *n_attrs);

+PANGO_AVAILABLE_IN_1_30
 const PangoLogAttr *pango_layout_get_log_attrs_readonly (PangoLayout *layout,
                             gint        *n_attrs);

+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_index_to_pos         (PangoLayout    *layout,
                        int             index_,
                        PangoRectangle *pos);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_index_to_line_x      (PangoLayout    *layout,
                        int             index_,
                        gboolean        trailing,
                        int            *line,
                        int            *x_pos);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_get_cursor_pos       (PangoLayout    *layout,
                        int             index_,
                        PangoRectangle *strong_pos,
                        PangoRectangle *weak_pos);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_move_cursor_visually (PangoLayout    *layout,
                        gboolean        strong,
                        int             old_index,
@@ -234,57 +283,76 @@
                        int             direction,
                        int            *new_index,
                        int            *new_trailing);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_layout_xy_to_index          (PangoLayout    *layout,
                        int             x,
                        int             y,
                        int            *index_,
                        int            *trailing);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_get_extents          (PangoLayout    *layout,
                        PangoRectangle *ink_rect,
                        PangoRectangle *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_get_pixel_extents    (PangoLayout    *layout,
                        PangoRectangle *ink_rect,
                        PangoRectangle *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_get_size             (PangoLayout    *layout,
                        int            *width,
                        int            *height);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_get_pixel_size       (PangoLayout    *layout,
                        int            *width,
                        int            *height);
+PANGO_AVAILABLE_IN_1_22
 int      pango_layout_get_baseline         (PangoLayout    *layout);

+PANGO_AVAILABLE_IN_ALL
 int              pango_layout_get_line_count       (PangoLayout    *layout);
+PANGO_AVAILABLE_IN_ALL
 PangoLayoutLine *pango_layout_get_line             (PangoLayout    *layout,
                            int             line);
+PANGO_AVAILABLE_IN_1_16
 PangoLayoutLine *pango_layout_get_line_readonly    (PangoLayout    *layout,
                            int             line);
+PANGO_AVAILABLE_IN_ALL
 GSList *         pango_layout_get_lines            (PangoLayout    *layout);
+PANGO_AVAILABLE_IN_1_16
 GSList *         pango_layout_get_lines_readonly   (PangoLayout    *layout);

 #define PANGO_TYPE_LAYOUT_LINE (pango_layout_line_get_type ())

+PANGO_AVAILABLE_IN_ALL
 GType    pango_layout_line_get_type     (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_10
 PangoLayoutLine *pango_layout_line_ref   (PangoLayoutLine *line);
+PANGO_AVAILABLE_IN_ALL
 void             pango_layout_line_unref (PangoLayoutLine *line);

+PANGO_AVAILABLE_IN_ALL
 gboolean pango_layout_line_x_to_index   (PangoLayoutLine  *line,
                     int               x_pos,
                     int              *index_,
                     int              *trailing);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_line_index_to_x   (PangoLayoutLine  *line,
                     int               index_,
                     gboolean          trailing,
                     int              *x_pos);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_line_get_x_ranges (PangoLayoutLine  *line,
                     int               start_index,
                     int               end_index,
                     int             **ranges,
                     int              *n_ranges);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_line_get_extents  (PangoLayoutLine  *line,
                     PangoRectangle   *ink_rect,
                     PangoRectangle   *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 void     pango_layout_line_get_pixel_extents (PangoLayoutLine *layout_line,
                          PangoRectangle  *ink_rect,
                          PangoRectangle  *logical_rect);
@@ -293,45 +361,67 @@

 #define PANGO_TYPE_LAYOUT_ITER         (pango_layout_iter_get_type ())

+PANGO_AVAILABLE_IN_ALL
 GType            pango_layout_iter_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_ALL
 PangoLayoutIter *pango_layout_get_iter  (PangoLayout     *layout);
+PANGO_AVAILABLE_IN_1_20
 PangoLayoutIter *pango_layout_iter_copy (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 void             pango_layout_iter_free (PangoLayoutIter *iter);

+PANGO_AVAILABLE_IN_ALL
 int              pango_layout_iter_get_index  (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 PangoLayoutRun  *pango_layout_iter_get_run    (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_1_16
 PangoLayoutRun  *pango_layout_iter_get_run_readonly   (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 PangoLayoutLine *pango_layout_iter_get_line   (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_1_16
 PangoLayoutLine *pango_layout_iter_get_line_readonly  (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 gboolean         pango_layout_iter_at_last_line (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_1_20
 PangoLayout     *pango_layout_iter_get_layout (PangoLayoutIter *iter);

+PANGO_AVAILABLE_IN_ALL
 gboolean pango_layout_iter_next_char    (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_layout_iter_next_cluster (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_layout_iter_next_run     (PangoLayoutIter *iter);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_layout_iter_next_line    (PangoLayoutIter *iter);

+PANGO_AVAILABLE_IN_ALL
 void pango_layout_iter_get_char_extents    (PangoLayoutIter *iter,
                        PangoRectangle  *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 void pango_layout_iter_get_cluster_extents (PangoLayoutIter *iter,
                        PangoRectangle  *ink_rect,
                        PangoRectangle  *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 void pango_layout_iter_get_run_extents     (PangoLayoutIter *iter,
                        PangoRectangle  *ink_rect,
                        PangoRectangle  *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 void pango_layout_iter_get_line_extents    (PangoLayoutIter *iter,
                        PangoRectangle  *ink_rect,
                        PangoRectangle  *logical_rect);
 /* All the yranges meet, unlike the logical_rect's (i.e. the yranges
  * assign between-line spacing to the nearest line)
  */
+PANGO_AVAILABLE_IN_ALL
 void pango_layout_iter_get_line_yrange     (PangoLayoutIter *iter,
                        int             *y0_,
                        int             *y1_);
+PANGO_AVAILABLE_IN_ALL
 void pango_layout_iter_get_layout_extents  (PangoLayoutIter *iter,
                        PangoRectangle  *ink_rect,
                        PangoRectangle  *logical_rect);
+PANGO_AVAILABLE_IN_ALL
 int  pango_layout_iter_get_baseline        (PangoLayoutIter *iter);

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pango-matrix.h pango-1.0/pango/pango-matrix.h
--- /usr/include/pango-1.0/pango/pango-matrix.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-matrix.h  2016-09-10 21:41:32.794434770 +0200
@@ -84,32 +84,47 @@
 /* for PangoRectangle */
 #include <pango/pango-types.h>

+PANGO_AVAILABLE_IN_1_6
 GType pango_matrix_get_type (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_6
 PangoMatrix *pango_matrix_copy   (const PangoMatrix *matrix);
+PANGO_AVAILABLE_IN_1_6
 void         pango_matrix_free   (PangoMatrix *matrix);

+PANGO_AVAILABLE_IN_1_6
 void pango_matrix_translate (PangoMatrix *matrix,
                 double       tx,
                 double       ty);
+PANGO_AVAILABLE_IN_1_6
 void pango_matrix_scale     (PangoMatrix *matrix,
                 double       scale_x,
                 double       scale_y);
+PANGO_AVAILABLE_IN_1_6
 void pango_matrix_rotate    (PangoMatrix *matrix,
                 double       degrees);
+PANGO_AVAILABLE_IN_1_6
 void pango_matrix_concat    (PangoMatrix       *matrix,
                 const PangoMatrix *new_matrix);
+PANGO_AVAILABLE_IN_1_16
 void pango_matrix_transform_point    (const PangoMatrix *matrix,
                      double            *x,
                      double            *y);
+PANGO_AVAILABLE_IN_1_16
 void pango_matrix_transform_distance (const PangoMatrix *matrix,
                      double            *dx,
                      double            *dy);
+PANGO_AVAILABLE_IN_1_16
 void pango_matrix_transform_rectangle (const PangoMatrix *matrix,
                       PangoRectangle    *rect);
+PANGO_AVAILABLE_IN_1_16
 void pango_matrix_transform_pixel_rectangle (const PangoMatrix *matrix,
                         PangoRectangle    *rect);
+PANGO_AVAILABLE_IN_1_12
 double pango_matrix_get_font_scale_factor (const PangoMatrix *matrix) G_GNUC_PURE;
+PANGO_AVAILABLE_IN_1_38
+void pango_matrix_get_font_scale_factors (const PangoMatrix *matrix,
+                     double *xscale, double *yscale);

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pango-modules.h pango-1.0/pango/pango-modules.h
--- /usr/include/pango-1.0/pango/pango-modules.h    2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-modules.h 2016-09-10 21:41:33.518422017 +0200
@@ -43,6 +43,8 @@
  * The #PangoIncludedModule structure for a statically linked module
  * contains the functions that would otherwise be loaded from a dynamically
  * loaded module.
+ *
+ * Deprecated: 1.38
  */
 struct _PangoIncludedModule
 {
@@ -53,15 +55,19 @@
   PangoEngine *(*create) (const char       *id);
 };

+PANGO_DEPRECATED_IN_1_38
 PangoMap *     pango_find_map        (PangoLanguage       *language,
                      guint                engine_type_id,
                      guint                render_type_id);
+PANGO_DEPRECATED_IN_1_38
 PangoEngine *  pango_map_get_engine  (PangoMap            *map,
                      PangoScript          script);
+PANGO_DEPRECATED_IN_1_38
 void           pango_map_get_engines (PangoMap            *map,
                      PangoScript          script,
                      GSList             **exact_engines,
                      GSList             **fallback_engines);
+PANGO_DEPRECATED_IN_1_38
 void           pango_module_register (PangoIncludedModule *module);

 #endif /* PANGO_ENABLE_BACKEND */
diff -Nur /usr/include/pango-1.0/pango/pango-ot.h pango-1.0/pango/pango-ot.h
--- /usr/include/pango-1.0/pango/pango-ot.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-ot.h  2016-09-10 21:41:33.734418215 +0200
@@ -212,13 +212,16 @@
  * PangoOTRulesetDescription:
  * @script: a #PangoScript.
  * @language: a #PangoLanguage.
- * @static_gsub_features: static map of GSUB features, or %NULL.
+ * @static_gsub_features: (nullable): static map of GSUB features,
+ * or %NULL.
  * @n_static_gsub_features: length of @static_gsub_features, or 0.
- * @static_gpos_features: static map of GPOS features, or %NULL.
+ * @static_gpos_features: (nullable): static map of GPOS features,
+ * or %NULL.
  * @n_static_gpos_features: length of @static_gpos_features, or 0.
- * @other_features: map of extra features to add to both GSUB and GPOS, or %NULL.
- * Unlike the static maps, this pointer need not live beyond
- * the life of function calls taking this struct.
+ * @other_features: (nullable): map of extra features to add to both
+ * GSUB and GPOS, or %NULL.  Unlike the static maps, this pointer
+ * need not live beyond the life of function calls taking this
+ * struct.
  * @n_other_features: length of @other_features, or 0.
  *
  * The #PangoOTRuleset structure holds all the information needed
@@ -245,31 +248,33 @@
 #define PANGO_TYPE_OT_INFO              (pango_ot_info_get_type ())
 #define PANGO_OT_INFO(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_OT_INFO, PangoOTInfo))
 #define PANGO_IS_OT_INFO(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_OT_INFO))
+PANGO_DEPRECATED
 GType pango_ot_info_get_type (void) G_GNUC_CONST;

 #define PANGO_TYPE_OT_RULESET           (pango_ot_ruleset_get_type ())
 #define PANGO_OT_RULESET(object)        (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_OT_RULESET, PangoOTRuleset))
 #define PANGO_IS_OT_RULESET(object)     (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_OT_RULESET))
+PANGO_DEPRECATED
 GType pango_ot_ruleset_get_type (void) G_GNUC_CONST;

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTInfo *pango_ot_info_get (FT_Face face);

-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_ot_info_find_script   (PangoOTInfo      *info,
                      PangoOTTableType  table_type,
                      PangoOTTag        script_tag,
                      guint            *script_index);

-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_ot_info_find_language (PangoOTInfo      *info,
                      PangoOTTableType  table_type,
                      guint             script_index,
                      PangoOTTag        language_tag,
                      guint            *language_index,
                      guint            *required_feature_index);
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_ot_info_find_feature  (PangoOTInfo      *info,
                      PangoOTTableType  table_type,
                      PangoOTTag        feature_tag,
@@ -277,110 +282,110 @@
                      guint             language_index,
                      guint            *feature_index);

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTTag *pango_ot_info_list_scripts   (PangoOTInfo      *info,
                      PangoOTTableType  table_type);
-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTTag *pango_ot_info_list_languages (PangoOTInfo      *info,
                      PangoOTTableType  table_type,
                      guint             script_index,
                      PangoOTTag        language_tag);
-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTTag *pango_ot_info_list_features  (PangoOTInfo      *info,
                      PangoOTTableType  table_type,
                      PangoOTTag        tag,
                      guint             script_index,
                      guint             language_index);

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTBuffer *pango_ot_buffer_new        (PangoFcFont       *font);
-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_destroy    (PangoOTBuffer     *buffer);
-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_clear      (PangoOTBuffer     *buffer);
-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_set_rtl    (PangoOTBuffer     *buffer,
                       gboolean           rtl);
-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_add_glyph  (PangoOTBuffer     *buffer,
                       guint              glyph,
                       guint              properties,
                       guint              cluster);
-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_get_glyphs (const PangoOTBuffer  *buffer,
                       PangoOTGlyph        **glyphs,
                       int                  *n_glyphs);
-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_output     (const PangoOTBuffer  *buffer,
                       PangoGlyphString     *glyphs);

-G_DEPRECATED
+PANGO_DEPRECATED
 void           pango_ot_buffer_set_zero_width_marks (PangoOTBuffer     *buffer,
                             gboolean           zero_width_marks);

-G_DEPRECATED
+PANGO_DEPRECATED
 const PangoOTRuleset *pango_ot_ruleset_get_for_description (PangoOTInfo                     *info,
                                const PangoOTRulesetDescription *desc);
-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTRuleset *pango_ot_ruleset_new (PangoOTInfo       *info);
-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTRuleset *pango_ot_ruleset_new_for (PangoOTInfo       *info,
                      PangoScript        script,
                      PangoLanguage     *language);
-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTRuleset *pango_ot_ruleset_new_from_description (PangoOTInfo                     *info,
                               const PangoOTRulesetDescription *desc);
-G_DEPRECATED
+PANGO_DEPRECATED
 void            pango_ot_ruleset_add_feature (PangoOTRuleset   *ruleset,
                          PangoOTTableType  table_type,
                          guint             feature_index,
                          gulong            property_bit);
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean        pango_ot_ruleset_maybe_add_feature (PangoOTRuleset   *ruleset,
                            PangoOTTableType  table_type,
                            PangoOTTag        feature_tag,
                            gulong            property_bit);
-G_DEPRECATED
+PANGO_DEPRECATED
 guint           pango_ot_ruleset_maybe_add_features (PangoOTRuleset          *ruleset,
                             PangoOTTableType         table_type,
                             const PangoOTFeatureMap *features,
                             guint                    n_features);
-G_DEPRECATED
+PANGO_DEPRECATED
 guint           pango_ot_ruleset_get_feature_count (const PangoOTRuleset   *ruleset,
                            guint                  *n_gsub_features,
                            guint                  *n_gpos_features);

-G_DEPRECATED
+PANGO_DEPRECATED
 void            pango_ot_ruleset_substitute  (const PangoOTRuleset   *ruleset,
                          PangoOTBuffer          *buffer);

-G_DEPRECATED
+PANGO_DEPRECATED
 void            pango_ot_ruleset_position    (const PangoOTRuleset   *ruleset,
                          PangoOTBuffer          *buffer);

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoScript     pango_ot_tag_to_script     (PangoOTTag     script_tag) G_GNUC_CONST;

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTTag      pango_ot_tag_from_script   (PangoScript    script) G_GNUC_CONST;

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoLanguage  *pango_ot_tag_to_language   (PangoOTTag     language_tag) G_GNUC_CONST;

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTTag      pango_ot_tag_from_language (PangoLanguage *language) G_GNUC_CONST;

-G_DEPRECATED
+PANGO_DEPRECATED
 guint           pango_ot_ruleset_description_hash  (const PangoOTRulesetDescription *desc) G_GNUC_PURE;

-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean        pango_ot_ruleset_description_equal (const PangoOTRulesetDescription *desc1,
                            const PangoOTRulesetDescription *desc2) G_GNUC_PURE;

-G_DEPRECATED
+PANGO_DEPRECATED
 PangoOTRulesetDescription *pango_ot_ruleset_description_copy  (const PangoOTRulesetDescription *desc);

-G_DEPRECATED
+PANGO_DEPRECATED
 void            pango_ot_ruleset_description_free  (PangoOTRulesetDescription       *desc);

diff -Nur /usr/include/pango-1.0/pango/pango-renderer.h pango-1.0/pango/pango-renderer.h
--- /usr/include/pango-1.0/pango/pango-renderer.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-renderer.h    2016-09-10 21:41:33.262426528 +0200
@@ -59,8 +59,9 @@

 /**
  * PangoRenderer:
- * @matrix: the current transformation matrix for the Renderer; may
- *    be %NULL, which should be treated the same as the identity matrix.
+ * @matrix: (nullable): the current transformation matrix for
+ *    the Renderer; may be %NULL, which should be treated the
+ *    same as the identity matrix.
  *
  * #PangoRenderer is a base class for objects that are used to
  * render Pango objects such as #PangoGlyphString and
@@ -190,37 +191,45 @@
   void (*_pango_reserved4) (void);
 };

+PANGO_AVAILABLE_IN_1_8
 GType pango_renderer_get_type    (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_layout          (PangoRenderer    *renderer,
                      PangoLayout      *layout,
                      int               x,
                      int               y);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_layout_line     (PangoRenderer    *renderer,
                      PangoLayoutLine  *line,
                      int               x,
                      int               y);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_glyphs          (PangoRenderer    *renderer,
                      PangoFont        *font,
                      PangoGlyphString *glyphs,
                      int               x,
                      int               y);
+PANGO_AVAILABLE_IN_1_22
 void pango_renderer_draw_glyph_item      (PangoRenderer    *renderer,
                      const char       *text,
                      PangoGlyphItem   *glyph_item,
                      int               x,
                      int               y);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_rectangle       (PangoRenderer    *renderer,
                      PangoRenderPart   part,
                      int               x,
                      int               y,
                      int               width,
                      int               height);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_error_underline (PangoRenderer    *renderer,
                      int               x,
                      int               y,
                      int               width,
                      int               height);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_trapezoid       (PangoRenderer    *renderer,
                      PangoRenderPart   part,
                      double            y1_,
@@ -229,29 +238,47 @@
                      double            y2,
                      double            x12,
                      double            x22);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_draw_glyph           (PangoRenderer    *renderer,
                      PangoFont        *font,
                      PangoGlyph        glyph,
                      double            x,
                      double            y);

+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_activate             (PangoRenderer    *renderer);
+PANGO_AVAILABLE_IN_1_8
 void pango_renderer_deactivate           (PangoRenderer    *renderer);

+PANGO_AVAILABLE_IN_1_8
 void        pango_renderer_part_changed (PangoRenderer   *renderer,
                     PangoRenderPart  part);

+PANGO_AVAILABLE_IN_1_8
 void        pango_renderer_set_color (PangoRenderer    *renderer,
                      PangoRenderPart   part,
                      const PangoColor *color);
+PANGO_AVAILABLE_IN_1_8
 PangoColor *pango_renderer_get_color (PangoRenderer    *renderer,
                      PangoRenderPart   part);

+PANGO_AVAILABLE_IN_1_38
+void        pango_renderer_set_alpha (PangoRenderer    *renderer,
+                     PangoRenderPart   part,
+                     guint16           alpha);
+PANGO_AVAILABLE_IN_1_38
+guint16     pango_renderer_get_alpha (PangoRenderer    *renderer,
+                     PangoRenderPart   part);
+
+PANGO_AVAILABLE_IN_1_8
 void                        pango_renderer_set_matrix (PangoRenderer     *renderer,
                               const PangoMatrix *matrix);
+PANGO_AVAILABLE_IN_1_8
 const PangoMatrix          *pango_renderer_get_matrix (PangoRenderer     *renderer);

+PANGO_AVAILABLE_IN_1_20
 PangoLayout     *pango_renderer_get_layout      (PangoRenderer     *renderer);
+PANGO_AVAILABLE_IN_1_20
 PangoLayoutLine *pango_renderer_get_layout_line (PangoRenderer     *renderer);

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pango-script.h pango-1.0/pango/pango-script.h
--- /usr/include/pango-1.0/pango/pango-script.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-script.h  2016-09-10 21:41:32.382442029 +0200
@@ -126,6 +126,35 @@
  * @PANGO_SCRIPT_SHARADA:              Sharada. Since: 1.32
  * @PANGO_SCRIPT_SORA_SOMPENG:         Sora Sompeng. Since: 1.32
  * @PANGO_SCRIPT_TAKRI:                Takri. Since: 1.32
+ * @PANGO_SCRIPT_BASSA_VAH:            Bassa. Since: 1.40
+ * @PANGO_SCRIPT_CAUCASIAN_ALBANIAN:   Caucasian Albanian. Since: 1.40
+ * @PANGO_SCRIPT_DUPLOYAN:             Duployan. Since: 1.40
+ * @PANGO_SCRIPT_ELBASAN:              Elbasan. Since: 1.40
+ * @PANGO_SCRIPT_GRANTHA:              Grantha. Since: 1.40
+ * @PANGO_SCRIPT_KHOJKI:               Kjohki. Since: 1.40
+ * @PANGO_SCRIPT_KHUDAWADI:            Khudawadi, Sindhi. Since: 1.40
+ * @PANGO_SCRIPT_LINEAR_A:             Linear A. Since: 1.40
+ * @PANGO_SCRIPT_MAHAJANI:             Mahajani. Since: 1.40
+ * @PANGO_SCRIPT_MANICHAEAN:           Manichaean. Since: 1.40
+ * @PANGO_SCRIPT_MENDE_KIKAKUI:        Mende Kikakui. Since: 1.40
+ * @PANGO_SCRIPT_MODI:                 Modi. Since: 1.40
+ * @PANGO_SCRIPT_MRO:                  Mro. Since: 1.40
+ * @PANGO_SCRIPT_NABATAEAN:            Nabataean. Since: 1.40
+ * @PANGO_SCRIPT_OLD_NORTH_ARABIAN:    Old North Arabian. Since: 1.40
+ * @PANGO_SCRIPT_OLD_PERMIC:           Old Permic. Since: 1.40
+ * @PANGO_SCRIPT_PAHAWH_HMONG:         Pahawh Hmong. Since: 1.40
+ * @PANGO_SCRIPT_PALMYRENE:            Palmyrene. Since: 1.40
+ * @PANGO_SCRIPT_PAU_CIN_HAU:          Pau Cin Hau. Since: 1.40
+ * @PANGO_SCRIPT_PSALTER_PAHLAVI:      Psalter Pahlavi. Since: 1.40
+ * @PANGO_SCRIPT_SIDDHAM:              Siddham. Since: 1.40
+ * @PANGO_SCRIPT_TIRHUTA:              Tirhuta. Since: 1.40
+ * @PANGO_SCRIPT_WARANG_CITI:          Warang Citi. Since: 1.40
+ * @PANGO_SCRIPT_AHOM:                 Ahom. Since: 1.40
+ * @PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS: Anatolian Hieroglyphs. Since: 1.40
+ * @PANGO_SCRIPT_HATRAN:               Hatran. Since: 1.40
+ * @PANGO_SCRIPT_MULTANI:              Multani. Since: 1.40
+ * @PANGO_SCRIPT_OLD_HUNGARIAN:        Old Hungarian. Since: 1.40
+ * @PANGO_SCRIPT_SIGNWRITING:          Signwriting. Since: 1.40
  *
  * The #PangoScript enumeration identifies different writing
  * systems. The values correspond to the names as defined in the
@@ -237,22 +266,63 @@
       PANGO_SCRIPT_MIAO,               /* Plrd */
       PANGO_SCRIPT_SHARADA,            /* Shrd */
       PANGO_SCRIPT_SORA_SOMPENG,       /* Sora */
-      PANGO_SCRIPT_TAKRI               /* Takr */
+      PANGO_SCRIPT_TAKRI,              /* Takr */
+
+      /* Unicode 7.0 additions */
+      PANGO_SCRIPT_BASSA_VAH,              /* Bass */
+      PANGO_SCRIPT_CAUCASIAN_ALBANIAN,     /* Aghb */
+      PANGO_SCRIPT_DUPLOYAN,               /* Dupl */
+      PANGO_SCRIPT_ELBASAN,                /* Elba */
+      PANGO_SCRIPT_GRANTHA,                /* Gran */
+      PANGO_SCRIPT_KHOJKI,                 /* Khoj */
+      PANGO_SCRIPT_KHUDAWADI,              /* Sind */
+      PANGO_SCRIPT_LINEAR_A,               /* Lina */
+      PANGO_SCRIPT_MAHAJANI,               /* Mahj */
+      PANGO_SCRIPT_MANICHAEAN,             /* Manu */
+      PANGO_SCRIPT_MENDE_KIKAKUI,          /* Mend */
+      PANGO_SCRIPT_MODI,                   /* Modi */
+      PANGO_SCRIPT_MRO,                    /* Mroo */
+      PANGO_SCRIPT_NABATAEAN,              /* Nbat */
+      PANGO_SCRIPT_OLD_NORTH_ARABIAN,      /* Narb */
+      PANGO_SCRIPT_OLD_PERMIC,             /* Perm */
+      PANGO_SCRIPT_PAHAWH_HMONG,           /* Hmng */
+      PANGO_SCRIPT_PALMYRENE,              /* Palm */
+      PANGO_SCRIPT_PAU_CIN_HAU,            /* Pauc */
+      PANGO_SCRIPT_PSALTER_PAHLAVI,        /* Phlp */
+      PANGO_SCRIPT_SIDDHAM,                /* Sidd */
+      PANGO_SCRIPT_TIRHUTA,                /* Tirh */
+      PANGO_SCRIPT_WARANG_CITI,            /* Wara */
+
+      /* Unicode 8.0 additions */
+      PANGO_SCRIPT_AHOM,                   /* Ahom */
+      PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS,  /* Hluw */
+      PANGO_SCRIPT_HATRAN,                 /* Hatr */
+      PANGO_SCRIPT_MULTANI,                /* Mult */
+      PANGO_SCRIPT_OLD_HUNGARIAN,          /* Hung */
+      PANGO_SCRIPT_SIGNWRITING             /* Sgnw */
 } PangoScript;

+#include <pango/pango-version-macros.h>
+
+PANGO_AVAILABLE_IN_1_4
 PangoScript pango_script_for_unichar         (gunichar             ch) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_4
 PangoScriptIter *pango_script_iter_new       (const char          *text,
                          int                  length);
+PANGO_AVAILABLE_IN_1_4
 void             pango_script_iter_get_range (PangoScriptIter     *iter,
                                               const char         **start,
                                               const char         **end,
                                               PangoScript         *script);
+PANGO_AVAILABLE_IN_1_4
 gboolean         pango_script_iter_next      (PangoScriptIter     *iter);
+PANGO_AVAILABLE_IN_1_4
 void             pango_script_iter_free      (PangoScriptIter     *iter);

 #include <pango/pango-language.h>

+PANGO_AVAILABLE_IN_1_4
 PangoLanguage *pango_script_get_sample_language (PangoScript    script) G_GNUC_PURE;

 G_END_DECLS
diff -Nur /usr/include/pango-1.0/pango/pango-tabs.h pango-1.0/pango/pango-tabs.h
--- /usr/include/pango-1.0/pango/pango-tabs.h   2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-tabs.h    2016-09-10 21:41:36.102376524 +0200
@@ -54,31 +54,42 @@
  */
 #define PANGO_TYPE_TAB_ARRAY (pango_tab_array_get_type ())

+PANGO_AVAILABLE_IN_ALL
 PangoTabArray  *pango_tab_array_new                 (gint           initial_size,
                             gboolean       positions_in_pixels);
+PANGO_AVAILABLE_IN_ALL
 PangoTabArray  *pango_tab_array_new_with_positions  (gint           size,
                             gboolean       positions_in_pixels,
                             PangoTabAlign  first_alignment,
                             gint           first_position,
                             ...);
+PANGO_AVAILABLE_IN_ALL
 GType           pango_tab_array_get_type            (void) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_ALL
 PangoTabArray  *pango_tab_array_copy                (PangoTabArray *src);
+PANGO_AVAILABLE_IN_ALL
 void            pango_tab_array_free                (PangoTabArray *tab_array);
+PANGO_AVAILABLE_IN_ALL
 gint            pango_tab_array_get_size            (PangoTabArray *tab_array);
+PANGO_AVAILABLE_IN_ALL
 void            pango_tab_array_resize              (PangoTabArray *tab_array,
                             gint           new_size);
+PANGO_AVAILABLE_IN_ALL
 void            pango_tab_array_set_tab             (PangoTabArray *tab_array,
                             gint           tab_index,
                             PangoTabAlign  alignment,
                             gint           location);
+PANGO_AVAILABLE_IN_ALL
 void            pango_tab_array_get_tab             (PangoTabArray *tab_array,
                             gint           tab_index,
                             PangoTabAlign *alignment,
                             gint          *location);
+PANGO_AVAILABLE_IN_ALL
 void            pango_tab_array_get_tabs            (PangoTabArray *tab_array,
                             PangoTabAlign **alignments,
                             gint          **locations);

+PANGO_AVAILABLE_IN_ALL
 gboolean        pango_tab_array_get_positions_in_pixels (PangoTabArray *tab_array);

diff -Nur /usr/include/pango-1.0/pango/pango-types.h pango-1.0/pango/pango-types.h
--- /usr/include/pango-1.0/pango/pango-types.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-types.h   2016-09-10 21:41:32.446440901 +0200
@@ -25,6 +25,8 @@
 #include <glib.h>
 #include <glib-object.h>

+#include <pango/pango-version-macros.h>
+
 G_BEGIN_DECLS

 typedef struct _PangoLogAttr PangoLogAttr;
@@ -114,7 +116,9 @@
   (((d) + (PANGO_SCALE >> 1)) & ~(PANGO_SCALE - 1))

+PANGO_AVAILABLE_IN_1_16
 int    pango_units_from_double (double d) G_GNUC_CONST;
+PANGO_AVAILABLE_IN_1_16
 double pango_units_to_double (int i) G_GNUC_CONST;

@@ -184,6 +188,7 @@
 #define PANGO_LBEARING(rect) ((rect).x)
 #define PANGO_RBEARING(rect) ((rect).x + (rect).width)

+PANGO_AVAILABLE_IN_1_16
 void pango_extents_to_pixels (PangoRectangle *inclusive,
                  PangoRectangle *nearest);

diff -Nur /usr/include/pango-1.0/pango/pango-utils.h pango-1.0/pango/pango-utils.h
--- /usr/include/pango-1.0/pango/pango-utils.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pango-utils.h   2016-09-10 21:41:33.330425330 +0200
@@ -28,28 +28,38 @@

 G_BEGIN_DECLS

+PANGO_DEPRECATED
 char **  pango_split_file_list (const char *str);

+PANGO_DEPRECATED
 char    *pango_trim_string     (const char *str);
+PANGO_DEPRECATED
 gint     pango_read_line      (FILE        *stream,
                   GString     *str);
+PANGO_DEPRECATED
 gboolean pango_skip_space     (const char **pos);
+PANGO_DEPRECATED
 gboolean pango_scan_word      (const char **pos,
                   GString     *out);
+PANGO_DEPRECATED
 gboolean pango_scan_string    (const char **pos,
                   GString     *out);
+PANGO_DEPRECATED
 gboolean pango_scan_int       (const char **pos,
                   int         *out);

 #ifdef PANGO_ENABLE_BACKEND
+PANGO_DEPRECATED_IN_1_38
 char *   pango_config_key_get_system (const char *key);
+PANGO_DEPRECATED_IN_1_38
 char *   pango_config_key_get (const char  *key);
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_32
 void     pango_lookup_aliases (const char   *fontname,
                   char       ***families,
                   int          *n_families);
 #endif /* PANGO_ENABLE_BACKEND */

+PANGO_DEPRECATED
 gboolean pango_parse_enum     (GType       type,
                   const char *str,
                   int        *value,
@@ -63,15 +73,19 @@
  * a warning is printed (with g_warning) if the string does not
  * contain a valid value.
  */
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_parse_style   (const char   *str,
                  PangoStyle   *style,
                  gboolean      warn);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_parse_variant (const char   *str,
                  PangoVariant *variant,
                  gboolean      warn);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_parse_weight  (const char   *str,
                  PangoWeight  *weight,
                  gboolean      warn);
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_parse_stretch (const char   *str,
                  PangoStretch *stretch,
                  gboolean      warn);
@@ -84,23 +98,27 @@
  * stored in the registry). The returned string should not be
  * g_free'd.
  */
+PANGO_DEPRECATED
 const char *   pango_get_sysconf_subdirectory (void) G_GNUC_PURE;

 /* Ditto for LIBDIR/pango. On Win32, use the same Pango
  * installation directory. This returned string should not be
  * g_free'd either.
  */
+PANGO_DEPRECATED
 const char *   pango_get_lib_subdirectory (void) G_GNUC_PURE;

 #endif /* PANGO_ENABLE_BACKEND */

 /* Hint line position and thickness.
  */
+PANGO_AVAILABLE_IN_1_12
 void pango_quantize_line_geometry (int *thickness,
                   int *position);

 /* A routine from fribidi that we either wrap or provide ourselves.
  */
+PANGO_AVAILABLE_IN_1_4
 guint8 * pango_log2vis_get_embedding_levels (const gchar    *text,
                         int             length,
                         PangoDirection *pbase_dir);
@@ -108,6 +126,7 @@
 /* Unicode characters that are zero-width and should not be rendered
  * normally.
  */
+PANGO_AVAILABLE_IN_1_10
 gboolean pango_is_zero_width (gunichar ch) G_GNUC_CONST;

 /* Pango version checking */
@@ -174,12 +193,15 @@

 /* Return encoded version of Pango at run-time */
+PANGO_AVAILABLE_IN_1_16
 int pango_version (void) G_GNUC_CONST;

 /* Return run-time Pango version as an string */
+PANGO_AVAILABLE_IN_1_16
 const char * pango_version_string (void) G_GNUC_CONST;

 /* Check that run-time Pango is as new as required */
+PANGO_AVAILABLE_IN_1_16
 const char * pango_version_check (int required_major,
                                   int required_minor,
                                   int required_micro) G_GNUC_CONST;
diff -Nur /usr/include/pango-1.0/pango/pango-version-macros.h pango-1.0/pango/pango-version-macros.h
--- /usr/include/pango-1.0/pango/pango-version-macros.h 1970-01-01 01:00:00.000000000 +0100
+++ pango-1.0/pango/pango-version-macros.h  2016-09-10 21:41:32.890433079 +0200
@@ -0,0 +1,629 @@
+/* Pango - Internationalized text layout and rendering library
+ * Copyright (C) 1999 Red Hat Software
+ * Copyright (C) 2012 Ryan Lortie, Matthias Clasen and Emmanuele Bassi
+ * Copyright (C) 2016 Chun-wei Fan
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __PANGO_VERSION_H__
+#define __PANGO_VERSION_H__
+
+#include <pango/pango-features.h>
+
+#include <glib.h>
+
+#ifndef _PANGO_EXTERN
+#define _PANGO_EXTERN extern
+#endif
+
+#define PANGO_AVAILABLE_IN_ALL                   _PANGO_EXTERN
+
+/* XXX: Every new stable minor release bump should add a macro here */
+
+/**
+ * PANGO_VERSION_1_2:
+ *
+ * A macro that evaluates to the 1.2 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_2        (G_ENCODE_VERSION (1, 2))
+
+/**
+ * PANGO_VERSION_1_4:
+ *
+ * A macro that evaluates to the 1.4 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_4        (G_ENCODE_VERSION (1, 4))
+
+/**
+ * PANGO_VERSION_1_6:
+ *
+ * A macro that evaluates to the 1.6 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_6        (G_ENCODE_VERSION (1, 6))
+
+/**
+ * PANGO_VERSION_1_8:
+ *
+ * A macro that evaluates to the 1.8 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_8        (G_ENCODE_VERSION (1, 8))
+
+/**
+ * PANGO_VERSION_1_10:
+ *
+ * A macro that evaluates to the 1.10 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_10       (G_ENCODE_VERSION (1, 10))
+
+/**
+ * PANGO_VERSION_1_12:
+ *
+ * A macro that evaluates to the 1.12 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_12       (G_ENCODE_VERSION (1, 12))
+
+/**
+ * PANGO_VERSION_1_14:
+ *
+ * A macro that evaluates to the 1.14 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_14       (G_ENCODE_VERSION (1, 14))
+
+/**
+ * PANGO_VERSION_1_16:
+ *
+ * A macro that evaluates to the 1.16 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_16       (G_ENCODE_VERSION (1, 16))
+
+/**
+ * PANGO_VERSION_1_18:
+ *
+ * A macro that evaluates to the 1.18 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_18       (G_ENCODE_VERSION (1, 18))
+
+/**
+ * PANGO_VERSION_1_20:
+ *
+ * A macro that evaluates to the 1.20 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_20       (G_ENCODE_VERSION (1, 20))
+
+/**
+ * PANGO_VERSION_1_22:
+ *
+ * A macro that evaluates to the 1.22 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_22       (G_ENCODE_VERSION (1, 22))
+
+/**
+ * PANGO_VERSION_1_24:
+ *
+ * A macro that evaluates to the 1.24 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_24       (G_ENCODE_VERSION (1, 24))
+
+/**
+ * PANGO_VERSION_1_26:
+ *
+ * A macro that evaluates to the 1.26 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_26       (G_ENCODE_VERSION (1, 26))
+
+/**
+ * PANGO_VERSION_1_28:
+ *
+ * A macro that evaluates to the 1.28 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_28       (G_ENCODE_VERSION (1, 28))
+
+/**
+ * PANGO_VERSION_1_30:
+ *
+ * A macro that evaluates to the 1.30 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_30       (G_ENCODE_VERSION (1, 30))
+
+/**
+ * PANGO_VERSION_1_32:
+ *
+ * A macro that evaluates to the 1.32 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_32       (G_ENCODE_VERSION (1, 32))
+
+/**
+ * PANGO_VERSION_1_34:
+ *
+ * A macro that evaluates to the 1.34 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_34       (G_ENCODE_VERSION (1, 34))
+
+/**
+ * PANGO_VERSION_1_36:
+ *
+ * A macro that evaluates to the 1.36 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_36       (G_ENCODE_VERSION (1, 36))
+
+/**
+ * PANGO_VERSION_1_38:
+ *
+ * A macro that evaluates to the 1.38 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_38       (G_ENCODE_VERSION (1, 38))
+
+/**
+ * PANGO_VERSION_1_40:
+ *
+ * A macro that evaluates to the 1.40 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_40       (G_ENCODE_VERSION (1, 40))
+
+/**
+ * PANGO_VERSION_1_42:
+ *
+ * A macro that evaluates to the 2.38 version of Pango, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.42
+ */
+#define PANGO_VERSION_1_42       (G_ENCODE_VERSION (1, 42))
+
+/* evaluates to the current stable version; for development cycles,
+ * this means the next stable target
+ */
+#if (PANGO_VERSION_MINOR % 2)
+#define PANGO_VERSION_CUR_STABLE         (G_ENCODE_VERSION (PANGO_VERSION_MAJOR, PANGO_VERSION_MINOR + 1))
+#else
+#define PANGO_VERSION_CUR_STABLE         (G_ENCODE_VERSION (PANGO_VERSION_MAJOR, PANGO_VERSION_MINOR))
+#endif
+
+/* evaluates to the previous stable version */
+#if (PANGO_VERSION_MINOR % 2)
+#define PANGO_VERSION_PREV_STABLE        (G_ENCODE_VERSION (PANGO_VERSION_MAJOR, PANGO_VERSION_MINOR - 1))
+#else
+#define PANGO_VERSION_PREV_STABLE        (G_ENCODE_VERSION (PANGO_VERSION_MAJOR, PANGO_VERSION_MINOR - 2))
+#endif
+
+/**
+ * PANGO_VERSION_MIN_REQUIRED:
+ *
+ * A macro that should be defined by the user prior to including
+ * the pango.h header.
+ * The definition should be one of the predefined Pango version
+ * macros: %PANGO_VERSION_1_2, %PANGO_VERSION_1_4,...
+ *
+ * This macro defines the earliest version of Pango that the package is
+ * required to be able to compile against.
+ *
+ * If the compiler is configured to warn about the use of deprecated
+ * functions, then using functions that were deprecated in version
+ * %PANGO_VERSION_MIN_REQUIRED or earlier will cause warnings (but
+ * using functions deprecated in later releases will not).
+ *
+ * Since: 1.42
+ */
+/* If the package sets PANGO_VERSION_MIN_REQUIRED to some future
+ * PANGO_VERSION_X_Y value that we don't know about, it will compare as
+ * 0 in preprocessor tests.
+ */
+#ifndef PANGO_VERSION_MIN_REQUIRED
+# define PANGO_VERSION_MIN_REQUIRED      (PANGO_VERSION_CUR_STABLE)
+#elif PANGO_VERSION_MIN_REQUIRED == 0
+# undef  PANGO_VERSION_MIN_REQUIRED
+# define PANGO_VERSION_MIN_REQUIRED      (PANGO_VERSION_CUR_STABLE + 2)
+#endif
+
+/**
+ * PANGO_VERSION_MAX_ALLOWED:
+ *
+ * A macro that should be defined by the user prior to including
+ * the glib.h header.
+ * The definition should be one of the predefined Pango version
+ * macros: %PANGO_VERSION_1_2, %PANGO_VERSION_1_4,...
+ *
+ * This macro defines the latest version of the Pango API that the
+ * package is allowed to make use of.
+ *
+ * If the compiler is configured to warn about the use of deprecated
+ * functions, then using functions added after version
+ * %PANGO_VERSION_MAX_ALLOWED will cause warnings.
+ *
+ * Unless you are using PANGO_CHECK_VERSION() or the like to compile
+ * different code depending on the Pango version, then this should be
+ * set to the same value as %PANGO_VERSION_MIN_REQUIRED.
+ *
+ * Since: 1.42
+ */
+#if !defined (PANGO_VERSION_MAX_ALLOWED) || (PANGO_VERSION_MAX_ALLOWED == 0)
+# undef PANGO_VERSION_MAX_ALLOWED
+# define PANGO_VERSION_MAX_ALLOWED      (PANGO_VERSION_CUR_STABLE)
+#endif
+
+/* sanity checks */
+#if PANGO_VERSION_MIN_REQUIRED > PANGO_VERSION_CUR_STABLE
+#error "PANGO_VERSION_MIN_REQUIRED must be <= PANGO_VERSION_CUR_STABLE"
+#endif
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_MIN_REQUIRED
+#error "PANGO_VERSION_MAX_ALLOWED must be >= PANGO_VERSION_MIN_REQUIRED"
+#endif
+#if PANGO_VERSION_MIN_REQUIRED < PANGO_VERSION_1_2
+#error "PANGO_VERSION_MIN_REQUIRED must be >= PANGO_VERSION_1_2"
+#endif
+
+/* These macros are used to mark deprecated functions in Pango headers,
+ * and thus have to be exposed in installed headers.
+ */
+#define PANGO_DEPRECATED                         G_DEPRECATED _PANGO_EXTERN
+#define PANGO_DEPRECATED_FOR(f)                  G_DEPRECATED_FOR(f) _PANGO_EXTERN
+
+/* XXX: Every new stable minor release should add a set of macros here */
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_2
+# define PANGO_DEPRECATED_IN_1_2                 G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_2_FOR(f)          G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_2                 _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_2_FOR(f)          _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_2
+# define PANGO_AVAILABLE_IN_1_2                  PANGO_UNAVAILABLE(1, 2)
+#else
+# define PANGO_AVAILABLE_IN_1_2                  _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_4
+# define PANGO_DEPRECATED_IN_1_4                 G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_4_FOR(f)          G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_4                 _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_4_FOR(f)          _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_4
+# define PANGO_AVAILABLE_IN_1_4                  PANGO_UNAVAILABLE(1, 4)
+#else
+# define PANGO_AVAILABLE_IN_1_4                  _PANGO_EXTERN
+#endif
+
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_6
+# define PANGO_DEPRECATED_IN_1_6                 G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_6_FOR(f)          G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_6                 _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_6_FOR(f)          _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_6
+# define PANGO_AVAILABLE_IN_1_6                  PANGO_UNAVAILABLE(1, 6)
+#else
+# define PANGO_AVAILABLE_IN_1_6                  _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_8
+# define PANGO_DEPRECATED_IN_1_8                 G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_8_FOR(f)          G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_8                 _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_8_FOR(f)          _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_8
+# define PANGO_AVAILABLE_IN_1_8                  PANGO_UNAVAILABLE(1, 8)
+#else
+# define PANGO_AVAILABLE_IN_1_8                  _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_10
+# define PANGO_DEPRECATED_IN_1_10                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_10_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_10                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_10_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_10
+# define PANGO_AVAILABLE_IN_1_10                 PANGO_UNAVAILABLE(1, 10)
+#else
+# define PANGO_AVAILABLE_IN_1_10                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_12
+# define PANGO_AVAILABLE_IN_1_12                 PANGO_UNAVAILABLE(1, 12)
+#else
+# define PANGO_AVAILABLE_IN_1_12                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_12
+# define PANGO_DEPRECATED_IN_1_12                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_12_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_12                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_12_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_14
+# define PANGO_AVAILABLE_IN_1_14                 PANGO_UNAVAILABLE(1, 14)
+#else
+# define PANGO_AVAILABLE_IN_1_14                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_14
+# define PANGO_DEPRECATED_IN_1_14                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_14_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_14                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_14_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_16
+# define PANGO_AVAILABLE_IN_1_16                 PANGO_UNAVAILABLE(1, 16)
+#else
+# define PANGO_AVAILABLE_IN_1_16                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_16
+# define PANGO_DEPRECATED_IN_1_16                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_16_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_16                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_16_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_18
+# define PANGO_DEPRECATED_IN_1_18                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_18_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_18                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_18_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_18
+# define PANGO_AVAILABLE_IN_1_18                 PANGO_UNAVAILABLE(1, 18)
+#else
+# define PANGO_AVAILABLE_IN_1_18                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_20
+# define PANGO_DEPRECATED_IN_1_20                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_20_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_20                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_20_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_20
+# define PANGO_AVAILABLE_IN_1_20                 PANGO_UNAVAILABLE(1, 20)
+#else
+# define PANGO_AVAILABLE_IN_1_20                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_22
+# define PANGO_DEPRECATED_IN_1_22                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_22_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_22                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_22_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_22
+# define PANGO_AVAILABLE_IN_1_22                 PANGO_UNAVAILABLE(1, 22)
+#else
+# define PANGO_AVAILABLE_IN_1_22                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_24
+# define PANGO_DEPRECATED_IN_1_24                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_24_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_24                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_24_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_24
+# define PANGO_AVAILABLE_IN_1_24                 PANGO_UNAVAILABLE(1, 24)
+#else
+# define PANGO_AVAILABLE_IN_1_24                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_26
+# define PANGO_DEPRECATED_IN_1_26                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_26_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_26                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_26_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_26
+# define PANGO_AVAILABLE_IN_1_26                 PANGO_UNAVAILABLE(1, 26)
+#else
+# define PANGO_AVAILABLE_IN_1_26                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_28
+# define PANGO_DEPRECATED_IN_1_28                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_28_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_28                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_28_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_28
+# define PANGO_AVAILABLE_IN_1_28                 PANGO_UNAVAILABLE(1, 28)
+#else
+# define PANGO_AVAILABLE_IN_1_28                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_30
+# define PANGO_DEPRECATED_IN_1_30                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_30_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_30                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_30_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_30
+# define PANGO_AVAILABLE_IN_1_30                 PANGO_UNAVAILABLE(1, 30)
+#else
+# define PANGO_AVAILABLE_IN_1_30                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_32
+# define PANGO_DEPRECATED_IN_1_32                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_32_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_32                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_32_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_32
+# define PANGO_AVAILABLE_IN_1_32                 PANGO_UNAVAILABLE(1, 32)
+#else
+# define PANGO_AVAILABLE_IN_1_32                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_34
+# define PANGO_DEPRECATED_IN_1_34                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_34_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_34                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_34_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_34
+# define PANGO_AVAILABLE_IN_1_34                 PANGO_UNAVAILABLE(1, 34)
+#else
+# define PANGO_AVAILABLE_IN_1_34                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_36
+# define PANGO_DEPRECATED_IN_1_36                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_36_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_36                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_36_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_36
+# define PANGO_AVAILABLE_IN_1_36                 PANGO_UNAVAILABLE(1, 36)
+#else
+# define PANGO_AVAILABLE_IN_1_36                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_38
+# define PANGO_DEPRECATED_IN_1_38                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_38_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_38                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_38_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_38
+# define PANGO_AVAILABLE_IN_1_38                 PANGO_UNAVAILABLE(1, 38)
+#else
+# define PANGO_AVAILABLE_IN_1_38                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_40
+# define PANGO_DEPRECATED_IN_1_40                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_40_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_40                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_40_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_40
+# define PANGO_AVAILABLE_IN_1_40                 PANGO_UNAVAILABLE(1, 40)
+#else
+# define PANGO_AVAILABLE_IN_1_40                 _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_42
+# define PANGO_DEPRECATED_IN_1_42                G_DEPRECATED _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_42_FOR(f)         G_DEPRECATED_FOR(f) _PANGO_EXTERN
+#else
+# define PANGO_DEPRECATED_IN_1_42                _PANGO_EXTERN
+# define PANGO_DEPRECATED_IN_1_42_FOR(f)         _PANGO_EXTERN
+#endif
+
+#if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_42
+# define PANGO_AVAILABLE_IN_1_42                 PANGO_UNAVAILABLE(1, 42)
+#else
+# define PANGO_AVAILABLE_IN_1_42                 _PANGO_EXTERN
+#endif
+
+#endif /* __PANGO_VERSION_H__ */
diff -Nur /usr/include/pango-1.0/pango/pangoxft.h pango-1.0/pango/pangoxft.h
--- /usr/include/pango-1.0/pango/pangoxft.h 2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangoxft.h  2016-09-10 21:41:36.234374197 +0200
@@ -74,49 +74,58 @@

 /* Calls for applications
  */
+PANGO_AVAILABLE_IN_1_2
 PangoFontMap *pango_xft_get_font_map     (Display *display,
                      int      screen);
 #ifndef PANGO_DISABLE_DEPRECATED
+PANGO_DEPRECATED
 PangoContext *pango_xft_get_context      (Display *display,
                      int      screen);
 #endif
+PANGO_AVAILABLE_IN_1_2
 void          pango_xft_shutdown_display (Display *display,
                      int      screen);

+PANGO_AVAILABLE_IN_1_2
 void pango_xft_set_default_substitute (Display                *display,
                       int                     screen,
                       PangoXftSubstituteFunc  func,
                       gpointer                data,
                       GDestroyNotify          notify);
+PANGO_AVAILABLE_IN_1_2
 void pango_xft_substitute_changed     (Display                *display,
                       int                     screen);

+PANGO_AVAILABLE_IN_ALL
 GType pango_xft_font_map_get_type (void) G_GNUC_CONST;

 #define PANGO_XFT_FONT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT, PangoXftFont))
 #define PANGO_TYPE_XFT_FONT              (pango_xft_font_get_type ())
 #define PANGO_XFT_IS_FONT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT))

+PANGO_AVAILABLE_IN_ALL
 GType      pango_xft_font_get_type (void) G_GNUC_CONST;

 /* For shape engines
  */

 #ifdef PANGO_ENABLE_ENGINE
+PANGO_AVAILABLE_IN_ALL
 XftFont *     pango_xft_font_get_font          (PangoFont *font);
+PANGO_AVAILABLE_IN_ALL
 Display *     pango_xft_font_get_display       (PangoFont *font);
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(pango_fc_font_lock_face)
+PANGO_DEPRECATED_FOR(pango_fc_font_lock_face)
 FT_Face       pango_xft_font_lock_face         (PangoFont *font);
-G_DEPRECATED_FOR(pango_fc_font_unlock_face)
+PANGO_DEPRECATED_FOR(pango_fc_font_unlock_face)
 void         pango_xft_font_unlock_face       (PangoFont *font);
-G_DEPRECATED_FOR(pango_fc_font_get_glyph)
+PANGO_DEPRECATED_FOR(pango_fc_font_get_glyph)
 guint        pango_xft_font_get_glyph         (PangoFont *font,
                        gunichar   wc);
-G_DEPRECATED_FOR(pango_fc_font_has_char)
+PANGO_DEPRECATED_FOR(pango_fc_font_has_char)
 gboolean      pango_xft_font_has_char          (PangoFont *font,
                        gunichar   wc);
-G_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
+PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
 PangoGlyph    pango_xft_font_get_unknown_glyph (PangoFont *font,
                        gunichar   wc);
 #endif /* PANGO_DISABLE_DEPRECATED */
diff -Nur /usr/include/pango-1.0/pango/pangoxft-render.h pango-1.0/pango/pangoxft-render.h
--- /usr/include/pango-1.0/pango/pangoxft-render.h  2014-11-18 17:43:15.000000000 +0100
+++ pango-1.0/pango/pangoxft-render.h   2016-09-10 21:41:34.734400105 +0200
@@ -95,21 +95,27 @@
                int               n_glyphs);
 };

+PANGO_AVAILABLE_IN_1_8
 GType pango_xft_renderer_get_type    (void) G_GNUC_CONST;

+PANGO_AVAILABLE_IN_1_8
 PangoRenderer *pango_xft_renderer_new                 (Display          *display,
                               int               screen);
+PANGO_AVAILABLE_IN_1_8
 void           pango_xft_renderer_set_draw            (PangoXftRenderer *xftrenderer,
                               XftDraw          *draw);
+PANGO_AVAILABLE_IN_1_8
 void           pango_xft_renderer_set_default_color   (PangoXftRenderer *xftrenderer,
                               PangoColor       *default_color);

+PANGO_AVAILABLE_IN_ALL
 void pango_xft_render             (XftDraw          *draw,
                   XftColor         *color,
                   PangoFont        *font,
                   PangoGlyphString *glyphs,
                   gint              x,
                   gint              y);
+PANGO_AVAILABLE_IN_ALL
 void pango_xft_picture_render     (Display          *display,
                   Picture           src_picture,
                   Picture           dest_picture,
@@ -117,6 +123,7 @@
                   PangoGlyphString *glyphs,
                   gint              x,
                   gint              y);
+PANGO_AVAILABLE_IN_1_8
 void pango_xft_render_transformed (XftDraw          *draw,
                   XftColor         *color,
                   PangoMatrix      *matrix,
@@ -124,11 +131,13 @@
                   PangoGlyphString *glyphs,
                   int               x,
                   int               y);
+PANGO_AVAILABLE_IN_1_8
 void pango_xft_render_layout_line (XftDraw          *draw,
                   XftColor         *color,
                   PangoLayoutLine  *line,
                   int               x,
                   int               y);
+PANGO_AVAILABLE_IN_1_8
 void pango_xft_render_layout      (XftDraw          *draw,
                   XftColor         *color,
                   PangoLayout      *layout,
shirok commented 8 years ago

Ok, I got it. PANGO_AVAILABLE_IN ... prevents the function entry from being parsed at all. However, pango-font-description-to-string has a fixation (pango-lib.hints) so it appears in the output, in an incomplete form.

So I think your first fix (skipping PANGO_AVAILABLE_IN... line) is correct.

shirok commented 8 years ago

Fix pushed. Thanks.

karme commented 8 years ago

Shiro Kawai notifications@github.com writes:

Fix pushed. Thanks.

thanks!