Added support for forced (hard) line breaks in the input text.
Now also trimming white space at the beginning of lines.
Internally, language tags will be cut at the first invalid character before being passed to ICU.
Tests will generate output in "shaped runs" format which can be passed to a text rendering application.
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.