Text shaping using HarfBuzz.
Breaking text on line and character boundaries using the International Components for Unicode (ICU) library.
Trimming white space at the end of lines.
Calculation of containing block bounds and fragment bounds.
Support for plain text (single font and line height) in one horizontal direction (LTR or RTL).
Input can be divided into spans. This division will be preserved in the output.
Each span can use a different language for text shaping and line breaking.