unicode-tricks-0.14.1.0: Functions to work with unicode blocks more convenient.
Maintainerhapytexeu+gh@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe
LanguageHaskell2010

Data.Char.Braille

Description

Unicode has a Braille segment for Braille with six dot cells, and a segment for Braille with eight dot cells, this module aims to make it more convenient to render such characters.

Synopsis

Datastructures to store the state of the Braille character.

data Braille6 a Source #

A datastructure to render Braille patterns with six dots cells.

Constructors

Braille6 

Fields

  • top :: Row a

    The state of the top row of the Braille character.

  • middle :: Row a

    The state of the middle row of the Braille character.

  • bottom :: Row a

    The state of the bottom row of the Braille character.

Instances

Instances details
Arbitrary1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftArbitrary :: Gen a -> Gen (Braille6 a) #

liftShrink :: (a -> [a]) -> Braille6 a -> [Braille6 a] #

Foldable Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

fold :: Monoid m => Braille6 m -> m #

foldMap :: Monoid m => (a -> m) -> Braille6 a -> m #

foldMap' :: Monoid m => (a -> m) -> Braille6 a -> m #

foldr :: (a -> b -> b) -> b -> Braille6 a -> b #

foldr' :: (a -> b -> b) -> b -> Braille6 a -> b #

foldl :: (b -> a -> b) -> b -> Braille6 a -> b #

foldl' :: (b -> a -> b) -> b -> Braille6 a -> b #

foldr1 :: (a -> a -> a) -> Braille6 a -> a #

foldl1 :: (a -> a -> a) -> Braille6 a -> a #

toList :: Braille6 a -> [a] #

null :: Braille6 a -> Bool #

length :: Braille6 a -> Int #

elem :: Eq a => a -> Braille6 a -> Bool #

maximum :: Ord a => Braille6 a -> a #

minimum :: Ord a => Braille6 a -> a #

sum :: Num a => Braille6 a -> a #

product :: Num a => Braille6 a -> a #

Eq1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftEq :: (a -> b -> Bool) -> Braille6 a -> Braille6 b -> Bool #

Ord1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftCompare :: (a -> b -> Ordering) -> Braille6 a -> Braille6 b -> Ordering #

Traversable Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

traverse :: Applicative f => (a -> f b) -> Braille6 a -> f (Braille6 b) #

sequenceA :: Applicative f => Braille6 (f a) -> f (Braille6 a) #

mapM :: Monad m => (a -> m b) -> Braille6 a -> m (Braille6 b) #

sequence :: Monad m => Braille6 (m a) -> m (Braille6 a) #

Functor Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

fmap :: (a -> b) -> Braille6 a -> Braille6 b #

(<$) :: a -> Braille6 b -> Braille6 a #

NFData1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftRnf :: (a -> ()) -> Braille6 a -> () #

Hashable1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Braille6 a -> Int #

Generic1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

Associated Types

type Rep1 Braille6 :: k -> Type #

Methods

from1 :: forall (a :: k). Braille6 a -> Rep1 Braille6 a #

to1 :: forall (a :: k). Rep1 Braille6 a -> Braille6 a #

Arbitrary a => Arbitrary (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

arbitrary :: Gen (Braille6 a) #

shrink :: Braille6 a -> [Braille6 a] #

Data a => Data (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Braille6 a -> c (Braille6 a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Braille6 a) #

toConstr :: Braille6 a -> Constr #

dataTypeOf :: Braille6 a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Braille6 a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Braille6 a)) #

