{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE ViewPatterns #-}
module Language.IPA
( module M
, ReprIPA(..)
) where
import Data.Char ( digitToInt )
import Data.Text ( Text )
import qualified Data.Text as T
import Language.IPA.Types as M
class ReprIPA a where
toIPA :: a -> Maybe IPA
toIPA' :: a -> IPA
toIPA' (a -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA -> Just x :: IPA
x) = IPA
x
toIPA' _ = [Char] -> IPA
forall a. HasCallStack => [Char] -> a
error "Illegal/unrepresentable value"
instance Traversable t => ReprIPA (Syllable t) where
toIPA :: Syllable t -> Maybe IPA
toIPA = \case
Syllable ss :: t Segment
ss
| t Segment -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null t Segment
ss -> Maybe IPA
forall a. Maybe a
Nothing
| Bool
otherwise -> (IPA -> IPA -> IPA) -> t IPA -> IPA
forall (t :: * -> *) a. Foldable t => (a -> a -> a) -> t a -> a
foldr1 IPA -> IPA -> IPA
forall a. Semigroup a => a -> a -> a
(<>) (t IPA -> IPA) -> Maybe (t IPA) -> Maybe IPA
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Segment -> Maybe IPA) -> t Segment -> Maybe (t IPA)
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse Segment -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA t Segment
ss
WithSuprasegmentalFeature feature :: SuprasegmentalFeature
feature s :: Syllable t
s ->
Syllable t -> SuprasegmentalFeature -> Maybe IPA
forall (t :: * -> *).
Traversable t =>
Syllable t -> SuprasegmentalFeature -> Maybe IPA
withSuprasegmentalFeature Syllable t
s SuprasegmentalFeature
feature
instance ReprIPA Segment where
toIPA :: Segment -> Maybe IPA
toIPA = \case
Zero -> Text -> Maybe IPA
mkJustIPA "∅"
Consonant c :: Consonant
c -> Consonant -> Maybe IPA
consonant Consonant
c
v :: Segment
v@Vowel {} -> Segment -> Maybe IPA
vowel Segment
v
WithSegmentalFeature feature :: SegmentalFeature
feature s :: Segment
s -> Segment -> SegmentalFeature -> Maybe IPA
withSegmentalFeature Segment
s SegmentalFeature
feature
mkJustIPA :: Text -> Maybe IPA
mkJustIPA :: Text -> Maybe IPA
mkJustIPA = IPA -> Maybe IPA
forall a. a -> Maybe a
Just (IPA -> Maybe IPA) -> (Text -> IPA) -> Text -> Maybe IPA
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> IPA
mkIPA
mkIPAOp :: ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp :: (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp f :: b -> Maybe IPA
f x :: a
x y :: b
y = IPA -> IPA -> IPA
forall a. Semigroup a => a -> a -> a
(<>) (IPA -> IPA -> IPA) -> Maybe IPA -> Maybe (IPA -> IPA)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> a -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA a
x Maybe (IPA -> IPA) -> Maybe IPA -> Maybe IPA
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> b -> Maybe IPA
f b
y
withSuprasegmentalFeature
:: Traversable t => Syllable t -> SuprasegmentalFeature -> Maybe IPA
withSuprasegmentalFeature :: Syllable t -> SuprasegmentalFeature -> Maybe IPA
withSuprasegmentalFeature s :: Syllable t
s = \case
LevelLexicalTone tone :: LevelTone
tone -> (LevelTone -> Maybe IPA) -> Syllable t -> LevelTone -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp LevelTone -> Maybe IPA
ipaTone Syllable t
s LevelTone
tone
where
ipaTone :: LevelTone -> Maybe IPA
ipaTone = \case
ExtraHighTone -> Text -> Maybe IPA
mkJustIPA "˥"
HighTone -> Text -> Maybe IPA
mkJustIPA "˦"
MidTone -> Text -> Maybe IPA
mkJustIPA "˧"
LowTone -> Text -> Maybe IPA
mkJustIPA "˨"
ExtraLowTone -> Text -> Maybe IPA
mkJustIPA "˩"
_ -> Maybe IPA
forall a. Maybe a
Nothing
LevelLexicalToneDiacritic tone :: LevelTone
tone -> (LevelTone -> Maybe IPA) -> Syllable t -> LevelTone -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp LevelTone -> Maybe IPA
ipaTone Syllable t
s LevelTone
tone
where
ipaTone :: LevelTone -> Maybe IPA
ipaTone = \case
ExtraHighTone -> Text -> Maybe IPA
mkJustIPA "\x030b"
HighTone -> Text -> Maybe IPA
mkJustIPA "\x0341"
MidTone -> Text -> Maybe IPA
mkJustIPA "\x0304"
LowTone -> Text -> Maybe IPA
mkJustIPA "\x0340"
ExtraLowTone -> Text -> Maybe IPA
mkJustIPA "\x030f"
DownStep -> Text -> Maybe IPA
mkJustIPA "ꜜ"
UpStep -> Text -> Maybe IPA
mkJustIPA "ꜛ"
LexicalToneContour tone :: ToneContour
tone -> (ToneContour -> Maybe IPA)
-> Syllable t -> ToneContour -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp ToneContour -> Maybe IPA
ipaToneContour Syllable t
s ToneContour
tone
where
ipaToneContour :: ToneContour -> Maybe IPA
ipaToneContour = \case
Rising -> Text -> Maybe IPA
mkJustIPA "˩˥"
Falling -> Text -> Maybe IPA
mkJustIPA "˥˩"
HighRising -> Text -> Maybe IPA
mkJustIPA "˧˥"
LowRising -> Text -> Maybe IPA
mkJustIPA "˩˧"
HighFalling -> Text -> Maybe IPA
mkJustIPA "˥˧"
LowFalling -> Text -> Maybe IPA
mkJustIPA "˧˩"
RisingFalling -> Text -> Maybe IPA
mkJustIPA "˧˦˨"
FallingRising -> Text -> Maybe IPA
mkJustIPA "˧˨˦"
GlobalRise -> Text -> Maybe IPA
mkJustIPA "↗"
GlobalFall -> Text -> Maybe IPA
mkJustIPA "↙"
LexicalToneContourDiacritic tone :: ToneContour
tone -> (ToneContour -> Maybe IPA)
-> Syllable t -> ToneContour -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp ToneContour -> Maybe IPA
ipaToneContour Syllable t
s ToneContour
tone
where
ipaToneContour :: ToneContour -> Maybe IPA
ipaToneContour = \case
Rising -> Text -> Maybe IPA
mkJustIPA "\x0302"
Falling -> Text -> Maybe IPA
mkJustIPA "\x030c"
HighRising -> Text -> Maybe IPA
mkJustIPA "\x1dc9"
LowRising -> Text -> Maybe IPA
mkJustIPA "\x1dc5"
HighFalling -> Text -> Maybe IPA
mkJustIPA "\x1dc7"
LowFalling -> Text -> Maybe IPA
mkJustIPA "\x1dc6"
RisingFalling -> Text -> Maybe IPA
mkJustIPA "\x1dc8"
FallingRising -> Text -> Maybe IPA
mkJustIPA "\x1dc9"
_ -> Maybe IPA
forall a. Maybe a
Nothing
Stress stress :: Stress
stress -> (Stress -> Maybe IPA) -> Syllable t -> Stress -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp Stress -> Maybe IPA
ipaStress Syllable t
s Stress
stress
where
ipaStress :: Stress -> Maybe IPA
ipaStress Primary = Text -> Maybe IPA
mkJustIPA "ˈ"
ipaStress Secondary = Text -> Maybe IPA
mkJustIPA "ˌ"
Break -> IPA -> IPA -> IPA
forall a. Semigroup a => a -> a -> a
(<>) (IPA -> IPA -> IPA) -> Maybe IPA -> Maybe (IPA -> IPA)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Syllable t -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA Syllable t
s Maybe (IPA -> IPA) -> Maybe IPA -> Maybe IPA
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text -> Maybe IPA
mkJustIPA "."
Linking -> IPA -> IPA -> IPA
forall a. Semigroup a => a -> a -> a
(<>) (IPA -> IPA -> IPA) -> Maybe IPA -> Maybe (IPA -> IPA)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Syllable t -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA Syllable t
s Maybe (IPA -> IPA) -> Maybe IPA -> Maybe IPA
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text -> Maybe IPA
mkJustIPA "‿"
withSegmentalFeature :: Segment -> SegmentalFeature -> Maybe IPA
withSegmentalFeature :: Segment -> SegmentalFeature -> Maybe IPA
withSegmentalFeature s :: Segment
s = \case
Voicing v :: Phonation
v -> (Phonation -> Maybe IPA) -> Segment -> Phonation -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp Phonation -> Maybe IPA
ipaVoicing Segment
s Phonation
v
where
ipaVoicing :: Phonation -> Maybe IPA
ipaVoicing = \case
Voiceless -> Text -> Maybe IPA
mkJustIPA "\x030a"
Voiced -> Text -> Maybe IPA
mkJustIPA "\x030c"
Length l :: Length
l -> (Length -> Maybe IPA) -> Segment -> Length -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp Length -> Maybe IPA
ipaLength Segment
s Length
l
where
ipaLength :: Length -> Maybe IPA
ipaLength = \case
OverLong -> Text -> Maybe IPA
mkJustIPA "ːː"
HalfLong -> Text -> Maybe IPA
mkJustIPA "ˑ"
Long -> Text -> Maybe IPA
mkJustIPA "ː"
Short -> Text -> Maybe IPA
mkJustIPA Text
forall a. Monoid a => a
mempty
ExtraShort -> Text -> Maybe IPA
mkJustIPA "\x0306"
SecondaryArticulation sa :: Segment
sa -> (Segment -> Maybe IPA) -> Segment -> Segment -> Maybe IPA
forall a b. ReprIPA a => (b -> Maybe IPA) -> a -> b -> Maybe IPA
mkIPAOp Segment -> Maybe IPA
secondaryArticulation Segment
s Segment
sa
SuperScriptNumeric ns :: Int
ns -> IPA -> IPA -> IPA
forall a. Semigroup a => a -> a -> a
(<>) (IPA -> IPA -> IPA) -> Maybe IPA -> Maybe (IPA -> IPA)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Segment -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA Segment
s Maybe (IPA -> IPA) -> Maybe IPA -> Maybe IPA
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Text -> Maybe IPA
mkJustIPA Text
digits
where
digits :: Text
digits = [Text] -> Text
T.concat ([Text] -> Text) -> [Text] -> Text
forall a b. (a -> b) -> a -> b
$ [Char] -> Text
T.pack ([Char] -> Text) -> [[Char]] -> [Text]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Int -> [Char]
code (Int -> [Char]) -> (Char -> Int) -> Char -> [Char]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Int
digitToInt (Char -> [Char]) -> [Char] -> [[Char]]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Int -> [Char]
forall a. Show a => a -> [Char]
show Int
ns)
code :: Int -> [Char]
code = \case
0 -> "\x2070"
1 -> "\x00b9"
2 -> "\x00b2"
3 -> "\x00b3"
4 -> "\x2074"
5 -> "\x2075"
6 -> "\x2076"
7 -> "\x2077"
8 -> "\x2078"
9 -> "\x2079"
_ -> [Char]
forall a. Monoid a => a
mempty
feature :: SegmentalFeature
feature -> IPA -> IPA -> IPA
forall a. Semigroup a => a -> a -> a
(<>) (IPA -> IPA -> IPA) -> Maybe IPA -> Maybe (IPA -> IPA)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Segment -> Maybe IPA
forall a. ReprIPA a => a -> Maybe IPA
toIPA Segment
s Maybe (IPA -> IPA) -> Maybe IPA -> Maybe IPA
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> case SegmentalFeature
feature of
Aspirated -> Text -> Maybe IPA
mkJustIPA "\x02b0"
MoreRounded -> Text -> Maybe IPA
mkJustIPA "\x0339"
LessRounded -> Text -> Maybe IPA
mkJustIPA "\x031c"
Advanced -> Text -> Maybe IPA
mkJustIPA "\x031f"
Retracted -> Text -> Maybe IPA
mkJustIPA "\x0320"
Centralized -> Text -> Maybe IPA
mkJustIPA "\x0308"
MidCentralized -> Text -> Maybe IPA
mkJustIPA "\x033d"
Compressed -> Text -> Maybe IPA
mkJustIPA "\x1d5d"
Syllabic -> Text -> Maybe IPA
mkJustIPA "\x0329"
NonSyllabic -> Text -> Maybe IPA
mkJustIPA "\x032f"
Rhotacized -> Text -> Maybe IPA
mkJustIPA "\x02de"
BreathyVoice -> Text -> Maybe IPA
mkJustIPA "\x0324"
CreakyVoice -> Text -> Maybe IPA
mkJustIPA "\x0330"
LinguoLabialized -> Text -> Maybe IPA
mkJustIPA "\x033c"
Labialized -> Text -> Maybe IPA
mkJustIPA "\x02b7"
Palatalized -> Text -> Maybe IPA
mkJustIPA "\x02b2"
Velarized -> Text -> Maybe IPA
mkJustIPA "\x02e0"
Pharyngealized -> Text -> Maybe IPA
mkJustIPA "\x02e4"
Raised -> Text -> Maybe IPA
mkJustIPA "\x031d"
Lowered -> Text -> Maybe IPA
mkJustIPA "\x031e"
AdvancedTongueRoot -> Text -> Maybe IPA
mkJustIPA "\x0318"
RetractedTongueRoot -> Text -> Maybe IPA
mkJustIPA "\x0319"
Dentalized -> Text -> Maybe IPA
mkJustIPA "\x032a"
Apical -> Text -> Maybe IPA
mkJustIPA "\x033a"
Laminal -> Text -> Maybe IPA
mkJustIPA "\x033b"
Nasalized -> Text -> Maybe IPA
mkJustIPA "\x0303"
NasalRelease -> Text -> Maybe IPA
mkJustIPA "\x207f"
LateralRelease -> Text -> Maybe IPA
mkJustIPA "\x02e1"
NoAudibleRelease -> Text -> Maybe IPA
mkJustIPA "\x031a"
_ -> Text -> Maybe IPA
mkJustIPA ""
consonant :: Consonant -> Maybe IPA
consonant :: Consonant -> Maybe IPA
consonant = \case
Pulmonic Voiceless Bilabial Nasal -> Text -> Maybe IPA
mkJustIPA "m̥"
Pulmonic Voiced Bilabial Nasal -> Text -> Maybe IPA
mkJustIPA "m"
Pulmonic Voiced Bilabial Plosive -> Text -> Maybe IPA
mkJustIPA "b"
Pulmonic Voiceless Bilabial Plosive -> Text -> Maybe IPA
mkJustIPA "p"
Pulmonic Voiceless Bilabial (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "p͡ɸ"
Pulmonic Voiced Bilabial (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "b͡β"
Pulmonic Voiceless Bilabial (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɸ"
Pulmonic Voiced Bilabial (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "β"
Pulmonic Voiced Bilabial Flap -> Text -> Maybe IPA
mkJustIPA "ⱱ̟"
Pulmonic Voiceless Bilabial Trill -> Text -> Maybe IPA
mkJustIPA "ʙ̥"
Pulmonic Voiced Bilabial Trill -> Text -> Maybe IPA
mkJustIPA "ʙ"
Pulmonic Voiced LabioDental Nasal -> Text -> Maybe IPA
mkJustIPA "ɱ"
Pulmonic Voiceless LabioDental Plosive -> Text -> Maybe IPA
mkJustIPA "p̪"
Pulmonic Voiced LabioDental Plosive -> Text -> Maybe IPA
mkJustIPA "b̪"
Pulmonic Voiceless LabioDental (Affricate NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "p̪͡f"
Pulmonic Voiced LabioDental (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "b̪͡v"
Pulmonic Voiceless LabioDental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "f"
Pulmonic Voiced LabioDental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "v"
Pulmonic Voiced LabioDental Approximant -> Text -> Maybe IPA
mkJustIPA "ʋ"
Pulmonic Voiced LabioDental Flap -> Text -> Maybe IPA
mkJustIPA "ⱱ"
Pulmonic Voiced LinguoLabial Nasal -> Text -> Maybe IPA
mkJustIPA "n̼"
Pulmonic Voiceless LinguoLabial Plosive -> Text -> Maybe IPA
mkJustIPA "t̼"
Pulmonic Voiced LinguoLabial Plosive -> Text -> Maybe IPA
mkJustIPA "d̼"
Pulmonic Voiceless LinguoLabial (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "θ̼ "
Pulmonic Voiced LinguoLabial (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ð̼"
Pulmonic Voiced LinguoLabial Flap -> Text -> Maybe IPA
mkJustIPA "ɾ̼"
Pulmonic Voiceless Dental (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "t̼͡θ"
Pulmonic Voiced Dental (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "d̼͡ð"
Pulmonic Voiceless Dental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "θ"
Pulmonic Voiced Dental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ð"
Pulmonic Voiceless Alveolar Nasal -> Text -> Maybe IPA
mkJustIPA "n̥"
Pulmonic Voiced Alveolar Nasal -> Text -> Maybe IPA
mkJustIPA "n"
Pulmonic Voiceless Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "t"
Pulmonic Voiced Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "d"
Pulmonic Voiceless Alveolar (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "t͡s"
Pulmonic Voiced Alveolar (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "d͡z"
Pulmonic Voiceless Alveolar (Affricate NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "t͡ɹ̝̊"
Pulmonic Voiced Alveolar (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "d͡ɹ̝"
Pulmonic Voiceless Alveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "s"
Pulmonic Voiced Alveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "z"
Pulmonic Voiced Alveolar Approximant -> Text -> Maybe IPA
mkJustIPA "ɹ"
Pulmonic Voiceless Alveolar Flap -> Text -> Maybe IPA
mkJustIPA "ɾ̥"
Pulmonic Voiced Alveolar Flap -> Text -> Maybe IPA
mkJustIPA "ɾ"
Pulmonic Voiceless Alveolar Trill -> Text -> Maybe IPA
mkJustIPA "r"
Pulmonic Voiced Alveolar Trill -> Text -> Maybe IPA
mkJustIPA "r̥"
Pulmonic Voiceless Alveolar LateralAffricate -> Text -> Maybe IPA
mkJustIPA "tɬ"
Pulmonic Voiced Alveolar LateralAffricate -> Text -> Maybe IPA
mkJustIPA "dɮ"
Pulmonic Voiceless Alveolar LateralFricative -> Text -> Maybe IPA
mkJustIPA "ɬ"
Pulmonic Voiced Alveolar LateralFricative -> Text -> Maybe IPA
mkJustIPA "ɮ"
Pulmonic Voiced Alveolar LateralApproximant -> Text -> Maybe IPA
mkJustIPA "l"
Pulmonic Voiceless Alveolar LateralFlap -> Text -> Maybe IPA
mkJustIPA "ɺ̥"
Pulmonic Voiced Alveolar LateralFlap -> Text -> Maybe IPA
mkJustIPA "ɺ"
Pulmonic Voiceless PostAlveolar (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "t͡ʃ"
Pulmonic Voiced PostAlveolar (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "d͡ʒ"
Pulmonic Voiceless PostAlveolar (Affricate NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "tɹ̠̊˔"
Pulmonic Voiced PostAlveolar (Affricate NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "d͡ɹ̠˔"
Pulmonic Voiceless PostAlveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʃ"
Pulmonic Voiced PostAlveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʒ"
Pulmonic Voiceless PostAlveolar (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "ɹ̠̊˔"
Pulmonic Voiced PostAlveolar (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɹ̠˔"
Pulmonic Voiceless Retroflex Nasal -> Text -> Maybe IPA
mkJustIPA "ɳ̊"
Pulmonic Voiced Retroflex Nasal -> Text -> Maybe IPA
mkJustIPA "ɳ"
Pulmonic Voiceless Retroflex Plosive -> Text -> Maybe IPA
mkJustIPA "ʈ"
Pulmonic Voiced Retroflex Plosive -> Text -> Maybe IPA
mkJustIPA "ɖ"
Pulmonic Voiceless Retroflex (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʈ͡ʂ"
Pulmonic Voiced Retroflex (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "ɖ͡ʐ"
Pulmonic Voiceless Retroflex (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʂ"
Pulmonic Voiced Retroflex (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʐ"
Pulmonic Voiced Retroflex (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɻ˔"
Pulmonic Voiced Retroflex Approximant -> Text -> Maybe IPA
mkJustIPA "ɻ"
Pulmonic Voiceless Retroflex Flap -> Text -> Maybe IPA
mkJustIPA "ɽ̊"
Pulmonic Voiced Retroflex Flap -> Text -> Maybe IPA
mkJustIPA "ɽ"
Pulmonic Voiceless Retroflex Trill -> Text -> Maybe IPA
mkJustIPA "ɽ̊r̥"
Pulmonic Voiced Retroflex Trill -> Text -> Maybe IPA
mkJustIPA "ɽr"
Pulmonic Voiceless Retroflex LateralAffricate -> Text -> Maybe IPA
mkJustIPA "ʈɭ̊˔"
Pulmonic Voiced Retroflex LateralAffricate -> Text -> Maybe IPA
mkJustIPA "ɖɭ˔"
Pulmonic Voiceless Retroflex LateralFricative -> Text -> Maybe IPA
mkJustIPA "ɭ̊˔"
Pulmonic Voiced Retroflex LateralFricative -> Text -> Maybe IPA
mkJustIPA "ɭ˔"
Pulmonic Voiced Retroflex LateralApproximant -> Text -> Maybe IPA
mkJustIPA "ɭ"
Pulmonic Voiceless Retroflex LateralFlap -> Text -> Maybe IPA
mkJustIPA "ɭ̥̆"
Pulmonic Voiced Retroflex LateralFlap -> Text -> Maybe IPA
mkJustIPA "ɭ̆"
Pulmonic Voiceless Palatal Nasal -> Text -> Maybe IPA
mkJustIPA "ɲ̊"
Pulmonic Voiced Palatal Nasal -> Text -> Maybe IPA
mkJustIPA "ɲ"
Pulmonic Voiceless Palatal Plosive -> Text -> Maybe IPA
mkJustIPA "c"
Pulmonic Voiced Palatal Plosive -> Text -> Maybe IPA
mkJustIPA "ɟ"
Pulmonic Voiceless Palatal (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "t͡ɕ"
Pulmonic Voiced Palatal (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "d͡ʑ"
Pulmonic Voiceless Palatal (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "c͡ç"
Pulmonic Voiced Palatal (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɟ͡ʝ"
Pulmonic Voiceless Palatal (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ɕ"
Pulmonic Voiced Palatal (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʑ"
Pulmonic Voiceless Palatal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ç"
Pulmonic Voiced Palatal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ʝ"
Pulmonic Voiced Palatal Approximant -> Text -> Maybe IPA
mkJustIPA "j"
Pulmonic Voiceless Palatal LateralAffricate -> Text -> Maybe IPA
mkJustIPA "cʎ̝̊"
Pulmonic Voiced Palatal LateralAffricate -> Text -> Maybe IPA
mkJustIPA "ɟʎ̝"
Pulmonic Voiceless Palatal LateralFricative -> Text -> Maybe IPA
mkJustIPA "ʎ̝̊"
Pulmonic Voiced Palatal LateralFricative -> Text -> Maybe IPA
mkJustIPA "ʎ̝"
Pulmonic Voiced Palatal LateralApproximant -> Text -> Maybe IPA
mkJustIPA "ʎ"
Pulmonic Voiced Palatal LateralFlap -> Text -> Maybe IPA
mkJustIPA "ʎ̆"
Pulmonic Voiceless Velar Nasal -> Text -> Maybe IPA
mkJustIPA "ŋ̊"
Pulmonic Voiced Velar Nasal -> Text -> Maybe IPA
mkJustIPA "ŋ"
Pulmonic Voiceless Velar Plosive -> Text -> Maybe IPA
mkJustIPA "k"
Pulmonic Voiced Velar Plosive -> Text -> Maybe IPA
mkJustIPA "g"
Pulmonic Voiceless Velar (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "k͡x"
Pulmonic Voiced Velar (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "g͡ɣ"
Pulmonic Voiceless Velar (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "x"
Pulmonic Voiced Velar (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɣ"
Pulmonic Voiced Velar Approximant -> Text -> Maybe IPA
mkJustIPA "ɰ"
Pulmonic Voiceless Velar LateralAffricate -> Text -> Maybe IPA
mkJustIPA "kʟ̝̊"
Pulmonic Voiced Velar LateralAffricate -> Text -> Maybe IPA
mkJustIPA "ɡʟ̝"
Pulmonic Voiceless Velar LateralFricative -> Text -> Maybe IPA
mkJustIPA "ʟ̝̊"
Pulmonic Voiced Velar LateralFricative -> Text -> Maybe IPA
mkJustIPA "ʟ̝"
Pulmonic Voiced Velar LateralApproximant -> Text -> Maybe IPA
mkJustIPA "ʟ"
Pulmonic Voiced Velar LateralFlap -> Text -> Maybe IPA
mkJustIPA "ʟ̆"
Pulmonic Voiced Uvular Nasal -> Text -> Maybe IPA
mkJustIPA "ɴ"
Pulmonic Voiceless Uvular Plosive -> Text -> Maybe IPA
mkJustIPA "q"
Pulmonic Voiced Uvular Plosive -> Text -> Maybe IPA
mkJustIPA "ɢ"
Pulmonic Voiceless Uvular (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "q͡χ"
Pulmonic Voiced Uvular (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɢ͡ʁ"
Pulmonic Voiceless Uvular (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "χ"
Pulmonic Voiced Uvular (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ʁ"
Pulmonic Voiced Uvular Flap -> Text -> Maybe IPA
mkJustIPA "ɢ̆"
Pulmonic Voiceless Uvular Trill -> Text -> Maybe IPA
mkJustIPA "ʀ"
Pulmonic Voiced Uvular Trill -> Text -> Maybe IPA
mkJustIPA "ʀ̥"
Pulmonic Voiced Uvular LateralApproximant -> Text -> Maybe IPA
mkJustIPA "ʟ̠"
Pulmonic Voiceless Pharyngeal Plosive -> Text -> Maybe IPA
mkJustIPA "ʡ"
Pulmonic Voiced Pharyngeal (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ʡ͡ʢ"
Pulmonic Voiceless Pharyngeal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ħ"
Pulmonic Voiced Pharyngeal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ʕ"
Pulmonic Voiced Pharyngeal Flap -> Text -> Maybe IPA
mkJustIPA "̆ʡ̆"
Pulmonic Voiceless Pharyngeal Trill -> Text -> Maybe IPA
mkJustIPA "ʜ"
Pulmonic Voiced Pharyngeal Trill -> Text -> Maybe IPA
mkJustIPA "ʢ"
Pulmonic Voiceless Glottal Plosive -> Text -> Maybe IPA
mkJustIPA "ʔ"
Pulmonic Voiceless Glottal (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ʔ͡h"
Pulmonic Voiceless Glottal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "h"
Pulmonic Voiced Glottal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɦ"
Pulmonic Voiced Glottal Approximant -> Text -> Maybe IPA
mkJustIPA "̆̆ʔ̞"
Ejective Bilabial Plosive -> Text -> Maybe IPA
mkJustIPA "pʼ"
Ejective Bilabial (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "ɸʼ"
Ejective LabioDental (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "p̪͡fʼ"
Ejective LabioDental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "fʼ"
Ejective Dental Plosive -> Text -> Maybe IPA
mkJustIPA "t̪ʼ"
Ejective Dental (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "t̪͡θʼ"
Ejective Dental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "θʼ"
Ejective Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "tʼ"
Ejective Alveolar (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "t͡sʼ"
Ejective Alveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "sʼ"
Ejective Alveolar LateralAffricate -> Text -> Maybe IPA
mkJustIPA "t͡ɬʼ"
Ejective Alveolar LateralFricative -> Text -> Maybe IPA
mkJustIPA "ɬʼ"
Ejective PostAlveolar (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "t͡ʃʼ"
Ejective PostAlveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʃʼ"
Ejective Retroflex Plosive -> Text -> Maybe IPA
mkJustIPA "ʈʼ"
Ejective Retroflex (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʈ͡ʂʼ"
Ejective Retroflex (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ʂʼ"
Ejective Palatal Plosive -> Text -> Maybe IPA
mkJustIPA "cʼ"
Ejective Palatal (Affricate Sibilant) -> Text -> Maybe IPA
mkJustIPA "t͡ɕʼ"
Ejective Palatal (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "ɕʼ"
Ejective Palatal LateralAffricate -> Text -> Maybe IPA
mkJustIPA "cʎ̝̊ʼ"
Ejective Velar Plosive -> Text -> Maybe IPA
mkJustIPA "kʼ"
Ejective Velar (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "k͡xʼ"
Ejective Velar (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "xʼ"
Ejective Velar LateralAffricate -> Text -> Maybe IPA
mkJustIPA "kʟ̝̊ʼ"
Ejective Uvular Plosive -> Text -> Maybe IPA
mkJustIPA "qʼ"
Ejective Uvular (Affricate NonSibilant) -> Text -> Maybe IPA
mkJustIPA "q͡χʼ"
Ejective Uvular (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "χʼ"
Ejective Pharyngeal Plosive -> Text -> Maybe IPA
mkJustIPA "ʡʼ "
Implosive Voiceless Bilabial -> Text -> Maybe IPA
mkJustIPA "ƥ"
Implosive Voiced Bilabial -> Text -> Maybe IPA
mkJustIPA "ɓ"
Implosive Voiceless Dental -> Text -> Maybe IPA
mkJustIPA "ƭ̪"
Implosive Voiced Dental -> Text -> Maybe IPA
mkJustIPA "ɗ̪"
Implosive Voiceless Alveolar -> Text -> Maybe IPA
mkJustIPA "ɗ"
Implosive Voiced Alveolar -> Text -> Maybe IPA
mkJustIPA "ƭ"
Implosive Voiceless Retroflex -> Text -> Maybe IPA
mkJustIPA "ᶑ"
Implosive Voiced Retroflex -> Text -> Maybe IPA
mkJustIPA "ƭ̢"
Implosive Voiceless Palatal -> Text -> Maybe IPA
mkJustIPA "ƈ"
Implosive Voiced Palatal -> Text -> Maybe IPA
mkJustIPA "ʄ"
Implosive Voiceless Velar -> Text -> Maybe IPA
mkJustIPA "ƙ"
Implosive Voiced Velar -> Text -> Maybe IPA
mkJustIPA "ɠ"
Implosive Voiceless Uvular -> Text -> Maybe IPA
mkJustIPA "ʠ"
Implosive Voiced Uvular -> Text -> Maybe IPA
mkJustIPA "ʛ"
Click Bilabial -> Text -> Maybe IPA
mkJustIPA "ʘ"
Click Dental -> Text -> Maybe IPA
mkJustIPA "ǀ"
Click Alveolar -> Text -> Maybe IPA
mkJustIPA "ǃ"
Click PostAlveolar -> Text -> Maybe IPA
mkJustIPA "ǁ"
Click Palatal -> Text -> Maybe IPA
mkJustIPA "ǂ"
DoublyArticulated Voiced Bilabial Alveolar Nasal -> Text -> Maybe IPA
mkJustIPA "n͡m"
DoublyArticulated Voiceless Bilabial Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "t͡p"
DoublyArticulated Voiced Bilabial Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "d͡b"
DoublyArticulated Voiced Bilabial Velar Nasal -> Text -> Maybe IPA
mkJustIPA "ŋ͡m"
DoublyArticulated Voiceless Bilabial Velar Plosive -> Text -> Maybe IPA
mkJustIPA "k͡p"
DoublyArticulated Voiced Bilabial Velar Plosive -> Text -> Maybe IPA
mkJustIPA "g͡b"
DoublyArticulated Voiceless Uvular Pharyngeal Plosive -> Text -> Maybe IPA
mkJustIPA "q͡ʡ"
DoublyArticulated Voiceless Bilabial Palatal (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "ɥ̊"
DoublyArticulated Voiced Bilabial Palatal Approximant -> Text -> Maybe IPA
mkJustIPA "ɥ"
DoublyArticulated Voiceless Bilabial Velar (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "ʍ"
DoublyArticulated Voiced Bilabial Velar Approximant -> Text -> Maybe IPA
mkJustIPA "w"
DoublyArticulated Voiced Alveolar Velar LateralApproximant ->
Text -> Maybe IPA
mkJustIPA "ɫ"
DoublyArticulated Voiceless PostAlveolar Velar (Fricative Sibilant) ->
Text -> Maybe IPA
mkJustIPA "ɧ"
DoublyArticulated Voiceless LabioDental Velar (Fricative Sibilant) ->
Text -> Maybe IPA
mkJustIPA "ɧ"
_ -> Maybe IPA
forall a. Maybe a
Nothing
vowel :: Segment -> Maybe IPA
vowel :: Segment -> Maybe IPA
vowel = \case
Vowel Close Front Unrounded -> Text -> Maybe IPA
mkJustIPA "i"
Vowel Close Front Rounded -> Text -> Maybe IPA
mkJustIPA "y"
Vowel Close Central Unrounded -> Text -> Maybe IPA
mkJustIPA "ɨ"
Vowel Close Central Rounded -> Text -> Maybe IPA
mkJustIPA "ʉ"
Vowel Close Back Unrounded -> Text -> Maybe IPA
mkJustIPA "ɯ"
Vowel Close Back Rounded -> Text -> Maybe IPA
mkJustIPA "u"
Vowel NearClose Front Unrounded -> Text -> Maybe IPA
mkJustIPA "ɪ"
Vowel NearClose Front Rounded -> Text -> Maybe IPA
mkJustIPA "ʏ"
Vowel NearClose Back Rounded -> Text -> Maybe IPA
mkJustIPA "ʊ"
Vowel CloseMid Front Unrounded -> Text -> Maybe IPA
mkJustIPA "e"
Vowel CloseMid Front Rounded -> Text -> Maybe IPA
mkJustIPA "ø"
Vowel CloseMid Central Unrounded -> Text -> Maybe IPA
mkJustIPA "ɘ"
Vowel CloseMid Central Rounded -> Text -> Maybe IPA
mkJustIPA "ɵ"
Vowel CloseMid Back Unrounded -> Text -> Maybe IPA
mkJustIPA "ɤ"
Vowel CloseMid Back Rounded -> Text -> Maybe IPA
mkJustIPA "o"
Vowel Mid Front Unrounded -> Text -> Maybe IPA
mkJustIPA "e̞"
Vowel Mid Front Rounded -> Text -> Maybe IPA
mkJustIPA "ø̞"
Vowel Mid Central Unrounded -> Text -> Maybe IPA
mkJustIPA "ə"
Vowel Mid Central Rounded -> Text -> Maybe IPA
mkJustIPA "ə"
Vowel Mid Back Unrounded -> Text -> Maybe IPA
mkJustIPA "ɤ̞"
Vowel Mid Back Rounded -> Text -> Maybe IPA
mkJustIPA "o̞"
Vowel OpenMid Front Unrounded -> Text -> Maybe IPA
mkJustIPA "ɛ"
Vowel OpenMid Front Rounded -> Text -> Maybe IPA
mkJustIPA "œ"
Vowel OpenMid Central Unrounded -> Text -> Maybe IPA
mkJustIPA "ɜ"
Vowel OpenMid Central Rounded -> Text -> Maybe IPA
mkJustIPA "ɞ"
Vowel OpenMid Back Unrounded -> Text -> Maybe IPA
mkJustIPA "ʌ"
Vowel OpenMid Back Rounded -> Text -> Maybe IPA
mkJustIPA "ɔ"
Vowel NearOpen Front Unrounded -> Text -> Maybe IPA
mkJustIPA "æ"
Vowel NearOpen Central Unrounded -> Text -> Maybe IPA
mkJustIPA "ɐ"
Vowel Open Front Unrounded -> Text -> Maybe IPA
mkJustIPA "a"
Vowel Open Front Rounded -> Text -> Maybe IPA
mkJustIPA "ɶ"
Vowel Open Central Unrounded -> Text -> Maybe IPA
mkJustIPA "ä"
Vowel Open Back Unrounded -> Text -> Maybe IPA
mkJustIPA "ɑ"
Vowel Open Back Rounded -> Text -> Maybe IPA
mkJustIPA "ɒ"
_ -> Maybe IPA
forall a. Maybe a
Nothing
secondaryArticulation :: Segment -> Maybe IPA
secondaryArticulation :: Segment -> Maybe IPA
secondaryArticulation = \case
Consonant c :: Consonant
c -> case Consonant
c of
Pulmonic Voiced Bilabial Nasal -> Text -> Maybe IPA
mkJustIPA "\x1d50"
Pulmonic Voiced LabioDental Nasal -> Text -> Maybe IPA
mkJustIPA "\x1dac"
Pulmonic Voiced Alveolar Nasal -> Text -> Maybe IPA
mkJustIPA "\x207f"
Pulmonic Voiced Retroflex Nasal -> Text -> Maybe IPA
mkJustIPA "\x1daf"
Pulmonic Voiced Palatal Nasal -> Text -> Maybe IPA
mkJustIPA "\x1dae"
Pulmonic Voiced Velar Nasal -> Text -> Maybe IPA
mkJustIPA "\x1d51"
Pulmonic Voiced Uvular Nasal -> Text -> Maybe IPA
mkJustIPA "\x1db0"
Pulmonic Voiced Bilabial Plosive -> Text -> Maybe IPA
mkJustIPA "\x1d56"
Pulmonic Voiceless Bilabial Plosive -> Text -> Maybe IPA
mkJustIPA "\x1d47"
Pulmonic Voiceless Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "\x1d57"
Pulmonic Voiced Alveolar Plosive -> Text -> Maybe IPA
mkJustIPA "\x1d48"
Pulmonic Voiceless Palatal Plosive -> Text -> Maybe IPA
mkJustIPA "\x1d9c"
Pulmonic Voiced Palatal Plosive -> Text -> Maybe IPA
mkJustIPA "\x1da1"
Pulmonic Voiceless Velar Plosive -> Text -> Maybe IPA
mkJustIPA "\x1d4f"
Pulmonic Voiced Velar Plosive -> Text -> Maybe IPA
mkJustIPA "\x1da2"
Pulmonic Voiceless Glottal Plosive -> Text -> Maybe IPA
mkJustIPA "\x02c0"
Pulmonic Voiced Bilabial (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x1db2"
Pulmonic Voiceless Bilabial (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "\x1d5d"
Pulmonic Voiced LabioDental (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "\x1da0"
Pulmonic Voiceless LabioDental (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "\x1d5b"
Pulmonic Voiceless Dental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x1dbf"
Pulmonic Voiced Dental (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x1d9e"
Pulmonic Voiceless Alveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "\x02e2"
Pulmonic Voiced Alveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "\x1dbb"
Pulmonic Voiceless PostAlveolar (Fricative Sibilant) ->
Text -> Maybe IPA
mkJustIPA "\x1db4"
Pulmonic Voiced PostAlveolar (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "\x1dbe"
Pulmonic Voiceless Palatal (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "\x1d9d"
Pulmonic Voiced Palatal (Fricative Sibilant) -> Text -> Maybe IPA
mkJustIPA "\x1dbd"
Pulmonic Voiceless Palatal (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "\x1d9c\x0327"
Pulmonic Voiced Palatal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x1da8"
Pulmonic Voiceless Velar (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x02e3"
Pulmonic Voiced Velar (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x02e0"
Pulmonic Voiceless Uvular (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x1d61"
Pulmonic Voiced Uvular (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x02b6"
Pulmonic Voiceless Glottal (Fricative NonSibilant) ->
Text -> Maybe IPA
mkJustIPA "\x02b0"
Pulmonic Voiced Glottal (Fricative NonSibilant) -> Text -> Maybe IPA
mkJustIPA "\x02b1"
Pulmonic Voiced LabioDental Approximant -> Text -> Maybe IPA
mkJustIPA "\x1db9"
Pulmonic Voiced Alveolar Approximant -> Text -> Maybe IPA
mkJustIPA "\x02b4"
Pulmonic Voiced Retroflex Approximant -> Text -> Maybe IPA
mkJustIPA "\x02b5"
Pulmonic Voiced Palatal Approximant -> Text -> Maybe IPA
mkJustIPA "\x02b2"
Pulmonic Voiceless Velar Approximant -> Text -> Maybe IPA
mkJustIPA "\xab69"
Pulmonic Voiced Velar Approximant -> Text -> Maybe IPA
mkJustIPA "\x1dad"
Pulmonic Voiced Alveolar Trill -> Text -> Maybe IPA
mkJustIPA "\x02b3"
_ -> Maybe IPA
forall a. Maybe a
Nothing
Vowel Close Front Unrounded -> Text -> Maybe IPA
mkJustIPA "\x2071"
Vowel Close Front Rounded -> Text -> Maybe IPA
mkJustIPA "\x02b8"
Vowel Close Central Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1da4"
Vowel Close Central Rounded -> Text -> Maybe IPA
mkJustIPA "\x1db6"
Vowel Close Back Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d5a"
Vowel Close Back Rounded -> Text -> Maybe IPA
mkJustIPA "\x1d58"
Vowel NearClose Front Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1da6"
Vowel NearClose Central Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1da7"
Vowel NearClose Back Rounded -> Text -> Maybe IPA
mkJustIPA "\x1db7"
Vowel Mid Central Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d4a"
Vowel Mid Central Rounded -> Text -> Maybe IPA
mkJustIPA "\x1d4a"
Vowel OpenMid Front Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d4b"
Vowel OpenMid Front Rounded -> Text -> Maybe IPA
mkJustIPA "\xa7f9"
Vowel OpenMid Central Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d9f"
Vowel OpenMid Back Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1dba"
Vowel OpenMid Back Rounded -> Text -> Maybe IPA
mkJustIPA "\x1d53"
Vowel NearOpen Front Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d46"
Vowel NearOpen Central Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d44"
Vowel NearOpen Back Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d45"
Vowel NearOpen Back Rounded -> Text -> Maybe IPA
mkJustIPA "\x1d9b"
Vowel Open Front Unrounded -> Text -> Maybe IPA
mkJustIPA "\x1d43"
Vowel Open Back Rounded -> Text -> Maybe IPA
mkJustIPA "\x1d44"
_ -> Maybe IPA
forall a. Maybe a
Nothing