/* process with: dot text_layout.gv -Tsvg > text_layout.svg dot text_layout.gv -Tpng > text_layout.png */ digraph textrendering { Text [color=red] text_layout[shape=box] renderer [color=red] Text -> text_layout text_layout -> Freetype[dir=both] text_layout -> text_itemizer [dir=both] text_layout -> HarfBuzz [dir=both] text_layout -> text_layout [label="line breaking"] text_layout -> text_line text_line -> format_run format_run -> char_properties format_run -> glyph_info text_layout -> placement_finder placement_finder -> glyph_positions glyph_positions -> renderer // { rank=same; text_layout HarfBuzz Freetype text_itemizer } }