~alcinnz/Typograffiti

5df992eaaa44bc5660c49ec47c1398dedf111d47 — Adrian Cochrane 1 year, 10 months ago f655493
Propagate bugfixes to Harfbuzz-Pure.
3 files changed, 1 insertions(+), 8 deletions(-)

M src/Typograffiti/Store.hs
M src/Typograffiti/Text.hs
M typograffiti.cabal
M src/Typograffiti/Store.hs => src/Typograffiti/Store.hs +0 -6
@@ 40,12 40,6 @@ import           Typograffiti.Cache
import           Typograffiti.Text      (GlyphSize(..), drawLinesWrapper, SampleText(..))
import           Typograffiti.Rich      (RichText(..))

-- Since HarfBuzz language bindings neglected to declare these itself.
deriving instance Eq HB.Variation
deriving instance Ord HB.Variation
deriving instance Eq FontOptions
deriving instance Ord FontOptions

-- | Stored fonts at specific sizes.
data FontStore n = FontStore {
    fontMap :: TMVar (Map (FilePath, GlyphSize, Int, FontOptions) Font),

M src/Typograffiti/Text.hs => src/Typograffiti/Text.hs +0 -1
@@ 199,7 199,6 @@ drawLinesWrapper indent lineheight cb RichText {..} = do
            splitFeatures (offset + toEnum n) features' lines'

    processLine :: Text -> Text
    processLine "" = " " -- Prevent Harfbuzz from throwing errors.
    processLine cs = expandTabs 0 cs
    -- monospace tabshaping, good enough outside full line-layout.
    expandTabs n cs = case Txt.break (== '\t') cs of

M typograffiti.cabal => typograffiti.cabal +1 -1
@@ 35,7 35,7 @@ library
      Typograffiti.Rich
  build-depends:       base >=4.12 && <4.13, linear>=1.20, containers >= 0.6,
                        freetype2 >= 0.2, gl >= 0.8, mtl >= 2.2, stm >= 2.5, text,
                        vector >= 0.12, harfbuzz-pure >= 1.0.1, bytestring >= 0.10
                        vector >= 0.12, harfbuzz-pure >= 1.0.2, bytestring >= 0.10
  hs-source-dirs:      src
  default-language:    Haskell2010