#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum EthiopicExtended {
EthiopicSyllableLoa,
EthiopicSyllableMoa,
EthiopicSyllableRoa,
EthiopicSyllableSoa,
EthiopicSyllableShoa,
EthiopicSyllableBoa,
EthiopicSyllableToa,
EthiopicSyllableCoa,
EthiopicSyllableNoa,
EthiopicSyllableNyoa,
EthiopicSyllableGlottalOa,
EthiopicSyllableZoa,
EthiopicSyllableDoa,
EthiopicSyllableDdoa,
EthiopicSyllableJoa,
EthiopicSyllableThoa,
EthiopicSyllableChoa,
EthiopicSyllablePhoa,
EthiopicSyllablePoa,
EthiopicSyllableGgwa,
EthiopicSyllableGgwi,
EthiopicSyllableGgwee,
EthiopicSyllableGgwe,
EthiopicSyllableSsa,
EthiopicSyllableSsu,
EthiopicSyllableSsi,
EthiopicSyllableSsaa,
EthiopicSyllableSsee,
EthiopicSyllableSse,
EthiopicSyllableSso,
EthiopicSyllableCca,
EthiopicSyllableCcu,
EthiopicSyllableCci,
EthiopicSyllableCcaa,
EthiopicSyllableCcee,
EthiopicSyllableCce,
EthiopicSyllableCco,
EthiopicSyllableZza,
EthiopicSyllableZzu,
EthiopicSyllableZzi,
EthiopicSyllableZzaa,
EthiopicSyllableZzee,
EthiopicSyllableZze,
EthiopicSyllableZzo,
EthiopicSyllableCcha,
EthiopicSyllableCchu,
EthiopicSyllableCchi,
EthiopicSyllableCchaa,
EthiopicSyllableCchee,
EthiopicSyllableCche,
EthiopicSyllableCcho,
EthiopicSyllableQya,
EthiopicSyllableQyu,
EthiopicSyllableQyi,
EthiopicSyllableQyaa,
EthiopicSyllableQyee,
EthiopicSyllableQye,
EthiopicSyllableQyo,
EthiopicSyllableKya,
EthiopicSyllableKyu,
EthiopicSyllableKyi,
EthiopicSyllableKyaa,
EthiopicSyllableKyee,
EthiopicSyllableKye,
EthiopicSyllableKyo,
EthiopicSyllableXya,
EthiopicSyllableXyu,
EthiopicSyllableXyi,
EthiopicSyllableXyaa,
EthiopicSyllableXyee,
EthiopicSyllableXye,
EthiopicSyllableXyo,
EthiopicSyllableGya,
EthiopicSyllableGyu,
EthiopicSyllableGyi,
EthiopicSyllableGyaa,
EthiopicSyllableGyee,
EthiopicSyllableGye,
EthiopicSyllableGyo,
}
impl Into<char> for EthiopicExtended {
fn into(self) -> char {
match self {
EthiopicExtended::EthiopicSyllableLoa => 'ⶀ',
EthiopicExtended::EthiopicSyllableMoa => 'ⶁ',
EthiopicExtended::EthiopicSyllableRoa => 'ⶂ',
EthiopicExtended::EthiopicSyllableSoa => 'ⶃ',
EthiopicExtended::EthiopicSyllableShoa => 'ⶄ',
EthiopicExtended::EthiopicSyllableBoa => 'ⶅ',
EthiopicExtended::EthiopicSyllableToa => 'ⶆ',
EthiopicExtended::EthiopicSyllableCoa => 'ⶇ',
EthiopicExtended::EthiopicSyllableNoa => 'ⶈ',
EthiopicExtended::EthiopicSyllableNyoa => 'ⶉ',
EthiopicExtended::EthiopicSyllableGlottalOa => 'ⶊ',
EthiopicExtended::EthiopicSyllableZoa => 'ⶋ',
EthiopicExtended::EthiopicSyllableDoa => 'ⶌ',
EthiopicExtended::EthiopicSyllableDdoa => 'ⶍ',
EthiopicExtended::EthiopicSyllableJoa => 'ⶎ',
EthiopicExtended::EthiopicSyllableThoa => 'ⶏ',
EthiopicExtended::EthiopicSyllableChoa => 'ⶐ',
EthiopicExtended::EthiopicSyllablePhoa => 'ⶑ',
EthiopicExtended::EthiopicSyllablePoa => 'ⶒ',
EthiopicExtended::EthiopicSyllableGgwa => 'ⶓ',
EthiopicExtended::EthiopicSyllableGgwi => 'ⶔ',
EthiopicExtended::EthiopicSyllableGgwee => 'ⶕ',
EthiopicExtended::EthiopicSyllableGgwe => 'ⶖ',
EthiopicExtended::EthiopicSyllableSsa => 'ⶠ',
EthiopicExtended::EthiopicSyllableSsu => 'ⶡ',
EthiopicExtended::EthiopicSyllableSsi => 'ⶢ',
EthiopicExtended::EthiopicSyllableSsaa => 'ⶣ',
EthiopicExtended::EthiopicSyllableSsee => 'ⶤ',
EthiopicExtended::EthiopicSyllableSse => 'ⶥ',
EthiopicExtended::EthiopicSyllableSso => 'ⶦ',
EthiopicExtended::EthiopicSyllableCca => 'ⶨ',
EthiopicExtended::EthiopicSyllableCcu => 'ⶩ',
EthiopicExtended::EthiopicSyllableCci => 'ⶪ',
EthiopicExtended::EthiopicSyllableCcaa => 'ⶫ',
EthiopicExtended::EthiopicSyllableCcee => 'ⶬ',
EthiopicExtended::EthiopicSyllableCce => 'ⶭ',
EthiopicExtended::EthiopicSyllableCco => 'ⶮ',
EthiopicExtended::EthiopicSyllableZza => 'ⶰ',
EthiopicExtended::EthiopicSyllableZzu => 'ⶱ',
EthiopicExtended::EthiopicSyllableZzi => 'ⶲ',
EthiopicExtended::EthiopicSyllableZzaa => 'ⶳ',
EthiopicExtended::EthiopicSyllableZzee => 'ⶴ',
EthiopicExtended::EthiopicSyllableZze => 'ⶵ',
EthiopicExtended::EthiopicSyllableZzo => 'ⶶ',
EthiopicExtended::EthiopicSyllableCcha => 'ⶸ',
EthiopicExtended::EthiopicSyllableCchu => 'ⶹ',
EthiopicExtended::EthiopicSyllableCchi => 'ⶺ',
EthiopicExtended::EthiopicSyllableCchaa => 'ⶻ',
EthiopicExtended::EthiopicSyllableCchee => 'ⶼ',
EthiopicExtended::EthiopicSyllableCche => 'ⶽ',
EthiopicExtended::EthiopicSyllableCcho => 'ⶾ',
EthiopicExtended::EthiopicSyllableQya => 'ⷀ',
EthiopicExtended::EthiopicSyllableQyu => 'ⷁ',
EthiopicExtended::EthiopicSyllableQyi => 'ⷂ',
EthiopicExtended::EthiopicSyllableQyaa => 'ⷃ',
EthiopicExtended::EthiopicSyllableQyee => 'ⷄ',
EthiopicExtended::EthiopicSyllableQye => 'ⷅ',
EthiopicExtended::EthiopicSyllableQyo => 'ⷆ',
EthiopicExtended::EthiopicSyllableKya => 'ⷈ',
EthiopicExtended::EthiopicSyllableKyu => 'ⷉ',
EthiopicExtended::EthiopicSyllableKyi => 'ⷊ',
EthiopicExtended::EthiopicSyllableKyaa => 'ⷋ',
EthiopicExtended::EthiopicSyllableKyee => 'ⷌ',
EthiopicExtended::EthiopicSyllableKye => 'ⷍ',
EthiopicExtended::EthiopicSyllableKyo => 'ⷎ',
EthiopicExtended::EthiopicSyllableXya => 'ⷐ',
EthiopicExtended::EthiopicSyllableXyu => 'ⷑ',
EthiopicExtended::EthiopicSyllableXyi => 'ⷒ',
EthiopicExtended::EthiopicSyllableXyaa => 'ⷓ',
EthiopicExtended::EthiopicSyllableXyee => 'ⷔ',
EthiopicExtended::EthiopicSyllableXye => 'ⷕ',
EthiopicExtended::EthiopicSyllableXyo => 'ⷖ',
EthiopicExtended::EthiopicSyllableGya => 'ⷘ',
EthiopicExtended::EthiopicSyllableGyu => 'ⷙ',
EthiopicExtended::EthiopicSyllableGyi => 'ⷚ',
EthiopicExtended::EthiopicSyllableGyaa => 'ⷛ',
EthiopicExtended::EthiopicSyllableGyee => 'ⷜ',
EthiopicExtended::EthiopicSyllableGye => 'ⷝ',
EthiopicExtended::EthiopicSyllableGyo => 'ⷞ',
}
}
}
impl std::convert::TryFrom<char> for EthiopicExtended {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'ⶀ' => Ok(EthiopicExtended::EthiopicSyllableLoa),
'ⶁ' => Ok(EthiopicExtended::EthiopicSyllableMoa),
'ⶂ' => Ok(EthiopicExtended::EthiopicSyllableRoa),
'ⶃ' => Ok(EthiopicExtended::EthiopicSyllableSoa),
'ⶄ' => Ok(EthiopicExtended::EthiopicSyllableShoa),
'ⶅ' => Ok(EthiopicExtended::EthiopicSyllableBoa),
'ⶆ' => Ok(EthiopicExtended::EthiopicSyllableToa),
'ⶇ' => Ok(EthiopicExtended::EthiopicSyllableCoa),
'ⶈ' => Ok(EthiopicExtended::EthiopicSyllableNoa),
'ⶉ' => Ok(EthiopicExtended::EthiopicSyllableNyoa),
'ⶊ' => Ok(EthiopicExtended::EthiopicSyllableGlottalOa),
'ⶋ' => Ok(EthiopicExtended::EthiopicSyllableZoa),
'ⶌ' => Ok(EthiopicExtended::EthiopicSyllableDoa),
'ⶍ' => Ok(EthiopicExtended::EthiopicSyllableDdoa),
'ⶎ' => Ok(EthiopicExtended::EthiopicSyllableJoa),
'ⶏ' => Ok(EthiopicExtended::EthiopicSyllableThoa),
'ⶐ' => Ok(EthiopicExtended::EthiopicSyllableChoa),
'ⶑ' => Ok(EthiopicExtended::EthiopicSyllablePhoa),
'ⶒ' => Ok(EthiopicExtended::EthiopicSyllablePoa),
'ⶓ' => Ok(EthiopicExtended::EthiopicSyllableGgwa),
'ⶔ' => Ok(EthiopicExtended::EthiopicSyllableGgwi),
'ⶕ' => Ok(EthiopicExtended::EthiopicSyllableGgwee),
'ⶖ' => Ok(EthiopicExtended::EthiopicSyllableGgwe),
'ⶠ' => Ok(EthiopicExtended::EthiopicSyllableSsa),
'ⶡ' => Ok(EthiopicExtended::EthiopicSyllableSsu),
'ⶢ' => Ok(EthiopicExtended::EthiopicSyllableSsi),
'ⶣ' => Ok(EthiopicExtended::EthiopicSyllableSsaa),
'ⶤ' => Ok(EthiopicExtended::EthiopicSyllableSsee),
'ⶥ' => Ok(EthiopicExtended::EthiopicSyllableSse),
'ⶦ' => Ok(EthiopicExtended::EthiopicSyllableSso),
'ⶨ' => Ok(EthiopicExtended::EthiopicSyllableCca),
'ⶩ' => Ok(EthiopicExtended::EthiopicSyllableCcu),
'ⶪ' => Ok(EthiopicExtended::EthiopicSyllableCci),
'ⶫ' => Ok(EthiopicExtended::EthiopicSyllableCcaa),
'ⶬ' => Ok(EthiopicExtended::EthiopicSyllableCcee),
'ⶭ' => Ok(EthiopicExtended::EthiopicSyllableCce),
'ⶮ' => Ok(EthiopicExtended::EthiopicSyllableCco),
'ⶰ' => Ok(EthiopicExtended::EthiopicSyllableZza),
'ⶱ' => Ok(EthiopicExtended::EthiopicSyllableZzu),
'ⶲ' => Ok(EthiopicExtended::EthiopicSyllableZzi),
'ⶳ' => Ok(EthiopicExtended::EthiopicSyllableZzaa),
'ⶴ' => Ok(EthiopicExtended::EthiopicSyllableZzee),
'ⶵ' => Ok(EthiopicExtended::EthiopicSyllableZze),
'ⶶ' => Ok(EthiopicExtended::EthiopicSyllableZzo),
'ⶸ' => Ok(EthiopicExtended::EthiopicSyllableCcha),
'ⶹ' => Ok(EthiopicExtended::EthiopicSyllableCchu),
'ⶺ' => Ok(EthiopicExtended::EthiopicSyllableCchi),
'ⶻ' => Ok(EthiopicExtended::EthiopicSyllableCchaa),
'ⶼ' => Ok(EthiopicExtended::EthiopicSyllableCchee),
'ⶽ' => Ok(EthiopicExtended::EthiopicSyllableCche),
'ⶾ' => Ok(EthiopicExtended::EthiopicSyllableCcho),
'ⷀ' => Ok(EthiopicExtended::EthiopicSyllableQya),
'ⷁ' => Ok(EthiopicExtended::EthiopicSyllableQyu),
'ⷂ' => Ok(EthiopicExtended::EthiopicSyllableQyi),
'ⷃ' => Ok(EthiopicExtended::EthiopicSyllableQyaa),
'ⷄ' => Ok(EthiopicExtended::EthiopicSyllableQyee),
'ⷅ' => Ok(EthiopicExtended::EthiopicSyllableQye),
'ⷆ' => Ok(EthiopicExtended::EthiopicSyllableQyo),
'ⷈ' => Ok(EthiopicExtended::EthiopicSyllableKya),
'ⷉ' => Ok(EthiopicExtended::EthiopicSyllableKyu),
'ⷊ' => Ok(EthiopicExtended::EthiopicSyllableKyi),
'ⷋ' => Ok(EthiopicExtended::EthiopicSyllableKyaa),
'ⷌ' => Ok(EthiopicExtended::EthiopicSyllableKyee),
'ⷍ' => Ok(EthiopicExtended::EthiopicSyllableKye),
'ⷎ' => Ok(EthiopicExtended::EthiopicSyllableKyo),
'ⷐ' => Ok(EthiopicExtended::EthiopicSyllableXya),
'ⷑ' => Ok(EthiopicExtended::EthiopicSyllableXyu),
'ⷒ' => Ok(EthiopicExtended::EthiopicSyllableXyi),
'ⷓ' => Ok(EthiopicExtended::EthiopicSyllableXyaa),
'ⷔ' => Ok(EthiopicExtended::EthiopicSyllableXyee),
'ⷕ' => Ok(EthiopicExtended::EthiopicSyllableXye),
'ⷖ' => Ok(EthiopicExtended::EthiopicSyllableXyo),
'ⷘ' => Ok(EthiopicExtended::EthiopicSyllableGya),
'ⷙ' => Ok(EthiopicExtended::EthiopicSyllableGyu),
'ⷚ' => Ok(EthiopicExtended::EthiopicSyllableGyi),
'ⷛ' => Ok(EthiopicExtended::EthiopicSyllableGyaa),
'ⷜ' => Ok(EthiopicExtended::EthiopicSyllableGyee),
'ⷝ' => Ok(EthiopicExtended::EthiopicSyllableGye),
'ⷞ' => Ok(EthiopicExtended::EthiopicSyllableGyo),
_ => Err(()),
}
}
}
impl Into<u32> for EthiopicExtended {
fn into(self) -> u32 {
let c: char = self.into();
let hex = c
.escape_unicode()
.to_string()
.replace("\\u{", "")
.replace("}", "");
u32::from_str_radix(&hex, 16).unwrap()
}
}
impl std::convert::TryFrom<u32> for EthiopicExtended {
type Error = ();
fn try_from(u: u32) -> Result<Self, Self::Error> {
if let Ok(c) = char::try_from(u) {
Self::try_from(c)
} else {
Err(())
}
}
}
impl Iterator for EthiopicExtended {
type Item = Self;
fn next(&mut self) -> Option<Self> {
let index: u32 = (*self).into();
use std::convert::TryFrom;
Self::try_from(index + 1).ok()
}
}
impl EthiopicExtended {
pub fn new() -> Self {
EthiopicExtended::EthiopicSyllableLoa
}
pub fn name(&self) -> String {
let s = std::format!("EthiopicExtended{:#?}", self);
string_morph::to_sentence_case(&s)
}
}