public bool HasCoda(Phoneme currentPhoneme) { if (!Phonemes.Any()) { return(false); } var last = Phonemes.Last(); return(HasNucleus() && !last.IsVowel() && last.Text != "s"); /*if (currentPhoneme.ArticulationPlace == ArticulationPlaces.Alveolar && currentPhoneme.ArticulationManner == ArticulationManners.Fricative) { * return false; * } * * var nucleus = GetNucleus(); * * if (nucleus == SyllableNucleusTypes.Full) { * return true; * } * * if (nucleus == SyllableNucleusTypes.Partial) { * if (currentPhoneme.ArticulationManner == ArticulationManners.Liquid) { * //return true; * } * } * * return false;*/ }
public bool HasVowel() { return(Phonemes.Any(phoneme => phoneme.Letters.HasVowel())); }
public bool HasPhonemeConsonant() { return(Phonemes.Any(phoneme => phoneme.ArticulationManner != ArticulationManners.Vowel)); }
public bool HasPhonemeArticulationManner(ArticulationManners manner) { return(Phonemes.Any(phoneme => phoneme.ArticulationManner == manner)); }
public bool HasPhoneme(Func <Phoneme, bool> predicate) { return(Phonemes.Any(predicate)); }