textkit
Layout process
-
split into paragraphs
-
get bidi runs and paragraph direction
-
font substitution - map to resolved font runs
-
script itemization
-
font shaping - text to glyphs
-
line breaking
-
bidi reordering
-
justification
-
get a list of rectangles by intersecting path, line, and exclusion paths
-
perform line breaking to get acceptable break points for each fragment
-
ellipsize line if necessary
-
bidi reordering
-
justification