mod constants {
pub const ETHIOPIC_SYLLABLE_LOA: char = 'ⶀ';
pub const ETHIOPIC_SYLLABLE_MOA: char = 'ⶁ';
pub const ETHIOPIC_SYLLABLE_ROA: char = 'ⶂ';
pub const ETHIOPIC_SYLLABLE_SOA: char = 'ⶃ';
pub const ETHIOPIC_SYLLABLE_SHOA: char = 'ⶄ';
pub const ETHIOPIC_SYLLABLE_BOA: char = 'ⶅ';
pub const ETHIOPIC_SYLLABLE_TOA: char = 'ⶆ';
pub const ETHIOPIC_SYLLABLE_COA: char = 'ⶇ';
pub const ETHIOPIC_SYLLABLE_NOA: char = 'ⶈ';
pub const ETHIOPIC_SYLLABLE_NYOA: char = 'ⶉ';
pub const ETHIOPIC_SYLLABLE_GLOTTAL_OA: char = 'ⶊ';
pub const ETHIOPIC_SYLLABLE_ZOA: char = 'ⶋ';
pub const ETHIOPIC_SYLLABLE_DOA: char = 'ⶌ';
pub const ETHIOPIC_SYLLABLE_DDOA: char = 'ⶍ';
pub const ETHIOPIC_SYLLABLE_JOA: char = 'ⶎ';
pub const ETHIOPIC_SYLLABLE_THOA: char = 'ⶏ';
pub const ETHIOPIC_SYLLABLE_CHOA: char = 'ⶐ';
pub const ETHIOPIC_SYLLABLE_PHOA: char = 'ⶑ';
pub const ETHIOPIC_SYLLABLE_POA: char = 'ⶒ';
pub const ETHIOPIC_SYLLABLE_GGWA: char = 'ⶓ';
pub const ETHIOPIC_SYLLABLE_GGWI: char = 'ⶔ';
pub const ETHIOPIC_SYLLABLE_GGWEE: char = 'ⶕ';
pub const ETHIOPIC_SYLLABLE_GGWE: char = 'ⶖ';
pub const ETHIOPIC_SYLLABLE_SSA: char = 'ⶠ';
pub const ETHIOPIC_SYLLABLE_SSU: char = 'ⶡ';
pub const ETHIOPIC_SYLLABLE_SSI: char = 'ⶢ';
pub const ETHIOPIC_SYLLABLE_SSAA: char = 'ⶣ';
pub const ETHIOPIC_SYLLABLE_SSEE: char = 'ⶤ';
pub const ETHIOPIC_SYLLABLE_SSE: char = 'ⶥ';
pub const ETHIOPIC_SYLLABLE_SSO: char = 'ⶦ';
pub const ETHIOPIC_SYLLABLE_CCA: char = 'ⶨ';
pub const ETHIOPIC_SYLLABLE_CCU: char = 'ⶩ';
pub const ETHIOPIC_SYLLABLE_CCI: char = 'ⶪ';
pub const ETHIOPIC_SYLLABLE_CCAA: char = 'ⶫ';
pub const ETHIOPIC_SYLLABLE_CCEE: char = 'ⶬ';
pub const ETHIOPIC_SYLLABLE_CCE: char = 'ⶭ';
pub const ETHIOPIC_SYLLABLE_CCO: char = 'ⶮ';
pub const ETHIOPIC_SYLLABLE_ZZA: char = 'ⶰ';
pub const ETHIOPIC_SYLLABLE_ZZU: char = 'ⶱ';
pub const ETHIOPIC_SYLLABLE_ZZI: char = 'ⶲ';
pub const ETHIOPIC_SYLLABLE_ZZAA: char = 'ⶳ';
pub const ETHIOPIC_SYLLABLE_ZZEE: char = 'ⶴ';
pub const ETHIOPIC_SYLLABLE_ZZE: char = 'ⶵ';
pub const ETHIOPIC_SYLLABLE_ZZO: char = 'ⶶ';
pub const ETHIOPIC_SYLLABLE_CCHA: char = 'ⶸ';
pub const ETHIOPIC_SYLLABLE_CCHU: char = 'ⶹ';
pub const ETHIOPIC_SYLLABLE_CCHI: char = 'ⶺ';
pub const ETHIOPIC_SYLLABLE_CCHAA: char = 'ⶻ';
pub const ETHIOPIC_SYLLABLE_CCHEE: char = 'ⶼ';
pub const ETHIOPIC_SYLLABLE_CCHE: char = 'ⶽ';
pub const ETHIOPIC_SYLLABLE_CCHO: char = 'ⶾ';
pub const ETHIOPIC_SYLLABLE_QYA: char = 'ⷀ';
pub const ETHIOPIC_SYLLABLE_QYU: char = 'ⷁ';
pub const ETHIOPIC_SYLLABLE_QYI: char = 'ⷂ';
pub const ETHIOPIC_SYLLABLE_QYAA: char = 'ⷃ';
pub const ETHIOPIC_SYLLABLE_QYEE: char = 'ⷄ';
pub const ETHIOPIC_SYLLABLE_QYE: char = 'ⷅ';
pub const ETHIOPIC_SYLLABLE_QYO: char = 'ⷆ';
pub const ETHIOPIC_SYLLABLE_KYA: char = 'ⷈ';
pub const ETHIOPIC_SYLLABLE_KYU: char = 'ⷉ';
pub const ETHIOPIC_SYLLABLE_KYI: char = 'ⷊ';
pub const ETHIOPIC_SYLLABLE_KYAA: char = 'ⷋ';
pub const ETHIOPIC_SYLLABLE_KYEE: char = 'ⷌ';
pub const ETHIOPIC_SYLLABLE_KYE: char = 'ⷍ';
pub const ETHIOPIC_SYLLABLE_KYO: char = 'ⷎ';
pub const ETHIOPIC_SYLLABLE_XYA: char = 'ⷐ';
pub const ETHIOPIC_SYLLABLE_XYU: char = 'ⷑ';
pub const ETHIOPIC_SYLLABLE_XYI: char = 'ⷒ';
pub const ETHIOPIC_SYLLABLE_XYAA: char = 'ⷓ';
pub const ETHIOPIC_SYLLABLE_XYEE: char = 'ⷔ';
pub const ETHIOPIC_SYLLABLE_XYE: char = 'ⷕ';
pub const ETHIOPIC_SYLLABLE_XYO: char = 'ⷖ';
pub const ETHIOPIC_SYLLABLE_GYA: char = 'ⷘ';
pub const ETHIOPIC_SYLLABLE_GYU: char = 'ⷙ';
pub const ETHIOPIC_SYLLABLE_GYI: char = 'ⷚ';
pub const ETHIOPIC_SYLLABLE_GYAA: char = 'ⷛ';
pub const ETHIOPIC_SYLLABLE_GYEE: char = 'ⷜ';
pub const ETHIOPIC_SYLLABLE_GYE: char = 'ⷝ';
pub const ETHIOPIC_SYLLABLE_GYO: char = 'ⷞ';
}
#[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 {
use constants::*;
match self {
EthiopicExtended::EthiopicSyllableLoa => ETHIOPIC_SYLLABLE_LOA,
EthiopicExtended::EthiopicSyllableMoa => ETHIOPIC_SYLLABLE_MOA,
EthiopicExtended::EthiopicSyllableRoa => ETHIOPIC_SYLLABLE_ROA,
EthiopicExtended::EthiopicSyllableSoa => ETHIOPIC_SYLLABLE_SOA,
EthiopicExtended::EthiopicSyllableShoa => ETHIOPIC_SYLLABLE_SHOA,
EthiopicExtended::EthiopicSyllableBoa => ETHIOPIC_SYLLABLE_BOA,
EthiopicExtended::EthiopicSyllableToa => ETHIOPIC_SYLLABLE_TOA,
EthiopicExtended::EthiopicSyllableCoa => ETHIOPIC_SYLLABLE_COA,
EthiopicExtended::EthiopicSyllableNoa => ETHIOPIC_SYLLABLE_NOA,
EthiopicExtended::EthiopicSyllableNyoa => ETHIOPIC_SYLLABLE_NYOA,
EthiopicExtended::EthiopicSyllableGlottalOa => ETHIOPIC_SYLLABLE_GLOTTAL_OA,
EthiopicExtended::EthiopicSyllableZoa => ETHIOPIC_SYLLABLE_ZOA,
EthiopicExtended::EthiopicSyllableDoa => ETHIOPIC_SYLLABLE_DOA,
EthiopicExtended::EthiopicSyllableDdoa => ETHIOPIC_SYLLABLE_DDOA,
EthiopicExtended::EthiopicSyllableJoa => ETHIOPIC_SYLLABLE_JOA,
EthiopicExtended::EthiopicSyllableThoa => ETHIOPIC_SYLLABLE_THOA,
EthiopicExtended::EthiopicSyllableChoa => ETHIOPIC_SYLLABLE_CHOA,
EthiopicExtended::EthiopicSyllablePhoa => ETHIOPIC_SYLLABLE_PHOA,
EthiopicExtended::EthiopicSyllablePoa => ETHIOPIC_SYLLABLE_POA,
EthiopicExtended::EthiopicSyllableGgwa => ETHIOPIC_SYLLABLE_GGWA,
EthiopicExtended::EthiopicSyllableGgwi => ETHIOPIC_SYLLABLE_GGWI,
EthiopicExtended::EthiopicSyllableGgwee => ETHIOPIC_SYLLABLE_GGWEE,
EthiopicExtended::EthiopicSyllableGgwe => ETHIOPIC_SYLLABLE_GGWE,
EthiopicExtended::EthiopicSyllableSsa => ETHIOPIC_SYLLABLE_SSA,
EthiopicExtended::EthiopicSyllableSsu => ETHIOPIC_SYLLABLE_SSU,
EthiopicExtended::EthiopicSyllableSsi => ETHIOPIC_SYLLABLE_SSI,
EthiopicExtended::EthiopicSyllableSsaa => ETHIOPIC_SYLLABLE_SSAA,
EthiopicExtended::EthiopicSyllableSsee => ETHIOPIC_SYLLABLE_SSEE,
EthiopicExtended::EthiopicSyllableSse => ETHIOPIC_SYLLABLE_SSE,
EthiopicExtended::EthiopicSyllableSso => ETHIOPIC_SYLLABLE_SSO,
EthiopicExtended::EthiopicSyllableCca => ETHIOPIC_SYLLABLE_CCA,
EthiopicExtended::EthiopicSyllableCcu => ETHIOPIC_SYLLABLE_CCU,
EthiopicExtended::EthiopicSyllableCci => ETHIOPIC_SYLLABLE_CCI,
EthiopicExtended::EthiopicSyllableCcaa => ETHIOPIC_SYLLABLE_CCAA,
EthiopicExtended::EthiopicSyllableCcee => ETHIOPIC_SYLLABLE_CCEE,
EthiopicExtended::EthiopicSyllableCce => ETHIOPIC_SYLLABLE_CCE,
EthiopicExtended::EthiopicSyllableCco => ETHIOPIC_SYLLABLE_CCO,
EthiopicExtended::EthiopicSyllableZza => ETHIOPIC_SYLLABLE_ZZA,
EthiopicExtended::EthiopicSyllableZzu => ETHIOPIC_SYLLABLE_ZZU,
EthiopicExtended::EthiopicSyllableZzi => ETHIOPIC_SYLLABLE_ZZI,
EthiopicExtended::EthiopicSyllableZzaa => ETHIOPIC_SYLLABLE_ZZAA,
EthiopicExtended::EthiopicSyllableZzee => ETHIOPIC_SYLLABLE_ZZEE,
EthiopicExtended::EthiopicSyllableZze => ETHIOPIC_SYLLABLE_ZZE,
EthiopicExtended::EthiopicSyllableZzo => ETHIOPIC_SYLLABLE_ZZO,
EthiopicExtended::EthiopicSyllableCcha => ETHIOPIC_SYLLABLE_CCHA,
EthiopicExtended::EthiopicSyllableCchu => ETHIOPIC_SYLLABLE_CCHU,
EthiopicExtended::EthiopicSyllableCchi => ETHIOPIC_SYLLABLE_CCHI,
EthiopicExtended::EthiopicSyllableCchaa => ETHIOPIC_SYLLABLE_CCHAA,
EthiopicExtended::EthiopicSyllableCchee => ETHIOPIC_SYLLABLE_CCHEE,
EthiopicExtended::EthiopicSyllableCche => ETHIOPIC_SYLLABLE_CCHE,
EthiopicExtended::EthiopicSyllableCcho => ETHIOPIC_SYLLABLE_CCHO,
EthiopicExtended::EthiopicSyllableQya => ETHIOPIC_SYLLABLE_QYA,
EthiopicExtended::EthiopicSyllableQyu => ETHIOPIC_SYLLABLE_QYU,
EthiopicExtended::EthiopicSyllableQyi => ETHIOPIC_SYLLABLE_QYI,
EthiopicExtended::EthiopicSyllableQyaa => ETHIOPIC_SYLLABLE_QYAA,
EthiopicExtended::EthiopicSyllableQyee => ETHIOPIC_SYLLABLE_QYEE,
EthiopicExtended::EthiopicSyllableQye => ETHIOPIC_SYLLABLE_QYE,
EthiopicExtended::EthiopicSyllableQyo => ETHIOPIC_SYLLABLE_QYO,
EthiopicExtended::EthiopicSyllableKya => ETHIOPIC_SYLLABLE_KYA,
EthiopicExtended::EthiopicSyllableKyu => ETHIOPIC_SYLLABLE_KYU,
EthiopicExtended::EthiopicSyllableKyi => ETHIOPIC_SYLLABLE_KYI,
EthiopicExtended::EthiopicSyllableKyaa => ETHIOPIC_SYLLABLE_KYAA,
EthiopicExtended::EthiopicSyllableKyee => ETHIOPIC_SYLLABLE_KYEE,
EthiopicExtended::EthiopicSyllableKye => ETHIOPIC_SYLLABLE_KYE,
EthiopicExtended::EthiopicSyllableKyo => ETHIOPIC_SYLLABLE_KYO,
EthiopicExtended::EthiopicSyllableXya => ETHIOPIC_SYLLABLE_XYA,
EthiopicExtended::EthiopicSyllableXyu => ETHIOPIC_SYLLABLE_XYU,
EthiopicExtended::EthiopicSyllableXyi => ETHIOPIC_SYLLABLE_XYI,
EthiopicExtended::EthiopicSyllableXyaa => ETHIOPIC_SYLLABLE_XYAA,
EthiopicExtended::EthiopicSyllableXyee => ETHIOPIC_SYLLABLE_XYEE,
EthiopicExtended::EthiopicSyllableXye => ETHIOPIC_SYLLABLE_XYE,
EthiopicExtended::EthiopicSyllableXyo => ETHIOPIC_SYLLABLE_XYO,
EthiopicExtended::EthiopicSyllableGya => ETHIOPIC_SYLLABLE_GYA,
EthiopicExtended::EthiopicSyllableGyu => ETHIOPIC_SYLLABLE_GYU,
EthiopicExtended::EthiopicSyllableGyi => ETHIOPIC_SYLLABLE_GYI,
EthiopicExtended::EthiopicSyllableGyaa => ETHIOPIC_SYLLABLE_GYAA,
EthiopicExtended::EthiopicSyllableGyee => ETHIOPIC_SYLLABLE_GYEE,
EthiopicExtended::EthiopicSyllableGye => ETHIOPIC_SYLLABLE_GYE,
EthiopicExtended::EthiopicSyllableGyo => ETHIOPIC_SYLLABLE_GYO,
}
}
}
impl std::convert::TryFrom<char> for EthiopicExtended {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
ETHIOPIC_SYLLABLE_LOA => Ok(EthiopicExtended::EthiopicSyllableLoa),
ETHIOPIC_SYLLABLE_MOA => Ok(EthiopicExtended::EthiopicSyllableMoa),
ETHIOPIC_SYLLABLE_ROA => Ok(EthiopicExtended::EthiopicSyllableRoa),
ETHIOPIC_SYLLABLE_SOA => Ok(EthiopicExtended::EthiopicSyllableSoa),
ETHIOPIC_SYLLABLE_SHOA => Ok(EthiopicExtended::EthiopicSyllableShoa),
ETHIOPIC_SYLLABLE_BOA => Ok(EthiopicExtended::EthiopicSyllableBoa),
ETHIOPIC_SYLLABLE_TOA => Ok(EthiopicExtended::EthiopicSyllableToa),
ETHIOPIC_SYLLABLE_COA => Ok(EthiopicExtended::EthiopicSyllableCoa),
ETHIOPIC_SYLLABLE_NOA => Ok(EthiopicExtended::EthiopicSyllableNoa),
ETHIOPIC_SYLLABLE_NYOA => Ok(EthiopicExtended::EthiopicSyllableNyoa),
ETHIOPIC_SYLLABLE_GLOTTAL_OA => Ok(EthiopicExtended::EthiopicSyllableGlottalOa),
ETHIOPIC_SYLLABLE_ZOA => Ok(EthiopicExtended::EthiopicSyllableZoa),
ETHIOPIC_SYLLABLE_DOA => Ok(EthiopicExtended::EthiopicSyllableDoa),
ETHIOPIC_SYLLABLE_DDOA => Ok(EthiopicExtended::EthiopicSyllableDdoa),
ETHIOPIC_SYLLABLE_JOA => Ok(EthiopicExtended::EthiopicSyllableJoa),
ETHIOPIC_SYLLABLE_THOA => Ok(EthiopicExtended::EthiopicSyllableThoa),
ETHIOPIC_SYLLABLE_CHOA => Ok(EthiopicExtended::EthiopicSyllableChoa),
ETHIOPIC_SYLLABLE_PHOA => Ok(EthiopicExtended::EthiopicSyllablePhoa),
ETHIOPIC_SYLLABLE_POA => Ok(EthiopicExtended::EthiopicSyllablePoa),
ETHIOPIC_SYLLABLE_GGWA => Ok(EthiopicExtended::EthiopicSyllableGgwa),
ETHIOPIC_SYLLABLE_GGWI => Ok(EthiopicExtended::EthiopicSyllableGgwi),
ETHIOPIC_SYLLABLE_GGWEE => Ok(EthiopicExtended::EthiopicSyllableGgwee),
ETHIOPIC_SYLLABLE_GGWE => Ok(EthiopicExtended::EthiopicSyllableGgwe),
ETHIOPIC_SYLLABLE_SSA => Ok(EthiopicExtended::EthiopicSyllableSsa),
ETHIOPIC_SYLLABLE_SSU => Ok(EthiopicExtended::EthiopicSyllableSsu),
ETHIOPIC_SYLLABLE_SSI => Ok(EthiopicExtended::EthiopicSyllableSsi),
ETHIOPIC_SYLLABLE_SSAA => Ok(EthiopicExtended::EthiopicSyllableSsaa),
ETHIOPIC_SYLLABLE_SSEE => Ok(EthiopicExtended::EthiopicSyllableSsee),
ETHIOPIC_SYLLABLE_SSE => Ok(EthiopicExtended::EthiopicSyllableSse),
ETHIOPIC_SYLLABLE_SSO => Ok(EthiopicExtended::EthiopicSyllableSso),
ETHIOPIC_SYLLABLE_CCA => Ok(EthiopicExtended::EthiopicSyllableCca),
ETHIOPIC_SYLLABLE_CCU => Ok(EthiopicExtended::EthiopicSyllableCcu),
ETHIOPIC_SYLLABLE_CCI => Ok(EthiopicExtended::EthiopicSyllableCci),
ETHIOPIC_SYLLABLE_CCAA => Ok(EthiopicExtended::EthiopicSyllableCcaa),
ETHIOPIC_SYLLABLE_CCEE => Ok(EthiopicExtended::EthiopicSyllableCcee),
ETHIOPIC_SYLLABLE_CCE => Ok(EthiopicExtended::EthiopicSyllableCce),
ETHIOPIC_SYLLABLE_CCO => Ok(EthiopicExtended::EthiopicSyllableCco),
ETHIOPIC_SYLLABLE_ZZA => Ok(EthiopicExtended::EthiopicSyllableZza),
ETHIOPIC_SYLLABLE_ZZU => Ok(EthiopicExtended::EthiopicSyllableZzu),
ETHIOPIC_SYLLABLE_ZZI => Ok(EthiopicExtended::EthiopicSyllableZzi),
ETHIOPIC_SYLLABLE_ZZAA => Ok(EthiopicExtended::EthiopicSyllableZzaa),
ETHIOPIC_SYLLABLE_ZZEE => Ok(EthiopicExtended::EthiopicSyllableZzee),
ETHIOPIC_SYLLABLE_ZZE => Ok(EthiopicExtended::EthiopicSyllableZze),
ETHIOPIC_SYLLABLE_ZZO => Ok(EthiopicExtended::EthiopicSyllableZzo),
ETHIOPIC_SYLLABLE_CCHA => Ok(EthiopicExtended::EthiopicSyllableCcha),
ETHIOPIC_SYLLABLE_CCHU => Ok(EthiopicExtended::EthiopicSyllableCchu),
ETHIOPIC_SYLLABLE_CCHI => Ok(EthiopicExtended::EthiopicSyllableCchi),
ETHIOPIC_SYLLABLE_CCHAA => Ok(EthiopicExtended::EthiopicSyllableCchaa),
ETHIOPIC_SYLLABLE_CCHEE => Ok(EthiopicExtended::EthiopicSyllableCchee),
ETHIOPIC_SYLLABLE_CCHE => Ok(EthiopicExtended::EthiopicSyllableCche),
ETHIOPIC_SYLLABLE_CCHO => Ok(EthiopicExtended::EthiopicSyllableCcho),
ETHIOPIC_SYLLABLE_QYA => Ok(EthiopicExtended::EthiopicSyllableQya),
ETHIOPIC_SYLLABLE_QYU => Ok(EthiopicExtended::EthiopicSyllableQyu),
ETHIOPIC_SYLLABLE_QYI => Ok(EthiopicExtended::EthiopicSyllableQyi),
ETHIOPIC_SYLLABLE_QYAA => Ok(EthiopicExtended::EthiopicSyllableQyaa),
ETHIOPIC_SYLLABLE_QYEE => Ok(EthiopicExtended::EthiopicSyllableQyee),
ETHIOPIC_SYLLABLE_QYE => Ok(EthiopicExtended::EthiopicSyllableQye),
ETHIOPIC_SYLLABLE_QYO => Ok(EthiopicExtended::EthiopicSyllableQyo),
ETHIOPIC_SYLLABLE_KYA => Ok(EthiopicExtended::EthiopicSyllableKya),
ETHIOPIC_SYLLABLE_KYU => Ok(EthiopicExtended::EthiopicSyllableKyu),
ETHIOPIC_SYLLABLE_KYI => Ok(EthiopicExtended::EthiopicSyllableKyi),
ETHIOPIC_SYLLABLE_KYAA => Ok(EthiopicExtended::EthiopicSyllableKyaa),
ETHIOPIC_SYLLABLE_KYEE => Ok(EthiopicExtended::EthiopicSyllableKyee),
ETHIOPIC_SYLLABLE_KYE => Ok(EthiopicExtended::EthiopicSyllableKye),
ETHIOPIC_SYLLABLE_KYO => Ok(EthiopicExtended::EthiopicSyllableKyo),
ETHIOPIC_SYLLABLE_XYA => Ok(EthiopicExtended::EthiopicSyllableXya),
ETHIOPIC_SYLLABLE_XYU => Ok(EthiopicExtended::EthiopicSyllableXyu),
ETHIOPIC_SYLLABLE_XYI => Ok(EthiopicExtended::EthiopicSyllableXyi),
ETHIOPIC_SYLLABLE_XYAA => Ok(EthiopicExtended::EthiopicSyllableXyaa),
ETHIOPIC_SYLLABLE_XYEE => Ok(EthiopicExtended::EthiopicSyllableXyee),
ETHIOPIC_SYLLABLE_XYE => Ok(EthiopicExtended::EthiopicSyllableXye),
ETHIOPIC_SYLLABLE_XYO => Ok(EthiopicExtended::EthiopicSyllableXyo),
ETHIOPIC_SYLLABLE_GYA => Ok(EthiopicExtended::EthiopicSyllableGya),
ETHIOPIC_SYLLABLE_GYU => Ok(EthiopicExtended::EthiopicSyllableGyu),
ETHIOPIC_SYLLABLE_GYI => Ok(EthiopicExtended::EthiopicSyllableGyi),
ETHIOPIC_SYLLABLE_GYAA => Ok(EthiopicExtended::EthiopicSyllableGyaa),
ETHIOPIC_SYLLABLE_GYEE => Ok(EthiopicExtended::EthiopicSyllableGyee),
ETHIOPIC_SYLLABLE_GYE => Ok(EthiopicExtended::EthiopicSyllableGye),
ETHIOPIC_SYLLABLE_GYO => 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) -> &str {
match self {
EthiopicExtended::EthiopicSyllableLoa => "ethiopic syllable loa",
EthiopicExtended::EthiopicSyllableMoa => "ethiopic syllable moa",
EthiopicExtended::EthiopicSyllableRoa => "ethiopic syllable roa",
EthiopicExtended::EthiopicSyllableSoa => "ethiopic syllable soa",
EthiopicExtended::EthiopicSyllableShoa => "ethiopic syllable shoa",
EthiopicExtended::EthiopicSyllableBoa => "ethiopic syllable boa",
EthiopicExtended::EthiopicSyllableToa => "ethiopic syllable toa",
EthiopicExtended::EthiopicSyllableCoa => "ethiopic syllable coa",
EthiopicExtended::EthiopicSyllableNoa => "ethiopic syllable noa",
EthiopicExtended::EthiopicSyllableNyoa => "ethiopic syllable nyoa",
EthiopicExtended::EthiopicSyllableGlottalOa => "ethiopic syllable glottal oa",
EthiopicExtended::EthiopicSyllableZoa => "ethiopic syllable zoa",
EthiopicExtended::EthiopicSyllableDoa => "ethiopic syllable doa",
EthiopicExtended::EthiopicSyllableDdoa => "ethiopic syllable ddoa",
EthiopicExtended::EthiopicSyllableJoa => "ethiopic syllable joa",
EthiopicExtended::EthiopicSyllableThoa => "ethiopic syllable thoa",
EthiopicExtended::EthiopicSyllableChoa => "ethiopic syllable choa",
EthiopicExtended::EthiopicSyllablePhoa => "ethiopic syllable phoa",
EthiopicExtended::EthiopicSyllablePoa => "ethiopic syllable poa",
EthiopicExtended::EthiopicSyllableGgwa => "ethiopic syllable ggwa",
EthiopicExtended::EthiopicSyllableGgwi => "ethiopic syllable ggwi",
EthiopicExtended::EthiopicSyllableGgwee => "ethiopic syllable ggwee",
EthiopicExtended::EthiopicSyllableGgwe => "ethiopic syllable ggwe",
EthiopicExtended::EthiopicSyllableSsa => "ethiopic syllable ssa",
EthiopicExtended::EthiopicSyllableSsu => "ethiopic syllable ssu",
EthiopicExtended::EthiopicSyllableSsi => "ethiopic syllable ssi",
EthiopicExtended::EthiopicSyllableSsaa => "ethiopic syllable ssaa",
EthiopicExtended::EthiopicSyllableSsee => "ethiopic syllable ssee",
EthiopicExtended::EthiopicSyllableSse => "ethiopic syllable sse",
EthiopicExtended::EthiopicSyllableSso => "ethiopic syllable sso",
EthiopicExtended::EthiopicSyllableCca => "ethiopic syllable cca",
EthiopicExtended::EthiopicSyllableCcu => "ethiopic syllable ccu",
EthiopicExtended::EthiopicSyllableCci => "ethiopic syllable cci",
EthiopicExtended::EthiopicSyllableCcaa => "ethiopic syllable ccaa",
EthiopicExtended::EthiopicSyllableCcee => "ethiopic syllable ccee",
EthiopicExtended::EthiopicSyllableCce => "ethiopic syllable cce",
EthiopicExtended::EthiopicSyllableCco => "ethiopic syllable cco",
EthiopicExtended::EthiopicSyllableZza => "ethiopic syllable zza",
EthiopicExtended::EthiopicSyllableZzu => "ethiopic syllable zzu",
EthiopicExtended::EthiopicSyllableZzi => "ethiopic syllable zzi",
EthiopicExtended::EthiopicSyllableZzaa => "ethiopic syllable zzaa",
EthiopicExtended::EthiopicSyllableZzee => "ethiopic syllable zzee",
EthiopicExtended::EthiopicSyllableZze => "ethiopic syllable zze",
EthiopicExtended::EthiopicSyllableZzo => "ethiopic syllable zzo",
EthiopicExtended::EthiopicSyllableCcha => "ethiopic syllable ccha",
EthiopicExtended::EthiopicSyllableCchu => "ethiopic syllable cchu",
EthiopicExtended::EthiopicSyllableCchi => "ethiopic syllable cchi",
EthiopicExtended::EthiopicSyllableCchaa => "ethiopic syllable cchaa",
EthiopicExtended::EthiopicSyllableCchee => "ethiopic syllable cchee",
EthiopicExtended::EthiopicSyllableCche => "ethiopic syllable cche",
EthiopicExtended::EthiopicSyllableCcho => "ethiopic syllable ccho",
EthiopicExtended::EthiopicSyllableQya => "ethiopic syllable qya",
EthiopicExtended::EthiopicSyllableQyu => "ethiopic syllable qyu",
EthiopicExtended::EthiopicSyllableQyi => "ethiopic syllable qyi",
EthiopicExtended::EthiopicSyllableQyaa => "ethiopic syllable qyaa",
EthiopicExtended::EthiopicSyllableQyee => "ethiopic syllable qyee",
EthiopicExtended::EthiopicSyllableQye => "ethiopic syllable qye",
EthiopicExtended::EthiopicSyllableQyo => "ethiopic syllable qyo",
EthiopicExtended::EthiopicSyllableKya => "ethiopic syllable kya",
EthiopicExtended::EthiopicSyllableKyu => "ethiopic syllable kyu",
EthiopicExtended::EthiopicSyllableKyi => "ethiopic syllable kyi",
EthiopicExtended::EthiopicSyllableKyaa => "ethiopic syllable kyaa",
EthiopicExtended::EthiopicSyllableKyee => "ethiopic syllable kyee",
EthiopicExtended::EthiopicSyllableKye => "ethiopic syllable kye",
EthiopicExtended::EthiopicSyllableKyo => "ethiopic syllable kyo",
EthiopicExtended::EthiopicSyllableXya => "ethiopic syllable xya",
EthiopicExtended::EthiopicSyllableXyu => "ethiopic syllable xyu",
EthiopicExtended::EthiopicSyllableXyi => "ethiopic syllable xyi",
EthiopicExtended::EthiopicSyllableXyaa => "ethiopic syllable xyaa",
EthiopicExtended::EthiopicSyllableXyee => "ethiopic syllable xyee",
EthiopicExtended::EthiopicSyllableXye => "ethiopic syllable xye",
EthiopicExtended::EthiopicSyllableXyo => "ethiopic syllable xyo",
EthiopicExtended::EthiopicSyllableGya => "ethiopic syllable gya",
EthiopicExtended::EthiopicSyllableGyu => "ethiopic syllable gyu",
EthiopicExtended::EthiopicSyllableGyi => "ethiopic syllable gyi",
EthiopicExtended::EthiopicSyllableGyaa => "ethiopic syllable gyaa",
EthiopicExtended::EthiopicSyllableGyee => "ethiopic syllable gyee",
EthiopicExtended::EthiopicSyllableGye => "ethiopic syllable gye",
EthiopicExtended::EthiopicSyllableGyo => "ethiopic syllable gyo",
}
}
}