Harfbuzz also supports UTF-16 and Latin1 input, both of which are easy to translate back to Unicode codepoints.Return
In practice, line breaks are more complicated to check for than simply looking for singular characters. It does turn out, however, that a newline character (ASCII 10) is a guaranteed hard line break.Return
This strategy of dividing simple scripts by grapheme and complex scripts by soft line breaks is used by the refterm terminal renderer.Return
Complex scripts require special-coded passes that are not part of the font file, but part of the shaper itself. However, the kind of work that is performed by these passes is not so fundamentally different from the application of font features, and, as such, are not worth describing in this article.Return