{-# LANGUAGE OverloadedStrings #-}
module Text.TeXMath.Unicode.Fonts (getUnicode, Font(..), textToFont) where
import qualified Data.Map as M
import qualified Data.Text as T
data Font = Symbol
deriving (Show, Eq)
textToFont :: T.Text -> Maybe Font
textToFont "Symbol" = Just Symbol
textToFont _ = Nothing
getUnicode :: Font -> Char -> Maybe Char
getUnicode Symbol c = M.lookup c symbol
symbol :: M.Map Char Char
symbol = M.fromList
[ (' ',' ')
, (' ','\160')
, ('!','!')
, ('"','\8704')
, ('#','#')
, ('$','\8707')
, ('%','%')
, ('&','&')
, ('\'','\8715')
, ('(','(')
, (')',')')
, ('*','\8727')
, ('+','+')
, (',',',')
, ('-','\8722')
, ('.','.')
, ('/','/')
, ('0','0')
, ('1','1')
, ('2','2')
, ('3','3')
, ('4','4')
, ('5','5')
, ('6','6')
, ('7','7')
, ('8','8')
, ('9','9')
, (':',':')
, (';',';')
, ('<','<')
, ('=','=')
, ('>','>')
, ('?','?')
, ('@','\8773')
, ('A','\913')
, ('B','\914')
, ('C','\935')
, ('D','\916')
, ('D','\8710')
, ('E','\917')
, ('F','\934')
, ('G','\915')
, ('H','\919')
, ('I','\921')
, ('J','\977')
, ('K','\922')
, ('L','\923')
, ('M','\924')
, ('N','\925')
, ('O','\927')
, ('P','\928')
, ('Q','\920')
, ('R','\929')
, ('S','\931')
, ('T','\932')
, ('U','\933')
, ('V','\962')
, ('W','\937')
, ('W','\8486')
, ('X','\926')
, ('Y','\936')
, ('Z','\918')
, ('[','[')
, ('\\','\8756')
, (']',']')
, ('^','\8869')
, ('_','_')
, ('`','\63717')
, ('a','\945')
, ('b','\946')
, ('c','\967')
, ('d','\948')
, ('e','\949')
, ('f','\966')
, ('g','\947')
, ('h','\951')
, ('i','\953')
, ('j','\981')
, ('k','\954')
, ('l','\955')
, ('m','\181')
, ('m','\956')
, ('n','\957')
, ('o','\959')
, ('p','\960')
, ('q','\952')
, ('r','\961')
, ('s','\963')
, ('t','\964')
, ('u','\965')
, ('v','\982')
, ('w','\969')
, ('x','\958')
, ('y','\968')
, ('z','\950')
, ('{','{')
, ('|','|')
, ('}','}')
, ('~','\8764')
, ('\160','\8364')
, ('\161','\978')
, ('\162','\8242')
, ('\163','\8804')
, ('\164','\8260')
, ('\164','\8725')
, ('\165','\8734')
, ('\166','\402')
, ('\167','\9827')
, ('\168','\9830')
, ('\169','\9829')
, ('\170','\9824')
, ('\171','\8596')
, ('\172','\8592')
, ('\173','\8593')
, ('\174','\8594')
, ('\175','\8595')
, ('\176','\176')
, ('\177','\177')
, ('\178','\8243')
, ('\179','\8805')
, ('\180','\215')
, ('\181','\8733')
, ('\182','\8706')
, ('\183','\8226')
, ('\184','\247')
, ('\185','\8800')
, ('\186','\8801')
, ('\187','\8776')
, ('\188','\8230')
, ('\189','\63718')
, ('\190','\63719')
, ('\191','\8629')
, ('\192','\8501')
, ('\193','\8465')
, ('\194','\8476')
, ('\195','\8472')
, ('\196','\8855')
, ('\197','\8853')
, ('\198','\8709')
, ('\199','\8745')
, ('\200','\8746')
, ('\201','\8835')
, ('\202','\8839')
, ('\203','\8836')
, ('\204','\8834')
, ('\205','\8838')
, ('\206','\8712')
, ('\207','\8713')
, ('\208','\8736')
, ('\209','\8711')
, ('\210','\63194')
, ('\211','\63193')
, ('\212','\63195')
, ('\213','\8719')
, ('\214','\8730')
, ('\215','\8901')
, ('\216','\172')
, ('\217','\8743')
, ('\218','\8744')
, ('\219','\8660')
, ('\220','\8656')
, ('\221','\8657')
, ('\222','\8658')
, ('\223','\8659')
, ('\224','\9674')
, ('\225','\9001')
, ('\226','\63720')
, ('\227','\63721')
, ('\228','\63722')
, ('\229','\8721')
, ('\230','\63723')
, ('\231','\63724')
, ('\232','\63725')
, ('\233','\63726')
, ('\234','\63727')
, ('\235','\63728')
, ('\236','\63729')
, ('\237','\63730')
, ('\238','\63731')
, ('\239','\63732')
, ('\241','\9002')
, ('\242','\8747')
, ('\243','\8992')
, ('\244','\63733')
, ('\245','\8993')
, ('\246','\63734')
, ('\247','\63735')
, ('\248','\63736')
, ('\249','\63737')
, ('\250','\63738')
, ('\251','\63739')
, ('\252','\63740')
, ('\253','\63741')
, ('\254','\63742')]