balkon (hackage): Given an input text and formatting options, Balkón produces an inline layout with defined glyph positions and box coordinates, all within a containing unit called a paragraph. See Data.Text.ParagraphLayout.Rich.  Internally, HarfBuzz is used to shape individual runs of text, each of which fits within one line and has a constant script, direction, language, and formatting. Balkón abstracts this so that you can provide text with any mix of these attributes and a desired line width for line breaking.  Additionally, Balkón can be used for breaking an inline layout into pages. See Data.Text.ParagraphLayout.
Keywords: gpl|library|text