summaryrefslogtreecommitdiff
path: root/lib/Graphics/Fountainhead.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-02-06 12:14:07 +0100
committerEugen Wissner <belka@caraus.de>2024-02-06 12:14:07 +0100
commit23271d6f6cf033230106f07ae14985f3b85f906a (patch)
tree4299eb1ccae58f52a450bf86497b311e1f31ccad /lib/Graphics/Fountainhead.hs
parent3160ceab080fca8fef0cf2cf196b46284d15c19f (diff)
downloadfountainhead-23271d6f6cf033230106f07ae14985f3b85f906a.tar.gz
Add an option for dumping a single table
Diffstat (limited to 'lib/Graphics/Fountainhead.hs')
-rw-r--r--lib/Graphics/Fountainhead.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Graphics/Fountainhead.hs b/lib/Graphics/Fountainhead.hs
index 3852d51..8e36517 100644
--- a/lib/Graphics/Fountainhead.hs
+++ b/lib/Graphics/Fountainhead.hs
@@ -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