diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-03-11 19:46:05 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-03-11 19:46:05 +0000 |
commit | 2b261300543b6cc673ca09509f9ace1bbb4a6c06 (patch) | |
tree | 816f1c0554ddb3eaf5c406d17711c834ba78ea54 /docs/pango_rendering.md | |
parent | 9be0d6e411c5d4540438fcc8ada287a65b15fb8e (diff) | |
parent | e32063114243e4bec0f5f3cfa63981cb96c0f7f1 (diff) | |
download | pango-2b261300543b6cc673ca09509f9ace1bbb4a6c06.tar.gz |
Merge branch 'gi-docs' into 'master'
Gi docs
See merge request GNOME/pango!281
Diffstat (limited to 'docs/pango_rendering.md')
-rw-r--r-- | docs/pango_rendering.md | 35 |
1 files changed, 35 insertions, 0 deletions
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. |