module Guguk.TurkishAlphabet
where
import qualified Data.Text as T
import qualified Data.Char as C
import qualified Guguk.Phonetics as Ph
alphabet :: String
alphabet = "abcçdefgğhıijklmnoöprsştuüvyz"
characters :: String
characters = alphabet ++ "âêîû"
toUpper :: Char -> Char
toUpper 'ı' = 'I'
toUpper 'i' = 'İ'
toUpper c = C.toUpper c
toLower :: Char -> Char
toLower 'I' = 'ı'
toLower 'İ' = 'i'
toLower c = C.toLower c
getPhonemes :: Char -> [Ph.Phoneme]
getPhonemes c = Ph.getBySurfaceForm $ T.singleton $ toLower c
isVowel :: Char -> Bool
isVowel c = any Ph.isVowel (getPhonemes c)
isConsonant :: Char -> Bool
isConsonant c = any Ph.isConsonant (getPhonemes c)
isLongVowel :: Char -> Bool
isLongVowel c = isVowel c && elem Ph.Long (map Ph.vowelLength (getPhonemes c))