summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rwxr-xr-xdocs/check.docs57
-rw-r--r--docs/meson.build224
-rw-r--r--docs/pango-docs.sgml167
-rw-r--r--docs/pango-name-black.pngbin0 -> 12854 bytes
-rw-r--r--docs/pango-name-solid.pngbin0 -> 2021 bytes
-rw-r--r--docs/pango-name-white.pngbin0 -> 13194 bytes
-rw-r--r--docs/pango-name.pngbin0 -> 13194 bytes
-rw-r--r--docs/pango-overrides.txt0
-rw-r--r--docs/pango-sections.txt1276
-rw-r--r--docs/pango.toml.in73
-rw-r--r--docs/pango_bidi.md58
-rw-r--r--docs/pango_cairo.md129
-rw-r--r--docs/pango_fonts.md65
-rw-r--r--docs/pango_markup.md184
-rw-r--r--docs/pango_markup.sgml301
-rw-r--r--docs/pango_rendering.md35
-rw-r--r--docs/pango_xft.md26
-rw-r--r--docs/pangocairo.toml.in40
-rw-r--r--docs/pangofc.toml.in36
-rw-r--r--docs/pangoft2.toml.in36
-rw-r--r--docs/pangoot.toml.in31
-rw-r--r--docs/pangoxft.toml.in39
-rw-r--r--docs/rects3.pngbin0 -> 17137 bytes
-rw-r--r--docs/version.xml.in1
-rw-r--r--docs/xml/gtkdocentities.ent.in8
-rw-r--r--docs/xml/meson.build10
26 files changed, 897 insertions, 1899 deletions
diff --git a/docs/check.docs b/docs/check.docs
deleted file mode 100755
index 8eb5fe1c..00000000
--- a/docs/check.docs
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-LC_ALL=C
-export LC_ALL
-
-if test -z "$DOC_MODULE"; then
- # extract from Makefile
- eval `grep '^DOC_MODULE' Makefile | sed 's/ //g'`
- if test -z "$DOC_MODULE"; then
- echo Failed extracting DOC_MODULE from Makefile 1>&2
- echo Try setting DOC_MODULE env var manually 1>&2
- exit 1
- fi
-fi
-
-if test -n "$REPORT_FILES"; then
- $MAKE $REPORT_FILES || exit 1
-fi
-
-test -z "$srcdir" && srcdir=.
-stat=0
-
-if test -f "$DOC_MODULE-undeclared.txt"; then
- undeclared=`cat "$DOC_MODULE-undeclared.txt"`
- if test -n "$undeclared"; then
- echo Undeclared documentation symbols: 1>&2
- cat "$DOC_MODULE-undeclared.txt" 1>&2
- stat=1
- fi
-fi >&2
-if test -f "$DOC_MODULE-unused.txt"; then
- unused=`cat "$DOC_MODULE-unused.txt"`
- if test -n "$unused"; then
- echo Unused documentated symbols: 1>&2
- cat "$DOC_MODULE-unused.txt" 1>&2
- stat=1
- fi
-fi >&2
-if test -f "$DOC_MODULE-undocumented.txt"; then
- if grep '^0 symbols incomplete' "$DOC_MODULE-undocumented.txt" >/dev/null &&
- grep '^0 not documented' "$DOC_MODULE-undocumented.txt" >/dev/null; then
- :
- else
- echo Incomplete or undocumented symbols: 1>&2
- cat "$DOC_MODULE-undocumented.txt" 1>&2
- stat=1
- fi
-fi >&2
-
-# Make failure non-critical for now since this is broken
-if test $stat == 1; then
- echo "**********************************************"
- echo "checks.docs failed, but we ignore this for now"
- echo "**********************************************"
-fi
-# exit $stat
-
diff --git a/docs/meson.build b/docs/meson.build
index e847a34f..14a7a5cd 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,97 +1,163 @@
-subdir('xml')
+gidocgen = find_program('gi-docgen', required: get_option('gtk_doc'))
-version_xml_conf = configuration_data()
-version_xml_conf.set('PANGO_VERSION', meson.project_version())
-configure_file(input: 'version.xml.in',
- output: 'version.xml',
- configuration: version_xml_conf)
-
-private_headers = [
- 'pangocairo-private.h',
- 'pangocairo-fc-private.h',
- 'pangocairo-fc.h',
- 'pangocairo-win32.h',
- 'pangocairo-atsui.h',
- 'pango-coverage-private.h',
- 'pango-color-table.h',
- 'pango-emoji-private.h',
- 'pango-font-private.h',
- 'pango-fontmap-private.h',
- 'pango-fontset-private.h',
- 'pango-impl-utils.h',
- 'pango-glyph-item-private.h',
- 'pango-layout-private.h',
- 'pango-script-table.h',
- 'pango-script-private.h',
- 'pango-utils-private.h',
- 'pangofc-private.h',
- 'pangofc-fontmap-private.h',
- 'pangoft2-private.h',
- 'pangowin32-private.h',
- 'pangoatsui-private.h',
- 'pangoxft-private.h',
- 'pango-ot-private.h',
- 'pango-script-lang-table.h',
- 'pango-language-sample-table.h',
- 'pangocoretext-private.h',
-]
-
-content_files = [
- 'pango_markup.sgml',
- 'version.xml',
-]
-
-html_images = [
+pango_content_files = [
+ 'pango_rendering.md',
+ 'pango_markup.md',
+ 'pango_fonts.md',
+ 'pango_bidi.md',
+ 'pango-name.png',
'layout.png',
'pipeline.png',
- 'rotated-text.png',
'rects1.png',
'rects2.png',
+ 'rects3.png',
]
-docdeps = [ libpango_dep ]
+doc_conf = configuration_data()
+doc_conf.set('PANGO_VERSION', meson.project_version())
+
+pango_toml = configure_file(input: 'pango.toml.in',
+ output: 'pango.toml',
+ configuration: doc_conf)
+
+custom_target('pango-doc',
+ input: pango_gir[0],
+ output: 'Pango',
+ command: [
+ gidocgen,
+ 'generate',
+ '--quiet',
+ '--add-include-path=@0@'.format(meson.current_build_dir() / '../pango'),
+ '--config', pango_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ pango_toml, pango_content_files],
+ build_by_default: true,
+)
if build_pangoft2
- docdeps += libpangoft2_dep
+ pangoft2_toml = configure_file(input: 'pangoft2.toml.in',
+ output: 'pangoft2.toml',
+ configuration: doc_conf)
+
+ custom_target('pangoft-doc',
+ input: pangoft2_gir[0],
+ output: 'PangoFT2',
+ command: [
+ gidocgen,
+ 'generate',
+ '--quiet',
+ '--add-include-path=@0@'.format(meson.current_build_dir() / '../pango'),
+ '--config', pangoft2_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ pangoft2_toml, 'pango-name.png' ],
+ build_by_default: true,
+ )
endif
if xft_dep.found() and fontconfig_dep.found()
- docdeps += libpangoxft_dep
+ pangoxft_toml = configure_file(input: 'pangoxft.toml.in',
+ output: 'pangoxft.toml',
+ configuration: doc_conf)
+
+ custom_target('pangoxft-doc',
+ input: pangoxft_gir[0],
+ output: 'PangoXft',
+ command: [
+ gidocgen,
+ 'generate',
+ '--quiet',
+ '--add-include-path=@0@'.format(meson.current_build_dir() / '../pango'),
+ '--config', pangoxft_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ pangoxft_toml, 'pango-name.png' ],
+ build_by_default: true,
+ )
endif
if cairo_dep.found()
- docdeps += libpangocairo_dep
+ pangocairo_content_files = [
+ 'pango_cairo.md',
+ 'pango-name.png',
+ 'rotated-text.png',
+ ]
+
+ pangocairo_toml = configure_file(input: 'pangocairo.toml.in',
+ output: 'pangocairo.toml',
+ configuration: doc_conf)
+
+ custom_target('pangocairo-doc',
+ input: pangocairo_gir[0],
+ output: 'PangoCairo',
+ command: [
+ gidocgen,
+ 'generate',
+ '--quiet',
+ '--add-include-path=@0@'.format(meson.current_build_dir() / '../pango'),
+ '--config', pangocairo_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ pangocairo_toml, pangocairo_content_files ],
+ build_by_default: true,
+ )
endif
-glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
-glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
-cairo_prefix = dependency('cairo').get_pkgconfig_variable('prefix')
-cairo_docpath = join_paths(cairo_prefix, 'share', 'gtk-doc', 'html')
-docpath = join_paths(pango_datadir, 'gtk-doc', 'html')
+pangoot_toml = configure_file(input: 'pangoot.toml.in',
+ output: 'pangoot.toml',
+ configuration: doc_conf)
-gnome.gtkdoc('pango',
- main_xml: 'pango-docs.sgml',
- src_dir: [
- pango_inc,
- ],
- dependencies: docdeps,
- gobject_typesfile: configure_file(input: 'pango.types.in',
- output: 'pango.types',
- configuration: pango_conf),
- scan_args: [
- '--deprecated-guards=PANGO_DISABLE_DEPRECATED',
- '--ignore-decorators=_PANGO_EXTERN',
- '--ignore-headers=' + ' '.join(private_headers),
- ],
- mkdb_args: [
- '--sgml-mode',
- '--output-format=xml',
- ],
- fixxref_args: [
- '--html-dir=@0@'.format(docpath),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
- '--extra-dir=@0@'.format(join_paths(cairo_docpath, 'cairo')),
- ],
- html_assets: html_images,
- install: true)
+custom_target('pangoot-doc',
+ input: pangoot_gir[0],
+ output: 'PangoOT',
+ command: [
+ gidocgen,
+ 'generate',
+ '--quiet',
+ '--add-include-path=@0@'.format(meson.current_build_dir() / '../pango'),
+ '--config', pangoot_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ pangoot_toml, 'pango-name.png' ],
+ build_by_default: true,
+)
+
+if fontconfig_dep.found()
+ pangofc_toml = configure_file(input: 'pangofc.toml.in',
+ output: 'pangofc.toml',
+ configuration: doc_conf)
+
+ custom_target('pangofc-doc',
+ input: pangofc_gir[0],
+ output: 'PangoFc',
+ command: [
+ gidocgen,
+ 'generate',
+ '--quiet',
+ '--add-include-path=@0@'.format(meson.current_build_dir() / '../pango'),
+ '--config', pangofc_toml,
+ '--output-dir=@OUTPUT@',
+ '--no-namespace-dir',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ pangofc_toml, 'pango-name.png' ],
+ build_by_default: true,
+ )
+endif
diff --git a/docs/pango-docs.sgml b/docs/pango-docs.sgml
deleted file mode 100644
index 2ac4f6df..00000000
--- a/docs/pango-docs.sgml
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
- "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
-<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>Pango Reference Manual</title>
- <abstract>Internationalized text layout and rendering</abstract>
- <releaseinfo>for Pango &version;.
- Online at
- <ulink role="online-location" url="https://developer.gnome.org/pango/">https://developer.gnome.org/pango/</ulink>
- </releaseinfo>
- </bookinfo>
-
- <chapter id="pango">
- <title>Basic Pango Interfaces</title>
- <xi:include href="xml/main.xml"/>
- <xi:include href="xml/fonts.xml"/>
- <xi:include href="xml/glyphs.xml"/>
- <xi:include href="xml/text-attributes.xml"/>
- <xi:include href="xml/markup.xml"/>
- <xi:include href="xml/layout.xml"/>
- <xi:include href="xml/scripts.xml"/>
- <xi:include href="xml/bidi.xml"/>
- <xi:include href="xml/vertical.xml"/>
- </chapter>
-
- <chapter id="rendering">
- <title>Rendering with Pango</title>
- <xi:include href="xml/pangocairo.xml"/>
- <xi:include href="xml/win32-fonts.xml"/>
- <xi:include href="xml/coretext-fonts.xml"/>
- <xi:include href="xml/freetype-fonts.xml"/>
- <xi:include href="xml/xft-fonts.xml"/>
- </chapter>
-
- <chapter id="lowlevel">
- <title>Low Level Functionality</title>
- <xi:include href="xml/context.xml"/>
- <xi:include href="xml/tab-stops.xml"/>
- <xi:include href="xml/coverage-maps.xml"/>
- <xi:include href="xml/pango-renderer.xml"/>
- <xi:include href="xml/pangofc-fontmap.xml"/>
- <xi:include href="xml/pangofc-font.xml"/>
- <xi:include href="xml/pangofc-decoder.xml"/>
- <xi:include href="xml/utils.xml"/>
- <xi:include href="xml/pango-version.xml"/>
- </chapter>
-
- <chapter id="deprecated">
- <title>Deprecated APIs</title>
- <xi:include href="xml/opentype.xml"/>
- <xi:include href="xml/engines.xml"/>
- <xi:include href="xml/pango-engine-lang.xml"/>
- <xi:include href="xml/pango-engine-shape.xml"/>
- <xi:include href="xml/modules.xml"/>
- </chapter>
-
- <chapter id="pango-hierarchy">
- <title>Object Hierarchy</title>
- <xi:include href="xml/tree_index.sgml"/>
- </chapter>
-
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
-
-
- <index id="api-index-full">
- <title>Index of all symbols</title>
- <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-deprecated">
- <title>Index of deprecated symbols</title>
- <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-2">
- <title>Index of new symbols in 1.2</title>
- <xi:include href="xml/api-index-1.2.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-4">
- <title>Index of new symbols in 1.4</title>
- <xi:include href="xml/api-index-1.4.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-6">
- <title>Index of new symbols in 1.6</title>
- <xi:include href="xml/api-index-1.6.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-8">
- <title>Index of new symbols in 1.8</title>
- <xi:include href="xml/api-index-1.8.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-10">
- <title>Index of new symbols in 1.10</title>
- <xi:include href="xml/api-index-1.10.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-12">
- <title>Index of new symbols in 1.12</title>
- <xi:include href="xml/api-index-1.12.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-14">
- <title>Index of new symbols in 1.14</title>
- <xi:include href="xml/api-index-1.14.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-16">
- <title>Index of new symbols in 1.16</title>
- <xi:include href="xml/api-index-1.16.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-18">
- <title>Index of new symbols in 1.18</title>
- <xi:include href="xml/api-index-1.18.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-20">
- <title>Index of new symbols in 1.20</title>
- <xi:include href="xml/api-index-1.20.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-22">
- <title>Index of new symbols in 1.22</title>
- <xi:include href="xml/api-index-1.22.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-24">
- <title>Index of new symbols in 1.24</title>
- <xi:include href="xml/api-index-1.24.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-26">
- <title>Index of new symbols in 1.26</title>
- <xi:include href="xml/api-index-1.26.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-30">
- <title>Index of new symbols in 1.30</title>
- <xi:include href="xml/api-index-1.30.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-31-0">
- <title>Index of new symbols in 1.31</title>
- <xi:include href="xml/api-index-1.31.0.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-32">
- <title>Index of new symbols in 1.32</title>
- <xi:include href="xml/api-index-1.32.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-32-4">
- <title>Index of new symbols in 1.32.4</title>
- <xi:include href="xml/api-index-1.32.4.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-34">
- <title>Index of new symbols in 1.34</title>
- <xi:include href="xml/api-index-1.34.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-38">
- <title>Index of new symbols in 1.38</title>
- <xi:include href="xml/api-index-1.38.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-42">
- <title>Index of new symbols in 1.42</title>
- <xi:include href="xml/api-index-1.42.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-44">
- <title>Index of new symbols in 1.44</title>
- <xi:include href="xml/api-index-1.44.xml"><xi:fallback /></xi:include>
- </index>
- <index id="api-index-1-46">
- <title>Index of new symbols in 1.46</title>
- <xi:include href="xml/api-index-1.46.xml"><xi:fallback /></xi:include>
- </index>
-
-</book>
diff --git a/docs/pango-name-black.png b/docs/pango-name-black.png
new file mode 100644
index 00000000..00025b68
--- /dev/null
+++ b/docs/pango-name-black.png
Binary files differ
diff --git a/docs/pango-name-solid.png b/docs/pango-name-solid.png
new file mode 100644
index 00000000..630c5142
--- /dev/null
+++ b/docs/pango-name-solid.png
Binary files differ
diff --git a/docs/pango-name-white.png b/docs/pango-name-white.png
new file mode 100644
index 00000000..2240573a
--- /dev/null
+++ b/docs/pango-name-white.png
Binary files differ
diff --git a/docs/pango-name.png b/docs/pango-name.png
new file mode 100644
index 00000000..2240573a
--- /dev/null
+++ b/docs/pango-name.png
Binary files differ
diff --git a/docs/pango-overrides.txt b/docs/pango-overrides.txt
deleted file mode 100644
index e69de29b..00000000
--- a/docs/pango-overrides.txt
+++ /dev/null
diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt
deleted file mode 100644
index 358f5bbf..00000000
--- a/docs/pango-sections.txt
+++ /dev/null
@@ -1,1276 +0,0 @@
-<SECTION>
-<TITLE>Text Processing</TITLE>
-<FILE>main</FILE>
-<SUBSECTION>
-PangoItem
-PangoAnalysis
-PANGO_ANALYSIS_FLAG_CENTERED_BASELINE
-PANGO_ANALYSIS_FLAG_IS_ELLIPSIS
-PANGO_ANALYSIS_FLAG_NEED_HYPHEN
-
-<SUBSECTION>
-pango_itemize
-pango_itemize_with_base_dir
-pango_item_free
-pango_item_copy
-pango_item_new
-pango_item_split
-pango_item_apply_attrs
-pango_reorder_items
-
-<SUBSECTION>
-pango_break
-pango_get_log_attrs
-pango_find_paragraph_boundary
-pango_default_break
-pango_tailor_break
-PangoLogAttr
-
-<SUBSECTION>
-pango_shape
-pango_shape_full
-PangoShapeFlags
-pango_shape_with_flags
-
-<SUBSECTION Standard>
-PANGO_TYPE_DIRECTION
-PANGO_TYPE_ITEM
-
-<SUBSECTION Private>
-pango_item_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Contexts</TITLE>
-<FILE>context</FILE>
-PangoContext
-pango_context_new
-pango_context_changed
-pango_context_get_serial
-pango_context_set_font_map
-pango_context_get_font_map
-pango_context_get_font_description
-pango_context_set_font_description
-pango_context_get_language
-pango_context_set_language
-pango_context_get_base_dir
-pango_context_set_base_dir
-pango_context_get_base_gravity
-pango_context_set_base_gravity
-pango_context_get_gravity
-pango_context_get_gravity_hint
-pango_context_set_gravity_hint
-pango_context_get_matrix
-pango_context_set_matrix
-pango_context_get_round_glyph_positions
-pango_context_set_round_glyph_positions
-pango_context_load_font
-pango_context_load_fontset
-pango_context_get_metrics
-pango_context_list_families
-
-<SUBSECTION Standard>
-PANGO_TYPE_CONTEXT
-PangoContextClass
-PANGO_CONTEXT
-PANGO_CONTEXT_CLASS
-PANGO_IS_CONTEXT
-PANGO_IS_CONTEXT_CLASS
-PANGO_CONTEXT_GET_CLASS
-PANGO_TYPE_ITEM
-
-<SUBSECTION Private>
-pango_context_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Glyph Storage</TITLE>
-<FILE>glyphs</FILE>
-PANGO_SCALE
-PANGO_PIXELS
-PANGO_PIXELS_FLOOR
-PANGO_PIXELS_CEIL
-PANGO_UNITS_ROUND
-pango_units_to_double
-pango_units_from_double
-PangoRectangle
-PANGO_ASCENT
-PANGO_DESCENT
-PANGO_LBEARING
-PANGO_RBEARING
-pango_extents_to_pixels
-PangoMatrix
-PANGO_MATRIX_INIT
-pango_matrix_copy
-pango_matrix_free
-pango_matrix_translate
-pango_matrix_scale
-pango_matrix_rotate
-pango_matrix_concat
-pango_matrix_transform_point
-pango_matrix_transform_distance
-pango_matrix_transform_rectangle
-pango_matrix_transform_pixel_rectangle
-pango_matrix_get_font_scale_factor
-pango_matrix_get_font_scale_factors
-PangoGlyph
-PANGO_GLYPH_EMPTY
-PANGO_GLYPH_INVALID_INPUT
-PANGO_GLYPH_UNKNOWN_FLAG
-PANGO_GET_UNKNOWN_GLYPH
-PangoGlyphInfo
-PangoGlyphGeometry
-PangoGlyphUnit
-PangoGlyphVisAttr
-PangoGlyphString
-PangoGlyphItem
-PangoGlyphItemIter
-pango_glyph_string_new
-pango_glyph_string_copy
-pango_glyph_string_set_size
-pango_glyph_string_free
-pango_glyph_string_extents
-pango_glyph_string_extents_range
-pango_glyph_string_get_width
-pango_glyph_string_index_to_x
-pango_glyph_string_x_to_index
-pango_glyph_string_get_logical_widths
-pango_glyph_item_copy
-pango_glyph_item_free
-pango_glyph_item_split
-pango_glyph_item_apply_attrs
-pango_glyph_item_letter_space
-pango_glyph_item_get_logical_widths
-pango_glyph_item_iter_copy
-pango_glyph_item_iter_free
-pango_glyph_item_iter_init_start
-pango_glyph_item_iter_init_end
-pango_glyph_item_iter_next_cluster
-pango_glyph_item_iter_prev_cluster
-
-PANGO_TYPE_GLYPH_STRING
-<SUBSECTION Private>
-PANGO_TYPE_GLYPH_ITEM
-PANGO_TYPE_GLYPH_ITEM_ITER
-PANGO_TYPE_MATRIX
-pango_glyph_string_get_type
-pango_glyph_item_get_type
-pango_glyph_item_iter_get_type
-pango_matrix_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Coverage Maps</TITLE>
-<FILE>coverage-maps</FILE>
-PangoCoverageLevel
-PANGO_TYPE_COVERAGE_LEVEL
-PangoCoverage
-<SUBSECTION>
-pango_coverage_new
-pango_coverage_ref
-pango_coverage_unref
-pango_coverage_copy
-pango_coverage_get
-pango_coverage_max
-pango_coverage_set
-pango_coverage_to_bytes
-pango_coverage_from_bytes
-
-<SUBSECTION Private>
-pango_coverage_level_get_type
-pango_coverage_get_type
-PANGO_COVERAGE
-PANGO_COVERAGE_CLASS
-PANGO_COVERAGE_GET_CLASS
-PANGO_IS_COVERAGE
-PANGO_IS_COVERAGE_CLASS
-PANGO_TYPE_COVERAGE
-PangoCoverageClass
-PangoCoveragePrivate
-</SECTION>
-
-<SECTION>
-<TITLE>Fonts</TITLE>
-<FILE>fonts</FILE>
-PangoFontDescription
-PangoStyle
-PangoWeight
-PangoVariant
-PangoStretch
-PangoFontMask
-pango_font_description_new
-pango_font_description_copy
-pango_font_description_copy_static
-pango_font_description_hash
-pango_font_description_equal
-pango_font_description_free
-pango_font_descriptions_free
-pango_font_description_set_family
-pango_font_description_set_family_static
-pango_font_description_get_family
-pango_font_description_set_style
-pango_font_description_get_style
-pango_font_description_set_variant
-pango_font_description_get_variant
-pango_font_description_set_weight
-pango_font_description_get_weight
-pango_font_description_set_stretch
-pango_font_description_get_stretch
-pango_font_description_set_size
-pango_font_description_get_size
-pango_font_description_set_absolute_size
-pango_font_description_get_size_is_absolute
-pango_font_description_set_gravity
-pango_font_description_get_gravity
-pango_font_description_set_variations
-pango_font_description_set_variations_static
-pango_font_description_get_variations
-pango_font_description_get_set_fields
-pango_font_description_unset_fields
-pango_font_description_merge
-pango_font_description_merge_static
-pango_font_description_better_match
-pango_font_description_from_string
-pango_font_description_to_string
-pango_font_description_to_filename
-<SUBSECTION>
-PangoFontMetrics
-pango_font_metrics_ref
-pango_font_metrics_unref
-pango_font_metrics_get_ascent
-pango_font_metrics_get_descent
-pango_font_metrics_get_height
-pango_font_metrics_get_approximate_char_width
-pango_font_metrics_get_approximate_digit_width
-pango_font_metrics_get_underline_thickness
-pango_font_metrics_get_underline_position
-pango_font_metrics_get_strikethrough_thickness
-pango_font_metrics_get_strikethrough_position
-<SUBSECTION>
-PangoFont
-pango_font_find_shaper
-pango_font_describe
-pango_font_describe_with_absolute_size
-pango_font_get_face
-pango_font_get_coverage
-pango_font_has_char
-pango_font_get_glyph_extents
-pango_font_get_metrics
-pango_font_get_font_map
-pango_font_get_features
-pango_font_get_hb_font
-<SUBSECTION>
-PangoFontFamily
-pango_font_family_get_name
-pango_font_family_is_monospace
-pango_font_family_is_variable
-pango_font_family_list_faces
-pango_font_family_get_face
-<SUBSECTION>
-PangoFontFace
-pango_font_face_get_face_name
-pango_font_face_list_sizes
-pango_font_face_describe
-pango_font_face_is_synthesized
-pango_font_face_get_family
-<SUBSECTION>
-PangoFontMap
-PangoFontMapClass
-pango_font_map_create_context
-pango_font_map_load_font
-pango_font_map_load_fontset
-pango_font_map_list_families
-pango_font_map_get_family
-pango_font_map_get_serial
-pango_font_map_changed
-<SUBSECTION>
-PangoFontset
-PangoFontsetClass
-pango_fontset_get_font
-pango_fontset_get_metrics
-PangoFontsetForeachFunc
-pango_fontset_foreach
-
-<SUBSECTION Standard>
-PANGO_TYPE_FONTSET
-PANGO_TYPE_FONT_MAP
-PANGO_FONT_MAP
-PANGO_IS_FONT_MAP
-PANGO_FONT_MAP_CLASS
-PANGO_IS_FONT_MAP_CLASS
-PANGO_FONT_MAP_GET_CLASS
-PANGO_TYPE_FONT_FAMILY
-PANGO_FONT_FAMILY
-PANGO_IS_FONT_FAMILY
-PANGO_TYPE_FONT_FACE
-PANGO_FONT_FACE
-PANGO_IS_FONT_FACE
-PANGO_TYPE_FONT_METRICS
-PANGO_TYPE_FONT
-PANGO_FONT
-PANGO_IS_FONT
-PANGO_TYPE_FONT_DESCRIPTION
-PANGO_TYPE_STYLE
-PANGO_TYPE_WEIGHT
-PANGO_TYPE_VARIANT
-PANGO_TYPE_STRETCH
-PANGO_TYPE_FONT_MASK
-PANGO_FONT_FACE_CLASS
-PANGO_IS_FONT_CLASS
-PANGO_FONT_FACE_GET_CLASS
-PangoFontFamilyClass
-PangoFontFaceClass
-PANGO_FONT_GET_CLASS
-PANGO_FONT_CLASS
-PANGO_IS_FONT_FAMILY_CLASS
-PangoFontClass
-PANGO_FONT_FAMILY_GET_CLASS
-PANGO_FONT_FAMILY_CLASS
-PANGO_IS_FONT_FACE_CLASS
-PANGO_FONTSET
-PANGO_IS_FONTSET
-PANGO_FONTSET_CLASS
-PANGO_IS_FONTSET_CLASS
-PANGO_FONTSET_GET_CLASS
-PANGO_FONTSET_SIMPLE
-PANGO_IS_FONTSET_SIMPLE
-PangoFontsetSimpleClass
-
-<SUBSECTION Private>
-pango_font_metrics_new
-pango_font_get_type
-pango_stretch_get_type
-pango_style_get_type
-pango_variant_get_type
-pango_weight_get_type
-pango_font_mask_get_type
-pango_font_description_get_type
-pango_font_map_get_type
-pango_font_face_get_type
-pango_font_family_get_type
-pango_font_metrics_get_type
-pango_fontset_get_type
-pango_fontset_simple_get_type
-PANGO_UNKNOWN_GLYPH_WIDTH
-PANGO_UNKNOWN_GLYPH_HEIGHT
-</SECTION>
-
-<SECTION>
-<TITLE>Text Attributes</TITLE>
-<FILE>text-attributes</FILE>
-PangoAttrType
-PangoAttrClass
-PangoAttribute
-PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING
-PANGO_ATTR_INDEX_TO_TEXT_END
-PangoAttrString
-PangoAttrLanguage
-PangoAttrColor
-PangoAttrInt
-PangoAttrFloat
-PangoAttrFontDesc
-PangoAttrShape
-PangoAttrSize
-PangoAttrFontFeatures
-pango_attr_type_register
-pango_attr_type_get_name
-pango_attribute_init
-pango_attribute_copy
-pango_attribute_equal
-pango_attribute_destroy
-<SUBSECTION>
-pango_attr_language_new
-pango_attr_family_new
-pango_attr_style_new
-pango_attr_variant_new
-pango_attr_stretch_new
-pango_attr_weight_new
-pango_attr_size_new
-pango_attr_size_new_absolute
-pango_attr_font_desc_new
-pango_attr_foreground_new
-pango_attr_background_new
-pango_attr_strikethrough_new
-pango_attr_strikethrough_color_new
-pango_attr_underline_new
-pango_attr_underline_color_new
-PangoUnderline
-pango_attr_overline_new
-pango_attr_overline_color_new
-PangoOverline
-pango_attr_shape_new
-pango_attr_shape_new_with_data
-PangoAttrDataCopyFunc
-pango_attr_scale_new
-PANGO_SCALE_XX_SMALL
-PANGO_SCALE_X_SMALL
-PANGO_SCALE_SMALL
-PANGO_SCALE_MEDIUM
-PANGO_SCALE_LARGE
-PANGO_SCALE_X_LARGE
-PANGO_SCALE_XX_LARGE
-pango_attr_rise_new
-pango_attr_letter_spacing_new
-pango_attr_fallback_new
-pango_attr_gravity_new
-pango_attr_gravity_hint_new
-pango_attr_font_features_new
-pango_attr_foreground_alpha_new
-pango_attr_background_alpha_new
-pango_attr_allow_breaks_new
-pango_attr_insert_hyphens_new
-PangoShowFlags
-pango_attr_show_new
-PangoColor
-pango_color_parse
-pango_color_parse_with_alpha
-pango_color_copy
-pango_color_free
-pango_color_to_string
-<SUBSECTION>
-PangoAttrList
-pango_attr_list_new
-pango_attr_list_ref
-pango_attr_list_unref
-pango_attr_list_copy
-pango_attr_list_insert
-pango_attr_list_insert_before
-pango_attr_list_change
-pango_attr_list_splice
-pango_attr_list_filter
-pango_attr_list_update
-PangoAttrFilterFunc
-pango_attr_list_get_attributes
-pango_attr_list_equal
-pango_attr_list_get_iterator
-PangoAttrIterator
-pango_attr_iterator_copy
-pango_attr_iterator_next
-pango_attr_iterator_range
-pango_attr_iterator_get
-pango_attr_iterator_get_font
-pango_attr_iterator_get_attrs
-pango_attr_iterator_destroy
-
-<SUBSECTION Private>
-PANGO_TYPE_ATTR_TYPE
-PANGO_TYPE_UNDERLINE
-PANGO_TYPE_COLOR
-PANGO_TYPE_ATTR_LIST
-pango_attr_type_get_type
-pango_attr_list_get_type
-pango_underline_get_type
-pango_color_get_type
-pango_attribute_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Markup</TITLE>
-<FILE>markup</FILE>
-pango_parse_markup
-pango_markup_parser_new
-pango_markup_parser_finish
-</SECTION>
-
-<SECTION>
-<TITLE>Tab Stops</TITLE>
-<FILE>tab-stops</FILE>
-PangoTabArray
-PangoTabAlign
-pango_tab_array_new
-pango_tab_array_new_with_positions
-pango_tab_array_copy
-pango_tab_array_free
-pango_tab_array_get_size
-pango_tab_array_resize
-pango_tab_array_set_tab
-pango_tab_array_get_tab
-pango_tab_array_get_tabs
-pango_tab_array_get_positions_in_pixels
-
-<SUBSECTION Private>
-PANGO_TYPE_TAB_ARRAY
-PANGO_TYPE_TAB_ALIGN
-pango_tab_align_get_type
-pango_tab_array_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Layout Objects</TITLE>
-<FILE>layout</FILE>
-PangoLayout
-PangoLayoutIter
-pango_layout_new
-pango_layout_copy
-
-pango_layout_get_context
-pango_layout_context_changed
-pango_layout_get_serial
-
-pango_layout_set_text
-pango_layout_get_text
-pango_layout_get_character_count
-pango_layout_set_markup
-pango_layout_set_markup_with_accel
-pango_layout_set_attributes
-pango_layout_get_attributes
-pango_layout_set_font_description
-pango_layout_get_font_description
-pango_layout_set_width
-pango_layout_get_width
-pango_layout_set_height
-pango_layout_get_height
-pango_layout_set_wrap
-pango_layout_get_wrap
-pango_layout_is_wrapped
-PangoWrapMode
-pango_layout_set_ellipsize
-pango_layout_get_ellipsize
-pango_layout_is_ellipsized
-PangoEllipsizeMode
-pango_layout_set_indent
-pango_layout_get_indent
-pango_layout_get_spacing
-pango_layout_set_spacing
-pango_layout_set_line_spacing
-pango_layout_get_line_spacing
-pango_layout_set_justify
-pango_layout_get_justify
-pango_layout_set_auto_dir
-pango_layout_get_auto_dir
-pango_layout_get_direction
-pango_layout_set_alignment
-pango_layout_get_alignment
-pango_layout_set_tabs
-pango_layout_get_tabs
-pango_layout_set_single_paragraph_mode
-pango_layout_get_single_paragraph_mode
-PangoAlignment
-
-pango_layout_get_unknown_glyphs_count
-pango_layout_get_log_attrs
-pango_layout_get_log_attrs_readonly
-
-pango_layout_index_to_pos
-pango_layout_index_to_line_x
-pango_layout_xy_to_index
-pango_layout_get_cursor_pos
-pango_layout_move_cursor_visually
-
-pango_layout_get_extents
-pango_layout_get_pixel_extents
-pango_layout_get_size
-pango_layout_get_pixel_size
-pango_layout_get_baseline
-pango_layout_get_line_count
-pango_layout_get_line
-pango_layout_get_line_readonly
-pango_layout_get_lines
-pango_layout_get_lines_readonly
-
-pango_layout_get_iter
-pango_layout_iter_copy
-pango_layout_iter_free
-pango_layout_iter_next_run
-pango_layout_iter_next_char
-pango_layout_iter_next_cluster
-pango_layout_iter_next_line
-pango_layout_iter_at_last_line
-pango_layout_iter_get_index
-pango_layout_iter_get_baseline
-pango_layout_iter_get_run
-pango_layout_iter_get_run_readonly
-pango_layout_iter_get_line
-pango_layout_iter_get_line_readonly
-pango_layout_iter_get_layout
-pango_layout_iter_get_char_extents
-pango_layout_iter_get_cluster_extents
-pango_layout_iter_get_run_extents
-pango_layout_iter_get_line_yrange
-pango_layout_iter_get_line_extents
-pango_layout_iter_get_layout_extents
-
-<SUBSECTION>
-PangoLayoutLine
-PangoLayoutRun
-
-pango_layout_line_ref
-pango_layout_line_unref
-pango_layout_line_get_extents
-pango_layout_line_get_pixel_extents
-pango_layout_line_index_to_x
-pango_layout_line_x_to_index
-pango_layout_line_get_x_ranges
-pango_layout_line_get_height
-
-<SUBSECTION Standard>
-PANGO_TYPE_WRAP_MODE
-PANGO_TYPE_ELLIPSIZE_MODE
-PANGO_TYPE_ALIGNMENT
-PANGO_TYPE_LAYOUT
-PangoLayoutClass
-PANGO_LAYOUT
-PANGO_IS_LAYOUT
-PANGO_LAYOUT_CLASS
-PANGO_IS_LAYOUT_CLASS
-PANGO_LAYOUT_GET_CLASS
-PANGO_TYPE_LAYOUT_ITER
-PANGO_TYPE_LAYOUT_LINE
-
-<SUBSECTION Private>
-pango_layout_get_type
-pango_layout_iter_get_type
-pango_layout_line_get_type
-pango_alignment_get_type
-pango_wrap_mode_get_type
-pango_ellipsize_mode_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Scripts and Languages</TITLE>
-<FILE>scripts</FILE>
-PangoScript
-PangoScriptIter
-pango_script_for_unichar
-pango_script_get_sample_language
-pango_script_iter_new
-pango_script_iter_get_range
-pango_script_iter_next
-pango_script_iter_free
-PangoLanguage
-pango_language_from_string
-pango_language_to_string
-pango_language_matches
-pango_language_includes_script
-pango_language_get_scripts
-pango_language_get_default
-pango_language_get_preferred
-pango_language_get_sample_string
-
-<SUBSECTION Private>
-PANGO_TYPE_LANGUAGE
-PANGO_TYPE_SCRIPT
-pango_script_get_type
-pango_language_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Engines</TITLE>
-<FILE>engines</FILE>
-PangoEngineInfo
-PangoEngineScriptInfo
-PangoEngine
-PangoEngineClass
-script_engine_list
-script_engine_init
-script_engine_exit
-script_engine_create
-<SUBSECTION Standard>
-PANGO_ENGINE
-PANGO_IS_ENGINE
-PANGO_TYPE_ENGINE
-PANGO_ENGINE_CLASS
-PANGO_IS_ENGINE_CLASS
-PANGO_ENGINE_GET_CLASS
-<SUBSECTION Private>
-pango_engine_get_type
-PANGO_MODULE_ENTRY
-PANGO_ENGINE_DEFINE_TYPE
-</SECTION>
-
-<SECTION>
-<TITLE>PangoEngineLang</TITLE>
-<FILE>pango-engine-lang</FILE>
-PangoEngineLang
-PangoEngineLangClass
-PANGO_ENGINE_TYPE_LANG
-PANGO_ENGINE_LANG_DEFINE_TYPE
-<SUBSECTION Standard>
-PANGO_ENGINE_LANG
-PANGO_IS_ENGINE_LANG
-PANGO_TYPE_ENGINE_LANG
-PANGO_ENGINE_LANG_CLASS
-PANGO_IS_ENGINE_LANG_CLASS
-PANGO_ENGINE_LANG_GET_CLASS
-<SUBSECTION Private>
-pango_engine_lang_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>PangoEngineShape</TITLE>
-<FILE>pango-engine-shape</FILE>
-PangoEngineShape
-PangoEngineShapeClass
-PANGO_ENGINE_TYPE_SHAPE
-PANGO_ENGINE_SHAPE_DEFINE_TYPE
-<SUBSECTION Standard>
-PANGO_ENGINE_SHAPE
-PANGO_IS_ENGINE_SHAPE
-PANGO_TYPE_ENGINE_SHAPE
-PANGO_ENGINE_SHAPE_CLASS
-PANGO_IS_ENGINE_SHAPE_CLASS
-PANGO_ENGINE_SHAPE_GET_CLASS
-<SUBSECTION Private>
-pango_engine_shape_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Modules</TITLE>
-<FILE>modules</FILE>
-PangoIncludedModule
-PangoMap
-PangoMapEntry
-pango_find_map
-pango_map_get_engine
-pango_map_get_engines
-pango_module_register
-</SECTION>
-
-<SECTION>
-<FILE>pango-renderer</FILE>
-PangoRenderer
-PangoRenderPart
-PANGO_TYPE_RENDER_PART
-PangoRendererClass
-<TITLE>PangoRenderer</TITLE>
-pango_renderer_draw_layout
-pango_renderer_draw_layout_line
-pango_renderer_draw_glyphs
-pango_renderer_draw_glyph_item
-pango_renderer_draw_rectangle
-pango_renderer_draw_error_underline
-pango_renderer_draw_trapezoid
-pango_renderer_draw_glyph
-pango_renderer_activate
-pango_renderer_deactivate
-pango_renderer_part_changed
-pango_renderer_set_color
-pango_renderer_get_color
-pango_renderer_set_alpha
-pango_renderer_get_alpha
-pango_renderer_set_matrix
-pango_renderer_get_matrix
-pango_renderer_get_layout
-pango_renderer_get_layout_line
-<SUBSECTION Standard>
-PANGO_RENDERER
-PANGO_IS_RENDERER
-PANGO_TYPE_RENDERER
-pango_renderer_get_type
-PANGO_RENDERER_CLASS
-PANGO_IS_RENDERER_CLASS
-PANGO_RENDERER_GET_CLASS
-<SUBSECTION Private>
-pango_render_part_get_type
-PangoRendererPrivate
-</SECTION>
-
-<SECTION>
-<TITLE>Win32 Fonts and Rendering</TITLE>
-<FILE>win32-fonts</FILE>
-pango_win32_get_context
-pango_win32_render
-pango_win32_render_transformed
-pango_win32_render_layout_line
-pango_win32_render_layout
-pango_win32_get_unknown_glyph
-pango_win32_font_get_glyph_index
-pango_win32_font_select_font
-pango_win32_font_done_font
-pango_win32_font_get_metrics_factor
-pango_win32_get_debug_flag
-pango_win32_get_dc
-PangoWin32FontCache
-pango_win32_font_cache_new
-pango_win32_font_cache_free
-pango_win32_font_cache_load
-pango_win32_font_cache_loadw
-pango_win32_font_cache_unload
-pango_win32_font_map_for_display
-pango_win32_shutdown_display
-pango_win32_font_map_get_font_cache
-pango_win32_font_logfont
-pango_win32_font_logfontw
-pango_win32_font_description_from_logfont
-pango_win32_font_description_from_logfontw
-
-<SUBSECTION Private>
-STRICT
-</SECTION>
-
-<SECTION>
-<TITLE>FreeType Fonts and Rendering</TITLE>
-<FILE>freetype-fonts</FILE>
-PangoFT2FontMap
-pango_ft2_font_map_new
-pango_ft2_font_map_set_resolution
-pango_ft2_font_map_create_context
-PangoFT2SubstituteFunc
-pango_ft2_font_map_set_default_substitute
-pango_ft2_font_map_substitute_changed
-pango_ft2_get_context
-pango_ft2_render
-pango_ft2_render_transformed
-pango_ft2_render_layout_line
-pango_ft2_render_layout_line_subpixel
-pango_ft2_render_layout
-pango_ft2_render_layout_subpixel
-pango_ft2_get_unknown_glyph
-pango_ft2_font_get_kerning
-pango_ft2_font_get_face
-pango_ft2_font_get_coverage
-pango_ft2_font_map_for_display
-pango_ft2_shutdown_display
-<SUBSECTION Standard>
-PANGO_TYPE_FT2_FONT_MAP
-PANGO_FT2_FONT_MAP
-PANGO_FT2_IS_FONT_MAP
-<SUBSECTION Private>
-pango_ft2_font_map_get_type
-STRICT
-</SECTION>
-
-<SECTION>
-<TITLE>Xft Fonts and Rendering</TITLE>
-<FILE>xft-fonts</FILE>
-PangoXftFont
-PangoXftFontMap
-pango_xft_get_context
-pango_xft_get_font_map
-pango_xft_set_default_substitute
-PangoXftSubstituteFunc
-pango_xft_substitute_changed
-pango_xft_shutdown_display
-pango_xft_font_get_font
-pango_xft_font_get_display
-pango_xft_font_has_char
-pango_xft_font_lock_face
-pango_xft_font_unlock_face
-pango_xft_font_get_glyph
-pango_xft_font_get_unknown_glyph
-PangoXftRenderer
-PangoXftRendererClass
-
-pango_xft_renderer_new
-pango_xft_renderer_set_draw
-pango_xft_renderer_set_default_color
-pango_xft_render
-pango_xft_picture_render
-pango_xft_render_transformed
-pango_xft_render_layout_line
-pango_xft_render_layout
-<SUBSECTION Standard>
-PANGO_TYPE_XFT_FONT
-PANGO_XFT_FONT
-PANGO_XFT_IS_FONT
-PANGO_TYPE_XFT_FONT_MAP
-PANGO_XFT_FONT_MAP
-PANGO_XFT_IS_FONT_MAP
-PANGO_XFT_RENDERER
-PANGO_IS_XFT_RENDERER
-PANGO_TYPE_XFT_RENDERER
-PANGO_XFT_RENDERER_CLASS
-PANGO_IS_XFT_RENDERER_CLASS
-PANGO_XFT_RENDERER_GET_CLASS
-
-<SUBSECTION Private>
-PangoXftRendererPrivate
-pango_xft_font_get_type
-pango_xft_font_map_get_type
-pango_xft_renderer_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Cairo Rendering</TITLE>
-<FILE>pangocairo</FILE>
-PangoCairoFont
-PangoCairoFontMap
-pango_cairo_font_map_get_default
-pango_cairo_font_map_set_default
-pango_cairo_font_map_new
-pango_cairo_font_map_new_for_font_type
-pango_cairo_font_map_get_font_type
-pango_cairo_font_map_set_resolution
-pango_cairo_font_map_get_resolution
-pango_cairo_font_map_create_context
-pango_cairo_font_get_scaled_font
-pango_cairo_context_set_resolution
-pango_cairo_context_get_resolution
-pango_cairo_context_set_font_options
-pango_cairo_context_get_font_options
-PangoCairoShapeRendererFunc
-pango_cairo_context_set_shape_renderer
-pango_cairo_context_get_shape_renderer
-pango_cairo_create_context
-pango_cairo_update_context
-pango_cairo_create_layout
-pango_cairo_update_layout
-pango_cairo_show_glyph_string
-pango_cairo_show_glyph_item
-pango_cairo_show_layout_line
-pango_cairo_show_layout
-pango_cairo_show_error_underline
-pango_cairo_glyph_string_path
-pango_cairo_layout_line_path
-pango_cairo_layout_path
-pango_cairo_error_underline_path
-<SUBSECTION Standard>
-PANGO_CAIRO_FONT
-PANGO_CAIRO_FONT_MAP
-PANGO_IS_CAIRO_FONT
-PANGO_IS_CAIRO_FONT_MAP
-PANGO_TYPE_CAIRO_FONT
-PANGO_TYPE_CAIRO_FONT_MAP
-pango_cairo_font_get_type
-pango_cairo_font_map_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>CoreText Fonts</TITLE>
-<FILE>coretext-fonts</FILE>
-pango_core_text_font_get_ctfont
-<SUBSECTION Standard>
-PANGO_CAIRO_CORE_TEXT_FONT
-PANGO_CAIRO_CORE_TEXT_FONT_CLASS
-PANGO_CAIRO_CORE_TEXT_FONT_GET_CLASS
-PANGO_CAIRO_CORE_TEXT_FONT_MAP
-PANGO_CORE_TEXT_FONT
-PANGO_CORE_TEXT_FONT_CLASS
-PANGO_CORE_TEXT_FONT_GET_CLASS
-PANGO_CORE_TEXT_FONT_MAP
-PANGO_CORE_TEXT_FONT_MAP_CLASS
-PANGO_CORE_TEXT_FONT_MAP_GET_CLASS
-PANGO_CORE_TEXT_IS_FONT_MAP
-PANGO_IS_CAIRO_CORE_TEXT_FONT_CLASS
-PANGO_IS_CAIRO_CORE_TEXT_FONT_MAP
-PANGO_IS_CORE_TEXT_FONT
-PANGO_IS_CORE_TEXT_FONT_CLASS
-PANGO_IS_CORE_TEXT_FONT_MAP_CLASS
-PANGO_TYPE_CAIRO_CORE_TEXT_FONT
-PANGO_TYPE_CAIRO_CORE_TEXT_FONT_MAP
-PANGO_TYPE_CORE_TEXT_FONT
-PANGO_TYPE_CORE_TEXT_FONT_MAP
-PangoCairoCoreTextFont
-PangoCairoCoreTextFontClass
-PangoCairoCoreTextFontMap
-PangoCoreTextFace
-PangoCoreTextFamily
-PangoCoreTextFont
-PangoCoreTextFontClass
-PangoCoreTextFontMap
-PangoCoreTextFontMapClass
-PangoCoreTextFontPrivate
-pango_cairo_core_text_font_get_type
-pango_cairo_core_text_font_map_get_type
-pango_core_text_font_get_type
-pango_core_text_font_map_get_type
-</SECTION>
-
-<SECTION>
-<FILE>pangofc-fontmap</FILE>
-<TITLE>PangoFcFontMap</TITLE>
-PangoFcFontMap
-PangoFcFontMapClass
-pango_fc_font_map_create_context
-PangoFcDecoderFindFunc
-pango_fc_font_map_add_decoder_find_func
-pango_fc_font_map_find_decoder
-pango_fc_font_map_cache_clear
-pango_fc_font_map_config_changed
-pango_fc_font_map_shutdown
-pango_fc_font_map_set_config
-pango_fc_font_map_get_config
-PangoFcSubstituteFunc
-pango_fc_font_map_set_default_substitute
-pango_fc_font_map_substitute_changed
-pango_fc_font_description_from_pattern
-PANGO_FC_FONT_FEATURES
-PANGO_FC_GRAVITY
-PANGO_FC_VERSION
-PANGO_FC_PRGNAME
-PANGO_FC_FONT_VARIATIONS
-<SUBSECTION Standard>
-PANGO_FC_FONT_MAP
-PANGO_IS_FC_FONT_MAP
-PANGO_TYPE_FC_FONT_MAP
-PANGO_FC_FONT_MAP_CLASS
-PANGO_IS_FC_FONT_MAP_CLASS
-PANGO_FC_FONT_MAP_GET_CLASS
-
-<SUBSECTION Private>
-PangoFcFontMapPrivate
-pango_fc_font_map_get_type
-</SECTION>
-
-
-<SECTION>
-<FILE>pangofc-font</FILE>
-<TITLE>PangoFcFont</TITLE>
-PangoFcFont
-PangoFcFontClass
-pango_fc_font_lock_face
-pango_fc_font_unlock_face
-pango_fc_font_has_char
-pango_fc_font_get_glyph
-pango_fc_font_get_unknown_glyph
-pango_fc_font_kern_glyphs
-pango_fc_font_get_languages
-pango_fc_font_get_pattern
-<SUBSECTION Standard>
-PANGO_FC_FONT
-PANGO_IS_FC_FONT
-PANGO_TYPE_FC_FONT
-PANGO_FC_FONT_CLASS
-PANGO_IS_FC_FONT_CLASS
-PANGO_FC_FONT_GET_CLASS
-<SUBSECTION Private>
-pango_fc_font_get_type
-</SECTION>
-
-<SECTION>
-<FILE>pangofc-decoder</FILE>
-<TITLE>PangoFcDecoder</TITLE>
-PangoFcDecoder
-PangoFcDecoderClass
-pango_fc_decoder_get_charset
-pango_fc_decoder_get_glyph
-<SUBSECTION Standard>
-PANGO_FC_DECODER
-PANGO_IS_FC_DECODER
-PANGO_TYPE_FC_DECODER
-pango_fc_decoder_get_type
-PANGO_FC_DECODER_CLASS
-PANGO_IS_FC_DECODER_CLASS
-PANGO_FC_DECODER_GET_CLASS
-</SECTION>
-
-<SECTION>
-<TITLE>OpenType Font Handling</TITLE>
-<FILE>opentype</FILE>
-PangoOTTag
-PangoOTInfo
-PangoOTBuffer
-PangoOTGlyph
-PangoOTRuleset
-PangoOTRulesetDescription
-PangoOTTableType
-PangoOTFeatureMap
-PANGO_OT_TAG_MAKE
-PANGO_OT_TAG_MAKE_FROM_STRING
-PANGO_OT_ALL_GLYPHS
-PANGO_OT_NO_FEATURE
-PANGO_OT_NO_SCRIPT
-PANGO_OT_DEFAULT_LANGUAGE
-PANGO_OT_TAG_DEFAULT_LANGUAGE
-PANGO_OT_TAG_DEFAULT_SCRIPT
-pango_ot_info_get
-pango_ot_info_find_script
-pango_ot_info_find_language
-pango_ot_info_find_feature
-pango_ot_info_list_scripts
-pango_ot_info_list_languages
-pango_ot_info_list_features
-pango_ot_buffer_new
-pango_ot_buffer_destroy
-pango_ot_buffer_clear
-pango_ot_buffer_add_glyph
-pango_ot_buffer_set_rtl
-pango_ot_buffer_set_zero_width_marks
-pango_ot_buffer_get_glyphs
-pango_ot_buffer_output
-pango_ot_ruleset_get_for_description
-pango_ot_ruleset_new
-pango_ot_ruleset_new_for
-pango_ot_ruleset_new_from_description
-pango_ot_ruleset_add_feature
-pango_ot_ruleset_maybe_add_feature
-pango_ot_ruleset_maybe_add_features
-pango_ot_ruleset_get_feature_count
-pango_ot_ruleset_substitute
-pango_ot_ruleset_position
-pango_ot_ruleset_description_copy
-pango_ot_ruleset_description_equal
-pango_ot_ruleset_description_free
-pango_ot_ruleset_description_hash
-pango_ot_tag_from_language
-pango_ot_tag_from_script
-pango_ot_tag_to_language
-pango_ot_tag_to_script
-
-<SUBSECTION Standard>
-PANGO_IS_OT_INFO
-PANGO_IS_OT_RULESET
-PANGO_OT_INFO
-PANGO_OT_RULESET
-PANGO_TYPE_OT_INFO
-PANGO_TYPE_OT_RULESET
-pango_ot_info_get_type
-pango_ot_ruleset_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Miscellaneous Utilities</TITLE>
-<FILE>utils</FILE>
-pango_split_file_list
-pango_trim_string
-pango_read_line
-pango_skip_space
-pango_scan_word
-pango_scan_string
-pango_scan_int
-pango_parse_enum
-pango_parse_style
-pango_parse_variant
-pango_parse_weight
-pango_parse_stretch
-pango_log2vis_get_embedding_levels
-pango_is_zero_width
-pango_quantize_line_geometry
-</SECTION>
-
-<SECTION>
-<TITLE>Version Checking</TITLE>
-<FILE>pango-version</FILE>
-PANGO_VERSION_ENCODE
-PANGO_VERSION
-PANGO_VERSION_MAJOR
-PANGO_VERSION_MINOR
-PANGO_VERSION_MICRO
-PANGO_VERSION_STRING
-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_VERSION_1_44
-PANGO_VERSION_MIN_REQUIRED
-PANGO_VERSION_MAX_ALLOWED
-<SUBSECTION Private>
-PANGO_UNAVAILABLE
-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_AVAILABLE_IN_1_44
-PANGO_DEPRECATED
-PANGO_DEPRECATED_FOR
-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
-PANGO_DEPRECATED_IN_1_44
-PANGO_DEPRECATED_IN_1_44_FOR
-</SECTION>
-
-<SECTION>
-<TITLE>Vertical Text</TITLE>
-<FILE>vertical</FILE>
-PangoGravity
-PangoGravityHint
-PANGO_GRAVITY_IS_IMPROPER
-PANGO_GRAVITY_IS_VERTICAL
-pango_gravity_get_for_matrix
-pango_gravity_get_for_script
-pango_gravity_get_for_script_and_width
-pango_gravity_to_rotation
-<SUBSECTION Standard>
-PANGO_TYPE_GRAVITY
-PANGO_TYPE_GRAVITY_HINT
-<SUBSECTION Private>
-pango_gravity_get_type
-pango_gravity_hint_get_type
-</SECTION>
-
-<SECTION>
-<TITLE>Bidirectional Text</TITLE>
-<FILE>bidi</FILE>
-PangoDirection
-pango_unichar_direction
-pango_find_base_dir
-pango_get_mirror_char
-PangoBidiType
-pango_bidi_type_for_unichar
-<SUBSECTION Standard>
-PANGO_TYPE_BIDI_TYPE
-<SUBSECTION Private>
-pango_bidi_type_get_type
-pango_direction_get_type
-</SECTION>
diff --git a/docs/pango.toml.in b/docs/pango.toml.in
new file mode 100644
index 00000000..3b7c9a0b
--- /dev/null
+++ b/docs/pango.toml.in
@@ -0,0 +1,73 @@
+[library]
+namespace = "Pango"
+version = "@PANGO_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/pango/"
+repository_url = "https://gitlab.gnome.org/GNOME/pango.git"
+website_url = "https://www.pango.org"
+authors = "Owen Taylor, Behdad Esfahbod"
+logo_url = "pango-name.png"
+license = "GPL-2.1-or-later"
+description = "Internationalized text layout and rendering"
+dependencies = [ "GObject-2.0", "HarfBuzz-0.0", "PangoCairo-1.0",
+ "PangoFc-1.0", "PangoFT2-1.0", "PangoOT-1.0",
+ "PangoXft-1.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."HarfBuzz-0.0"]
+ name = "HarfBuzz"
+ description = "A text shaping library"
+ docs_url = "https://harfbuzz.github.io/"
+
+ [dependencies."PangoCairo-1.0"]
+ name = "PangoCairo"
+ description = "Cairo support for Pango"
+ docs_url = "../PangoCairo/"
+
+ [dependencies."PangoFc-1.0"]
+ name = "PangoFc"
+ description = "Fontconfig support for Pango"
+ docs_url = "../PangoFc/"
+
+ [dependencies."PangoFT2-1.0"]
+ name = "PangoFT2"
+ description = "Freetype support for Pango"
+ docs_url = "../PangoFT2/"
+
+ [dependencies."PangoOT-1.0"]
+ name = "PangoOT"
+ description = "OpenType support for Pango"
+ docs_url = "../PangoOT/"
+
+ [dependencies."PangoXft-1.0"]
+ name = "PangoXft"
+ description = "Xft support for Pango"
+ docs_url = "../PangoXft/"
+
+[theme]
+name = "basic"
+show_index_summary = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/"
+
+[extra]
+content_files = [
+ "pango_rendering.md",
+ "pango_markup.md",
+ "pango_fonts.md",
+ "pango_bidi.md",
+]
+
+content_images = [
+ "pango-name.png",
+ "layout.png",
+ "pipeline.png",
+ "rects1.png",
+ "rects2.png"
+]
diff --git a/docs/pango_bidi.md b/docs/pango_bidi.md
new file mode 100644
index 00000000..27005caa
--- /dev/null
+++ b/docs/pango_bidi.md
@@ -0,0 +1,58 @@
+---
+Title: Bidirectional and Vertical Text
+---
+
+# Bidirectional Text
+
+Pango supports bidirectional text (like Arabic and Hebrew) automatically.
+Some applications however, need some help to correctly handle bidirectional text.
+
+The [enum@Pango.Direction] type can be used with [method@Pango.Context.set_base_dir]
+to instruct Pango about direction of text, though in most cases Pango detects
+that correctly and automatically. For application that need more direct
+control over bidirectional setting of text, Pango provides APIs such as
+[func@unichar_direction], [func@find_base_dir], [func@get_mirror_char]
+or [type_func@Pango.BidiType.for_unichar].
+
+# Vertical Text
+
+Pango is not only capable of vertical text layout, it can handle mixed vertical
+and non-vertical text correctly. This section describes the types used for setting
+vertical text parameters.
+
+The way this is implemented is through the concept of *gravity*. Gravity of
+normal Latin text is south. A gravity value of east means that glyphs will be
+rotated ninety degrees counterclockwise. So, to render vertical text one needs
+to set the gravity and rotate the layout using the matrix machinery already
+in place. This has the huge advantage that most algorithms working on a
+[class@Pango.Layout] do not need any change as the assumption that lines run
+in the X direction and stack in the Y direction holds even for vertical text
+layouts.
+
+Applications should only need to set base gravity on [class@Pango.Context] in use,
+and let Pango decide the gravity assigned to each run of text. This automatically
+handles text with mixed scripts. A very common use is to set the context base
+gravity to auto using [method@Pango.Context.set_base_gravity] and rotate the layout
+normally. Pango will make sure that Asian languages take the right form, while
+other scripts are rotated normally.
+
+The correct way to set gravity on a layout is to set it on the context associated
+with it using [method@Pango.Context.set_base_gravity]. The context of a layout can
+be accessed using [method@Pango.Layout.get_context]. The currently set base gravity
+of the context can be accessed using [method@Pango.Context.get_base_gravity] and the
+*resolved* gravity of it using [method@Pango.Context.get_gravity]. The resolved
+gravity is the same as the base gravity for the most part, except that if the base
+gravity is set to `PANGO_GRAVITY_AUTO`, the resolved gravity will depend on the
+current matrix set on context, and is derived using [type_func@Pango.Gravity.get_for_matrix].
+
+The next thing an application may want to set on the context is the *gravity hint*.
+A [enum@Pango.GravityHint] instructs how different scripts should react to the set
+base gravity.
+
+Font descriptions have a gravity property too, that can be set using
+[method@Pango.FontDescription.set_gravity] and accessed using
+[method@Pango.FontDescription.get_gravity]. However, those are rarely useful
+from application code and are mainly used by `PangoLayout` internally.
+
+Last but not least, one can create `PangoAttributes` for gravity and gravity
+hint using [func@attr_gravity_new] and [func@attr_gravity_hint_new].
diff --git a/docs/pango_cairo.md b/docs/pango_cairo.md
new file mode 100644
index 00000000..2edd8ba8
--- /dev/null
+++ b/docs/pango_cairo.md
@@ -0,0 +1,129 @@
+---
+Title: Rendering with Cairo
+---
+
+# Rendering with Cairo
+
+The Cairo library is a vector graphics library with a powerful rendering model.
+It has such features as anti-aliased primitives, alpha-compositing, and gradients.
+Multiple backends for Cairo are available, to allow rendering to images, to PDF
+files, and to the screen on X and on other windowing systems. The functions in
+this section allow using Pango to render to Cairo surfaces.
+
+Using Pango with Cairo is straightforward. A `PangoContext` created with
+pango_cairo_font_map_create_context() can be used on any Cairo context (`cairo_t`),
+but needs to be updated to match the current transformation matrix and target
+surface of the Cairo context using pango_cairo_update_context(). The convenience
+functions pango_cairo_create_layout() and pango_cairo_update_layout() handle
+the common case where the program doesn't need to manipulate the properties of
+the `PangoContext`.
+
+When you get the metrics of a layout or of a piece of a layout using functions
+such as pango_layout_get_extents(), the reported metrics are in user-space
+coordinates. If a piece of text is 10 units long, and you call
+`cairo_scale (cr, 2.0)`, it still is more-or-less 10 units long. However, the
+results will be affected by hinting (that is, the process of adjusting the text
+to look good on the pixel grid), so you shouldn't assume they are completely
+independent of the current transformation matrix. Note that the basic metrics
+functions in Pango report results in integer Pango units. To get to the floating
+point units used in Cairo divide by `PANGO_SCALE`.
+
+## Using Pango with Cairo
+
+```
+#include <math.h>
+#include <pango/pangocairo.h>
+
+#define RADIUS 150
+#define N_WORDS 10
+#define FONT "Sans Bold 27"
+
+static void
+draw_text (cairo_t *cr)
+{
+ PangoLayout *layout;
+ PangoFontDescription *desc;
+ int i;
+
+ /* Center coordinates on the middle of the region we are drawing */
+ cairo_translate (cr, RADIUS, RADIUS);
+
+ /* Create a PangoLayout, set the font and text */
+ layout = pango_cairo_create_layout (cr);
+
+ pango_layout_set_text (layout, "Text", -1);
+ desc = pango_font_description_from_string (FONT);
+ pango_layout_set_font_description (layout, desc);
+ pango_font_description_free (desc);
+
+ /* Draw the layout N_WORDS times in a circle */
+ for (i = 0; i < N_WORDS; i++)
+ {
+ int width, height;
+ double angle = (360. * i) / N_WORDS;
+ double red;
+
+ cairo_save (cr);
+
+ /* Gradient from red at angle == 60 to blue at angle == 240 */
+ red = (1 + cos ((angle - 60) * G_PI / 180.)) / 2;
+ cairo_set_source_rgb (cr, red, 0, 1.0 - red);
+
+ cairo_rotate (cr, angle * G_PI / 180.);
+
+ /* Inform Pango to re-layout the text with the new transformation */
+ pango_cairo_update_layout (cr, layout);
+
+ pango_layout_get_size (layout, &width, &height);
+ cairo_move_to (cr, - ((double)width / PANGO_SCALE) / 2, - RADIUS);
+ pango_cairo_show_layout (cr, layout);
+
+ cairo_restore (cr);
+ }
+
+ /* free the layout object */
+ g_object_unref (layout);
+}
+
+int
+main (int argc, char **argv)
+{
+ cairo_t *cr;
+ char *filename;
+ cairo_status_t status;
+ cairo_surface_t *surface;
+
+ if (argc != 2)
+ {
+ g_printerr ("Usage: cairosimple OUTPUT_FILENAME\n");
+ return 1;
+ }
+
+ filename = argv[1];
+
+ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+ 2 * RADIUS, 2 * RADIUS);
+ cr = cairo_create (surface);
+
+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
+ cairo_paint (cr);
+ draw_text (cr);
+ cairo_destroy (cr);
+
+ status = cairo_surface_write_to_png (surface, filename);
+ cairo_surface_destroy (surface);
+
+ if (status != CAIRO_STATUS_SUCCESS)
+ {
+ g_printerr ("Could not save png to '%s'\n", filename);
+ return 1;
+ }
+
+ return 0;
+}
+```
+
+Once you build and run the example code above, you should see the
+following result:
+
+![Output of rotated-example](rotated-text.png)
diff --git a/docs/pango_fonts.md b/docs/pango_fonts.md
new file mode 100644
index 00000000..776dba71
--- /dev/null
+++ b/docs/pango_fonts.md
@@ -0,0 +1,65 @@
+---
+Title: Fonts and Glyphs
+---
+
+# Fonts
+
+Pango supports a flexible architecture where a particular rendering architecture
+can supply an implementation of fonts. The `PangoFont` structure represents an
+abstract rendering-system-independent font. Pango provides routines to list
+available fonts, and to load a font matching a given description.
+
+Conceptually, Pango groups fonts into faces and families which are identified
+by a name. A *font face* provides the different sizes of a single font style.
+A *font family* provides the available styles of a font.
+
+As an example, "Helvetica" is a family, "Helvetica Bold" is a face of this
+family, and "Helvetica Bold 12pt" is a concrete font of this face.
+
+# Font Enumeration
+
+The central object for dealing with the available fonts on a system and caching
+loaded fonts is a [class@Pango.FontMap]. An application typically uses a single
+font map.
+
+Since the font map depends on the rendering architecture in use, you'll need to
+use the backend function pango_cairo_font_map_get_default() to obtain the default
+fontmap. Depending on the platform, it will return a `PangoCairoFcFontMap`, a
+`PangoCairoWin32FontMap` or a `PangoCairoCoreTextFontMap`.
+
+Once you have a fontmap, you can enumerate the available font families with
+[method@Pango.FontMap.list_families]. To enumerate the faces of a font family,
+use [method@Pango.FontFamily.list_faces].
+
+# Font Descriptions
+
+Since loading fonts uses system resources, Pango provides a way to describe
+a font without loading it. A [struct@Pango.FontDescription] is a struct that
+contains enough information to load a concrete font with
+[method@Pango.FontMap.load_font] or [method@Pango.Context.load_font]. You can
+obtain a font description from a font face using [method@Pango.FontFace.describe],
+or by parsing a string such as
+
+ Helvetica Bold 12pt
+
+with [type_func@Pango.FontDescription.from_string].
+
+# Glyphs
+
+A font provides information about glyphs and how to position and render them.
+The Pango rendering pipeline uses this information to create a
+[struct@Pango.GlyphString], which contains the glyphs corresponding to the
+characters in the text and related information such as glyph positions and sizes,
+and clustering information (i.e. which glyphs correspond to which characters).
+
+![A glyph string](rects3.png)
+
+A glyph is identified by a [alias@Pango.Glyph], which is a numeric ID. Note that
+glyph IDs are font-specific: the same character can be represented by diffferent
+glyph IDs in different fonts.
+
+The mapping between characters and glyphs is in general neither 1-1 nor a map:
+a single glyph may represent multiple characters (as is the case with ligatures),
+a single character may be represented by multiple glyphs (for example, when
+combining accents and base character), and in complex scripts, multiple characters
+may form clusters that get rearranged and represented by multiple glyphs.
diff --git a/docs/pango_markup.md b/docs/pango_markup.md
new file mode 100644
index 00000000..dc6047d3
--- /dev/null
+++ b/docs/pango_markup.md
@@ -0,0 +1,184 @@
+---
+Title: Text Attributes and Markup
+---
+
+# Text Attributes
+
+Attributed text is used in a number of places in Pango. It is used as the
+input to the itemization process and also when creating a [class@Pango.Layout].
+
+Attributes can influence the various stages of the rendering pipeline. For example,
+font or size attributes will influence the font selection that is happening during
+itemization, font features and letterspacing attributes will influence shaping, and
+color or underline attributes will be used for rendering.
+
+Pango uses a simple structs for individual attributes, such as
+[struct@Pango.AttrColor] or [struct@Pango.AttrFontDesc]. Each attribute has a type,
+and a start and end index that determine the range of characters that the attribute
+applies to. See the [enum@Pango.AttrType] enumeration for all the possible
+attribute types.
+
+Attributes rarely come alone. Pango uses the [struct@Pango.AttrList] structure
+to hold all attributes that apply to a piece of text.
+
+# Pango Markup
+
+Frequently, you want to display some text to the user with attributes applied to
+part of the text (for example, you might want bold or italicized words). With the
+base Pango interfaces, you could create a [struct@Pango.AttrList] and apply it to
+the text; the problem is that you'd need to apply attributes to some numeric range
+of characters, for example "characters 12-17." This is broken from an
+internationalization standpoint; once the text is translated, the word you wanted
+to italicize could be in a different position.
+
+The solution is to include the text attributes in the string to be translated.
+Pango provides this feature with a small markup language. You can parse a marked-up
+string into the string text plus a [struct@Pango.AttrList] using either of
+[func@parse_markup] or [func@markup_parser_new].
+
+A simple example of a marked-up string might be:
+
+```
+<span foreground="blue" size="x-large">Blue text</span> is <i>cool</i>!"
+```
+
+Pango uses GMarkup to parse this language, which means that XML features
+such as numeric character entities such as `&#169;` for © can be used too.
+
+The root tag of a marked-up document is `<markup>`, but pango_parse_markup()
+allows you to omit this tag, so you will most likely never need to use it.
+The most general markup tag is `<span>`, then there are some convenience
+tags.
+
+## The `<span>` Attributes
+
+font
+font_desc
+: A font description string, such as "Sans Italic 12". See
+ pango_font_description_from_string() for a description of the format of
+ the string representation. Note that any other span attributes will override
+ this description. So if you have "Sans Italic" and also a style="normal"
+ attribute, you will get Sans normal, not italic.
+
+font_family
+face
+: A font family name.
+
+font_size
+size
+: Font size in 1024ths of a point, or one of the absolute sizes 'xx-small',
+ 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', or one of the
+ relative sizes 'smaller' or 'larger'. If you want to specify a absolute size,
+ it's usually easier to take advantage of the ability to specify a partial font
+ description using 'font'; you can use font='12.5' rather than size='12800'.
+
+font_style
+style
+: One of 'normal', 'oblique', 'italic'.
+
+font_weight
+weight
+: One of 'ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy', or a
+ numeric weight.
+
+font_variant
+variant
+: One of 'normal' or 'smallcaps'.
+
+font_stretch
+stretch
+: One of 'ultracondensed', 'extracondensed',
+ 'condensed', 'semicondensed', 'normal', 'semiexpanded', 'expanded',
+ 'extraexpanded', 'ultraexpanded'.
+
+font_features
+: A comma-separated list of OpenType font feature settings, in the same syntax as
+ accepted by CSS. E.g: `font_features='dlig=1, -kern, afrc on'`.
+
+foreground
+fgcolor
+color
+: An RGB color specification such as '#00FF00' or a color name such as 'red'.
+ Since 1.38, an RGBA color specification such as '#00FF007F' will be interpreted
+ as specifying both a foreground color and foreground alpha.
+
+background
+bgcolor
+: An RGB color specification such as '#00FF00' or a color name such as 'red'.
+ Since 1.38, an RGBA color specification such as '#00FF007F' will be interpreted
+ as specifying both a background color and background alpha.
+
+alpha
+fgalpha
+: An alpha value for the foreground color, either a plain integer between 1 and
+ 65536 or a percentage value like '50%'.
+
+background_alpha
+bgalpha
+: An alpha value for the background color, either a plain integer between 1 and
+ 65536 or a percentage value like '50%'.
+
+underline
+: One of 'none', 'single', 'double', 'low', 'error'.
+
+underline_color
+: The color of underlines; an RGB color specification such as '#00FF00' or a color
+ name such as 'red'.
+
+rise
+: Vertical displacement, in Pango units. Can be negative for subscript, positive
+ for superscript.
+
+strikethrough
+: 'true' or 'false' whether to strike through the text.
+
+strikethrough_color
+: The color of strikethrough lines; an RGB color specification such as '#00FF00'
+ or a color name such as 'red'.
+
+fallback
+: 'true' or 'false' whether to enable fallback. If disabled, then characters will
+ only be used from the closest matching font on the system. No fallback will be
+ done to other fonts on the system that might contain the characters in the text.
+ Fallback is enabled by default. Most applications should not disable fallback.
+
+lang
+: A language code, indicating the text language.
+
+letter_spacing
+: Inter-letter spacing in 1024ths of a point.
+
+gravity
+: One of 'south', 'east', 'north', 'west', 'auto'.
+
+gravity_hint
+: One of 'natural', 'strong', 'line'.
+
+## Convenience Tags
+
+`<b>`
+: Bold
+
+`<big>`
+: Makes font relatively larger, equivalent to `<span size="larger">`
+
+`<i>`
+: Italic
+
+`<s>`
+: Strikethrough
+
+`<sub>`
+: Subscript
+
+`<sup>`
+: Superscript
+
+`<small>`
+: Makes font relatively smaller, equivalent to `<span size="smaller">`
+
+`<tt>`
+: Monospace font
+
+`<u>`
+: Underline
diff --git a/docs/pango_markup.sgml b/docs/pango_markup.sgml
deleted file mode 100644
index c2ba377c..00000000
--- a/docs/pango_markup.sgml
+++ /dev/null
@@ -1,301 +0,0 @@
-<refentry id="PangoMarkupFormat" revision="11 Dec 2002">
-<refmeta>
-<refentrytitle>Text Attribute Markup</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>Pango Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>Text Attribute Markup</refname><refpurpose>Simple
-markup language to encode text with attributes</refpurpose>
-</refnamediv>
-
-<refsect1 id="PangoMarkupFormatLanguage">
-<title>Pango Text Attribute Markup Language</title>
-
-<para>
-Frequently, you want to display some text to the user with attributes
-applied to part of the text (for example, you might want bold or
-italicized words). With the base Pango interfaces, you could create a
-<link linkend="PangoAttrList">PangoAttrList</link> and apply it to the
-text; the problem is that you'd need to apply attributes to some
-numeric range of characters, for example "characters 12-17." This is
-broken from an internationalization standpoint; once the text is
-translated, the word you wanted to italicize could be in a different
-position.
-</para>
-
-<para>
-The solution is to include the text attributes in the string to be
-translated. Pango provides this feature with a small markup language.
-You can parse a marked-up string into the string text plus a
-<link linkend="PangoAttrList">PangoAttrList</link> using either of
-<link linkend="pango-parse-markup">pango_parse_markup()</link> or
-<link linkend="pango-markup-parser-new">pango_markup_parser_new()</link>.
-</para>
-
-<para>
-A simple example of a marked-up string might be:
-<literal>"&lt;span foreground="blue" size="x-large"&gt;Blue text&lt;/span&gt; is &lt;i&gt;cool&lt;/i&gt;!"</literal>
-</para>
-
-<para>
-Pango uses #GMarkup to parse this language, which means that XML features
-such as numeric character entities such as &amp;#169; for &#169; can
-be used too.
-</para>
-
-<para>
-The root tag of a marked-up document is &lt;markup&gt;, but <link
-linkend="pango-parse-markup">pango_parse_markup()</link> allows you to
-omit this tag, so you will most likely never need to use it. The most
-general markup tag is &lt;span&gt;, then there are some convenience
-tags. &lt;span&gt; has the following attributes:
-<variablelist><title>&lt;span&gt; attributes</title>
-
-<varlistentry>
-<term>font<footnote id='since_1_21'><para>Since 1.21</para></footnote></term>
-<term>font_desc</term>
-<listitem><para>
-A font description string, such as "Sans Italic 12". See
-<link linkend="pango-font-description-from-string">pango_font_description_from_string()</link>
-for a description of the format of the string representation . Note that any
-other span attributes will override this description. So if you have
-"Sans Italic" and also a style="normal" attribute, you will get Sans normal,
-not italic.</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_family</term>
-<term>face</term>
-<listitem><para>
-A font family name
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_size<footnoteref linkend='since_1_21'/></term>
-<term>size</term>
-<listitem><para>
-Font size in 1024ths of a point, or one of the absolute sizes
-'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large',
-'xx-large', or one of the relative sizes 'smaller' or 'larger'.
-If you want to specify a absolute size, it's usually easier
-to take advantage of the ability to specify a partial
-font description using 'font'; you can use
-<literal>font='12.5'</literal> rather than
-<literal>size='12800'</literal>.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_style<footnoteref linkend='since_1_21'/></term>
-<term>style</term>
-<listitem><para>
-One of 'normal', 'oblique', 'italic'
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_weight<footnoteref linkend='since_1_21'/></term>
-<term>weight</term>
-<listitem><para>
-One of 'ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy',
-or a numeric weight
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_variant<footnoteref linkend='since_1_21'/></term>
-<term>variant</term>
-<listitem><para>
-One of 'normal' or 'smallcaps'
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_stretch<footnoteref linkend='since_1_21'/></term>
-<term>stretch</term>
-<listitem><para>
-One of 'ultracondensed', 'extracondensed', 'condensed',
-'semicondensed', 'normal', 'semiexpanded', 'expanded',
-'extraexpanded', 'ultraexpanded'
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>font_features<footnote id='since_1_38'><para>Since 1.38</para></footnote></term>
-<listitem><para>
-A comma separated list of OpenType font feature settings, in the same
-syntax as accepted by CSS. E.g: <literal>font_features='dlig=1, -kern, afrc on'</literal>
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>foreground</term>
-<term>fgcolor<footnoteref linkend='since_1_21'/></term>
-<term>color</term>
-<listitem><para>
-An RGB color specification such as '#00FF00' or a color name such as
-'red'.
-Since 1.38, an RGBA color specification such as '#00FF007F' will
-be interpreted as specifying both a foreground color and foreground alpha.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>background</term>
-<term>bgcolor<footnoteref linkend='since_1_21'/></term>
-<listitem><para>
-An RGB color specification such as '#00FF00' or a color name such as
-'red'.
-Since 1.38, an RGBA color specification such as '#00FF007F' will
-be interpreted as specifying both a background color and background alpha.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>alpha</term>
-<term>fgalpha<footnoteref linkend='since_1_38'/></term>
-<listitem><para>
-An alpha value for the foreground color, either a plain integer between 1 and 65536
-or a percentage value like '50%'.
-</para></listitem>
-</varlistentry>
-
-<varlistentry>
-<term>background_alpha</term>
-<term>bgalpha<footnoteref linkend='since_1_38'/></term>
-<listitem><para>
-An alpha value for the background color, either a plain integer between 1 and 65536
-or a percentage value like '50%'.
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>underline</term>
-<listitem><para>
-One of 'none', 'single', 'double', 'low', 'error'
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>underline_color</term>
-<listitem><para>
-The color of underlines; an RGB color specification such as '#00FF00'
-or a color name such as 'red'
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>rise</term>
-<listitem><para>
-Vertical displacement, in Pango units. Can be negative for
-subscript, positive for superscript.
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>strikethrough</term>
-<listitem><para>
-'true' or 'false' whether to strike through the text
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>strikethrough_color</term>
-<listitem><para>
-The color of strikethrough lines; an RGB color specification such as
-'#00FF00' or a color name such as 'red'
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>fallback</term>
-<listitem><para>
-'true' or 'false' whether to enable fallback. If disabled, then characters
-will only be used from the closest matching font on the system. No fallback
-will be done to other fonts on the system that might contain the characters
-in the text. Fallback is enabled by default. Most applications should not
-disable fallback.
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>lang</term>
-<listitem><para>
-A language code, indicating the text language
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>letter_spacing</term>
-<listitem><para>
-Inter-letter spacing in 1024ths of a point.
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>gravity</term>
-<listitem><para>
-One of 'south', 'east', 'north', 'west', 'auto'.
-</para></listitem>
-</varlistentry>
-
-<varlistentry><term>gravity_hint</term>
-<listitem><para>
-One of 'natural', 'strong', 'line'.
-</para></listitem>
-</varlistentry>
-
-</variablelist>
-
-</para>
-
-<para>
-The following convenience tags are provided:
-
-<variablelist><title>Convenience tags</title>
-<varlistentry><term>b</term>
-<listitem><para>
-Bold
-</para></listitem>
-</varlistentry>
-<varlistentry><term>big</term>
-<listitem><para>
-Makes font relatively larger, equivalent to &lt;span size="larger"&gt;
-</para></listitem>
-</varlistentry>
-<varlistentry><term>i</term>
-<listitem><para>
-Italic
-</para></listitem>
-</varlistentry>
-<varlistentry><term>s</term>
-<listitem><para>
-Strikethrough
-</para></listitem>
-</varlistentry>
-<varlistentry><term>sub</term>
-<listitem><para>
-Subscript
-</para></listitem>
-</varlistentry>
-<varlistentry><term>sup</term>
-<listitem><para>
-Superscript
-</para></listitem>
-</varlistentry>
-<varlistentry><term>small</term>
-<listitem><para>
-Makes font relatively smaller, equivalent to &lt;span size="smaller"&gt;
-</para></listitem>
-</varlistentry>
-<varlistentry><term>tt</term>
-<listitem><para>
-Monospace font
-</para></listitem>
-</varlistentry>
-<varlistentry><term>u</term>
-<listitem><para>
-Underline
-</para></listitem>
-</varlistentry>
-</variablelist>
-
-</para>
-
-</refsect1>
-
-</refentry>
diff --git a/docs/pango_rendering.md b/docs/pango_rendering.md
new file mode 100644
index 00000000..2fd61e93
--- /dev/null
+++ b/docs/pango_rendering.md
@@ -0,0 +1,35 @@
+---
+Title: The Rendering Pipeline
+---
+
+# The Rendering Pipeline
+
+The Pango rendering pipeline takes a string of Unicode characters, converts them
+it into glyphs, and renders them on some output medium. This section describes the
+various stages of this pipeline and the APIs that implement them.
+
+![Pango Rendering Pipeline](pipeline.png)
+
+Itemization
+: breaks a piece of text into segments with consistent direction and shaping
+ properies. Among other things, this determines which font to use for each
+ character. Use pango_itemize() or pango_itemize_with_base_dir() to itemize text.
+
+Shaping
+: converts characters into glyphs. Use pango_shape(), pango_shape_full() or
+ pango_shape_with_flags() to shape text.
+
+Line Breaking
+: determines where line breaks should be inserted into a sequence of glyphs.
+ The function pango_break() determines possible line breaks. The actual line
+ breaking is done by [class@Pango.Layout].
+
+Justification
+: adjusts inter-word spacing to form lines of even length. This is done by
+ [class@Pango.Layout].
+
+Rendering
+: takes a string of positioned glyphs, and renders them onto a surface. This is
+ accomplished by a [class@Pango.Renderer] object. The functions
+ pango_cairo_show_glyph_string() and pango_cairo_show_layout() use a
+ [class@Pango.Renderer] to draw text onto a cairo surface.
diff --git a/docs/pango_xft.md b/docs/pango_xft.md
new file mode 100644
index 00000000..340506d2
--- /dev/null
+++ b/docs/pango_xft.md
@@ -0,0 +1,26 @@
+Title: Xft Fonts and Rendering
+
+The Xft library is a library for displaying fonts on the X window
+system; internally it uses the fontconfig library to locate font
+files, and the FreeType library to load and render fonts. The
+Xft backend is the recommended Pango font backend for screen
+display with X. (The Cairo back end is another possibility.)
+
+Using the Xft backend is generally straightforward;
+[func@PangoXft.get_context] creates a context for a specified display
+and screen. You can then create a [class@Pango.Layout] with that context
+and render it with [func@PangoXft.render_layout]. At a more advanced
+level, the low-level fontconfig options used for rendering fonts
+can be affected using [func@PangoXft.set_default_substitute], and
+[func@PangoXft.substitute_changed].
+
+A range of functions for drawing pieces of a layout, such as individual
+layout lines and glyphs strings are provided. You can also directly
+create a [class@PangoXft.Renderer]. Finally, in some advanced cases,
+it is useful to derive from [class@PangoXft.Renderer]. Deriving from
+[class@PangoXft.Renderer] is useful for two reasons. One reason is be
+to support custom attributes by overriding `PangoRendererClass` virtual
+functions like 'prepare_run' or 'draw_shape'. The other reason is to
+customize exactly how the final bits are drawn to the destination by
+overriding the `PangoXftRendererClass` virtual functions
+'composite_glyphs' and 'composite_trapezoids'.
diff --git a/docs/pangocairo.toml.in b/docs/pangocairo.toml.in
new file mode 100644
index 00000000..3d41b82f
--- /dev/null
+++ b/docs/pangocairo.toml.in
@@ -0,0 +1,40 @@
+[library]
+namespace = "PangoCairo"
+version = "@PANGO_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/pango/"
+repository_url = "https://gitlab.gnome.org/GNOME/pango.git"
+website_url = "https://www.pango.org"
+authors = "Owen Taylor, Behdad Esfahbod"
+logo_url = "pango-name.png"
+license = "GPL-2.1-or-later"
+description = "Cairo support for Pango"
+dependencies = [ "Pango-1.0", "cairo-1.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "A library for layout out and rendering of text"
+ docs_url = "../Pango/"
+
+ [dependencies."cairo-1.0"]
+ name = "Cairo"
+ description = "A vector graphics library"
+ docs_url = "https://www.cairographics.org/manual/"
+
+[theme]
+name = "basic"
+show_index_summary = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/"
+
+[extra]
+content_files = [
+ "pango_cairo.md",
+]
+
+content_images = [
+ "pango-name.png",
+ "rotated-text.png"
+]
diff --git a/docs/pangofc.toml.in b/docs/pangofc.toml.in
new file mode 100644
index 00000000..061ff072
--- /dev/null
+++ b/docs/pangofc.toml.in
@@ -0,0 +1,36 @@
+[library]
+namespace = "PangoFc"
+version = "@PANGO_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/pango/"
+repository_url = "https://gitlab.gnome.org/GNOME/pango.git"
+website_url = "https://www.pango.org"
+authors = "Owen Taylor, Behdad Esfahbod"
+logo_url = "pango-name.png"
+license = "GPL-2.1-or-later"
+description = "Fontconfig support for Pango"
+dependencies = [ "Pango-1.0", "fontconfig-2.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "A library for layout out and rendering of text"
+ docs_url = "../Pango/"
+
+ [dependencies."fontconfig-2.0"]
+ name = "Fontconfig"
+ description = "A font configuration and enumeration library"
+ docs_url = "https://www.fontconfig.org"
+
+[theme]
+name = "basic"
+show_index_summary = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/"
+
+[extra]
+
+content_images = [
+ "pango-name.png"
+]
diff --git a/docs/pangoft2.toml.in b/docs/pangoft2.toml.in
new file mode 100644
index 00000000..c44dfe7f
--- /dev/null
+++ b/docs/pangoft2.toml.in
@@ -0,0 +1,36 @@
+[library]
+namespace = "PangoFT2"
+version = "@PANGO_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/pango/"
+repository_url = "https://gitlab.gnome.org/GNOME/pango.git"
+website_url = "https://www.pango.org"
+authors = "Owen Taylor, Behdad Esfahbod"
+logo_url = "pango-name.png"
+license = "GPL-2.1-or-later"
+description = "Freetype support for Pango"
+dependencies = [ "Pango-1.0", "freetype2-2.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "A library for layout out and rendering of text"
+ docs_url = "../Pango/"
+
+ [dependencies."freetype2-2.0"]
+ name = "Freetype"
+ description = "A font loading and rendering library"
+ docs_url = "https://www.freetype.org"
+
+[theme]
+name = "basic"
+show_index_summary = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/"
+
+[extra]
+
+content_images = [
+ "pango-name.png"
+]
diff --git a/docs/pangoot.toml.in b/docs/pangoot.toml.in
new file mode 100644
index 00000000..531cd640
--- /dev/null
+++ b/docs/pangoot.toml.in
@@ -0,0 +1,31 @@
+[library]
+namespace = "PangoOT"
+version = "@PANGO_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/pango/"
+repository_url = "https://gitlab.gnome.org/GNOME/pango.git"
+website_url = "https://www.pango.org"
+authors = "Owen Taylor, Behdad Esfahbod"
+logo_url = "pango-name.png"
+license = "GPL-2.1-or-later"
+description = "OpenType support for Pango"
+dependencies = [ "Pango-1.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "A library for layout out and rendering of text"
+ docs_url = "../Pango/"
+
+[theme]
+name = "basic"
+show_index_summary = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/"
+
+[extra]
+
+content_images = [
+ "pango-name.png"
+]
diff --git a/docs/pangoxft.toml.in b/docs/pangoxft.toml.in
new file mode 100644
index 00000000..d117b388
--- /dev/null
+++ b/docs/pangoxft.toml.in
@@ -0,0 +1,39 @@
+[library]
+namespace = "PangoXft"
+version = "@PANGO_VERSION@"
+browse_url = "https://gitlab.gnome.org/GNOME/pango/"
+repository_url = "https://gitlab.gnome.org/GNOME/pango.git"
+website_url = "https://www.pango.org"
+authors = "Owen Taylor, Behdad Esfahbod"
+logo_url = "pango-name.png"
+license = "GPL-2.1-or-later"
+description = "Xft support for Pango"
+dependencies = [ "Pango-1.0", "xft-2.0" ]
+devhelp = true
+search_index = true
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "A library for layout out and rendering of text"
+ docs_url = "../Pango/"
+
+ [dependencies."xft-2.0"]
+ name = "Xft"
+ description = "X11 client-side font rendering library"
+ docs_url = "https://x.org"
+
+[theme]
+name = "basic"
+show_index_summary = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/"
+
+[extra]
+content_files = [
+ "pango_xft.md"
+]
+
+content_images = [
+ "pango-name.png"
+]
diff --git a/docs/rects3.png b/docs/rects3.png
new file mode 100644
index 00000000..4817b7af
--- /dev/null
+++ b/docs/rects3.png
Binary files differ
diff --git a/docs/version.xml.in b/docs/version.xml.in
deleted file mode 100644
index 8f556477..00000000
--- a/docs/version.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-@PANGO_VERSION@
diff --git a/docs/xml/gtkdocentities.ent.in b/docs/xml/gtkdocentities.ent.in
deleted file mode 100644
index f12c9ff7..00000000
--- a/docs/xml/gtkdocentities.ent.in
+++ /dev/null
@@ -1,8 +0,0 @@
-<!ENTITY package "@PACKAGE@">
-<!ENTITY package_bugreport "@PACKAGE_BUGREPORT@">
-<!ENTITY package_name "@PACKAGE_NAME@">
-<!ENTITY package_string "@PACKAGE_STRING@">
-<!ENTITY package_tarname "@PACKAGE_TARNAME@">
-<!ENTITY package_url "@PACKAGE_URL@">
-<!ENTITY package_version "@PACKAGE_VERSION@">
-<!ENTITY package_api_version "@PACKAGE_API_VERSION@">
diff --git a/docs/xml/meson.build b/docs/xml/meson.build
deleted file mode 100644
index 2a4cf4b7..00000000
--- a/docs/xml/meson.build
+++ /dev/null
@@ -1,10 +0,0 @@
-ent_conf = configuration_data()
-ent_conf.set('PACKAGE', meson.project_name())
-ent_conf.set('PACKAGE_BUGREPORT', 'https://bugzilla.gnome.org/enter_bug.cgi?product=pango')
-ent_conf.set('PACKAGE_NAME', meson.project_name())
-ent_conf.set('PACKAGE_STRING', meson.project_name())
-ent_conf.set('PACKAGE_TARNAME', '@0@-@1@'.format(meson.project_name(), meson.project_version()))
-ent_conf.set('PACKAGE_URL', 'https://developer.gnome.org/pango/stable')
-ent_conf.set('PACKAGE_VERSION', meson.project_version())
-ent_conf.set('PACKAGE_API_VERSION', pango_api_version)
-configure_file(input: 'gtkdocentities.ent.in', output: 'gtkdocentities.ent', configuration: ent_conf)