#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum CherokeeSupplement {
CherokeeSmallLetterA,
CherokeeSmallLetterE,
CherokeeSmallLetterI,
CherokeeSmallLetterO,
CherokeeSmallLetterU,
CherokeeSmallLetterV,
CherokeeSmallLetterGa,
CherokeeSmallLetterKa,
CherokeeSmallLetterGe,
CherokeeSmallLetterGi,
CherokeeSmallLetterGo,
CherokeeSmallLetterGu,
CherokeeSmallLetterGv,
CherokeeSmallLetterHa,
CherokeeSmallLetterHe,
CherokeeSmallLetterHi,
CherokeeSmallLetterHo,
CherokeeSmallLetterHu,
CherokeeSmallLetterHv,
CherokeeSmallLetterLa,
CherokeeSmallLetterLe,
CherokeeSmallLetterLi,
CherokeeSmallLetterLo,
CherokeeSmallLetterLu,
CherokeeSmallLetterLv,
CherokeeSmallLetterMa,
CherokeeSmallLetterMe,
CherokeeSmallLetterMi,
CherokeeSmallLetterMo,
CherokeeSmallLetterMu,
CherokeeSmallLetterNa,
CherokeeSmallLetterHna,
CherokeeSmallLetterNah,
CherokeeSmallLetterNe,
CherokeeSmallLetterNi,
CherokeeSmallLetterNo,
CherokeeSmallLetterNu,
CherokeeSmallLetterNv,
CherokeeSmallLetterQua,
CherokeeSmallLetterQue,
CherokeeSmallLetterQui,
CherokeeSmallLetterQuo,
CherokeeSmallLetterQuu,
CherokeeSmallLetterQuv,
CherokeeSmallLetterSa,
CherokeeSmallLetterS,
CherokeeSmallLetterSe,
CherokeeSmallLetterSi,
CherokeeSmallLetterSo,
CherokeeSmallLetterSu,
CherokeeSmallLetterSv,
CherokeeSmallLetterDa,
CherokeeSmallLetterTa,
CherokeeSmallLetterDe,
CherokeeSmallLetterTe,
CherokeeSmallLetterDi,
CherokeeSmallLetterTi,
CherokeeSmallLetterDo,
CherokeeSmallLetterDu,
CherokeeSmallLetterDv,
CherokeeSmallLetterDla,
CherokeeSmallLetterTla,
CherokeeSmallLetterTle,
CherokeeSmallLetterTli,
CherokeeSmallLetterTlo,
CherokeeSmallLetterTlu,
CherokeeSmallLetterTlv,
CherokeeSmallLetterTsa,
CherokeeSmallLetterTse,
CherokeeSmallLetterTsi,
CherokeeSmallLetterTso,
CherokeeSmallLetterTsu,
CherokeeSmallLetterTsv,
CherokeeSmallLetterWa,
CherokeeSmallLetterWe,
CherokeeSmallLetterWi,
CherokeeSmallLetterWo,
CherokeeSmallLetterWu,
CherokeeSmallLetterWv,
}
impl Into<char> for CherokeeSupplement {
fn into(self) -> char {
match self {
CherokeeSupplement::CherokeeSmallLetterA => 'ꭰ',
CherokeeSupplement::CherokeeSmallLetterE => 'ꭱ',
CherokeeSupplement::CherokeeSmallLetterI => 'ꭲ',
CherokeeSupplement::CherokeeSmallLetterO => 'ꭳ',
CherokeeSupplement::CherokeeSmallLetterU => 'ꭴ',
CherokeeSupplement::CherokeeSmallLetterV => 'ꭵ',
CherokeeSupplement::CherokeeSmallLetterGa => 'ꭶ',
CherokeeSupplement::CherokeeSmallLetterKa => 'ꭷ',
CherokeeSupplement::CherokeeSmallLetterGe => 'ꭸ',
CherokeeSupplement::CherokeeSmallLetterGi => 'ꭹ',
CherokeeSupplement::CherokeeSmallLetterGo => 'ꭺ',
CherokeeSupplement::CherokeeSmallLetterGu => 'ꭻ',
CherokeeSupplement::CherokeeSmallLetterGv => 'ꭼ',
CherokeeSupplement::CherokeeSmallLetterHa => 'ꭽ',
CherokeeSupplement::CherokeeSmallLetterHe => 'ꭾ',
CherokeeSupplement::CherokeeSmallLetterHi => 'ꭿ',
CherokeeSupplement::CherokeeSmallLetterHo => 'ꮀ',
CherokeeSupplement::CherokeeSmallLetterHu => 'ꮁ',
CherokeeSupplement::CherokeeSmallLetterHv => 'ꮂ',
CherokeeSupplement::CherokeeSmallLetterLa => 'ꮃ',
CherokeeSupplement::CherokeeSmallLetterLe => 'ꮄ',
CherokeeSupplement::CherokeeSmallLetterLi => 'ꮅ',
CherokeeSupplement::CherokeeSmallLetterLo => 'ꮆ',
CherokeeSupplement::CherokeeSmallLetterLu => 'ꮇ',
CherokeeSupplement::CherokeeSmallLetterLv => 'ꮈ',
CherokeeSupplement::CherokeeSmallLetterMa => 'ꮉ',
CherokeeSupplement::CherokeeSmallLetterMe => 'ꮊ',
CherokeeSupplement::CherokeeSmallLetterMi => 'ꮋ',
CherokeeSupplement::CherokeeSmallLetterMo => 'ꮌ',
CherokeeSupplement::CherokeeSmallLetterMu => 'ꮍ',
CherokeeSupplement::CherokeeSmallLetterNa => 'ꮎ',
CherokeeSupplement::CherokeeSmallLetterHna => 'ꮏ',
CherokeeSupplement::CherokeeSmallLetterNah => 'ꮐ',
CherokeeSupplement::CherokeeSmallLetterNe => 'ꮑ',
CherokeeSupplement::CherokeeSmallLetterNi => 'ꮒ',
CherokeeSupplement::CherokeeSmallLetterNo => 'ꮓ',
CherokeeSupplement::CherokeeSmallLetterNu => 'ꮔ',
CherokeeSupplement::CherokeeSmallLetterNv => 'ꮕ',
CherokeeSupplement::CherokeeSmallLetterQua => 'ꮖ',
CherokeeSupplement::CherokeeSmallLetterQue => 'ꮗ',
CherokeeSupplement::CherokeeSmallLetterQui => 'ꮘ',
CherokeeSupplement::CherokeeSmallLetterQuo => 'ꮙ',
CherokeeSupplement::CherokeeSmallLetterQuu => 'ꮚ',
CherokeeSupplement::CherokeeSmallLetterQuv => 'ꮛ',
CherokeeSupplement::CherokeeSmallLetterSa => 'ꮜ',
CherokeeSupplement::CherokeeSmallLetterS => 'ꮝ',
CherokeeSupplement::CherokeeSmallLetterSe => 'ꮞ',
CherokeeSupplement::CherokeeSmallLetterSi => 'ꮟ',
CherokeeSupplement::CherokeeSmallLetterSo => 'ꮠ',
CherokeeSupplement::CherokeeSmallLetterSu => 'ꮡ',
CherokeeSupplement::CherokeeSmallLetterSv => 'ꮢ',
CherokeeSupplement::CherokeeSmallLetterDa => 'ꮣ',
CherokeeSupplement::CherokeeSmallLetterTa => 'ꮤ',
CherokeeSupplement::CherokeeSmallLetterDe => 'ꮥ',
CherokeeSupplement::CherokeeSmallLetterTe => 'ꮦ',
CherokeeSupplement::CherokeeSmallLetterDi => 'ꮧ',
CherokeeSupplement::CherokeeSmallLetterTi => 'ꮨ',
CherokeeSupplement::CherokeeSmallLetterDo => 'ꮩ',
CherokeeSupplement::CherokeeSmallLetterDu => 'ꮪ',
CherokeeSupplement::CherokeeSmallLetterDv => 'ꮫ',
CherokeeSupplement::CherokeeSmallLetterDla => 'ꮬ',
CherokeeSupplement::CherokeeSmallLetterTla => 'ꮭ',
CherokeeSupplement::CherokeeSmallLetterTle => 'ꮮ',
CherokeeSupplement::CherokeeSmallLetterTli => 'ꮯ',
CherokeeSupplement::CherokeeSmallLetterTlo => 'ꮰ',
CherokeeSupplement::CherokeeSmallLetterTlu => 'ꮱ',
CherokeeSupplement::CherokeeSmallLetterTlv => 'ꮲ',
CherokeeSupplement::CherokeeSmallLetterTsa => 'ꮳ',
CherokeeSupplement::CherokeeSmallLetterTse => 'ꮴ',
CherokeeSupplement::CherokeeSmallLetterTsi => 'ꮵ',
CherokeeSupplement::CherokeeSmallLetterTso => 'ꮶ',
CherokeeSupplement::CherokeeSmallLetterTsu => 'ꮷ',
CherokeeSupplement::CherokeeSmallLetterTsv => 'ꮸ',
CherokeeSupplement::CherokeeSmallLetterWa => 'ꮹ',
CherokeeSupplement::CherokeeSmallLetterWe => 'ꮺ',
CherokeeSupplement::CherokeeSmallLetterWi => 'ꮻ',
CherokeeSupplement::CherokeeSmallLetterWo => 'ꮼ',
CherokeeSupplement::CherokeeSmallLetterWu => 'ꮽ',
CherokeeSupplement::CherokeeSmallLetterWv => 'ꮾ',
}
}
}
impl std::convert::TryFrom<char> for CherokeeSupplement {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'ꭰ' => Ok(CherokeeSupplement::CherokeeSmallLetterA),
'ꭱ' => Ok(CherokeeSupplement::CherokeeSmallLetterE),
'ꭲ' => Ok(CherokeeSupplement::CherokeeSmallLetterI),
'ꭳ' => Ok(CherokeeSupplement::CherokeeSmallLetterO),
'ꭴ' => Ok(CherokeeSupplement::CherokeeSmallLetterU),
'ꭵ' => Ok(CherokeeSupplement::CherokeeSmallLetterV),
'ꭶ' => Ok(CherokeeSupplement::CherokeeSmallLetterGa),
'ꭷ' => Ok(CherokeeSupplement::CherokeeSmallLetterKa),
'ꭸ' => Ok(CherokeeSupplement::CherokeeSmallLetterGe),
'ꭹ' => Ok(CherokeeSupplement::CherokeeSmallLetterGi),
'ꭺ' => Ok(CherokeeSupplement::CherokeeSmallLetterGo),
'ꭻ' => Ok(CherokeeSupplement::CherokeeSmallLetterGu),
'ꭼ' => Ok(CherokeeSupplement::CherokeeSmallLetterGv),
'ꭽ' => Ok(CherokeeSupplement::CherokeeSmallLetterHa),
'ꭾ' => Ok(CherokeeSupplement::CherokeeSmallLetterHe),
'ꭿ' => Ok(CherokeeSupplement::CherokeeSmallLetterHi),
'ꮀ' => Ok(CherokeeSupplement::CherokeeSmallLetterHo),
'ꮁ' => Ok(CherokeeSupplement::CherokeeSmallLetterHu),
'ꮂ' => Ok(CherokeeSupplement::CherokeeSmallLetterHv),
'ꮃ' => Ok(CherokeeSupplement::CherokeeSmallLetterLa),
'ꮄ' => Ok(CherokeeSupplement::CherokeeSmallLetterLe),
'ꮅ' => Ok(CherokeeSupplement::CherokeeSmallLetterLi),
'ꮆ' => Ok(CherokeeSupplement::CherokeeSmallLetterLo),
'ꮇ' => Ok(CherokeeSupplement::CherokeeSmallLetterLu),
'ꮈ' => Ok(CherokeeSupplement::CherokeeSmallLetterLv),
'ꮉ' => Ok(CherokeeSupplement::CherokeeSmallLetterMa),
'ꮊ' => Ok(CherokeeSupplement::CherokeeSmallLetterMe),
'ꮋ' => Ok(CherokeeSupplement::CherokeeSmallLetterMi),
'ꮌ' => Ok(CherokeeSupplement::CherokeeSmallLetterMo),
'ꮍ' => Ok(CherokeeSupplement::CherokeeSmallLetterMu),
'ꮎ' => Ok(CherokeeSupplement::CherokeeSmallLetterNa),
'ꮏ' => Ok(CherokeeSupplement::CherokeeSmallLetterHna),
'ꮐ' => Ok(CherokeeSupplement::CherokeeSmallLetterNah),
'ꮑ' => Ok(CherokeeSupplement::CherokeeSmallLetterNe),
'ꮒ' => Ok(CherokeeSupplement::CherokeeSmallLetterNi),
'ꮓ' => Ok(CherokeeSupplement::CherokeeSmallLetterNo),
'ꮔ' => Ok(CherokeeSupplement::CherokeeSmallLetterNu),
'ꮕ' => Ok(CherokeeSupplement::CherokeeSmallLetterNv),
'ꮖ' => Ok(CherokeeSupplement::CherokeeSmallLetterQua),
'ꮗ' => Ok(CherokeeSupplement::CherokeeSmallLetterQue),
'ꮘ' => Ok(CherokeeSupplement::CherokeeSmallLetterQui),
'ꮙ' => Ok(CherokeeSupplement::CherokeeSmallLetterQuo),
'ꮚ' => Ok(CherokeeSupplement::CherokeeSmallLetterQuu),
'ꮛ' => Ok(CherokeeSupplement::CherokeeSmallLetterQuv),
'ꮜ' => Ok(CherokeeSupplement::CherokeeSmallLetterSa),
'ꮝ' => Ok(CherokeeSupplement::CherokeeSmallLetterS),
'ꮞ' => Ok(CherokeeSupplement::CherokeeSmallLetterSe),
'ꮟ' => Ok(CherokeeSupplement::CherokeeSmallLetterSi),
'ꮠ' => Ok(CherokeeSupplement::CherokeeSmallLetterSo),
'ꮡ' => Ok(CherokeeSupplement::CherokeeSmallLetterSu),
'ꮢ' => Ok(CherokeeSupplement::CherokeeSmallLetterSv),
'ꮣ' => Ok(CherokeeSupplement::CherokeeSmallLetterDa),
'ꮤ' => Ok(CherokeeSupplement::CherokeeSmallLetterTa),
'ꮥ' => Ok(CherokeeSupplement::CherokeeSmallLetterDe),
'ꮦ' => Ok(CherokeeSupplement::CherokeeSmallLetterTe),
'ꮧ' => Ok(CherokeeSupplement::CherokeeSmallLetterDi),
'ꮨ' => Ok(CherokeeSupplement::CherokeeSmallLetterTi),
'ꮩ' => Ok(CherokeeSupplement::CherokeeSmallLetterDo),
'ꮪ' => Ok(CherokeeSupplement::CherokeeSmallLetterDu),
'ꮫ' => Ok(CherokeeSupplement::CherokeeSmallLetterDv),
'ꮬ' => Ok(CherokeeSupplement::CherokeeSmallLetterDla),
'ꮭ' => Ok(CherokeeSupplement::CherokeeSmallLetterTla),
'ꮮ' => Ok(CherokeeSupplement::CherokeeSmallLetterTle),
'ꮯ' => Ok(CherokeeSupplement::CherokeeSmallLetterTli),
'ꮰ' => Ok(CherokeeSupplement::CherokeeSmallLetterTlo),
'ꮱ' => Ok(CherokeeSupplement::CherokeeSmallLetterTlu),
'ꮲ' => Ok(CherokeeSupplement::CherokeeSmallLetterTlv),
'ꮳ' => Ok(CherokeeSupplement::CherokeeSmallLetterTsa),
'ꮴ' => Ok(CherokeeSupplement::CherokeeSmallLetterTse),
'ꮵ' => Ok(CherokeeSupplement::CherokeeSmallLetterTsi),
'ꮶ' => Ok(CherokeeSupplement::CherokeeSmallLetterTso),
'ꮷ' => Ok(CherokeeSupplement::CherokeeSmallLetterTsu),
'ꮸ' => Ok(CherokeeSupplement::CherokeeSmallLetterTsv),
'ꮹ' => Ok(CherokeeSupplement::CherokeeSmallLetterWa),
'ꮺ' => Ok(CherokeeSupplement::CherokeeSmallLetterWe),
'ꮻ' => Ok(CherokeeSupplement::CherokeeSmallLetterWi),
'ꮼ' => Ok(CherokeeSupplement::CherokeeSmallLetterWo),
'ꮽ' => Ok(CherokeeSupplement::CherokeeSmallLetterWu),
'ꮾ' => Ok(CherokeeSupplement::CherokeeSmallLetterWv),
_ => Err(()),
}
}
}
impl Into<u32> for CherokeeSupplement {
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 CherokeeSupplement {
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 CherokeeSupplement {
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 CherokeeSupplement {
pub fn new() -> Self {
CherokeeSupplement::CherokeeSmallLetterA
}
pub fn name(&self) -> String {
let s = std::format!("CherokeeSupplement{:#?}", self);
string_morph::to_sentence_case(&s)
}
}