#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum OldHungarian {
CapitalLetterA,
CapitalLetterAa,
CapitalLetterEb,
CapitalLetterAmb,
CapitalLetterEc,
CapitalLetterEnc,
CapitalLetterEcs,
CapitalLetterEd,
CapitalLetterAnd,
CapitalLetterE,
CapitalLetterCloseE,
CapitalLetterEe,
CapitalLetterEf,
CapitalLetterEg,
CapitalLetterEgy,
CapitalLetterEh,
CapitalLetterI,
CapitalLetterIi,
CapitalLetterEj,
CapitalLetterEk,
CapitalLetterAk,
CapitalLetterUnk,
CapitalLetterEl,
CapitalLetterEly,
CapitalLetterEm,
CapitalLetterEn,
CapitalLetterEny,
CapitalLetterO,
CapitalLetterOo,
CapitalLetterNikolsburgOe,
CapitalLetterRudimentaOe,
CapitalLetterOee,
CapitalLetterEp,
CapitalLetterEmp,
CapitalLetterEr,
CapitalLetterShortEr,
CapitalLetterEs,
CapitalLetterEsz,
CapitalLetterEt,
CapitalLetterEnt,
CapitalLetterEty,
CapitalLetterEch,
CapitalLetterU,
CapitalLetterUu,
CapitalLetterNikolsburgUe,
CapitalLetterRudimentaUe,
CapitalLetterEv,
CapitalLetterEz,
CapitalLetterEzs,
CapitalLetterEntDashShapedSign,
CapitalLetterUs,
SmallLetterA,
SmallLetterAa,
SmallLetterEb,
SmallLetterAmb,
SmallLetterEc,
SmallLetterEnc,
SmallLetterEcs,
SmallLetterEd,
SmallLetterAnd,
SmallLetterE,
SmallLetterCloseE,
SmallLetterEe,
SmallLetterEf,
SmallLetterEg,
SmallLetterEgy,
SmallLetterEh,
SmallLetterI,
SmallLetterIi,
SmallLetterEj,
SmallLetterEk,
SmallLetterAk,
SmallLetterUnk,
SmallLetterEl,
SmallLetterEly,
SmallLetterEm,
SmallLetterEn,
SmallLetterEny,
SmallLetterO,
SmallLetterOo,
SmallLetterNikolsburgOe,
SmallLetterRudimentaOe,
SmallLetterOee,
SmallLetterEp,
SmallLetterEmp,
SmallLetterEr,
SmallLetterShortEr,
SmallLetterEs,
SmallLetterEsz,
SmallLetterEt,
SmallLetterEnt,
SmallLetterEty,
SmallLetterEch,
SmallLetterU,
SmallLetterUu,
SmallLetterNikolsburgUe,
SmallLetterRudimentaUe,
SmallLetterEv,
SmallLetterEz,
SmallLetterEzs,
SmallLetterEntDashShapedSign,
SmallLetterUs,
NumberOne,
NumberFive,
NumberTen,
NumberFifty,
NumberOneHundred,
}
impl Into<char> for OldHungarian {
fn into(self) -> char {
match self {
OldHungarian::CapitalLetterA => '𐲀',
OldHungarian::CapitalLetterAa => '𐲁',
OldHungarian::CapitalLetterEb => '𐲂',
OldHungarian::CapitalLetterAmb => '𐲃',
OldHungarian::CapitalLetterEc => '𐲄',
OldHungarian::CapitalLetterEnc => '𐲅',
OldHungarian::CapitalLetterEcs => '𐲆',
OldHungarian::CapitalLetterEd => '𐲇',
OldHungarian::CapitalLetterAnd => '𐲈',
OldHungarian::CapitalLetterE => '𐲉',
OldHungarian::CapitalLetterCloseE => '𐲊',
OldHungarian::CapitalLetterEe => '𐲋',
OldHungarian::CapitalLetterEf => '𐲌',
OldHungarian::CapitalLetterEg => '𐲍',
OldHungarian::CapitalLetterEgy => '𐲎',
OldHungarian::CapitalLetterEh => '𐲏',
OldHungarian::CapitalLetterI => '𐲐',
OldHungarian::CapitalLetterIi => '𐲑',
OldHungarian::CapitalLetterEj => '𐲒',
OldHungarian::CapitalLetterEk => '𐲓',
OldHungarian::CapitalLetterAk => '𐲔',
OldHungarian::CapitalLetterUnk => '𐲕',
OldHungarian::CapitalLetterEl => '𐲖',
OldHungarian::CapitalLetterEly => '𐲗',
OldHungarian::CapitalLetterEm => '𐲘',
OldHungarian::CapitalLetterEn => '𐲙',
OldHungarian::CapitalLetterEny => '𐲚',
OldHungarian::CapitalLetterO => '𐲛',
OldHungarian::CapitalLetterOo => '𐲜',
OldHungarian::CapitalLetterNikolsburgOe => '𐲝',
OldHungarian::CapitalLetterRudimentaOe => '𐲞',
OldHungarian::CapitalLetterOee => '𐲟',
OldHungarian::CapitalLetterEp => '𐲠',
OldHungarian::CapitalLetterEmp => '𐲡',
OldHungarian::CapitalLetterEr => '𐲢',
OldHungarian::CapitalLetterShortEr => '𐲣',
OldHungarian::CapitalLetterEs => '𐲤',
OldHungarian::CapitalLetterEsz => '𐲥',
OldHungarian::CapitalLetterEt => '𐲦',
OldHungarian::CapitalLetterEnt => '𐲧',
OldHungarian::CapitalLetterEty => '𐲨',
OldHungarian::CapitalLetterEch => '𐲩',
OldHungarian::CapitalLetterU => '𐲪',
OldHungarian::CapitalLetterUu => '𐲫',
OldHungarian::CapitalLetterNikolsburgUe => '𐲬',
OldHungarian::CapitalLetterRudimentaUe => '𐲭',
OldHungarian::CapitalLetterEv => '𐲮',
OldHungarian::CapitalLetterEz => '𐲯',
OldHungarian::CapitalLetterEzs => '𐲰',
OldHungarian::CapitalLetterEntDashShapedSign => '𐲱',
OldHungarian::CapitalLetterUs => '𐲲',
OldHungarian::SmallLetterA => '𐳀',
OldHungarian::SmallLetterAa => '𐳁',
OldHungarian::SmallLetterEb => '𐳂',
OldHungarian::SmallLetterAmb => '𐳃',
OldHungarian::SmallLetterEc => '𐳄',
OldHungarian::SmallLetterEnc => '𐳅',
OldHungarian::SmallLetterEcs => '𐳆',
OldHungarian::SmallLetterEd => '𐳇',
OldHungarian::SmallLetterAnd => '𐳈',
OldHungarian::SmallLetterE => '𐳉',
OldHungarian::SmallLetterCloseE => '𐳊',
OldHungarian::SmallLetterEe => '𐳋',
OldHungarian::SmallLetterEf => '𐳌',
OldHungarian::SmallLetterEg => '𐳍',
OldHungarian::SmallLetterEgy => '𐳎',
OldHungarian::SmallLetterEh => '𐳏',
OldHungarian::SmallLetterI => '𐳐',
OldHungarian::SmallLetterIi => '𐳑',
OldHungarian::SmallLetterEj => '𐳒',
OldHungarian::SmallLetterEk => '𐳓',
OldHungarian::SmallLetterAk => '𐳔',
OldHungarian::SmallLetterUnk => '𐳕',
OldHungarian::SmallLetterEl => '𐳖',
OldHungarian::SmallLetterEly => '𐳗',
OldHungarian::SmallLetterEm => '𐳘',
OldHungarian::SmallLetterEn => '𐳙',
OldHungarian::SmallLetterEny => '𐳚',
OldHungarian::SmallLetterO => '𐳛',
OldHungarian::SmallLetterOo => '𐳜',
OldHungarian::SmallLetterNikolsburgOe => '𐳝',
OldHungarian::SmallLetterRudimentaOe => '𐳞',
OldHungarian::SmallLetterOee => '𐳟',
OldHungarian::SmallLetterEp => '𐳠',
OldHungarian::SmallLetterEmp => '𐳡',
OldHungarian::SmallLetterEr => '𐳢',
OldHungarian::SmallLetterShortEr => '𐳣',
OldHungarian::SmallLetterEs => '𐳤',
OldHungarian::SmallLetterEsz => '𐳥',
OldHungarian::SmallLetterEt => '𐳦',
OldHungarian::SmallLetterEnt => '𐳧',
OldHungarian::SmallLetterEty => '𐳨',
OldHungarian::SmallLetterEch => '𐳩',
OldHungarian::SmallLetterU => '𐳪',
OldHungarian::SmallLetterUu => '𐳫',
OldHungarian::SmallLetterNikolsburgUe => '𐳬',
OldHungarian::SmallLetterRudimentaUe => '𐳭',
OldHungarian::SmallLetterEv => '𐳮',
OldHungarian::SmallLetterEz => '𐳯',
OldHungarian::SmallLetterEzs => '𐳰',
OldHungarian::SmallLetterEntDashShapedSign => '𐳱',
OldHungarian::SmallLetterUs => '𐳲',
OldHungarian::NumberOne => '𐳺',
OldHungarian::NumberFive => '𐳻',
OldHungarian::NumberTen => '𐳼',
OldHungarian::NumberFifty => '𐳽',
OldHungarian::NumberOneHundred => '𐳾',
}
}
}
impl std::convert::TryFrom<char> for OldHungarian {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'𐲀' => Ok(OldHungarian::CapitalLetterA),
'𐲁' => Ok(OldHungarian::CapitalLetterAa),
'𐲂' => Ok(OldHungarian::CapitalLetterEb),
'𐲃' => Ok(OldHungarian::CapitalLetterAmb),
'𐲄' => Ok(OldHungarian::CapitalLetterEc),
'𐲅' => Ok(OldHungarian::CapitalLetterEnc),
'𐲆' => Ok(OldHungarian::CapitalLetterEcs),
'𐲇' => Ok(OldHungarian::CapitalLetterEd),
'𐲈' => Ok(OldHungarian::CapitalLetterAnd),
'𐲉' => Ok(OldHungarian::CapitalLetterE),
'𐲊' => Ok(OldHungarian::CapitalLetterCloseE),
'𐲋' => Ok(OldHungarian::CapitalLetterEe),
'𐲌' => Ok(OldHungarian::CapitalLetterEf),
'𐲍' => Ok(OldHungarian::CapitalLetterEg),
'𐲎' => Ok(OldHungarian::CapitalLetterEgy),
'𐲏' => Ok(OldHungarian::CapitalLetterEh),
'𐲐' => Ok(OldHungarian::CapitalLetterI),
'𐲑' => Ok(OldHungarian::CapitalLetterIi),
'𐲒' => Ok(OldHungarian::CapitalLetterEj),
'𐲓' => Ok(OldHungarian::CapitalLetterEk),
'𐲔' => Ok(OldHungarian::CapitalLetterAk),
'𐲕' => Ok(OldHungarian::CapitalLetterUnk),
'𐲖' => Ok(OldHungarian::CapitalLetterEl),
'𐲗' => Ok(OldHungarian::CapitalLetterEly),
'𐲘' => Ok(OldHungarian::CapitalLetterEm),
'𐲙' => Ok(OldHungarian::CapitalLetterEn),
'𐲚' => Ok(OldHungarian::CapitalLetterEny),
'𐲛' => Ok(OldHungarian::CapitalLetterO),
'𐲜' => Ok(OldHungarian::CapitalLetterOo),
'𐲝' => Ok(OldHungarian::CapitalLetterNikolsburgOe),
'𐲞' => Ok(OldHungarian::CapitalLetterRudimentaOe),
'𐲟' => Ok(OldHungarian::CapitalLetterOee),
'𐲠' => Ok(OldHungarian::CapitalLetterEp),
'𐲡' => Ok(OldHungarian::CapitalLetterEmp),
'𐲢' => Ok(OldHungarian::CapitalLetterEr),
'𐲣' => Ok(OldHungarian::CapitalLetterShortEr),
'𐲤' => Ok(OldHungarian::CapitalLetterEs),
'𐲥' => Ok(OldHungarian::CapitalLetterEsz),
'𐲦' => Ok(OldHungarian::CapitalLetterEt),
'𐲧' => Ok(OldHungarian::CapitalLetterEnt),
'𐲨' => Ok(OldHungarian::CapitalLetterEty),
'𐲩' => Ok(OldHungarian::CapitalLetterEch),
'𐲪' => Ok(OldHungarian::CapitalLetterU),
'𐲫' => Ok(OldHungarian::CapitalLetterUu),
'𐲬' => Ok(OldHungarian::CapitalLetterNikolsburgUe),
'𐲭' => Ok(OldHungarian::CapitalLetterRudimentaUe),
'𐲮' => Ok(OldHungarian::CapitalLetterEv),
'𐲯' => Ok(OldHungarian::CapitalLetterEz),
'𐲰' => Ok(OldHungarian::CapitalLetterEzs),
'𐲱' => Ok(OldHungarian::CapitalLetterEntDashShapedSign),
'𐲲' => Ok(OldHungarian::CapitalLetterUs),
'𐳀' => Ok(OldHungarian::SmallLetterA),
'𐳁' => Ok(OldHungarian::SmallLetterAa),
'𐳂' => Ok(OldHungarian::SmallLetterEb),
'𐳃' => Ok(OldHungarian::SmallLetterAmb),
'𐳄' => Ok(OldHungarian::SmallLetterEc),
'𐳅' => Ok(OldHungarian::SmallLetterEnc),
'𐳆' => Ok(OldHungarian::SmallLetterEcs),
'𐳇' => Ok(OldHungarian::SmallLetterEd),
'𐳈' => Ok(OldHungarian::SmallLetterAnd),
'𐳉' => Ok(OldHungarian::SmallLetterE),
'𐳊' => Ok(OldHungarian::SmallLetterCloseE),
'𐳋' => Ok(OldHungarian::SmallLetterEe),
'𐳌' => Ok(OldHungarian::SmallLetterEf),
'𐳍' => Ok(OldHungarian::SmallLetterEg),
'𐳎' => Ok(OldHungarian::SmallLetterEgy),
'𐳏' => Ok(OldHungarian::SmallLetterEh),
'𐳐' => Ok(OldHungarian::SmallLetterI),
'𐳑' => Ok(OldHungarian::SmallLetterIi),
'𐳒' => Ok(OldHungarian::SmallLetterEj),
'𐳓' => Ok(OldHungarian::SmallLetterEk),
'𐳔' => Ok(OldHungarian::SmallLetterAk),
'𐳕' => Ok(OldHungarian::SmallLetterUnk),
'𐳖' => Ok(OldHungarian::SmallLetterEl),
'𐳗' => Ok(OldHungarian::SmallLetterEly),
'𐳘' => Ok(OldHungarian::SmallLetterEm),
'𐳙' => Ok(OldHungarian::SmallLetterEn),
'𐳚' => Ok(OldHungarian::SmallLetterEny),
'𐳛' => Ok(OldHungarian::SmallLetterO),
'𐳜' => Ok(OldHungarian::SmallLetterOo),
'𐳝' => Ok(OldHungarian::SmallLetterNikolsburgOe),
'𐳞' => Ok(OldHungarian::SmallLetterRudimentaOe),
'𐳟' => Ok(OldHungarian::SmallLetterOee),
'𐳠' => Ok(OldHungarian::SmallLetterEp),
'𐳡' => Ok(OldHungarian::SmallLetterEmp),
'𐳢' => Ok(OldHungarian::SmallLetterEr),
'𐳣' => Ok(OldHungarian::SmallLetterShortEr),
'𐳤' => Ok(OldHungarian::SmallLetterEs),
'𐳥' => Ok(OldHungarian::SmallLetterEsz),
'𐳦' => Ok(OldHungarian::SmallLetterEt),
'𐳧' => Ok(OldHungarian::SmallLetterEnt),
'𐳨' => Ok(OldHungarian::SmallLetterEty),
'𐳩' => Ok(OldHungarian::SmallLetterEch),
'𐳪' => Ok(OldHungarian::SmallLetterU),
'𐳫' => Ok(OldHungarian::SmallLetterUu),
'𐳬' => Ok(OldHungarian::SmallLetterNikolsburgUe),
'𐳭' => Ok(OldHungarian::SmallLetterRudimentaUe),
'𐳮' => Ok(OldHungarian::SmallLetterEv),
'𐳯' => Ok(OldHungarian::SmallLetterEz),
'𐳰' => Ok(OldHungarian::SmallLetterEzs),
'𐳱' => Ok(OldHungarian::SmallLetterEntDashShapedSign),
'𐳲' => Ok(OldHungarian::SmallLetterUs),
'𐳺' => Ok(OldHungarian::NumberOne),
'𐳻' => Ok(OldHungarian::NumberFive),
'𐳼' => Ok(OldHungarian::NumberTen),
'𐳽' => Ok(OldHungarian::NumberFifty),
'𐳾' => Ok(OldHungarian::NumberOneHundred),
_ => Err(()),
}
}
}
impl Into<u32> for OldHungarian {
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 OldHungarian {
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 OldHungarian {
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 OldHungarian {
pub fn new() -> Self {
OldHungarian::CapitalLetterA
}
pub fn name(&self) -> String {
let s = std::format!("OldHungarian{:#?}", self);
string_morph::to_sentence_case(&s)
}
}