~alcinnz/harfbuzz-pure

2eb97269bd052d6c1a29ddce695074d0362b2df4 — Adrian Cochrane 1 year, 27 days ago e2f1019
Expose exception & update metadata.
3 files changed, 16 insertions(+), 8 deletions(-)

M Data/Text/Glyphize.hs
M Data/Text/Glyphize/Oom.hs
M harfbuzz-pure.cabal
M Data/Text/Glyphize.hs => Data/Text/Glyphize.hs +4 -3
@@ 1,10 1,10 @@
{-# LANGUAGE OverloadedStrings #-}
-- | 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 any writing system and language.
-- Unicode input into properly formatted and positioned glyph output
-- for practically any writing system and language.
-- See `shape` for the central function all other datatypes serves to support.
module Data.Text.Glyphize (shape, version, versionAtLeast, versionString,
module Data.Text.Glyphize (shape, version, versionAtLeast, versionString, HarfbuzzError(..),

    Buffer(..), ContentType(..), ClusterLevel(..), Direction(..), defaultBuffer,
    dirFromStr, dirToStr, dirReverse, dirBackward, dirForward, dirHorizontal, dirVertical,


@@ 31,6 31,7 @@ module Data.Text.Glyphize (shape, version, versionAtLeast, versionString,

import Data.Text.Glyphize.Font
import Data.Text.Glyphize.Buffer
import Data.Text.Glyphize.Oom

import System.IO.Unsafe (unsafePerformIO)
import Foreign.Ptr (Ptr(..))

M Data/Text/Glyphize/Oom.hs => Data/Text/Glyphize/Oom.hs +2 -0
@@ 3,6 3,8 @@ module Data.Text.Glyphize.Oom where
import Control.Exception
import Foreign.Ptr (nullPtr, Ptr)

-- | Indicates that Harfbuzz has ran out of memory during a computation.
-- Should be extremely rare!
data HarfbuzzError = OutOfMemory deriving (Show)
instance Exception HarfbuzzError


M harfbuzz-pure.cabal => harfbuzz-pure.cabal +10 -5
@@ 10,13 10,13 @@ name:                harfbuzz-pure
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             1.0.2.0
version:             1.0.3.1

-- A short (one-line) description of the package.
synopsis:            Pure-functional Harfbuzz language bindings

-- A longer description of the package.
description:         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 any writing system and language.
description:         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.

-- URL for the project homepage or repository.


@@ 33,10 33,12 @@ author:              Adrian Cochrane

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          opensource@openwork.nz
maintainer:          ~alcinnz/harfbuzz-pure@todo.argonaut-constellation.org

bug-reports:         https://todo.argonaut-constellation.org/~alcinnz/harfbuzz-pure

-- A copyright notice.
-- copyright:           
copyright:           Language bindings © 2022, 2023 Adrian Cochrane

category:            Text



@@ 49,6 51,9 @@ extra-source-files:  ChangeLog.md
-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

source-repository head
    type:            git
    location:        https://git.argonaut-constellation.org/~alcinnz/harfbuzz-pure

library
  -- Modules exported by the library.


@@ 61,7 66,7 @@ library
  -- other-extensions:    
  
  -- Other library packages from which modules are imported.
  build-depends:       base >=4.12 && <4.13, text >= 2.0 && < 3,
  build-depends:       base >=4.12 && <4.16, text >= 2.0 && < 3,
                       bytestring >= 0.11, freetype2 >= 0.2, derive-storable >= 0.3 && < 1
  pkgconfig-depends:   harfbuzz >= 3.3