gmapT :: (forall b. Data b => b -> b) -> Braille6 a -> Braille6 a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Braille6 a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Braille6 a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Braille6 a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Braille6 a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Braille6 a -> m (Braille6 a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Braille6 a -> m (Braille6 a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Braille6 a -> m (Braille6 a) #

Bounded a => Bounded (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Generic (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Associated Types

type Rep (Braille6 a) :: Type -> Type #

Methods

from :: Braille6 a -> Rep (Braille6 a) x #

to :: Rep (Braille6 a) x -> Braille6 a #

Read a => Read (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Show a => Show (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

showsPrec :: Int -> Braille6 a -> ShowS #

show :: Braille6 a -> String #

showList :: [Braille6 a] -> ShowS #

NFData a => NFData (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

rnf :: Braille6 a -> () #

Eq a => Eq (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

(==) :: Braille6 a -> Braille6 a -> Bool #

(/=) :: Braille6 a -> Braille6 a -> Bool #

Ord a => Ord (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

compare :: Braille6 a -> Braille6 a -> Ordering #

(<) :: Braille6 a -> Braille6 a -> Bool #

(<=) :: Braille6 a -> Braille6 a -> Bool #

(>) :: Braille6 a -> Braille6 a -> Bool #

(>=) :: Braille6 a -> Braille6 a -> Bool #

max :: Braille6 a -> Braille6 a -> Braille6 a #

min :: Braille6 a -> Braille6 a -> Braille6 a #

Hashable a => Hashable (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

hashWithSalt :: Int -> Braille6 a -> Int #

hash :: Braille6 a -> Int #

MirrorHorizontal (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

MirrorVertical (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

UnicodeCharacter (Braille6 Bool) Source # 
Instance details

Defined in Data.Char.Braille

UnicodeText (Braille6 Bool) Source # 
Instance details

Defined in Data.Char.Braille

type Rep1 Braille6 Source # 
Instance details

Defined in Data.Char.Braille

type Rep1 Braille6 = D1 ('MetaData "Braille6" "Data.Char.Braille" "unicode-tricks-0.14.1.0-EInLeozqGjBL3vIQTNPsAm" 'False) (C1 ('MetaCons "Braille6" 'PrefixI 'True) (S1 ('MetaSel ('Just "top") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row) :*: (S1 ('MetaSel ('Just "middle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row) :*: S1 ('MetaSel ('Just "bottom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row))))
type Rep (Braille6 a) Source # 
Instance details

Defined in Data.Char.Braille

type Rep (Braille6 a) = D1 ('MetaData "Braille6" "Data.Char.Braille" "unicode-tricks-0.14.1.0-EInLeozqGjBL3vIQTNPsAm" 'False) (C1 ('MetaCons "Braille6" 'PrefixI 'True) (S1 ('MetaSel ('Just "top") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)) :*: (S1 ('MetaSel ('Just "middle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)) :*: S1 ('MetaSel ('Just "bottom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)))))

data Braille a Source #

A datastructure to render Braille patterns with eight dots cells.

Constructors

Braille 

Fields

  • row1 :: Row a

    The state of the top row of the Braille character.

  • row2 :: Row a

    The state of the second row of the Braille character.

  • row3 :: Row a

    The state of the third row of the Braille character.

  • row4 :: Row a

    The state of the bottom row of the Braille character.

Instances

Instances details
Arbitrary1 Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftArbitrary :: Gen a -> Gen (Braille a) #

liftShrink :: (a -> [a]) -> Braille a -> [Braille a] #

Foldable Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

fold :: Monoid m => Braille m -> m #

foldMap :: Monoid m => (a -> m) -> Braille a -> m #

foldMap' :: Monoid m => (a -> m) -> Braille a -> m #

foldr :: (a -> b -> b) -> b -> Braille a -> b #

foldr' :: (a -> b -> b) -> b -> Braille a -> b #

foldl :: (b -> a -> b) -> b -> Braille a -> b #

foldl' :: (b -> a -> b) -> b -> Braille a -> b #

foldr1 :: (a -> a -> a) -> Braille a -> a #

foldl1 :: (a -> a -> a) -> Braille a -> a #

toList :: Braille a -> [a] #

null :: Braille a -> Bool #

length :: Braille a -> Int #

elem :: Eq a => a -> Braille a -> Bool #

maximum :: Ord a => Braille a -> a #

minimum :: Ord a => Braille a -> a #

sum :: Num a => Braille a -> a #

product :: Num a => Braille a -> a #

Eq1 Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftEq :: (a -> b -> Bool) -> Braille a -> Braille b -> Bool #

Ord1 Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftCompare :: (a -> b -> Ordering) -> Braille a -> Braille b -> Ordering #

Traversable Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

traverse :: Applicative f => (a -> f b) -> Braille a -> f (Braille b) #

sequenceA :: Applicative f => Braille (f a) -> f (Braille a) #

mapM :: Monad m => (a -> m b) -> Braille a -> m (Braille b) #

sequence :: Monad m => Braille (m a) -> m (Braille a) #

Functor Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

fmap :: (a -> b) -> Braille a -> Braille b #

(<$) :: a -> Braille b -> Braille a #

NFData1 Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftRnf :: (a -> ()) -> Braille a -> () #

Hashable1 Braille Source # 
Instance details

Defined in Data.Char.Braille

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Braille a -> Int #

Generic1 Braille Source # 
Instance details

Defined in Data.Char.Braille

Associated Types

type Rep1 Braille :: k -> Type #

Methods

from1 :: forall (a :: k). Braille a -> Rep1 Braille a #

to1 :: forall (a :: k). Rep1 Braille a -> Braille a #

Arbitrary a => Arbitrary (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

arbitrary :: Gen (Braille a) #

shrink :: Braille a -> [Braille a] #

Data a => Data (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Braille a -> c (Braille a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Braille a) #

toConstr :: Braille a -> Constr #

dataTypeOf :: Braille a -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Braille a)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Braille a)) #

gmapT :: (forall b. Data b => b -> b) -> Braille a -> Braille a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Braille a -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Braille a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Braille a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Braille a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Braille a -> m (Braille a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Braille a -> m (Braille a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Braille a -> m (Braille a) #

Bounded a => Bounded (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Generic (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Associated Types

type Rep (Braille a) :: Type -> Type #

Methods

from :: Braille a -> Rep (Braille a) x #

to :: Rep (Braille a) x -> Braille a #

Read a => Read (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Show a => Show (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

showsPrec :: Int -> Braille a -> ShowS #

show :: Braille a -> String #

showList :: [Braille a] -> ShowS #

NFData a => NFData (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

rnf :: Braille a -> () #

Eq a => Eq (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

(==) :: Braille a -> Braille a -> Bool #

(/=) :: Braille a -> Braille a -> Bool #

Ord a => Ord (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

compare :: Braille a -> Braille a -> Ordering #

(<) :: Braille a -> Braille a -> Bool #

(<=) :: Braille a -> Braille a -> Bool #

(>) :: Braille a -> Braille a -> Bool #

(>=) :: Braille a -> Braille a -> Bool #

max :: Braille a -> Braille a -> Braille a #

min :: Braille a -> Braille a -> Braille a #

Hashable a => Hashable (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

Methods

hashWithSalt :: Int -> Braille a -> Int #

hash :: Braille a -> Int #

MirrorHorizontal (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

MirrorVertical (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

UnicodeCharacter (Braille Bool) Source # 
Instance details

Defined in Data.Char.Braille

UnicodeText (Braille Bool) Source # 
Instance details

Defined in Data.Char.Braille

type Rep1 Braille Source # 
Instance details

Defined in Data.Char.Braille

type Rep1 Braille = D1 ('MetaData "Braille" "Data.Char.Braille" "unicode-tricks-0.14.1.0-EInLeozqGjBL3vIQTNPsAm" 'False) (C1 ('MetaCons "Braille" 'PrefixI 'True) ((S1 ('MetaSel ('Just "row1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row) :*: S1 ('MetaSel ('Just "row2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row)) :*: (S1 ('MetaSel ('Just "row3") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row) :*: S1 ('MetaSel ('Just "row4") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Row))))
type Rep (Braille a) Source # 
Instance details

Defined in Data.Char.Braille

type Rep (Braille a) = D1 ('MetaData "Braille" "Data.Char.Braille" "unicode-tricks-0.14.1.0-EInLeozqGjBL3vIQTNPsAm" 'False) (C1 ('MetaCons "Braille" 'PrefixI 'True) ((S1 ('MetaSel ('Just "row1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)) :*: S1 ('MetaSel ('Just "row2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a))) :*: (S1 ('MetaSel ('Just "row3") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)) :*: S1 ('MetaSel ('Just "row4") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Row a)))))

Converting Braille6 to Braille

toBraille Source #

Arguments

:: Braille6 Bool

The given Braille6 value to convert.

-> Braille Bool

A Braille value that uses as bottom two times False.

Convert a Braille6 value to a Braille6 character by setting the bottom row with two False values.

toBraille' Source #

Arguments

:: a

The value to put in the cells of the bottom row.

-> Braille6 a

The given Braille6 value to convert.

-> Braille a

A Braille value that uses as bottom two values given as first parameter.

Convert a Braille6 value to a Braille character, by putting in a given value at the two values at the bottom row.

Rendering Braille characters.

braille6 :: Braille6 Bool -> Char Source #

Convert the given Braille6 value to a unicode character representing this Braille value.

braille :: Braille Bool -> Char Source #

Convert the given Braille value to a unicode character representing this braille value.

Converting a character to Braille

fromBraille6 Source #

Arguments

:: Char

The given Character to convert.

-> Maybe (Braille6 Bool)

The equivalent Braille6 object of Bools wrapped in a Just if it exists; Nothing otherwise.

Convert the given Character to a Braille6 object of Bools wrapped in a Just. If the given character is not a Braille character, or a Braille character where the lowest row contains filled dots, Nothing is returned.

fromBraille6' Source #

Arguments

:: Char

The given Character to convert.

-> Braille6 Bool

The corresponding Braille6 object of Bools.

Convert the given Character to a Braille6 object of Bools. If the given character is not a Braille character, or a Braille character where the lowest row contains filled dots, then the result is unspecified.

fromBraille Source #

Arguments

:: Char

The given Character to convert.

-> Maybe (Braille Bool)

The equivalent Braille6 object of Bools wrapped in a Just if it exists; Nothing otherwise.

Convert the given Character to a Braille object of Bools wrapped in a Just. If the given character is not a Braille character, Nothing is returned.

fromBraille' Source #

Arguments

:: Char

The given Character to convert.

-> Braille Bool

The corresponding Braille object of Bools.

Convert the given Character to a Braille object of Bools. If the given character is not a Braille character, the result is unspecified.