module Terminal.Game.Character where
import Data.Char        as C
import Text.Unidecode   as D
import System.IO.Unsafe as U
import Terminal.Game.Utils
win32SafeChar :: Char -> Char
win32SafeChar :: Char -> Char
win32SafeChar Char
c | Bool
areWeWin32 = Char -> Char
toASCII Char
c
                | Bool
otherwise  = Char
c
    where
          areWeWin32 :: Bool
          areWeWin32 :: Bool
areWeWin32 = IO Bool -> Bool
forall a. IO a -> a
unsafePerformIO IO Bool
isWin32Console
toASCII :: Char -> Char
toASCII :: Char -> Char
toASCII Char
c | Char -> Bool
C.isAscii Char
c         = Char
c
          | Just Char
cm <- Maybe Char
lu       = Char
cm    
          | [Char
cu] <- Char -> [Char]
unidecode Char
c = Char
cu    
          | Bool
otherwise           = Char
'?'   
    where
          lu :: Maybe Char
lu = Char -> [(Char, Char)] -> Maybe Char
forall a b. Eq a => a -> [(a, b)] -> Maybe b
lookup Char
c [(Char, Char)]
subDictionary
subDictionary :: [(Char, Char)]
subDictionary :: [(Char, Char)]
subDictionary = [ 
                  (Char
'«', Char
'<'),
                  (Char
'»', Char
'>'),
                  (Char
'“', Char
'\''),
                  (Char
'”', Char
'\''),
                  (Char
'‘', Char
'\''),
                  (Char
'’', Char
'\''),
                  
                  (Char
'—', Char
'-') ]