~alcinnz/harfbuzz-pure

ref: cd5a7d005a3d9821be86e575d16de284bd0c2922 harfbuzz-pure/README.md -rw-r--r-- 1.8 KiB
cd5a7d00 — Adrian Cochrane Add contribution instructions. 1 year, 2 months ago

#Pure-functional Harfbuzz language bindings.

Git repo Issue Tracker Hackage

HarfBuzz is a text shaping library. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output for practically any writing system and written language.

NOTE: You may need to install Harfbuzz 3.3.0 (Jan 2022) or newer from source, it hasn't been widely packaged yet.

These APIs map closely to those Harfbuzz 3.3.0 exposed, but tweaked to be pure-functional & reuse common Haskell datatypes. They throw HarfbuzzError should they run out of memory, though that should be extremely rare & otherwise contain no side-effects.

#Requirements

  • Harfbuzz 3.3.0 or greater
  • LibStdC++ (for Text dependency)
  • Cabal

Cabal is capable of installing the few other dependencies.

For normal use please install via Hackage.

#Use

Please see the Haddock documentation for API usage.

Contains a demo program in Main.hs, which can be run via cabal run, that textually outputs the shaping data for given text under the Lora font. Commandline arguments, if any, are the text to be rendered. Otherwise uses "Testing, testing".

#Contributing

Please send patches to our issue tracker by either:

Whichever you find most convenient.

If you'd prefer to not make your email address public please contact alcinnz@argonaut-constellation.org !