balkon: Text layout engine built on top of HarfBuzz.

[ gpl, library, text ] [ Propose Tags ] [ Report a vulnerability ]

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]

library balkon

library balkon:balkon-internal

Modules

[Index] [Quick Jump]

  • Data
    • Text
      • ParagraphLayout
        • Internal
          • Data.Text.ParagraphLayout.Internal.AncestorBox
          • Data.Text.ParagraphLayout.Internal.ApplyBoxes
          • Data.Text.ParagraphLayout.Internal.BiDiLevels
          • Data.Text.ParagraphLayout.Internal.BiDiReorder
          • Data.Text.ParagraphLayout.Internal.BoxOptions
          • Data.Text.ParagraphLayout.Internal.Break
          • Data.Text.ParagraphLayout.Internal.Fragment
          • Data.Text.ParagraphLayout.Internal.Line
          • Data.Text.ParagraphLayout.Internal.LineHeight
          • Data.Text.ParagraphLayout.Internal.LinePagination
          • Data.Text.ParagraphLayout.Internal.Paginable
          • Data.Text.ParagraphLayout.Internal.ParagraphAlignment
          • Data.Text.ParagraphLayout.Internal.ParagraphConstruction
          • Data.Text.ParagraphLayout.Internal.ParagraphLine
          • Data.Text.ParagraphLayout.Internal.ParagraphOptions
          • Data.Text.ParagraphLayout.Internal.Plain
            • Data.Text.ParagraphLayout.Internal.Plain.Paragraph
            • Data.Text.ParagraphLayout.Internal.Plain.ParagraphLayout
          • Data.Text.ParagraphLayout.Internal.Rect
          • Data.Text.ParagraphLayout.Internal.ResolvedBox
          • Data.Text.ParagraphLayout.Internal.ResolvedSpan
          • Data.Text.ParagraphLayout.Internal.Rich
            • Data.Text.ParagraphLayout.Internal.Rich.Paragraph
            • Data.Text.ParagraphLayout.Internal.Rich.ParagraphLayout
          • Data.Text.ParagraphLayout.Internal.Run
          • Data.Text.ParagraphLayout.Internal.Span
          • Data.Text.ParagraphLayout.Internal.TextContainer
          • Data.Text.ParagraphLayout.Internal.TextOptions
          • Data.Text.ParagraphLayout.Internal.Tree
          • Data.Text.ParagraphLayout.Internal.WithSpan
          • Data.Text.ParagraphLayout.Internal.Zipper

Downloads

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

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.3.0.0, 1.0.0.0, 1.0.0.1, 1.1.0.0, 1.2.0.0, 1.3.0.0
Change log CHANGELOG.md
Dependencies balkon, base (>=4.12 && <5), harfbuzz-pure (>=1.0.3.2 && <1.1), text (>=2.0.2 && <3), text-icu (>=0.8.0.2 && <0.9), unicode-data-scripts (>=0.2.0.1 && <0.3) [details]
License GPL-3.0-only
Author Jaro
Maintainer jaro@argonaut-constellation.org
Revised Revision 1 made by alcinnz at 2023-07-20T02:07:52Z
Category Text
Home page https://argonaut-constellation.org/
Bug tracker https://todo.argonaut-constellation.org/~jaro/balkon
Source repo head: git clone https://git.argonaut-constellation.org/~jaro/balkon -b main
Uploaded by alcinnz at 2023-07-03T07:08:16Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 423 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-1.3.0.0

[back to package description]

Balkón

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.