{-# LANGUAGE Safe #-}
module Data.Char.Math.Serif.Greek
( greekSerif,
greekSerif',
greekSerifNoBold,
greekSerifNoBold',
greekSerifBold,
greekSerifBold',
greekSerifNoItalic,
greekSerifNoItalic',
greekSerifItalic,
greekSerifItalic',
greekSerifNoBoldNoItalic,
greekSerifNoBoldNoItalic',
greekSerifBoldNoItalic,
greekSerifBoldNoItalic',
greekSerifNoBoldItalic,
greekSerifNoBoldItalic',
greekSerifBoldItalic,
greekSerifBoldItalic',
)
where
import Data.Char.Core (Emphasis, ItalicType, isGreek, splitEmphasis, splitItalicType)
import Data.Char.Math.Internal
greekSerif ::
ItalicType ->
Emphasis ->
Char ->
Maybe Char
greekSerif :: ItalicType -> Emphasis -> Char -> Maybe Char
greekSerif = (Emphasis -> Char -> Maybe Char)
-> (Emphasis -> Char -> Maybe Char)
-> ItalicType
-> Emphasis
-> Char
-> Maybe Char
forall a. a -> a -> ItalicType -> a
splitItalicType Emphasis -> Char -> Maybe Char
greekSerifNoItalic Emphasis -> Char -> Maybe Char
greekSerifItalic
greekSerif' ::
ItalicType ->
Emphasis ->
Char ->
Char
greekSerif' :: ItalicType -> Emphasis -> Char -> Char
greekSerif' = (Emphasis -> Char -> Char)
-> (Emphasis -> Char -> Char)
-> ItalicType
-> Emphasis
-> Char
-> Char
forall a. a -> a -> ItalicType -> a
splitItalicType Emphasis -> Char -> Char
greekSerifNoItalic' Emphasis -> Char -> Char
greekSerifItalic'
greekSerifNoBoldNoItalic' ::
Char ->
Char
greekSerifNoBoldNoItalic' :: Char -> Char
greekSerifNoBoldNoItalic' = Char -> Char
forall a. a -> a
id
greekSerifNoBoldNoItalic ::
Char ->
Maybe Char
greekSerifNoBoldNoItalic :: Char -> Maybe Char
greekSerifNoBoldNoItalic = (Char -> Bool) -> (Char -> Char) -> Char -> Maybe Char
forall a b. (a -> Bool) -> (a -> b) -> a -> Maybe b
_withCondition Char -> Bool
isGreek Char -> Char
greekSerifNoBoldNoItalic'
greekSerifNoBoldItalic' ::
Char ->
Char
greekSerifNoBoldItalic' :: Char -> Char
greekSerifNoBoldItalic' Char
'ϴ' = Char
'𝛳'
greekSerifNoBoldItalic' Char
'∇' = Char
'𝛻'
greekSerifNoBoldItalic' Char
'∂' = Char
'𝜕'
greekSerifNoBoldItalic' Char
'ϵ' = Char
'𝜖'
greekSerifNoBoldItalic' Char
'ϑ' = Char
'𝜗'
greekSerifNoBoldItalic' Char
'ϰ' = Char
'𝜘'
greekSerifNoBoldItalic' Char
'ϕ' = Char
'𝜙'
greekSerifNoBoldItalic' Char
'ϱ' = Char
'𝜚'
greekSerifNoBoldItalic' Char
'ϖ' = Char
'𝜛'
greekSerifNoBoldItalic' Char
c
| Char
'Α' Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
c Bool -> Bool -> Bool
&& Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
'Ω' = Int -> Char -> Char
_baseUpperLower Int
0x1d351 Char
c
| Char
'α' Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
c Bool -> Bool -> Bool
&& Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
'ω' = Int -> Char -> Char
_baseUpperLower Int
0x1d34b Char
c
| Bool
otherwise = Char
c
greekSerifNoBoldItalic ::
Char ->
Maybe Char
greekSerifNoBoldItalic :: Char -> Maybe Char
greekSerifNoBoldItalic = (Char -> Bool) -> (Char -> Char) -> Char -> Maybe Char
forall a b. (a -> Bool) -> (a -> b) -> a -> Maybe b
_withCondition Char -> Bool
isGreek Char -> Char
greekSerifNoBoldItalic'
greekSerifBoldNoItalic' ::
Char ->
Char
greekSerifBoldNoItalic' :: Char -> Char
greekSerifBoldNoItalic' Char
'ϴ' = Char
'𝚹'
greekSerifBoldNoItalic' Char
'∇' = Char
'𝛁'
greekSerifBoldNoItalic' Char
'∂' = Char
'𝛛'
greekSerifBoldNoItalic' Char
'ϵ' = Char
'𝛜'
greekSerifBoldNoItalic' Char
'ϑ' = Char
'𝛝'
greekSerifBoldNoItalic' Char
'ϰ' = Char
'𝛞'
greekSerifBoldNoItalic' Char
'ϕ' = Char
'𝛟'
greekSerifBoldNoItalic' Char
'ϱ' = Char
'𝛠'
greekSerifBoldNoItalic' Char
'ϖ' = Char
'𝛡'
greekSerifBoldNoItalic' Char
c
| Char
'Α' Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
c Bool -> Bool -> Bool
&& Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
'Ω' = Int -> Char -> Char
_baseUpperLower Int
0x1d317 Char
c
| Char
'α' Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
c Bool -> Bool -> Bool
&& Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
'ω' = Int -> Char -> Char
_baseUpperLower Int
0x1d311 Char
c
| Bool
otherwise = Char
c
greekSerifBoldNoItalic ::
Char ->
Maybe Char
greekSerifBoldNoItalic :: Char -> Maybe Char
greekSerifBoldNoItalic = (Char -> Bool) -> (Char -> Char) -> Char -> Maybe Char
forall a b. (a -> Bool) -> (a -> b) -> a -> Maybe b
_withCondition Char -> Bool
isGreek Char -> Char
greekSerifBoldNoItalic'
greekSerifBoldItalic' ::
Char ->
Char
greekSerifBoldItalic' :: Char -> Char
greekSerifBoldItalic' Char
'ϴ' = Char
'𝜭'
greekSerifBoldItalic' Char
'∇' = Char
'𝜵'
greekSerifBoldItalic' Char
'∂' = Char
'𝝏'
greekSerifBoldItalic' Char
'ϵ' = Char
'𝝐'
greekSerifBoldItalic' Char
'ϑ' = Char
'𝝑'
greekSerifBoldItalic' Char
'ϰ' = Char
'𝝒'
greekSerifBoldItalic' Char
'ϕ' = Char
'𝝓'
greekSerifBoldItalic' Char
'ϱ' = Char
'𝝔'
greekSerifBoldItalic' Char
'ϖ' = Char
'𝝕'
greekSerifBoldItalic' Char
c
| Char
'Α' Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
c Bool -> Bool -> Bool
&& Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
'Ω' = Int -> Char -> Char
_baseUpperLower Int
0x1d38b Char
c
| Char
'α' Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
c Bool -> Bool -> Bool
&& Char
c Char -> Char -> Bool
forall a. Ord a => a -> a -> Bool
<= Char
'ω' = Int -> Char -> Char
_baseUpperLower Int
0x1d385 Char
c
| Bool
otherwise = Char
c
greekSerifBoldItalic ::
Char ->
Maybe Char
greekSerifBoldItalic :: Char -> Maybe Char
greekSerifBoldItalic = (Char -> Bool) -> (Char -> Char) -> Char -> Maybe Char
forall a b. (a -> Bool) -> (a -> b) -> a -> Maybe b
_withCondition Char -> Bool
isGreek Char -> Char
greekSerifBoldItalic'
greekSerifBold' ::
ItalicType ->
Char ->
Char
greekSerifBold' :: ItalicType -> Char -> Char
greekSerifBold' = (Char -> Char) -> (Char -> Char) -> ItalicType -> Char -> Char
forall a. a -> a -> ItalicType -> a
splitItalicType Char -> Char
greekSerifBoldNoItalic' Char -> Char
greekSerifBoldItalic'
greekSerifBold ::
ItalicType ->
Char ->
Maybe Char
greekSerifBold :: ItalicType -> Char -> Maybe Char
greekSerifBold = (Char -> Maybe Char)
-> (Char -> Maybe Char) -> ItalicType -> Char -> Maybe Char
forall a. a -> a -> ItalicType -> a
splitItalicType Char -> Maybe Char
greekSerifBoldNoItalic Char -> Maybe Char
greekSerifBoldItalic
greekSerifNoBold' ::
ItalicType ->
Char ->
Char
greekSerifNoBold' :: ItalicType -> Char -> Char
greekSerifNoBold' = (Char -> Char) -> (Char -> Char) -> ItalicType -> Char -> Char
forall a. a -> a -> ItalicType -> a
splitItalicType Char -> Char
greekSerifNoBoldNoItalic' Char -> Char
greekSerifNoBoldItalic'
greekSerifNoBold ::
ItalicType ->
Char ->
Maybe Char
greekSerifNoBold :: ItalicType -> Char -> Maybe Char
greekSerifNoBold = (Char -> Maybe Char)
-> (Char -> Maybe Char) -> ItalicType -> Char -> Maybe Char
forall a. a -> a -> ItalicType -> a
splitItalicType Char -> Maybe Char
greekSerifNoBoldNoItalic Char -> Maybe Char
greekSerifNoBoldItalic
greekSerifItalic' ::
Emphasis ->
Char ->
Char
greekSerifItalic' :: Emphasis -> Char -> Char
greekSerifItalic' = (Char -> Char) -> (Char -> Char) -> Emphasis -> Char -> Char
forall a. a -> a -> Emphasis -> a
splitEmphasis Char -> Char
greekSerifNoBoldItalic' Char -> Char
greekSerifBoldItalic'
greekSerifItalic ::
Emphasis ->
Char ->
Maybe Char
greekSerifItalic :: Emphasis -> Char -> Maybe Char
greekSerifItalic = (Char -> Maybe Char)
-> (Char -> Maybe Char) -> Emphasis -> Char -> Maybe Char
forall a. a -> a -> Emphasis -> a
splitEmphasis Char -> Maybe Char
greekSerifNoBoldItalic Char -> Maybe Char
greekSerifBoldItalic
greekSerifNoItalic' ::
Emphasis ->
Char ->
Char
greekSerifNoItalic' :: Emphasis -> Char -> Char
greekSerifNoItalic' = (Char -> Char) -> (Char -> Char) -> Emphasis -> Char -> Char
forall a. a -> a -> Emphasis -> a
splitEmphasis Char -> Char
greekSerifNoBoldNoItalic' Char -> Char
greekSerifBoldNoItalic'
greekSerifNoItalic ::
Emphasis ->
Char ->
Maybe Char
greekSerifNoItalic :: Emphasis -> Char -> Maybe Char
greekSerifNoItalic = (Char -> Maybe Char)
-> (Char -> Maybe Char) -> Emphasis -> Char -> Maybe Char
forall a. a -> a -> Emphasis -> a
splitEmphasis Char -> Maybe Char
greekSerifNoBoldNoItalic Char -> Maybe Char
greekSerifBoldNoItalic