{-# LANGUAGE PackageImports #-} {-# LANGUAGE OverloadedStrings #-} module Main where import "harfbuzz-pure" Data.Text.Glyphize import "harfbuzz-pure" Data.Text.Glyphize.Buffer import "harfbuzz-pure" Data.Text.Glyphize.Font import Control.Parallel.Strategies (parMap, rpar) import System.Environment import Data.ByteString.Lazy as LBS import Data.ByteString as BS import Data.ByteString.Char8 as UTF8 shapeStr font word = shape font $ defaultBuffer { text = Right $ LBS.fromStrict $ UTF8.pack word } main :: IO () main = do print versionString words <- getArgs if Prelude.null words then print $ guessSegmentProperties $ defaultBuffer { text = Right "Testing, testing"} else do blob <- BS.readFile "assets/Lora-Regular.ttf" let font = createFont $ createFace blob 0 print $ parMap rpar (shapeStr font) words