[pango] Decorate the symbols in the headers with version macros



commit ce097c062ea079bf7888d2b2f1f7b17d34f976b6
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Mon Jun 6 23:44:26 2016 +0800

    Decorate the symbols in the headers with version macros
    
    From the last commit, decorate all the symbols with the version
    macros.  Also add the version macros in the docs.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=767587

 docs/pango-sections.txt           |   90 +++++++++++++++++++++++++++++++++++++
 pango/pango-attributes.h          |   58 ++++++++++++++++++++++++
 pango/pango-bidi-type.h           |    6 ++-
 pango/pango-break.h               |    4 ++
 pango/pango-context.h             |   25 ++++++++++
 pango/pango-coverage.h            |   11 +++++
 pango/pango-engine.h              |   11 +++--
 pango/pango-enum-types.h.template |    3 +
 pango/pango-font.h                |   62 +++++++++++++++++++++++++
 pango/pango-fontmap.h             |    8 +++
 pango/pango-fontset.h             |    8 +++
 pango/pango-glyph-item.h          |   14 ++++++
 pango/pango-glyph.h               |   14 ++++++
 pango/pango-gravity.h             |    4 ++
 pango/pango-item.h                |    5 ++
 pango/pango-language.h            |   10 ++++
 pango/pango-layout.h              |   87 +++++++++++++++++++++++++++++++++++
 pango/pango-matrix.h              |   13 +++++
 pango/pango-modules.h             |    8 ++--
 pango/pango-ot.h                  |   68 ++++++++++++++-------------
 pango/pango-renderer.h            |   20 ++++++++
 pango/pango-script.h              |    8 +++
 pango/pango-tabs.h                |   11 +++++
 pango/pango-types.h               |    5 ++
 pango/pango-utils.h               |   36 +++++++++-----
 pango/pango.h                     |    1 +
 pango/pangocairo-coretext.h       |    1 +
 pango/pangocairo-coretextfont.h   |    1 +
 pango/pangocairo-fc.h             |    3 +
 pango/pangocairo-fcfont.c         |    1 +
 pango/pangocairo-private.h        |    1 +
 pango/pangocairo.h                |   31 ++++++++++++-
 pango/pangocoretext-private.h     |    9 ++++
 pango/pangocoretext.h             |    2 +
 pango/pangofc-decoder.h           |    3 +
 pango/pangofc-font.h              |    9 +++-
 pango/pangofc-fontmap.h           |   22 ++++++++-
 pango/pangofc-private.h           |    2 +
 pango/pangoft2-private.h          |    2 +
 pango/pangoft2.h                  |   27 ++++++++---
 pango/pangowin32-private.h        |    8 +++
 pango/pangowin32.h                |   26 ++++++++++-
 pango/pangoxft-render.h           |    9 ++++
 pango/pangoxft.h                  |   19 ++++++--
 44 files changed, 691 insertions(+), 75 deletions(-)
---
diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt
index 2ff411c..3573fb6 100644
--- a/docs/pango-sections.txt
+++ b/docs/pango-sections.txt
@@ -1100,6 +1100,96 @@ PANGO_VERSION_CHECK
 pango_version
 pango_version_string
 pango_version_check
