407ae76c3622875b7804c2d580d6530775a9e6a3
diff --git a/pango/fonts.c b/pango/fonts.c
index efb989b..525ae4f 100644
--- a/pango/fonts.c
+++ b/pango/fonts.c
@@ -46,19 +46,9 @@ struct _PangoFontDescription
   int size;
 };
 
-GType
-pango_font_description_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoFontDescription"),
-					     (GBoxedCopyFunc)pango_font_description_copy,
-					     (GBoxedFreeFunc)pango_font_description_free);
-
-  return our_type;
-}
-
+G_DEFINE_BOXED_TYPE (PangoFontDescription, pango_font_description,
+                     (GBoxedCopyFunc)pango_font_description_copy,
+                     (GBoxedFreeFunc)pango_font_description_free);
 
 static const PangoFontDescription pfd_defaults = {
   NULL,			/* family_name */
@@ -1434,19 +1424,9 @@ pango_font_get_font_map (PangoFont *font)
     return NULL;
 }
 
-GType
-pango_font_metrics_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoFontMetrics"),
-					     (GBoxedCopyFunc)pango_font_metrics_ref,
-					     (GBoxedFreeFunc)pango_font_metrics_unref);
-
-  return our_type;
-}
-
+G_DEFINE_BOXED_TYPE (PangoFontMetrics, pango_font_metrics,
+                     (GBoxedCopyFunc)pango_font_metrics_ref,
+                     (GBoxedFreeFunc)pango_font_metrics_unref);
 
 /**
  * pango_font_metrics_new:
diff --git a/pango/glyphstring.c b/pango/glyphstring.c
index 75a008c..7257924 100644
--- a/pango/glyphstring.c
+++ b/pango/glyphstring.c
@@ -77,18 +77,9 @@ pango_glyph_string_set_size (PangoGlyphString *string, gint new_len)
   string->num_glyphs = new_len;
 }
 
-GType
-pango_glyph_string_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoGlyphString"),
-					     (GBoxedCopyFunc)pango_glyph_string_copy,
-					     (GBoxedFreeFunc)pango_glyph_string_free);
-
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoGlyphString, pango_glyph_string,
+                     (GBoxedCopyFunc)pango_glyph_string_copy,
+                     (GBoxedFreeFunc)pango_glyph_string_free);
 
 /**
  * pango_glyph_string_copy:
diff --git a/pango/pango-attributes.c b/pango/pango-attributes.c
index 3a0be40..fc98596 100644
--- a/pango/pango-attributes.c
+++ b/pango/pango-attributes.c
@@ -1082,18 +1082,9 @@ pango_attr_gravity_hint_new (PangoGravityHint hint)
  * Attribute List
  */
 
-GType
-pango_attr_list_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoAttrList"),
-					     (GBoxedCopyFunc) pango_attr_list_copy,
-					     (GBoxedFreeFunc) pango_attr_list_unref);
-
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoAttrList, pango_attr_list,
+                     (GBoxedCopyFunc) pango_attr_list_copy,
+                     (GBoxedFreeFunc) pango_attr_list_unref);
 
 /**
  * pango_attr_list_new:
diff --git a/pango/pango-color.c b/pango/pango-color.c
index bdbc7b6..0d4dfd6 100644
--- a/pango/pango-color.c
+++ b/pango/pango-color.c
@@ -27,18 +27,9 @@
 #include "pango-attributes.h"
 #include "pango-impl-utils.h"
 
-GType
-pango_color_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoColor"),
-					     (GBoxedCopyFunc) pango_color_copy,
-					     (GBoxedFreeFunc) pango_color_free);
-
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoColor, pango_color,
+                     (GBoxedCopyFunc) pango_color_copy,
+                     (GBoxedFreeFunc) pango_color_free);
 
 /**
  * pango_color_copy:
diff --git a/pango/pango-glyph-item.c b/pango/pango-glyph-item.c
index d321422..651d07f 100644
--- a/pango/pango-glyph-item.c
+++ b/pango/pango-glyph-item.c
@@ -180,17 +180,9 @@ pango_glyph_item_free  (PangoGlyphItem *glyph_item)
   g_slice_free (PangoGlyphItem, glyph_item);
 }
 
-GType
-pango_glyph_item_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoGlyphItem"),
-					     (GBoxedCopyFunc) pango_glyph_item_copy,
-					     (GBoxedFreeFunc) pango_glyph_item_free);
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoGlyphItem, pango_glyph_item,
+                     (GBoxedCopyFunc) pango_glyph_item_copy,
+                     (GBoxedFreeFunc) pango_glyph_item_free);
 
 /**
  * _pango_glyph_item_iter_next_cluster:
diff --git a/pango/pango-item.c b/pango/pango-item.c
index 9d8edd0..024ee01 100644
--- a/pango/pango-item.c
+++ b/pango/pango-item.c
@@ -106,17 +106,9 @@ pango_item_free (PangoItem *item)
   g_slice_free (PangoItem, item);
 }
 
-GType
-pango_item_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoItem"),
-					     (GBoxedCopyFunc) pango_item_copy,
-					     (GBoxedFreeFunc) pango_item_free);
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoItem, pango_item,
+                     (GBoxedCopyFunc) pango_item_copy,
+                     (GBoxedFreeFunc) pango_item_free);
 
 /**
  * pango_item_split:
diff --git a/pango/pango-language.c b/pango/pango-language.c
index dc1647e..548e604 100644
--- a/pango/pango-language.c
+++ b/pango/pango-language.c
@@ -83,17 +83,9 @@ pango_language_free (PangoLanguage *language G_GNUC_UNUSED)
   return; /* nothing */
 }
 
