balkon: Text layout engine built on top of HarfBuzz.

[ gpl, library, text ] [ Propose Tags ]

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.

[Skip to Readme]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,,
Change log
Dependencies balkon, base (>=4.12 && <5), harfbuzz-pure (>= && <1.1), text (>=2.0.2 && <3), text-icu (>= && <0.9), unicode-data-scripts (>= && <0.3) [details]
License GPL-3.0-only
Author Jaro
Revised Revision 1 made by alcinnz at 2023-07-20T02:07:52Z
Category Text
Home page
Bug tracker
Source repo head: git clone -b main
Uploaded by alcinnz at 2023-07-03T07:08:16Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 286 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2023-07-03 [all 2 reports]

Readme for balkon-

[back to package description]


Repository | Issue tracker

Haskell library built on top of HarfBuzz to lay out text within a paragraph.

Just like flowers on a balcony, text must be arranged carefully within a limited space and put into neat little boxes.

Intended to be the inline layout engine for The Argonaut Stack.