diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/meson.build | 1 | ||||
-rw-r--r-- | docs/pango.toml.in | 3 | ||||
-rw-r--r-- | docs/pango_rendering.md | 35 |
3 files changed, 39 insertions, 0 deletions
diff --git a/docs/meson.build b/docs/meson.build index aa68b59b..bdea5e50 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -1,6 +1,7 @@ gidocgen = find_program('gi-docgen', required: get_option('gtk_doc')) pango_content_files = [ + 'pango_rendering.md', 'pango-name.png', 'layout.png', 'pipeline.png', diff --git a/docs/pango.toml.in b/docs/pango.toml.in index 986bfc8b..2a0dbcc0 100644 --- a/docs/pango.toml.in +++ b/docs/pango.toml.in @@ -54,6 +54,9 @@ name = "basic" base_url = "https://gitlab.gnome.org/GNOME/pango/-/blob/master/" [extra] +content_files = [ + "pango_rendering.md", +] content_images = [ "pango-name.png", 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. |