-GType
-pango_language_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoLanguage"),
-					     (GBoxedCopyFunc)pango_language_copy,
-					     (GBoxedFreeFunc)pango_language_free);
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoLanguage, pango_language,
+                     (GBoxedCopyFunc)pango_language_copy,
+                     (GBoxedFreeFunc)pango_language_free);
 
 /**
  * _pango_get_lc_ctype:
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 459f21b..60b3492 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -3908,17 +3908,9 @@ pango_layout_line_unref (PangoLayoutLine *line)
     }
 }
 
-GType
-pango_layout_line_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoLayoutLine"),
-					     (GBoxedCopyFunc) pango_layout_line_ref,
-					     (GBoxedFreeFunc) pango_layout_line_unref);
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoLayoutLine, pango_layout_line,
+                     (GBoxedCopyFunc) pango_layout_line_ref,
+                     (GBoxedFreeFunc) pango_layout_line_unref);
 
 /**
  * pango_layout_line_x_to_index:
@@ -5443,18 +5435,9 @@ pango_layout_iter_copy (PangoLayoutIter *iter)
   return new;
 }
 
-GType
-pango_layout_iter_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoLayoutIter"),
-					     (GBoxedCopyFunc) pango_layout_iter_copy,
-					     (GBoxedFreeFunc) pango_layout_iter_free);
-
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoLayoutIter, pango_layout_iter,
+                     (GBoxedCopyFunc) pango_layout_iter_copy,
+                     (GBoxedFreeFunc) pango_layout_iter_free);
 
 /**
  * pango_layout_get_iter:
diff --git a/pango/pango-matrix.c b/pango/pango-matrix.c
index c58e58a..7ae8d3b 100644
--- a/pango/pango-matrix.c
+++ b/pango/pango-matrix.c
@@ -26,18 +26,9 @@
 #include "pango-matrix.h"
 #include "pango-impl-utils.h"
 
-GType
-pango_matrix_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoMatrix"),
-					     (GBoxedCopyFunc) pango_matrix_copy,
-					     (GBoxedFreeFunc) pango_matrix_free);
-
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoMatrix, pango_matrix,
+                     (GBoxedCopyFunc) pango_matrix_copy,
+                      (GBoxedFreeFunc) pango_matrix_free);
 
 /**
  * pango_matrix_copy:
diff --git a/pango/pango-tabs.c b/pango/pango-tabs.c
index 6091d27..1a8c55d 100644
--- a/pango/pango-tabs.c
+++ b/pango/pango-tabs.c
@@ -156,17 +156,9 @@ pango_tab_array_new_with_positions (gint           size,
   return array;
 }
 
-GType
-pango_tab_array_get_type (void)
-{
-  static GType our_type = 0;
-
-  if (G_UNLIKELY (our_type == 0))
-    our_type = g_boxed_type_register_static (I_("PangoTabArray"),
-					     (GBoxedCopyFunc)pango_tab_array_copy,
-					     (GBoxedFreeFunc)pango_tab_array_free);
-  return our_type;
-}
+G_DEFINE_BOXED_TYPE (PangoTabArray, pango_tab_array,
+                     (GBoxedCopyFunc)pango_tab_array_copy,
+                     (GBoxedFreeFunc)pango_tab_array_free);
 
 /**
  * pango_tab_array_copy:
