module
Hable.Style.Unicode
( UnicodeStyle(..)
, unicodeCharset
, maybeUnicodeCharset
)
where
import Hable.BoxChar
data UnicodeStyle = Normal | Double | Thick
deriving Show
unicodeCharset :: BoxChar UnicodeStyle -> String
unicodeCharset bxChr = maybe
(error "Unknown BoxChar.")
id
(maybeUnicodeCharset bxChr)
maybeUnicodeCharset :: BoxChar UnicodeStyle -> Maybe String
maybeUnicodeCharset (Bar Normal) = Just "│"
maybeUnicodeCharset (Bar Thick ) = Just "┃"
maybeUnicodeCharset (Bar Double) = Just "║"
maybeUnicodeCharset (Dash Normal) = Just "─"
maybeUnicodeCharset (Dash Thick ) = Just "━"
maybeUnicodeCharset (Dash Double) = Just "═"
maybeUnicodeCharset (Angled HLeft Normal VBottom Normal) = Just "┐"
maybeUnicodeCharset (Angled HLeft Normal VBottom Thick ) = Just "┑"
maybeUnicodeCharset (Angled HLeft Normal VBottom Double) = Just "╕"
maybeUnicodeCharset (Angled HLeft Thick VBottom Normal) = Just "┑"
maybeUnicodeCharset (Angled HLeft Thick VBottom Thick ) = Just "┓"
maybeUnicodeCharset (Angled HLeft Double VBottom Normal) = Just "╖"
maybeUnicodeCharset (Angled HLeft Double VBottom Double) = Just "╗"
maybeUnicodeCharset (Angled HLeft Normal VTop Normal) = Just "┘"
maybeUnicodeCharset (Angled HLeft Normal VTop Thick ) = Just "┙"
maybeUnicodeCharset (Angled HLeft Normal VTop Double) = Just "╛"
maybeUnicodeCharset (Angled HLeft Thick VTop Normal) = Just "┚"
maybeUnicodeCharset (Angled HLeft Thick VTop Thick ) = Just "┛"
maybeUnicodeCharset (Angled HLeft Double VTop Normal) = Just "╜"
maybeUnicodeCharset (Angled HLeft Double VTop Double) = Just "╝"
maybeUnicodeCharset (Angled HRight Normal VBottom Normal) = Just "┌"
maybeUnicodeCharset (Angled HRight Thick VBottom Normal) = Just "┎"
maybeUnicodeCharset (Angled HRight Double VBottom Normal) = Just "╓"
maybeUnicodeCharset (Angled HRight Normal VBottom Thick ) = Just "┍"
maybeUnicodeCharset (Angled HRight Thick VBottom Thick ) = Just "┏"
maybeUnicodeCharset (Angled HRight Normal VBottom Double) = Just "╒"
maybeUnicodeCharset (Angled HRight Double VBottom Double) = Just "╔"
maybeUnicodeCharset (Angled HRight Normal VTop Normal) = Just "└"
maybeUnicodeCharset (Angled HRight Normal VTop Thick ) = Just "┕"
maybeUnicodeCharset (Angled HRight Normal VTop Double) = Just "╘"
maybeUnicodeCharset (Angled HRight Thick VTop Normal) = Just "┖"
maybeUnicodeCharset (Angled HRight Thick VTop Thick ) = Just "┗"
maybeUnicodeCharset (Angled HRight Double VTop Normal) = Just "╙"
maybeUnicodeCharset (Angled HRight Double VTop Double) = Just "╚"
maybeUnicodeCharset (Angled HCenter Normal VBottom Normal) = Just "┬"
maybeUnicodeCharset (Angled HCenter Normal VBottom Thick ) = Just "┯"
maybeUnicodeCharset (Angled HCenter Normal VBottom Double) = Just "╤"
maybeUnicodeCharset (Angled HCenter Thick VBottom Normal) = Just "┰"
maybeUnicodeCharset (Angled HCenter Thick VBottom Thick ) = Just "┳"
maybeUnicodeCharset (Angled HCenter Double VBottom Normal) = Just "╥"
maybeUnicodeCharset (Angled HCenter Double VBottom Double) = Just "╦"
maybeUnicodeCharset (Angled HLeft Normal VCenter Normal) = Just "┤"
maybeUnicodeCharset (Angled HLeft Normal VCenter Thick ) = Just "┥"
maybeUnicodeCharset (Angled HLeft Normal VCenter Double) = Just "╡"
maybeUnicodeCharset (Angled HLeft Thick VCenter Normal) = Just "┨"
maybeUnicodeCharset (Angled HLeft Thick VCenter Thick ) = Just "┫"
maybeUnicodeCharset (Angled HLeft Double VCenter Normal) = Just "╢"
maybeUnicodeCharset (Angled HLeft Double VCenter Double) = Just "╣"
maybeUnicodeCharset (Angled HCenter Normal VTop Normal) = Just "┴"
maybeUnicodeCharset (Angled HCenter Normal VTop Thick ) = Just "┷"
maybeUnicodeCharset (Angled HCenter Normal VTop Double) = Just "╧"
maybeUnicodeCharset (Angled HCenter Thick VTop Normal) = Just "┸"
maybeUnicodeCharset (Angled HCenter Thick VTop Thick ) = Just "┻"
maybeUnicodeCharset (Angled HCenter Double VTop Normal) = Just "╧"
maybeUnicodeCharset (Angled HCenter Double VTop Double) = Just "╩"
maybeUnicodeCharset (Angled HRight Normal VCenter Normal) = Just "├"
maybeUnicodeCharset (Angled HRight Thick VCenter Normal) = Just "┠"
maybeUnicodeCharset (Angled HRight Double VCenter Normal) = Just "╟"
maybeUnicodeCharset (Angled HRight Normal VCenter Thick ) = Just "┝"
maybeUnicodeCharset (Angled HRight Thick VCenter Thick ) = Just "┣"
maybeUnicodeCharset (Angled HRight Normal VCenter Double) = Just "╞"
maybeUnicodeCharset (Angled HRight Double VCenter Double) = Just "╠"
maybeUnicodeCharset (Angled HCenter Normal VCenter Normal) = Just "┼"
maybeUnicodeCharset (Angled HCenter Normal VCenter Thick ) = Just "┿"
maybeUnicodeCharset (Angled HCenter Normal VCenter Double) = Just "╪"
maybeUnicodeCharset (Angled HCenter Thick VCenter Normal) = Just "╂"
maybeUnicodeCharset (Angled HCenter Thick VCenter Thick ) = Just "╋"
maybeUnicodeCharset (Angled HCenter Double VCenter Normal) = Just "╫"
maybeUnicodeCharset (Angled HCenter Double VCenter Double) = Just "╬"
maybeUnicodeCharset _ = Nothing