aboutsummaryrefslogtreecommitdiff
path: root/lib/fonts/parseUnicodeMapping.hs
diff options
context:
space:
mode:
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)
-
-