diff --git a/doc/public/Headers.mk b/doc/public/Headers.mk
index 6b40c611d..9b7aef639 100644
--- a/doc/public/Headers.mk
+++ b/doc/public/Headers.mk
@@ -14,6 +14,7 @@ PRIVATE_TEST_HFILES = \
cairo-hash-private.h \
cairo-malloc-private.h \
cairo-meta-surface-private.h \
+ cairo-mutex-impl-private.h \
cairo-mutex-list-private.h \
cairo-mutex-private.h \
cairo-mutex-type-private.h \
diff --git a/doc/public/cairo-docs.xml b/doc/public/cairo-docs.xml
index 467a58706..4e72237a2 100644
--- a/doc/public/cairo-docs.xml
+++ b/doc/public/cairo-docs.xml
@@ -25,6 +25,7 @@
+
Surfaces
diff --git a/doc/public/cairo-sections.txt b/doc/public/cairo-sections.txt
index c6d528744..c95863868 100644
--- a/doc/public/cairo-sections.txt
+++ b/doc/public/cairo-sections.txt
@@ -31,6 +31,24 @@ cairo_quartz_font_face_create_for_cgfont
cairo_quartz_font_face_create_for_atsu_font_id
+
+cairo-user-fonts
+User Fonts
+cairo_user_scaled_font_init_func_t
+cairo_user_scaled_font_render_glyph_func_t
+cairo_user_scaled_font_text_to_glyphs_func_t
+cairo_user_scaled_font_unicode_to_glyph_func_t
+cairo_user_font_face_create
+cairo_user_font_face_set_init_func
+cairo_user_font_face_get_init_func
+cairo_user_font_face_set_render_glyph_func
+cairo_user_font_face_get_render_glyph_func
+cairo_user_font_face_set_unicode_to_glyph_func
+cairo_user_font_face_get_unicode_to_glyph_func
+cairo_user_font_face_set_text_to_glyphs_func
+cairo_user_font_face_get_text_to_glyphs_func
+
+
cairo-image
Image Surfaces
diff --git a/doc/public/tmpl/cairo-user-fonts.sgml b/doc/public/tmpl/cairo-user-fonts.sgml
new file mode 100644
index 000000000..64f75019c
--- /dev/null
+++ b/doc/public/tmpl/cairo-user-fonts.sgml
@@ -0,0 +1,146 @@
+
+User Fonts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@scaled_font:
+@extents:
+@Returns:
+
+
+
+
+
+
+
+@scaled_font:
+@glyph:
+@cr:
+@extents:
+@Returns:
+
+
+
+
+
+
+
+@scaled_font:
+@utf8:
+@glyphs:
+@num_glyphs:
+@Returns:
+
+
+
+
+
+
+
+@scaled_font:
+@unicode:
+@glyph_index:
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@font_face:
+@init_func:
+
+
+
+
+
+
+
+@font_face:
+@Returns:
+
+
+
+
+
+
+
+@font_face:
+@render_glyph_func:
+
+
+
+
+
+
+
+@font_face:
+@Returns:
+
+
+
+
+
+
+
+@font_face:
+@unicode_to_glyph_func:
+
+
+
+
+
+
+
+@font_face:
+@Returns:
+
+
+
+
+
+
+
+@font_face:
+@text_to_glyphs_func:
+
+
+
+
+
+
+
+@font_face:
+@Returns:
+
+