+PANGO_VERSION_1_2
+PANGO_VERSION_1_4
+PANGO_VERSION_1_6
+PANGO_VERSION_1_8
+PANGO_VERSION_1_10
+PANGO_VERSION_1_12
+PANGO_VERSION_1_14
+PANGO_VERSION_1_16
+PANGO_VERSION_1_18
+PANGO_VERSION_1_20
+PANGO_VERSION_1_22
+PANGO_VERSION_1_24
+PANGO_VERSION_1_26
+PANGO_VERSION_1_28
+PANGO_VERSION_1_30
+PANGO_VERSION_1_32
+PANGO_VERSION_1_34
+PANGO_VERSION_1_36
+PANGO_VERSION_1_38
+PANGO_VERSION_1_40
+PANGO_VERSION_1_42
+PANGO_MIN_REQUIRED
+PANGO_MAX_ALLOWED
+<SUBSECTION Private>
+PANGO_AVAILABLE_IN_ALL
+PANGO_VERSION_CUR_STABLE
+PANGO_VERSION_PREV_STABLE
+PANGO_AVAILABLE_IN_1_2
+PANGO_AVAILABLE_IN_1_4
+PANGO_AVAILABLE_IN_1_6
+PANGO_AVAILABLE_IN_1_8
+PANGO_AVAILABLE_IN_1_10
+PANGO_AVAILABLE_IN_1_12
+PANGO_AVAILABLE_IN_1_14
+PANGO_AVAILABLE_IN_1_16
+PANGO_AVAILABLE_IN_1_18
+PANGO_AVAILABLE_IN_1_20
+PANGO_AVAILABLE_IN_1_22
+PANGO_AVAILABLE_IN_1_24
+PANGO_AVAILABLE_IN_1_26
+PANGO_AVAILABLE_IN_1_28
+PANGO_AVAILABLE_IN_1_30
+PANGO_AVAILABLE_IN_1_32
+PANGO_AVAILABLE_IN_1_34
+PANGO_AVAILABLE_IN_1_36
+PANGO_AVAILABLE_IN_1_38
+PANGO_AVAILABLE_IN_1_40
+PANGO_AVAILABLE_IN_1_42
+PANGO_DEPRECATED_IN_1_2
+PANGO_DEPRECATED_IN_1_2_FOR
+PANGO_DEPRECATED_IN_1_4
+PANGO_DEPRECATED_IN_1_4_FOR
+PANGO_DEPRECATED_IN_1_6
+PANGO_DEPRECATED_IN_1_6_FOR
+PANGO_DEPRECATED_IN_1_8
+PANGO_DEPRECATED_IN_1_8_FOR
+PANGO_DEPRECATED_IN_1_10
+PANGO_DEPRECATED_IN_1_10_FOR
+PANGO_DEPRECATED_IN_1_12
+PANGO_DEPRECATED_IN_1_12_FOR
+PANGO_DEPRECATED_IN_1_14
+PANGO_DEPRECATED_IN_1_14_FOR
+PANGO_DEPRECATED_IN_1_16
+PANGO_DEPRECATED_IN_1_16_FOR
+PANGO_DEPRECATED_IN_1_18
+PANGO_DEPRECATED_IN_1_18_FOR
+PANGO_DEPRECATED_IN_1_20
+PANGO_DEPRECATED_IN_1_20_FOR
+PANGO_DEPRECATED_IN_1_22
+PANGO_DEPRECATED_IN_1_22_FOR
+PANGO_DEPRECATED_IN_1_24
+PANGO_DEPRECATED_IN_1_24_FOR
+PANGO_DEPRECATED_IN_1_26
+PANGO_DEPRECATED_IN_1_26_FOR
+PANGO_DEPRECATED_IN_1_28
+PANGO_DEPRECATED_IN_1_28_FOR
+PANGO_DEPRECATED_IN_1_30
+PANGO_DEPRECATED_IN_1_30_FOR
+PANGO_DEPRECATED_IN_1_32
+PANGO_DEPRECATED_IN_1_32_FOR
+PANGO_DEPRECATED_IN_1_34
+PANGO_DEPRECATED_IN_1_34_FOR
+PANGO_DEPRECATED_IN_1_36
+PANGO_DEPRECATED_IN_1_36_FOR
+PANGO_DEPRECATED_IN_1_38
+PANGO_DEPRECATED_IN_1_38_FOR
+PANGO_DEPRECATED_IN_1_40
+PANGO_DEPRECATED_IN_1_40_FOR
+PANGO_DEPRECATED_IN_1_42
+PANGO_DEPRECATED_IN_1_42_FOR
 </SECTION>
 
 <SECTION>
diff --git a/pango/pango-attributes.h b/pango/pango-attributes.h
index 1844fcd..e9b1957 100644
--- a/pango/pango-attributes.h
+++ b/pango/pango-attributes.h
@@ -53,12 +53,17 @@ struct _PangoColor
  * 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);
 
 
@@ -429,97 +434,148 @@ struct _PangoAttrFontFeatures
   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,
@@ -528,7 +584,9 @@ gboolean pango_parse_markup (const char                 *markup_text,
                             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 --git a/pango/pango-bidi-type.h b/pango/pango-bidi-type.h
index 21bb7e7..db0c1e0 100644
--- a/pango/pango-bidi-type.h
+++ b/pango/pango-bidi-type.h
@@ -24,6 +24,7 @@
 
 #include <glib.h>
 
+#include <pango/pango-version-macros.h>
 G_BEGIN_DECLS
 
 /**
@@ -81,6 +82,7 @@ typedef enum {
   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 @@ typedef enum {
   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 --git a/pango/pango-break.h b/pango/pango-break.h
index 70f8aed..4c2cec8 100644
--- a/pango/pango-break.h
+++ b/pango/pango-break.h
@@ -135,17 +135,20 @@ struct _PangoLogAttr
 /* 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 @@ void pango_get_log_attrs (const char    *text,
  * 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 --git a/pango/pango-context.h b/pango/pango-context.h
index 65b1d24..439d099 100644
--- a/pango/pango-context.h
+++ b/pango/pango-context.h
@@ -47,58 +47,83 @@ typedef struct _PangoContextClass PangoContextClass;
  * 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 --git a/pango/pango-coverage.h b/pango/pango-coverage.h
index 592d2b1..b83d510 100644
--- a/pango/pango-coverage.h
+++ b/pango/pango-coverage.h
@@ -24,6 +24,8 @@
 
 #include <glib.h>
 
+#include <pango/pango-version-macros.h>
+
 G_BEGIN_DECLS
 
 /**
@@ -56,21 +58,30 @@ typedef enum {
   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 --git a/pango/pango-engine.h b/pango/pango-engine.h
index 9645c2c..ce5c888 100644
--- a/pango/pango-engine.h
+++ b/pango/pango-engine.h
@@ -79,6 +79,7 @@ struct _PangoEngineClass
   GObjectClass parent_class;
 };
 
+PANGO_DEPRECATED_IN_1_38
 GType pango_engine_get_type (void) G_GNUC_CONST;
 
 /**
@@ -145,6 +146,7 @@ struct _PangoEngineLangClass
                        int            attrs_len);
 };
 
+PANGO_DEPRECATED_IN_1_38
 GType pango_engine_lang_get_type (void) G_GNUC_CONST;
 
 /**
@@ -232,6 +234,7 @@ struct _PangoEngineShapeClass
                                  gunichar          wc);
 };
 
+PANGO_DEPRECATED_IN_1_38
 GType pango_engine_shape_get_type (void) G_GNUC_CONST;
 
 typedef struct _PangoEngineInfo PangoEngineInfo;
@@ -293,7 +296,7 @@ struct _PangoEngineInfo
  *
  * Deprecated: 1.38
  **/
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 void script_engine_list (PangoEngineInfo **engines,
                         int              *n_engines);
 
@@ -306,7 +309,7 @@ void script_engine_list (PangoEngineInfo **engines,
  *
  * Deprecated: 1.38
  **/
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 void script_engine_init (GTypeModule *module);
 
 
@@ -317,7 +320,7 @@ void script_engine_init (GTypeModule *module);
  *
  * Deprecated: 1.38
  **/
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 void script_engine_exit (void);
 
 /**
@@ -328,7 +331,7 @@ void script_engine_exit (void);
  *
  * Deprecated: 1.38
  **/
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 PangoEngine *script_engine_create (const char *id);
 
 /* Utility macro used by PANGO_ENGINE_LANG_DEFINE_TYPE and
diff --git a/pango/pango-enum-types.h.template b/pango/pango-enum-types.h.template
index e5ffbe8..5fb54ce 100644
--- a/pango/pango-enum-types.h.template
+++ b/pango/pango-enum-types.h.template
@@ -4,6 +4,8 @@
 
 #include <glib-object.h>
 
+#include <pango/pango-version-macros.h>
+
 G_BEGIN_DECLS
 /*** END file-header ***/
 
@@ -13,6 +15,7 @@ G_BEGIN_DECLS
 /*** END file-production ***/
 
 /*** BEGIN value-header ***/
+PANGO_AVAILABLE_IN_ALL
 GType @enum_name _get_type (void) G_GNUC_CONST;
 #define @ENUMPREFIX _TYPE_@ENUMSHORT@ (@enum_name _get_type ())
 /*** END value-header ***/
diff --git a/pango/pango-font.h b/pango/pango-font.h
index 6d64d8d..cdc07cd 100644
--- a/pango/pango-font.h
+++ b/pango/pango-font.h
@@ -214,61 +214,94 @@ typedef enum {
  */
 #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,20 +314,32 @@ char *                pango_font_description_to_filename (const PangoFontDescrip
  * 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
@@ -342,12 +387,16 @@ struct _PangoFontMetrics
 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
@@ -418,13 +467,18 @@ struct _PangoFontFamilyClass
 #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
@@ -493,21 +547,29 @@ struct _PangoFontFaceClass
 #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 --git a/pango/pango-fontmap.h b/pango/pango-fontmap.h
index 207bac7..56128e9 100644
--- a/pango/pango-fontmap.h
+++ b/pango/pango-fontmap.h
@@ -50,19 +50,26 @@ G_BEGIN_DECLS
 
 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 @@ struct _PangoFontMapClass
   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 --git a/pango/pango-fontset.h b/pango/pango-fontset.h
index 7aa7d30..6ea16d8 100644
--- a/pango/pango-fontset.h
+++ b/pango/pango-fontset.h
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
 #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 @@ typedef gboolean (*PangoFontsetForeachFunc) (PangoFontset  *fontset,
                                             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 @@ struct _PangoFontsetClass
 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 --git a/pango/pango-glyph-item.h b/pango/pango-glyph-item.h
index cc87ae1..daf2b15 100644
--- a/pango/pango-glyph-item.h
+++ b/pango/pango-glyph-item.h
@@ -55,20 +55,27 @@ struct _PangoGlyphItem
  */
 #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);
@@ -142,17 +149,24 @@ struct _PangoGlyphItemIter
  */
 #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 --git a/pango/pango-glyph.h b/pango/pango-glyph.h
index be0f02d..f24812c 100644
--- a/pango/pango-glyph.h
+++ b/pango/pango-glyph.h
@@ -141,18 +141,26 @@ struct _PangoGlyphString {
  */
 #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,
@@ -160,12 +168,14 @@ void              pango_glyph_string_extents_range  (PangoGlyphString *glyphs,
                                                     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,
@@ -173,6 +183,7 @@ void pango_glyph_string_index_to_x (PangoGlyphString *glyphs,
                                    int               index_,
                                    gboolean          trailing,
                                    int              *x_pos);
+PANGO_AVAILABLE_IN_ALL
 void pango_glyph_string_x_to_index (PangoGlyphString *glyphs,
                                    char             *text,
                                    int               length,
@@ -183,11 +194,13 @@ void pango_glyph_string_x_to_index (PangoGlyphString *glyphs,
 
 /* 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,
@@ -195,6 +208,7 @@ void pango_shape_full (const gchar      *item_text,
                       const PangoAnalysis *analysis,
                       PangoGlyphString *glyphs);
 
+PANGO_AVAILABLE_IN_ALL
 GList *pango_reorder_items (GList *logical_items);
 
 G_END_DECLS
diff --git a/pango/pango-gravity.h b/pango/pango-gravity.h
index eb2c4d3..63c29e5 100644
--- a/pango/pango-gravity.h
+++ b/pango/pango-gravity.h
@@ -111,11 +111,15 @@ typedef enum {
 #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 --git a/pango/pango-item.h b/pango/pango-item.h
index c48f9d6..cb6a7ed 100644
--- a/pango/pango-item.h
+++ b/pango/pango-item.h
@@ -99,11 +99,16 @@ struct _PangoItem
 
 #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 --git a/pango/pango-language.h b/pango/pango-language.h
index 8648a3a..2ab07bc 100644
--- a/pango/pango-language.h
+++ b/pango/pango-language.h
@@ -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 @@ typedef struct _PangoLanguage PangoLanguage;
  */
 #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 --git a/pango/pango-layout.h b/pango/pango-layout.h
index d0c64af..208e635 100644
--- a/pango/pango-layout.h
+++ b/pango/pango-layout.h
@@ -134,102 +134,148 @@ struct _PangoLayoutLine
  * 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,
@@ -237,57 +283,76 @@ void     pango_layout_move_cursor_visually (PangoLayout    *layout,
                                            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);
@@ -296,45 +361,67 @@ typedef struct _PangoLayoutIter PangoLayoutIter;
 
 #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 --git a/pango/pango-matrix.h b/pango/pango-matrix.h
index 85c4b1d..9ec3704 100644
--- a/pango/pango-matrix.h
+++ b/pango/pango-matrix.h
@@ -84,32 +84,45 @@ struct _PangoMatrix
 /* 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);
 
diff --git a/pango/pango-modules.h b/pango/pango-modules.h
index 97fb39e..82230b6 100644
--- a/pango/pango-modules.h
+++ b/pango/pango-modules.h
@@ -55,19 +55,19 @@ struct _PangoIncludedModule
   PangoEngine *(*create) (const char       *id);
 };
 
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 PangoMap *     pango_find_map        (PangoLanguage       *language,
                                      guint                engine_type_id,
                                      guint                render_type_id);
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 PangoEngine *  pango_map_get_engine  (PangoMap            *map,
                                      PangoScript          script);
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 void           pango_map_get_engines (PangoMap            *map,
                                      PangoScript          script,
                                      GSList             **exact_engines,
                                      GSList             **fallback_engines);
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 void           pango_module_register (PangoIncludedModule *module);
 
 #endif /* PANGO_ENABLE_BACKEND */
diff --git a/pango/pango-ot.h b/pango/pango-ot.h
index c60c301..45b1a1a 100644
--- a/pango/pango-ot.h
+++ b/pango/pango-ot.h
@@ -248,31 +248,33 @@ struct _PangoOTRulesetDescription {
 #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,
@@ -280,110 +282,110 @@ gboolean pango_ot_info_find_feature  (PangoOTInfo      *info,
                                      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 --git a/pango/pango-renderer.h b/pango/pango-renderer.h
index 2127a4c..266cc3e 100644
--- a/pango/pango-renderer.h
+++ b/pango/pango-renderer.h
@@ -191,37 +191,45 @@ struct _PangoRendererClass
   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_,
@@ -230,35 +238,47 @@ void pango_renderer_draw_trapezoid       (PangoRenderer    *renderer,
                                          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 --git a/pango/pango-script.h b/pango/pango-script.h
index df14a9c..6287602 100644
--- a/pango/pango-script.h
+++ b/pango/pango-script.h
@@ -302,19 +302,27 @@ typedef enum {                         /* ISO 15924 code */
       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 --git a/pango/pango-tabs.h b/pango/pango-tabs.h
index 8a33bcb..664cedb 100644
--- a/pango/pango-tabs.h
+++ b/pango/pango-tabs.h
@@ -54,31 +54,42 @@ typedef enum
  */
 #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 --git a/pango/pango-types.h b/pango/pango-types.h
index 0bf4bd7..4662c71 100644
--- a/pango/pango-types.h
+++ b/pango/pango-types.h
@@ -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 @@ typedef guint32 PangoGlyph;
   (((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 @@ struct _PangoRectangle
 #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 --git a/pango/pango-utils.h b/pango/pango-utils.h
index 40100f6..bb9a462 100644
--- a/pango/pango-utils.h
+++ b/pango/pango-utils.h
@@ -28,38 +28,38 @@
 
 G_BEGIN_DECLS
 
-G_DEPRECATED
+PANGO_DEPRECATED
 char **  pango_split_file_list (const char *str);
 
-G_DEPRECATED
+PANGO_DEPRECATED
 char    *pango_trim_string     (const char *str);
-G_DEPRECATED
+PANGO_DEPRECATED
 gint     pango_read_line      (FILE        *stream,
                               GString     *str);
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_skip_space     (const char **pos);
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_scan_word      (const char **pos,
                               GString     *out);
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_scan_string    (const char **pos,
                               GString     *out);
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_scan_int       (const char **pos,
                               int         *out);
 
 #ifdef PANGO_ENABLE_BACKEND
-G_DEPRECATED
+PANGO_DEPRECATED_IN_1_38
 char *   pango_config_key_get_system (const char *key);
-G_DEPRECATED
+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 */
 
-G_DEPRECATED
+PANGO_DEPRECATED
 gboolean pango_parse_enum     (GType       type,
                               const char *str,
                               int        *value,
@@ -73,15 +73,19 @@ gboolean pango_parse_enum     (GType       type,
  * 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);
@@ -94,25 +98,27 @@ gboolean pango_parse_stretch (const char   *str,
  * stored in the registry). The returned string should not be
  * g_free'd.
  */
-G_DEPRECATED
+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.
  */
-G_DEPRECATED
+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);
@@ -120,6 +126,7 @@ guint8 * pango_log2vis_get_embedding_levels (const gchar    *text,
 /* 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 */
@@ -186,12 +193,15 @@ gboolean pango_is_zero_width (gunichar ch) G_GNUC_CONST;
 
 
 /* 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 --git a/pango/pango.h b/pango/pango.h
index 5cc6957..bf68832 100644
--- a/pango/pango.h
+++ b/pango/pango.h
@@ -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 --git a/pango/pangocairo-coretext.h b/pango/pangocairo-coretext.h
index 31faf9b..ffc086c 100644
--- a/pango/pangocairo-coretext.h
+++ b/pango/pangocairo-coretext.h
@@ -43,6 +43,7 @@ struct _PangoCairoCoreTextFontMap
   gdouble dpi;
 };
 
+_PANGO_EXTERN
 GType pango_cairo_core_text_font_map_get_type (void) G_GNUC_CONST;
 
 PangoCoreTextFont *
diff --git a/pango/pangocairo-coretextfont.h b/pango/pangocairo-coretextfont.h
index 752dfdd..91bdc71 100644
--- a/pango/pangocairo-coretextfont.h
+++ b/pango/pangocairo-coretextfont.h
@@ -32,6 +32,7 @@
 typedef struct _PangoCairoCoreTextFont      PangoCairoCoreTextFont;
 typedef struct _PangoCairoCoreTextFontClass PangoCairoCoreTextFontClass;
 
+_PANGO_EXTERN
 GType pango_cairo_core_text_font_get_type (void) G_GNUC_CONST;
 
 #endif /* __PANGOCAIRO_CORETEXTFONT_H__ */
diff --git a/pango/pangocairo-fc.h b/pango/pangocairo-fc.h
index 8873d5b..c5c03f5 100644
--- a/pango/pangocairo-fc.h
+++ b/pango/pangocairo-fc.h
@@ -43,10 +43,13 @@ struct _PangoCairoFcFontMap
   FT_Library library;
 };
 
+PANGO_AVAILABLE_IN_ALL
 GType pango_cairo_fc_font_map_get_type (void) G_GNUC_CONST;
 
+PANGO_AVAILABLE_IN_ALL
 PangoFcFont *_pango_cairo_fc_font_new (PangoCairoFcFontMap *cffontmap,
                                       PangoFcFontKey      *key);
+PANGO_AVAILABLE_IN_ALL
 FT_Library   _pango_cairo_fc_font_map_get_library (PangoCairoFcFontMap *fontmap);
 
 G_END_DECLS
diff --git a/pango/pangocairo-fcfont.c b/pango/pangocairo-fcfont.c
index 7dde713..95f82e1 100644
--- a/pango/pangocairo-fcfont.c
+++ b/pango/pangocairo-fcfont.c
@@ -49,6 +49,7 @@ struct _PangoCairoFcFontClass
   PangoFcFontClass  parent_class;
 };
 
+_PANGO_EXTERN
 GType pango_cairo_fc_font_get_type (void);
 
 /********************************
diff --git a/pango/pangocairo-private.h b/pango/pangocairo-private.h
index 52a8b2f..704ae49 100644
--- a/pango/pangocairo-private.h
+++ b/pango/pangocairo-private.h
@@ -127,6 +127,7 @@ void _pango_cairo_font_private_get_glyph_extents (PangoCairoFontPrivate *cf_priv
 
 typedef struct _PangoCairoRenderer PangoCairoRenderer;
 
+_PANGO_EXTERN
 GType pango_cairo_renderer_get_type    (void) G_GNUC_CONST;
 
 
diff --git a/pango/pangocairo.h b/pango/pangocairo.h
index 73ad7ac..d15d879 100644
--- a/pango/pangocairo.h
+++ b/pango/pangocairo.h
@@ -77,70 +77,95 @@ typedef void (* PangoCairoShapeRendererFunc) (cairo_t        *cr,
 /*
  * 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 @@ void pango_cairo_show_error_underline (cairo_t       *cr,
 /*
  * 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 --git a/pango/pangocoretext-private.h b/pango/pangocoretext-private.h
index 899cd09..d777587 100644
--- a/pango/pangocoretext-private.h
+++ b/pango/pangocoretext-private.h
@@ -80,6 +80,7 @@ struct _PangoCoreTextFontMapClass
 };
 
 
+_PANGO_EXTERN
 GType                 pango_core_text_font_map_get_type          (void) G_GNUC_CONST;
 
 void                  _pango_core_text_font_set_font_map         (PangoCoreTextFont    *afont,
@@ -92,17 +93,25 @@ void                  _pango_core_text_font_set_context_key      (PangoCoreTextF
                                                                   gpointer           context_key);
 void                  _pango_core_text_font_set_font_key         (PangoCoreTextFont    *font,
                                                                   PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 void                  _pango_core_text_font_set_ctfont           (PangoCoreTextFont    *font,
                                                                   CTFontRef         font_ref);
 
 PangoFontDescription *_pango_core_text_font_description_from_ct_font_descriptor (CTFontDescriptorRef desc);
 
+_PANGO_EXTERN
 int                   pango_core_text_font_key_get_absolute_size    (const PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 double                pango_core_text_font_key_get_resolution       (const PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 gboolean              pango_core_text_font_key_get_synthetic_italic (const PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 gpointer              pango_core_text_font_key_get_context_key      (const PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 const PangoMatrix    *pango_core_text_font_key_get_matrix           (const PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 PangoGravity          pango_core_text_font_key_get_gravity          (const PangoCoreTextFontKey *key);
+_PANGO_EXTERN
 CTFontDescriptorRef   pango_core_text_font_key_get_ctfontdescriptor (const PangoCoreTextFontKey *key);
 
 void
diff --git a/pango/pangocoretext.h b/pango/pangocoretext.h
index a744443..3bb9fcd 100644
--- a/pango/pangocoretext.h
+++ b/pango/pangocoretext.h
@@ -74,10 +74,12 @@ struct _PangoCoreTextFontClass
 
 #endif /* PANGO_ENABLE_BACKEND */
 
+PANGO_AVAILABLE_IN_1_24
 CTFontRef  pango_core_text_font_get_ctfont  (PangoCoreTextFont *font);
 
 #endif /* PANGO_ENABLE_ENGINE || PANGO_ENABLE_BACKEND */
 
+PANGO_AVAILABLE_IN_ALL
 GType      pango_core_text_font_get_type         (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/pango/pangofc-decoder.h b/pango/pangofc-decoder.h
index 8e34146..f4b8cc8 100644
--- a/pango/pangofc-decoder.h
+++ b/pango/pangofc-decoder.h
@@ -95,11 +95,14 @@ struct _PangoFcDecoderClass
   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 --git a/pango/pangofc-font.h b/pango/pangofc-font.h
index 1189cfe..ab5a12a 100644
--- a/pango/pangofc-font.h
+++ b/pango/pangofc-font.h
@@ -126,24 +126,29 @@ struct _PangoFcFontClass
 
 #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 --git a/pango/pangofc-fontmap.h b/pango/pangofc-fontmap.h
index ac3bbf7..4dab083 100644
--- a/pango/pangofc-fontmap.h
+++ b/pango/pangofc-fontmap.h
@@ -42,11 +42,17 @@ G_BEGIN_DECLS
  **/
 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 @@ gpointer                    pango_fc_fontset_key_get_context_key   (const PangoF
  **/
 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
@@ -170,8 +179,8 @@ struct _PangoFcFontMapClass
   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,23 +195,29 @@ struct _PangoFcFontMapClass
 };
 
 #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);
 
@@ -219,13 +234,16 @@ pango_fc_font_map_get_config (PangoFcFontMap *fcfontmap);
 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 --git a/pango/pangofc-private.h b/pango/pangofc-private.h
index e0ffdc4..ee04871 100644
--- a/pango/pangofc-private.h
+++ b/pango/pangofc-private.h
@@ -91,12 +91,14 @@ PangoFcFontKey *_pango_fc_font_get_font_key      (PangoFcFont    *fcfont);
 void            _pango_fc_font_set_font_key      (PangoFcFont    *fcfont,
                                                  PangoFcFontKey *key);
 
+_PANGO_EXTERN
 void            pango_fc_font_get_raw_extents    (PangoFcFont    *font,
                                                  FT_Int32        load_flags,
                                                  PangoGlyph      glyph,
                                                  PangoRectangle *ink_rect,
                                                  PangoRectangle *logical_rect);
 
+_PANGO_EXTERN
 PangoFontMetrics *pango_fc_font_create_base_metrics_for_context (PangoFcFont   *font,
                                                                 PangoContext  *context);
 
diff --git a/pango/pangoft2-private.h b/pango/pangoft2-private.h
index cf00d38..02d0a34 100644
--- a/pango/pangoft2-private.h
+++ b/pango/pangoft2-private.h
@@ -77,6 +77,7 @@ struct _PangoFT2GlyphInfo
 #define PANGO_FT2_FONT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT, 
PangoFT2Font))
 #define PANGO_FT2_IS_FONT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT))
 
+_PANGO_EXTERN
 GType pango_ft2_font_get_type (void) G_GNUC_CONST;
 
 PangoFT2Font * _pango_ft2_font_new                (PangoFT2FontMap   *ft2fontmap,
@@ -111,6 +112,7 @@ void _pango_ft2_draw_error_underline (FT_Bitmap         *bitmap,
 #define PANGO_FT2_RENDERER(object)         (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_RENDERER, 
PangoFT2Renderer))
 #define PANGO_IS_FT2_RENDERER(object)      (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_RENDERER))
 
+_PANGO_EXTERN
 GType pango_ft2_renderer_get_type    (void) G_GNUC_CONST;
 
 PangoRenderer *_pango_ft2_font_map_get_renderer (PangoFT2FontMap *ft2fontmap);
diff --git a/pango/pangoft2.h b/pango/pangoft2.h
index 2b9083c..c083032 100644
--- a/pango/pangoft2.h
+++ b/pango/pangoft2.h
@@ -58,11 +58,13 @@ typedef void (*PangoFT2SubstituteFunc) (FcPattern *pattern,
 
 /* 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 @@ void pango_ft2_render_transformed (FT_Bitmap         *bitmap,
                                   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 @@ PangoContext *pango_ft2_font_map_create_context         (PangoFT2FontMap
 /* 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 --git a/pango/pangowin32-private.h b/pango/pangowin32-private.h
index ad6ce2a..88e5655 100644
--- a/pango/pangowin32-private.h
+++ b/pango/pangowin32-private.h
@@ -254,26 +254,34 @@ struct name_record
   guint16 string_offset;
 };
 
+_PANGO_EXTERN
 GType           _pango_win32_font_get_type          (void) G_GNUC_CONST;
 
+_PANGO_EXTERN
 void            _pango_win32_make_matching_logfontw (PangoFontMap   *fontmap,
                                                     const LOGFONTW *lfp,
                                                     int             size,
                                                     LOGFONTW       *out);
 
+_PANGO_EXTERN
 GType           _pango_win32_font_map_get_type      (void) G_GNUC_CONST;
 
+_PANGO_EXTERN
 void            _pango_win32_fontmap_cache_remove   (PangoFontMap   *fontmap,
                                                     PangoWin32Font *xfont);
 
+_PANGO_EXTERN
 gboolean       _pango_win32_get_name_header        (HDC                 hdc,
                                                     struct name_header *header);
+_PANGO_EXTERN
 gboolean       _pango_win32_get_name_record        (HDC                 hdc,
                                                     gint                i,
                                                     struct name_record *record);
 
+_PANGO_EXTERN
 HFONT          _pango_win32_font_get_hfont         (PangoFont          *font);
 
+_PANGO_EXTERN
 void
 _pango_win32_shape (PangoFont          *font,
                    const char          *text,
diff --git a/pango/pangowin32.h b/pango/pangowin32.h
index ecfe5f8..c9b440c 100644
--- a/pango/pangowin32.h
+++ b/pango/pangowin32.h
@@ -48,24 +48,28 @@ G_BEGIN_DECLS
 /* Calls for applications
  */
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(pango_font_map_create_context)
+PANGO_DEPRECATED_FOR(pango_font_map_create_context)
 PangoContext * pango_win32_get_context        (void);
 #endif
 
+PANGO_AVAILABLE_IN_ALL
 void           pango_win32_render             (HDC               hdc,
                                               PangoFont        *font,
                                               PangoGlyphString *glyphs,
                                               gint              x,
                                               gint              y);
+PANGO_AVAILABLE_IN_ALL
 void           pango_win32_render_layout_line (HDC               hdc,
                                               PangoLayoutLine  *line,
                                               int               x,
                                               int               y);
+PANGO_AVAILABLE_IN_ALL
 void           pango_win32_render_layout      (HDC               hdc,
                                               PangoLayout      *layout,
                                               int               x,
                                               int               y);
 
+PANGO_AVAILABLE_IN_ALL
 void           pango_win32_render_transformed (HDC         hdc,
                                               const PangoMatrix *matrix,
                                               PangoFont         *font,
@@ -79,20 +83,26 @@ void           pango_win32_render_transformed (HDC         hdc,
  */
 
 #ifndef PANGO_DISABLE_DEPRECATED
-G_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
+PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
 PangoGlyph     pango_win32_get_unknown_glyph  (PangoFont        *font,
                                               gunichar          wc);
 #endif /* PANGO_DISABLE_DEPRECATED */
+PANGO_AVAILABLE_IN_ALL
 gint         pango_win32_font_get_glyph_index(PangoFont        *font,
                                               gunichar          wc);
 
+PANGO_AVAILABLE_IN_ALL
 HDC            pango_win32_get_dc             (void);
 
+PANGO_AVAILABLE_IN_1_2
 gboolean       pango_win32_get_debug_flag     (void);
 
+PANGO_AVAILABLE_IN_ALL
 gboolean pango_win32_font_select_font        (PangoFont *font,
                                              HDC        hdc);
+PANGO_AVAILABLE_IN_ALL
 void     pango_win32_font_done_font          (PangoFont *font);
+PANGO_AVAILABLE_IN_ALL
 double   pango_win32_font_get_metrics_factor (PangoFont *font);
 
 #endif
@@ -102,25 +112,37 @@ double   pango_win32_font_get_metrics_factor (PangoFont *font);
  */
 typedef struct _PangoWin32FontCache PangoWin32FontCache;
 
+PANGO_AVAILABLE_IN_ALL
 PangoWin32FontCache *pango_win32_font_cache_new          (void);
+PANGO_AVAILABLE_IN_ALL
 void                 pango_win32_font_cache_free         (PangoWin32FontCache *cache);
 
+PANGO_AVAILABLE_IN_ALL
 HFONT                pango_win32_font_cache_load         (PangoWin32FontCache *cache,
                                                          const LOGFONTA      *logfont);
+PANGO_AVAILABLE_IN_1_16
 HFONT                pango_win32_font_cache_loadw        (PangoWin32FontCache *cache,
                                                          const LOGFONTW      *logfont);
+PANGO_AVAILABLE_IN_ALL
 void                 pango_win32_font_cache_unload       (PangoWin32FontCache *cache,
                                                          HFONT                hfont);
 
+PANGO_AVAILABLE_IN_ALL
 PangoFontMap        *pango_win32_font_map_for_display    (void);
+PANGO_AVAILABLE_IN_ALL
 void                 pango_win32_shutdown_display        (void);
+PANGO_AVAILABLE_IN_ALL
 PangoWin32FontCache *pango_win32_font_map_get_font_cache (PangoFontMap       *font_map);
 
+PANGO_AVAILABLE_IN_ALL
 LOGFONTA            *pango_win32_font_logfont            (PangoFont          *font);
+PANGO_AVAILABLE_IN_1_16
 LOGFONTW            *pango_win32_font_logfontw           (PangoFont          *font);
 
+PANGO_AVAILABLE_IN_1_12
 PangoFontDescription *pango_win32_font_description_from_logfont (const LOGFONTA *lfp);
 
+PANGO_AVAILABLE_IN_1_16
 PangoFontDescription *pango_win32_font_description_from_logfontw (const LOGFONTW *lfp);
 
 G_END_DECLS
diff --git a/pango/pangoxft-render.h b/pango/pangoxft-render.h
index ce19092..5893574 100644
--- a/pango/pangoxft-render.h
+++ b/pango/pangoxft-render.h
@@ -95,21 +95,27 @@ struct _PangoXftRendererClass
                                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 @@ void pango_xft_picture_render     (Display          *display,
                                   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 @@ void pango_xft_render_transformed (XftDraw          *draw,
                                   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,
diff --git a/pango/pangoxft.h b/pango/pangoxft.h
index da0c331..744fce0 100644
--- a/pango/pangoxft.h
+++ b/pango/pangoxft.h
@@ -74,49 +74,58 @@ typedef void (*PangoXftSubstituteFunc) (FcPattern *pattern,
 
 /* 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 */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]