diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-02-20 20:52:00 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-02-20 20:52:00 +0100 |
commit | ce8226f1a7d64da56117d2f7f351e06225a84614 (patch) | |
tree | 9f2d716df0230f5f17372f19b8718dcf86039fd9 /lib/fonts/parseUnicodeMapping.hs | |
parent | e86e44b98e592d5a5e4c6b43d9b57b195f091ed9 (diff) | |
parent | 12d96508c62189b4ff8c8b797d34cc9ef177f5ee (diff) | |
download | pandoc-ce8226f1a7d64da56117d2f7f351e06225a84614.tar.gz |
Merge commit '9e52ac6bb02afd7b4ed5dad61021a1fa33051203' as 'data/templates'
Diffstat (limited to 'lib/fonts/parseUnicodeMapping.hs')
-rw-r--r-- | lib/fonts/parseUnicodeMapping.hs | 40 |
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) - - |