Add an option for dumping a single table
This commit is contained in:
@@ -10,7 +10,7 @@ module Graphics.Fountainhead
|
||||
|
||||
import Data.ByteString (ByteString)
|
||||
import Data.Void (Void)
|
||||
import Graphics.Fountainhead.Dumper (dumpTables, DumpError(..))
|
||||
import Graphics.Fountainhead.Dumper (dumpTable, dumpTables, DumpError(..))
|
||||
import Graphics.Fountainhead.Parser (ParseErrorBundle, fontDirectoryP)
|
||||
import Graphics.Fountainhead.TrueType (FontDirectory(..))
|
||||
import qualified Text.Megaparsec as Megaparsec
|
||||
@@ -42,8 +42,8 @@ parseFontDirectoryFromFile fontFile =
|
||||
}
|
||||
in Megaparsec.runParser' fontDirectoryP initialState
|
||||
|
||||
dumpFontFile :: FilePath -> IO (Either DumpError Text.Builder.Builder)
|
||||
dumpFontFile fontFile = do
|
||||
dumpFontFile :: FilePath -> Maybe String -> IO (Either DumpError Text.Builder.Builder)
|
||||
dumpFontFile fontFile tableName = do
|
||||
let dumpRequest = maybe dumpTables dumpTable tableName
|
||||
(processedState, initialResult) <- parseFontDirectoryFromFile fontFile
|
||||
|
||||
pure $ first DumpParseError initialResult >>= dumpTables processedState
|
||||
pure $ first DumpParseError initialResult >>= dumpRequest processedState
|
||||
|
Reference in New Issue
Block a user