#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum CyrillicExtendedB {
CyrillicCapitalLetterZemlya,
CyrillicSmallLetterZemlya,
CyrillicCapitalLetterDzelo,
CyrillicSmallLetterDzelo,
CyrillicCapitalLetterReversedDze,
CyrillicSmallLetterReversedDze,
CyrillicCapitalLetterIota,
CyrillicSmallLetterIota,
CyrillicCapitalLetterDjerv,
CyrillicSmallLetterDjerv,
CyrillicCapitalLetterMonographUk,
CyrillicSmallLetterMonographUk,
CyrillicCapitalLetterBroadOmega,
CyrillicSmallLetterBroadOmega,
CyrillicCapitalLetterNeutralYer,
CyrillicSmallLetterNeutralYer,
CyrillicCapitalLetterYeruWithBackYer,
CyrillicSmallLetterYeruWithBackYer,
CyrillicCapitalLetterIotifiedYat,
CyrillicSmallLetterIotifiedYat,
CyrillicCapitalLetterReversedYu,
CyrillicSmallLetterReversedYu,
CyrillicCapitalLetterIotifiedA,
CyrillicSmallLetterIotifiedA,
CyrillicCapitalLetterClosedLittleYus,
CyrillicSmallLetterClosedLittleYus,
CyrillicCapitalLetterBlendedYus,
CyrillicSmallLetterBlendedYus,
CyrillicCapitalLetterIotifiedClosedLittleYus,
CyrillicSmallLetterIotifiedClosedLittleYus,
CyrillicCapitalLetterYn,
CyrillicSmallLetterYn,
CyrillicCapitalLetterReversedTse,
CyrillicSmallLetterReversedTse,
CyrillicCapitalLetterSoftDe,
CyrillicSmallLetterSoftDe,
CyrillicCapitalLetterSoftEl,
CyrillicSmallLetterSoftEl,
CyrillicCapitalLetterSoftEm,
CyrillicSmallLetterSoftEm,
CyrillicCapitalLetterMonocularO,
CyrillicSmallLetterMonocularO,
CyrillicCapitalLetterBinocularO,
CyrillicSmallLetterBinocularO,
CyrillicCapitalLetterDoubleMonocularO,
CyrillicSmallLetterDoubleMonocularO,
CyrillicLetterMultiocularO,
CombiningCyrillicVzmet,
CombiningCyrillicTenMillionsSign,
CombiningCyrillicHundredMillionsSign,
CombiningCyrillicThousandMillionsSign,
SlavonicAsterisk,
CombiningCyrillicLetterUkrainianIe,
CombiningCyrillicLetterI,
CombiningCyrillicLetterYi,
CombiningCyrillicLetterU,
CombiningCyrillicLetterHardSign,
CombiningCyrillicLetterYeru,
CombiningCyrillicLetterSoftSign,
CombiningCyrillicLetterOmega,
CombiningCyrillicKavyka,
CombiningCyrillicPayerok,
CyrillicKavyka,
CyrillicPayerok,
CyrillicCapitalLetterDwe,
CyrillicSmallLetterDwe,
CyrillicCapitalLetterDzwe,
CyrillicSmallLetterDzwe,
CyrillicCapitalLetterZhwe,
CyrillicSmallLetterZhwe,
CyrillicCapitalLetterCche,
CyrillicSmallLetterCche,
CyrillicCapitalLetterDzze,
CyrillicSmallLetterDzze,
CyrillicCapitalLetterTeWithMiddleHook,
CyrillicSmallLetterTeWithMiddleHook,
CyrillicCapitalLetterTwe,
CyrillicSmallLetterTwe,
CyrillicCapitalLetterTswe,
CyrillicSmallLetterTswe,
CyrillicCapitalLetterTsse,
CyrillicSmallLetterTsse,
CyrillicCapitalLetterTche,
CyrillicSmallLetterTche,
CyrillicCapitalLetterHwe,
CyrillicSmallLetterHwe,
CyrillicCapitalLetterShwe,
CyrillicSmallLetterShwe,
CyrillicCapitalLetterDoubleO,
CyrillicSmallLetterDoubleO,
CyrillicCapitalLetterCrossedO,
CyrillicSmallLetterCrossedO,
ModifierLetterCyrillicHardSign,
ModifierLetterCyrillicSoftSign,
CombiningCyrillicLetterEf,
}
impl Into<char> for CyrillicExtendedB {
fn into(self) -> char {
match self {
CyrillicExtendedB::CyrillicCapitalLetterZemlya => 'Ꙁ',
CyrillicExtendedB::CyrillicSmallLetterZemlya => 'ꙁ',
CyrillicExtendedB::CyrillicCapitalLetterDzelo => 'Ꙃ',
CyrillicExtendedB::CyrillicSmallLetterDzelo => 'ꙃ',
CyrillicExtendedB::CyrillicCapitalLetterReversedDze => 'Ꙅ',
CyrillicExtendedB::CyrillicSmallLetterReversedDze => 'ꙅ',
CyrillicExtendedB::CyrillicCapitalLetterIota => 'Ꙇ',
CyrillicExtendedB::CyrillicSmallLetterIota => 'ꙇ',
CyrillicExtendedB::CyrillicCapitalLetterDjerv => 'Ꙉ',
CyrillicExtendedB::CyrillicSmallLetterDjerv => 'ꙉ',
CyrillicExtendedB::CyrillicCapitalLetterMonographUk => 'Ꙋ',
CyrillicExtendedB::CyrillicSmallLetterMonographUk => 'ꙋ',
CyrillicExtendedB::CyrillicCapitalLetterBroadOmega => 'Ꙍ',
CyrillicExtendedB::CyrillicSmallLetterBroadOmega => 'ꙍ',
CyrillicExtendedB::CyrillicCapitalLetterNeutralYer => 'Ꙏ',
CyrillicExtendedB::CyrillicSmallLetterNeutralYer => 'ꙏ',
CyrillicExtendedB::CyrillicCapitalLetterYeruWithBackYer => 'Ꙑ',
CyrillicExtendedB::CyrillicSmallLetterYeruWithBackYer => 'ꙑ',
CyrillicExtendedB::CyrillicCapitalLetterIotifiedYat => 'Ꙓ',
CyrillicExtendedB::CyrillicSmallLetterIotifiedYat => 'ꙓ',
CyrillicExtendedB::CyrillicCapitalLetterReversedYu => 'Ꙕ',
CyrillicExtendedB::CyrillicSmallLetterReversedYu => 'ꙕ',
CyrillicExtendedB::CyrillicCapitalLetterIotifiedA => 'Ꙗ',
CyrillicExtendedB::CyrillicSmallLetterIotifiedA => 'ꙗ',
CyrillicExtendedB::CyrillicCapitalLetterClosedLittleYus => 'Ꙙ',
CyrillicExtendedB::CyrillicSmallLetterClosedLittleYus => 'ꙙ',
CyrillicExtendedB::CyrillicCapitalLetterBlendedYus => 'Ꙛ',
CyrillicExtendedB::CyrillicSmallLetterBlendedYus => 'ꙛ',
CyrillicExtendedB::CyrillicCapitalLetterIotifiedClosedLittleYus => 'Ꙝ',
CyrillicExtendedB::CyrillicSmallLetterIotifiedClosedLittleYus => 'ꙝ',
CyrillicExtendedB::CyrillicCapitalLetterYn => 'Ꙟ',
CyrillicExtendedB::CyrillicSmallLetterYn => 'ꙟ',
CyrillicExtendedB::CyrillicCapitalLetterReversedTse => 'Ꙡ',
CyrillicExtendedB::CyrillicSmallLetterReversedTse => 'ꙡ',
CyrillicExtendedB::CyrillicCapitalLetterSoftDe => 'Ꙣ',
CyrillicExtendedB::CyrillicSmallLetterSoftDe => 'ꙣ',
CyrillicExtendedB::CyrillicCapitalLetterSoftEl => 'Ꙥ',
CyrillicExtendedB::CyrillicSmallLetterSoftEl => 'ꙥ',
CyrillicExtendedB::CyrillicCapitalLetterSoftEm => 'Ꙧ',
CyrillicExtendedB::CyrillicSmallLetterSoftEm => 'ꙧ',
CyrillicExtendedB::CyrillicCapitalLetterMonocularO => 'Ꙩ',
CyrillicExtendedB::CyrillicSmallLetterMonocularO => 'ꙩ',
CyrillicExtendedB::CyrillicCapitalLetterBinocularO => 'Ꙫ',
CyrillicExtendedB::CyrillicSmallLetterBinocularO => 'ꙫ',
CyrillicExtendedB::CyrillicCapitalLetterDoubleMonocularO => 'Ꙭ',
CyrillicExtendedB::CyrillicSmallLetterDoubleMonocularO => 'ꙭ',
CyrillicExtendedB::CyrillicLetterMultiocularO => 'ꙮ',
CyrillicExtendedB::CombiningCyrillicVzmet => '꙯',
CyrillicExtendedB::CombiningCyrillicTenMillionsSign => '꙰',
CyrillicExtendedB::CombiningCyrillicHundredMillionsSign => '꙱',
CyrillicExtendedB::CombiningCyrillicThousandMillionsSign => '꙲',
CyrillicExtendedB::SlavonicAsterisk => '꙳',
CyrillicExtendedB::CombiningCyrillicLetterUkrainianIe => 'ꙴ',
CyrillicExtendedB::CombiningCyrillicLetterI => 'ꙵ',
CyrillicExtendedB::CombiningCyrillicLetterYi => 'ꙶ',
CyrillicExtendedB::CombiningCyrillicLetterU => 'ꙷ',
CyrillicExtendedB::CombiningCyrillicLetterHardSign => 'ꙸ',
CyrillicExtendedB::CombiningCyrillicLetterYeru => 'ꙹ',
CyrillicExtendedB::CombiningCyrillicLetterSoftSign => 'ꙺ',
CyrillicExtendedB::CombiningCyrillicLetterOmega => 'ꙻ',
CyrillicExtendedB::CombiningCyrillicKavyka => '꙼',
CyrillicExtendedB::CombiningCyrillicPayerok => '꙽',
CyrillicExtendedB::CyrillicKavyka => '꙾',
CyrillicExtendedB::CyrillicPayerok => 'ꙿ',
CyrillicExtendedB::CyrillicCapitalLetterDwe => 'Ꚁ',
CyrillicExtendedB::CyrillicSmallLetterDwe => 'ꚁ',
CyrillicExtendedB::CyrillicCapitalLetterDzwe => 'Ꚃ',
CyrillicExtendedB::CyrillicSmallLetterDzwe => 'ꚃ',
CyrillicExtendedB::CyrillicCapitalLetterZhwe => 'Ꚅ',
CyrillicExtendedB::CyrillicSmallLetterZhwe => 'ꚅ',
CyrillicExtendedB::CyrillicCapitalLetterCche => 'Ꚇ',
CyrillicExtendedB::CyrillicSmallLetterCche => 'ꚇ',
CyrillicExtendedB::CyrillicCapitalLetterDzze => 'Ꚉ',
CyrillicExtendedB::CyrillicSmallLetterDzze => 'ꚉ',
CyrillicExtendedB::CyrillicCapitalLetterTeWithMiddleHook => 'Ꚋ',
CyrillicExtendedB::CyrillicSmallLetterTeWithMiddleHook => 'ꚋ',
CyrillicExtendedB::CyrillicCapitalLetterTwe => 'Ꚍ',
CyrillicExtendedB::CyrillicSmallLetterTwe => 'ꚍ',
CyrillicExtendedB::CyrillicCapitalLetterTswe => 'Ꚏ',
CyrillicExtendedB::CyrillicSmallLetterTswe => 'ꚏ',
CyrillicExtendedB::CyrillicCapitalLetterTsse => 'Ꚑ',
CyrillicExtendedB::CyrillicSmallLetterTsse => 'ꚑ',
CyrillicExtendedB::CyrillicCapitalLetterTche => 'Ꚓ',
CyrillicExtendedB::CyrillicSmallLetterTche => 'ꚓ',
CyrillicExtendedB::CyrillicCapitalLetterHwe => 'Ꚕ',
CyrillicExtendedB::CyrillicSmallLetterHwe => 'ꚕ',
CyrillicExtendedB::CyrillicCapitalLetterShwe => 'Ꚗ',
CyrillicExtendedB::CyrillicSmallLetterShwe => 'ꚗ',
CyrillicExtendedB::CyrillicCapitalLetterDoubleO => 'Ꚙ',
CyrillicExtendedB::CyrillicSmallLetterDoubleO => 'ꚙ',
CyrillicExtendedB::CyrillicCapitalLetterCrossedO => 'Ꚛ',
CyrillicExtendedB::CyrillicSmallLetterCrossedO => 'ꚛ',
CyrillicExtendedB::ModifierLetterCyrillicHardSign => 'ꚜ',
CyrillicExtendedB::ModifierLetterCyrillicSoftSign => 'ꚝ',
CyrillicExtendedB::CombiningCyrillicLetterEf => 'ꚞ',
}
}
}
impl std::convert::TryFrom<char> for CyrillicExtendedB {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'Ꙁ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterZemlya),
'ꙁ' => Ok(CyrillicExtendedB::CyrillicSmallLetterZemlya),
'Ꙃ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDzelo),
'ꙃ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDzelo),
'Ꙅ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterReversedDze),
'ꙅ' => Ok(CyrillicExtendedB::CyrillicSmallLetterReversedDze),
'Ꙇ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterIota),
'ꙇ' => Ok(CyrillicExtendedB::CyrillicSmallLetterIota),
'Ꙉ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDjerv),
'ꙉ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDjerv),
'Ꙋ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterMonographUk),
'ꙋ' => Ok(CyrillicExtendedB::CyrillicSmallLetterMonographUk),
'Ꙍ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterBroadOmega),
'ꙍ' => Ok(CyrillicExtendedB::CyrillicSmallLetterBroadOmega),
'Ꙏ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterNeutralYer),
'ꙏ' => Ok(CyrillicExtendedB::CyrillicSmallLetterNeutralYer),
'Ꙑ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterYeruWithBackYer),
'ꙑ' => Ok(CyrillicExtendedB::CyrillicSmallLetterYeruWithBackYer),
'Ꙓ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterIotifiedYat),
'ꙓ' => Ok(CyrillicExtendedB::CyrillicSmallLetterIotifiedYat),
'Ꙕ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterReversedYu),
'ꙕ' => Ok(CyrillicExtendedB::CyrillicSmallLetterReversedYu),
'Ꙗ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterIotifiedA),
'ꙗ' => Ok(CyrillicExtendedB::CyrillicSmallLetterIotifiedA),
'Ꙙ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterClosedLittleYus),
'ꙙ' => Ok(CyrillicExtendedB::CyrillicSmallLetterClosedLittleYus),
'Ꙛ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterBlendedYus),
'ꙛ' => Ok(CyrillicExtendedB::CyrillicSmallLetterBlendedYus),
'Ꙝ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterIotifiedClosedLittleYus),
'ꙝ' => Ok(CyrillicExtendedB::CyrillicSmallLetterIotifiedClosedLittleYus),
'Ꙟ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterYn),
'ꙟ' => Ok(CyrillicExtendedB::CyrillicSmallLetterYn),
'Ꙡ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterReversedTse),
'ꙡ' => Ok(CyrillicExtendedB::CyrillicSmallLetterReversedTse),
'Ꙣ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterSoftDe),
'ꙣ' => Ok(CyrillicExtendedB::CyrillicSmallLetterSoftDe),
'Ꙥ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterSoftEl),
'ꙥ' => Ok(CyrillicExtendedB::CyrillicSmallLetterSoftEl),
'Ꙧ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterSoftEm),
'ꙧ' => Ok(CyrillicExtendedB::CyrillicSmallLetterSoftEm),
'Ꙩ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterMonocularO),
'ꙩ' => Ok(CyrillicExtendedB::CyrillicSmallLetterMonocularO),
'Ꙫ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterBinocularO),
'ꙫ' => Ok(CyrillicExtendedB::CyrillicSmallLetterBinocularO),
'Ꙭ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDoubleMonocularO),
'ꙭ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDoubleMonocularO),
'ꙮ' => Ok(CyrillicExtendedB::CyrillicLetterMultiocularO),
'꙯' => Ok(CyrillicExtendedB::CombiningCyrillicVzmet),
'꙰' => Ok(CyrillicExtendedB::CombiningCyrillicTenMillionsSign),
'꙱' => Ok(CyrillicExtendedB::CombiningCyrillicHundredMillionsSign),
'꙲' => Ok(CyrillicExtendedB::CombiningCyrillicThousandMillionsSign),
'꙳' => Ok(CyrillicExtendedB::SlavonicAsterisk),
'ꙴ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterUkrainianIe),
'ꙵ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterI),
'ꙶ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterYi),
'ꙷ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterU),
'ꙸ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterHardSign),
'ꙹ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterYeru),
'ꙺ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterSoftSign),
'ꙻ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterOmega),
'꙼' => Ok(CyrillicExtendedB::CombiningCyrillicKavyka),
'꙽' => Ok(CyrillicExtendedB::CombiningCyrillicPayerok),
'꙾' => Ok(CyrillicExtendedB::CyrillicKavyka),
'ꙿ' => Ok(CyrillicExtendedB::CyrillicPayerok),
'Ꚁ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDwe),
'ꚁ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDwe),
'Ꚃ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDzwe),
'ꚃ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDzwe),
'Ꚅ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterZhwe),
'ꚅ' => Ok(CyrillicExtendedB::CyrillicSmallLetterZhwe),
'Ꚇ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterCche),
'ꚇ' => Ok(CyrillicExtendedB::CyrillicSmallLetterCche),
'Ꚉ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDzze),
'ꚉ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDzze),
'Ꚋ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterTeWithMiddleHook),
'ꚋ' => Ok(CyrillicExtendedB::CyrillicSmallLetterTeWithMiddleHook),
'Ꚍ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterTwe),
'ꚍ' => Ok(CyrillicExtendedB::CyrillicSmallLetterTwe),
'Ꚏ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterTswe),
'ꚏ' => Ok(CyrillicExtendedB::CyrillicSmallLetterTswe),
'Ꚑ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterTsse),
'ꚑ' => Ok(CyrillicExtendedB::CyrillicSmallLetterTsse),
'Ꚓ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterTche),
'ꚓ' => Ok(CyrillicExtendedB::CyrillicSmallLetterTche),
'Ꚕ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterHwe),
'ꚕ' => Ok(CyrillicExtendedB::CyrillicSmallLetterHwe),
'Ꚗ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterShwe),
'ꚗ' => Ok(CyrillicExtendedB::CyrillicSmallLetterShwe),
'Ꚙ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterDoubleO),
'ꚙ' => Ok(CyrillicExtendedB::CyrillicSmallLetterDoubleO),
'Ꚛ' => Ok(CyrillicExtendedB::CyrillicCapitalLetterCrossedO),
'ꚛ' => Ok(CyrillicExtendedB::CyrillicSmallLetterCrossedO),
'ꚜ' => Ok(CyrillicExtendedB::ModifierLetterCyrillicHardSign),
'ꚝ' => Ok(CyrillicExtendedB::ModifierLetterCyrillicSoftSign),
'ꚞ' => Ok(CyrillicExtendedB::CombiningCyrillicLetterEf),
_ => Err(()),
}
}
}
impl Into<u32> for CyrillicExtendedB {
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 CyrillicExtendedB {
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 CyrillicExtendedB {
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 CyrillicExtendedB {
pub fn new() -> Self {
CyrillicExtendedB::CyrillicCapitalLetterZemlya
}
pub fn name(&self) -> String {
let s = std::format!("CyrillicExtendedB{:#?}", self);
string_morph::to_sentence_case(&s)
}
}