From e2f1019190c62696d14001c788e90cd4be145b56 Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Thu, 9 Feb 2023 16:21:26 +1300 Subject: [PATCH] Add initial README. --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4fadfe8 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# Pure-functional Harfbuzz language bindings. +[Git repo](https://git.argonaut-constellation.org/~alcinnz/harfbuzz-pure) [Issue Tracker](https://todo.argonaut-constellation.org/~alcinnz/harfbuzz-pure) [Hackage](https://hackage.haskell.org/package/harfbuzz-pure) + +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](https://fonts.adobe.com/fonts/lora) font. Commandline arguments, if any, are the text to be rendered. Otherwise uses "Testing, testing". -- 2.30.2