aboutsummaryrefslogtreecommitdiff
path: root/lib/fonts/parseUnicodeMapping.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-02-20 20:52:00 +0100
committerJohn MacFarlane <jgm@berkeley.edu>2017-02-20 20:52:00 +0100
commitce8226f1a7d64da56117d2f7f351e06225a84614 (patch)
tree9f2d716df0230f5f17372f19b8718dcf86039fd9 /lib/fonts/parseUnicodeMapping.hs
parente86e44b98e592d5a5e4c6b43d9b57b195f091ed9 (diff)
parent12d96508c62189b4ff8c8b797d34cc9ef177f5ee (diff)
downloadpandoc-ce8226f1a7d64da56117d2f7f351e06225a84614.tar.gz
Merge commit '9e52ac6bb02afd7b4ed5dad61021a1fa33051203' as 'data/templates'
Diffstat (limited to 'lib/fonts/parseUnicodeMapping.hs')
-rw-r--r--lib/fonts/parseUnicodeMapping.hs40
1 files changed, 0 insertions, 40 deletions
diff --git a/lib/fonts/parseUnicodeMapping.hs b/lib/fonts/parseUnicodeMapping.hs
deleted file mode 100644
index 4f7ff692b..000000000
--- a/lib/fonts/parseUnicodeMapping.hs
+++ /dev/null
@@ -1,40 +0,0 @@
-import System.FilePath
-import Text.Parsec
-import Data.Char
-import System.Environment
-import Control.Applicative hiding (many)
-import Data.List
-
-main :: IO ()
-main = (head <$> getArgs) >>= parseUnicodeMapping
-
-
-parseUnicodeMapping :: FilePath -> IO ()
-parseUnicodeMapping fname = do
- fin <- readFile fname
- let mapname = dropExtension . takeFileName $ fname
- let res = runParse fin
- let header = "-- Generated from " ++ fname ++ "\n" ++
- mapname ++ " :: [(Char, Char)]\n" ++ mapname ++" =\n [ "
- let footer = "]"
- writeFile (replaceExtension fname ".hs")
- (header ++ (concat $ intersperse "\n , " (map show res)) ++ footer)
-
-type Unicode = Char
-
-runParse :: String -> [(Char, Unicode)]
-runParse s= either (error . show) id (parse parseMap "" s)
-
-anyline = manyTill anyChar newline
-
-getHexChar :: Parsec String () Char
-getHexChar = do
- [(c,_)] <- readLitChar . ("\\x" ++) <$> many1 hexDigit
- return c
-
-parseMap :: Parsec String () [(Char, Unicode)]
-parseMap = do
- skipMany (char '#' >> anyline)
- many (flip (,) <$> getHexChar <* tab <*> getHexChar <* anyline)
-
-