mod constants {
pub const LATIN_SMALL_LETTER_BARRED_ALPHA: char = 'ꬰ';
pub const LATIN_SMALL_LETTER_A_REVERSED_DASH_SCHWA: char = 'ꬱ';
pub const LATIN_SMALL_LETTER_BLACKLETTER_E: char = 'ꬲ';
pub const LATIN_SMALL_LETTER_BARRED_E: char = 'ꬳ';
pub const LATIN_SMALL_LETTER_E_WITH_FLOURISH: char = 'ꬴ';
pub const LATIN_SMALL_LETTER_LENIS_F: char = 'ꬵ';
pub const LATIN_SMALL_LETTER_SCRIPT_G_WITH_CROSSED_DASH_TAIL: char = 'ꬶ';
pub const LATIN_SMALL_LETTER_L_WITH_INVERTED_LAZY_S: char = 'ꬷ';
pub const LATIN_SMALL_LETTER_L_WITH_DOUBLE_MIDDLE_TILDE: char = 'ꬸ';
pub const LATIN_SMALL_LETTER_L_WITH_MIDDLE_RING: char = 'ꬹ';
pub const LATIN_SMALL_LETTER_M_WITH_CROSSED_DASH_TAIL: char = 'ꬺ';
pub const LATIN_SMALL_LETTER_N_WITH_CROSSED_DASH_TAIL: char = 'ꬻ';
pub const LATIN_SMALL_LETTER_ENG_WITH_CROSSED_DASH_TAIL: char = 'ꬼ';
pub const LATIN_SMALL_LETTER_BLACKLETTER_O: char = 'ꬽ';
pub const LATIN_SMALL_LETTER_BLACKLETTER_O_WITH_STROKE: char = 'ꬾ';
pub const LATIN_SMALL_LETTER_OPEN_O_WITH_STROKE: char = 'ꬿ';
pub const LATIN_SMALL_LETTER_INVERTED_OE: char = 'ꭀ';
pub const LATIN_SMALL_LETTER_TURNED_OE_WITH_STROKE: char = 'ꭁ';
pub const LATIN_SMALL_LETTER_TURNED_OE_WITH_HORIZONTAL_STROKE: char = 'ꭂ';
pub const LATIN_SMALL_LETTER_TURNED_O_OPEN_DASH_O: char = 'ꭃ';
pub const LATIN_SMALL_LETTER_TURNED_O_OPEN_DASH_O_WITH_STROKE: char = 'ꭄ';
pub const LATIN_SMALL_LETTER_STIRRUP_R: char = 'ꭅ';
pub const LATIN_LETTER_SMALL_CAPITAL_R_WITH_RIGHT_LEG: char = 'ꭆ';
pub const LATIN_SMALL_LETTER_R_WITHOUT_HANDLE: char = 'ꭇ';
pub const LATIN_SMALL_LETTER_DOUBLE_R: char = 'ꭈ';
pub const LATIN_SMALL_LETTER_R_WITH_CROSSED_DASH_TAIL: char = 'ꭉ';
pub const LATIN_SMALL_LETTER_DOUBLE_R_WITH_CROSSED_DASH_TAIL: char = 'ꭊ';
pub const LATIN_SMALL_LETTER_SCRIPT_R: char = 'ꭋ';
pub const LATIN_SMALL_LETTER_SCRIPT_R_WITH_RING: char = 'ꭌ';
pub const LATIN_SMALL_LETTER_BASELINE_ESH: char = 'ꭍ';
pub const LATIN_SMALL_LETTER_U_WITH_SHORT_RIGHT_LEG: char = 'ꭎ';
pub const LATIN_SMALL_LETTER_U_BAR_WITH_SHORT_RIGHT_LEG: char = 'ꭏ';
pub const LATIN_SMALL_LETTER_UI: char = 'ꭐ';
pub const LATIN_SMALL_LETTER_TURNED_UI: char = 'ꭑ';
pub const LATIN_SMALL_LETTER_U_WITH_LEFT_HOOK: char = 'ꭒ';
pub const LATIN_SMALL_LETTER_CHI: char = 'ꭓ';
pub const LATIN_SMALL_LETTER_CHI_WITH_LOW_RIGHT_RING: char = 'ꭔ';
pub const LATIN_SMALL_LETTER_CHI_WITH_LOW_LEFT_SERIF: char = 'ꭕ';
pub const LATIN_SMALL_LETTER_X_WITH_LOW_RIGHT_RING: char = 'ꭖ';
pub const LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG: char = 'ꭗ';
pub const LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG_AND_LOW_RIGHT_RING: char = 'ꭘ';
pub const LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG_WITH_SERIF: char = 'ꭙ';
pub const LATIN_SMALL_LETTER_Y_WITH_SHORT_RIGHT_LEG: char = 'ꭚ';
pub const MODIFIER_BREVE_WITH_INVERTED_BREVE: char = '꭛';
pub const MODIFIER_LETTER_SMALL_HENG: char = 'ꭜ';
pub const MODIFIER_LETTER_SMALL_L_WITH_INVERTED_LAZY_S: char = 'ꭝ';
pub const MODIFIER_LETTER_SMALL_L_WITH_MIDDLE_TILDE: char = 'ꭞ';
pub const MODIFIER_LETTER_SMALL_U_WITH_LEFT_HOOK: char = 'ꭟ';
pub const LATIN_SMALL_LETTER_SAKHA_YAT: char = 'ꭠ';
pub const LATIN_SMALL_LETTER_IOTIFIED_E: char = 'ꭡ';
pub const LATIN_SMALL_LETTER_OPEN_OE: char = 'ꭢ';
pub const LATIN_SMALL_LETTER_UO: char = 'ꭣ';
pub const LATIN_SMALL_LETTER_INVERTED_ALPHA: char = 'ꭤ';
pub const GREEK_LETTER_SMALL_CAPITAL_OMEGA: char = 'ꭥ';
pub const LATIN_SMALL_LETTER_DZ_DIGRAPH_WITH_RETROFLEX_HOOK: char = 'ꭦ';
pub const LATIN_SMALL_LETTER_TS_DIGRAPH_WITH_RETROFLEX_HOOK: char = 'ꭧ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum LatinExtendedE {
LatinSmallLetterBarredAlpha,
LatinSmallLetterAReversedDashSchwa,
LatinSmallLetterBlackletterE,
LatinSmallLetterBarredE,
LatinSmallLetterEWithFlourish,
LatinSmallLetterLenisF,
LatinSmallLetterScriptGWithCrossedDashTail,
LatinSmallLetterLWithInvertedLazyS,
LatinSmallLetterLWithDoubleMiddleTilde,
LatinSmallLetterLWithMiddleRing,
LatinSmallLetterMWithCrossedDashTail,
LatinSmallLetterNWithCrossedDashTail,
LatinSmallLetterEngWithCrossedDashTail,
LatinSmallLetterBlackletterO,
LatinSmallLetterBlackletterOWithStroke,
LatinSmallLetterOpenOWithStroke,
LatinSmallLetterInvertedOe,
LatinSmallLetterTurnedOeWithStroke,
LatinSmallLetterTurnedOeWithHorizontalStroke,
LatinSmallLetterTurnedOOpenDashO,
LatinSmallLetterTurnedOOpenDashOWithStroke,
LatinSmallLetterStirrupR,
LatinLetterSmallCapitalRWithRightLeg,
LatinSmallLetterRWithoutHandle,
LatinSmallLetterDoubleR,
LatinSmallLetterRWithCrossedDashTail,
LatinSmallLetterDoubleRWithCrossedDashTail,
LatinSmallLetterScriptR,
LatinSmallLetterScriptRWithRing,
LatinSmallLetterBaselineEsh,
LatinSmallLetterUWithShortRightLeg,
LatinSmallLetterUBarWithShortRightLeg,
LatinSmallLetterUi,
LatinSmallLetterTurnedUi,
LatinSmallLetterUWithLeftHook,
LatinSmallLetterChi,
LatinSmallLetterChiWithLowRightRing,
LatinSmallLetterChiWithLowLeftSerif,
LatinSmallLetterXWithLowRightRing,
LatinSmallLetterXWithLongLeftLeg,
LatinSmallLetterXWithLongLeftLegAndLowRightRing,
LatinSmallLetterXWithLongLeftLegWithSerif,
LatinSmallLetterYWithShortRightLeg,
ModifierBreveWithInvertedBreve,
ModifierLetterSmallHeng,
ModifierLetterSmallLWithInvertedLazyS,
ModifierLetterSmallLWithMiddleTilde,
ModifierLetterSmallUWithLeftHook,
LatinSmallLetterSakhaYat,
LatinSmallLetterIotifiedE,
LatinSmallLetterOpenOe,
LatinSmallLetterUo,
LatinSmallLetterInvertedAlpha,
GreekLetterSmallCapitalOmega,
LatinSmallLetterDzDigraphWithRetroflexHook,
LatinSmallLetterTsDigraphWithRetroflexHook,
}
impl Into<char> for LatinExtendedE {
fn into(self) -> char {
use constants::*;
match self {
LatinExtendedE::LatinSmallLetterBarredAlpha => LATIN_SMALL_LETTER_BARRED_ALPHA,
LatinExtendedE::LatinSmallLetterAReversedDashSchwa => LATIN_SMALL_LETTER_A_REVERSED_DASH_SCHWA,
LatinExtendedE::LatinSmallLetterBlackletterE => LATIN_SMALL_LETTER_BLACKLETTER_E,
LatinExtendedE::LatinSmallLetterBarredE => LATIN_SMALL_LETTER_BARRED_E,
LatinExtendedE::LatinSmallLetterEWithFlourish => LATIN_SMALL_LETTER_E_WITH_FLOURISH,
LatinExtendedE::LatinSmallLetterLenisF => LATIN_SMALL_LETTER_LENIS_F,
LatinExtendedE::LatinSmallLetterScriptGWithCrossedDashTail => LATIN_SMALL_LETTER_SCRIPT_G_WITH_CROSSED_DASH_TAIL,
LatinExtendedE::LatinSmallLetterLWithInvertedLazyS => LATIN_SMALL_LETTER_L_WITH_INVERTED_LAZY_S,
LatinExtendedE::LatinSmallLetterLWithDoubleMiddleTilde => LATIN_SMALL_LETTER_L_WITH_DOUBLE_MIDDLE_TILDE,
LatinExtendedE::LatinSmallLetterLWithMiddleRing => LATIN_SMALL_LETTER_L_WITH_MIDDLE_RING,
LatinExtendedE::LatinSmallLetterMWithCrossedDashTail => LATIN_SMALL_LETTER_M_WITH_CROSSED_DASH_TAIL,
LatinExtendedE::LatinSmallLetterNWithCrossedDashTail => LATIN_SMALL_LETTER_N_WITH_CROSSED_DASH_TAIL,
LatinExtendedE::LatinSmallLetterEngWithCrossedDashTail => LATIN_SMALL_LETTER_ENG_WITH_CROSSED_DASH_TAIL,
LatinExtendedE::LatinSmallLetterBlackletterO => LATIN_SMALL_LETTER_BLACKLETTER_O,
LatinExtendedE::LatinSmallLetterBlackletterOWithStroke => LATIN_SMALL_LETTER_BLACKLETTER_O_WITH_STROKE,
LatinExtendedE::LatinSmallLetterOpenOWithStroke => LATIN_SMALL_LETTER_OPEN_O_WITH_STROKE,
LatinExtendedE::LatinSmallLetterInvertedOe => LATIN_SMALL_LETTER_INVERTED_OE,
LatinExtendedE::LatinSmallLetterTurnedOeWithStroke => LATIN_SMALL_LETTER_TURNED_OE_WITH_STROKE,
LatinExtendedE::LatinSmallLetterTurnedOeWithHorizontalStroke => LATIN_SMALL_LETTER_TURNED_OE_WITH_HORIZONTAL_STROKE,
LatinExtendedE::LatinSmallLetterTurnedOOpenDashO => LATIN_SMALL_LETTER_TURNED_O_OPEN_DASH_O,
LatinExtendedE::LatinSmallLetterTurnedOOpenDashOWithStroke => LATIN_SMALL_LETTER_TURNED_O_OPEN_DASH_O_WITH_STROKE,
LatinExtendedE::LatinSmallLetterStirrupR => LATIN_SMALL_LETTER_STIRRUP_R,
LatinExtendedE::LatinLetterSmallCapitalRWithRightLeg => LATIN_LETTER_SMALL_CAPITAL_R_WITH_RIGHT_LEG,
LatinExtendedE::LatinSmallLetterRWithoutHandle => LATIN_SMALL_LETTER_R_WITHOUT_HANDLE,
LatinExtendedE::LatinSmallLetterDoubleR => LATIN_SMALL_LETTER_DOUBLE_R,
LatinExtendedE::LatinSmallLetterRWithCrossedDashTail => LATIN_SMALL_LETTER_R_WITH_CROSSED_DASH_TAIL,
LatinExtendedE::LatinSmallLetterDoubleRWithCrossedDashTail => LATIN_SMALL_LETTER_DOUBLE_R_WITH_CROSSED_DASH_TAIL,
LatinExtendedE::LatinSmallLetterScriptR => LATIN_SMALL_LETTER_SCRIPT_R,
LatinExtendedE::LatinSmallLetterScriptRWithRing => LATIN_SMALL_LETTER_SCRIPT_R_WITH_RING,
LatinExtendedE::LatinSmallLetterBaselineEsh => LATIN_SMALL_LETTER_BASELINE_ESH,
LatinExtendedE::LatinSmallLetterUWithShortRightLeg => LATIN_SMALL_LETTER_U_WITH_SHORT_RIGHT_LEG,
LatinExtendedE::LatinSmallLetterUBarWithShortRightLeg => LATIN_SMALL_LETTER_U_BAR_WITH_SHORT_RIGHT_LEG,
LatinExtendedE::LatinSmallLetterUi => LATIN_SMALL_LETTER_UI,
LatinExtendedE::LatinSmallLetterTurnedUi => LATIN_SMALL_LETTER_TURNED_UI,
LatinExtendedE::LatinSmallLetterUWithLeftHook => LATIN_SMALL_LETTER_U_WITH_LEFT_HOOK,
LatinExtendedE::LatinSmallLetterChi => LATIN_SMALL_LETTER_CHI,
LatinExtendedE::LatinSmallLetterChiWithLowRightRing => LATIN_SMALL_LETTER_CHI_WITH_LOW_RIGHT_RING,
LatinExtendedE::LatinSmallLetterChiWithLowLeftSerif => LATIN_SMALL_LETTER_CHI_WITH_LOW_LEFT_SERIF,
LatinExtendedE::LatinSmallLetterXWithLowRightRing => LATIN_SMALL_LETTER_X_WITH_LOW_RIGHT_RING,
LatinExtendedE::LatinSmallLetterXWithLongLeftLeg => LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG,
LatinExtendedE::LatinSmallLetterXWithLongLeftLegAndLowRightRing => LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG_AND_LOW_RIGHT_RING,
LatinExtendedE::LatinSmallLetterXWithLongLeftLegWithSerif => LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG_WITH_SERIF,
LatinExtendedE::LatinSmallLetterYWithShortRightLeg => LATIN_SMALL_LETTER_Y_WITH_SHORT_RIGHT_LEG,
LatinExtendedE::ModifierBreveWithInvertedBreve => MODIFIER_BREVE_WITH_INVERTED_BREVE,
LatinExtendedE::ModifierLetterSmallHeng => MODIFIER_LETTER_SMALL_HENG,
LatinExtendedE::ModifierLetterSmallLWithInvertedLazyS => MODIFIER_LETTER_SMALL_L_WITH_INVERTED_LAZY_S,
LatinExtendedE::ModifierLetterSmallLWithMiddleTilde => MODIFIER_LETTER_SMALL_L_WITH_MIDDLE_TILDE,
LatinExtendedE::ModifierLetterSmallUWithLeftHook => MODIFIER_LETTER_SMALL_U_WITH_LEFT_HOOK,
LatinExtendedE::LatinSmallLetterSakhaYat => LATIN_SMALL_LETTER_SAKHA_YAT,
LatinExtendedE::LatinSmallLetterIotifiedE => LATIN_SMALL_LETTER_IOTIFIED_E,
LatinExtendedE::LatinSmallLetterOpenOe => LATIN_SMALL_LETTER_OPEN_OE,
LatinExtendedE::LatinSmallLetterUo => LATIN_SMALL_LETTER_UO,
LatinExtendedE::LatinSmallLetterInvertedAlpha => LATIN_SMALL_LETTER_INVERTED_ALPHA,
LatinExtendedE::GreekLetterSmallCapitalOmega => GREEK_LETTER_SMALL_CAPITAL_OMEGA,
LatinExtendedE::LatinSmallLetterDzDigraphWithRetroflexHook => LATIN_SMALL_LETTER_DZ_DIGRAPH_WITH_RETROFLEX_HOOK,
LatinExtendedE::LatinSmallLetterTsDigraphWithRetroflexHook => LATIN_SMALL_LETTER_TS_DIGRAPH_WITH_RETROFLEX_HOOK,
}
}
}
impl std::convert::TryFrom<char> for LatinExtendedE {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
LATIN_SMALL_LETTER_BARRED_ALPHA => Ok(LatinExtendedE::LatinSmallLetterBarredAlpha),
LATIN_SMALL_LETTER_A_REVERSED_DASH_SCHWA => Ok(LatinExtendedE::LatinSmallLetterAReversedDashSchwa),
LATIN_SMALL_LETTER_BLACKLETTER_E => Ok(LatinExtendedE::LatinSmallLetterBlackletterE),
LATIN_SMALL_LETTER_BARRED_E => Ok(LatinExtendedE::LatinSmallLetterBarredE),
LATIN_SMALL_LETTER_E_WITH_FLOURISH => Ok(LatinExtendedE::LatinSmallLetterEWithFlourish),
LATIN_SMALL_LETTER_LENIS_F => Ok(LatinExtendedE::LatinSmallLetterLenisF),
LATIN_SMALL_LETTER_SCRIPT_G_WITH_CROSSED_DASH_TAIL => Ok(LatinExtendedE::LatinSmallLetterScriptGWithCrossedDashTail),
LATIN_SMALL_LETTER_L_WITH_INVERTED_LAZY_S => Ok(LatinExtendedE::LatinSmallLetterLWithInvertedLazyS),
LATIN_SMALL_LETTER_L_WITH_DOUBLE_MIDDLE_TILDE => Ok(LatinExtendedE::LatinSmallLetterLWithDoubleMiddleTilde),
LATIN_SMALL_LETTER_L_WITH_MIDDLE_RING => Ok(LatinExtendedE::LatinSmallLetterLWithMiddleRing),
LATIN_SMALL_LETTER_M_WITH_CROSSED_DASH_TAIL => Ok(LatinExtendedE::LatinSmallLetterMWithCrossedDashTail),
LATIN_SMALL_LETTER_N_WITH_CROSSED_DASH_TAIL => Ok(LatinExtendedE::LatinSmallLetterNWithCrossedDashTail),
LATIN_SMALL_LETTER_ENG_WITH_CROSSED_DASH_TAIL => Ok(LatinExtendedE::LatinSmallLetterEngWithCrossedDashTail),
LATIN_SMALL_LETTER_BLACKLETTER_O => Ok(LatinExtendedE::LatinSmallLetterBlackletterO),
LATIN_SMALL_LETTER_BLACKLETTER_O_WITH_STROKE => Ok(LatinExtendedE::LatinSmallLetterBlackletterOWithStroke),
LATIN_SMALL_LETTER_OPEN_O_WITH_STROKE => Ok(LatinExtendedE::LatinSmallLetterOpenOWithStroke),
LATIN_SMALL_LETTER_INVERTED_OE => Ok(LatinExtendedE::LatinSmallLetterInvertedOe),
LATIN_SMALL_LETTER_TURNED_OE_WITH_STROKE => Ok(LatinExtendedE::LatinSmallLetterTurnedOeWithStroke),
LATIN_SMALL_LETTER_TURNED_OE_WITH_HORIZONTAL_STROKE => Ok(LatinExtendedE::LatinSmallLetterTurnedOeWithHorizontalStroke),
LATIN_SMALL_LETTER_TURNED_O_OPEN_DASH_O => Ok(LatinExtendedE::LatinSmallLetterTurnedOOpenDashO),
LATIN_SMALL_LETTER_TURNED_O_OPEN_DASH_O_WITH_STROKE => Ok(LatinExtendedE::LatinSmallLetterTurnedOOpenDashOWithStroke),
LATIN_SMALL_LETTER_STIRRUP_R => Ok(LatinExtendedE::LatinSmallLetterStirrupR),
LATIN_LETTER_SMALL_CAPITAL_R_WITH_RIGHT_LEG => Ok(LatinExtendedE::LatinLetterSmallCapitalRWithRightLeg),
LATIN_SMALL_LETTER_R_WITHOUT_HANDLE => Ok(LatinExtendedE::LatinSmallLetterRWithoutHandle),
LATIN_SMALL_LETTER_DOUBLE_R => Ok(LatinExtendedE::LatinSmallLetterDoubleR),
LATIN_SMALL_LETTER_R_WITH_CROSSED_DASH_TAIL => Ok(LatinExtendedE::LatinSmallLetterRWithCrossedDashTail),
LATIN_SMALL_LETTER_DOUBLE_R_WITH_CROSSED_DASH_TAIL => Ok(LatinExtendedE::LatinSmallLetterDoubleRWithCrossedDashTail),
LATIN_SMALL_LETTER_SCRIPT_R => Ok(LatinExtendedE::LatinSmallLetterScriptR),
LATIN_SMALL_LETTER_SCRIPT_R_WITH_RING => Ok(LatinExtendedE::LatinSmallLetterScriptRWithRing),
LATIN_SMALL_LETTER_BASELINE_ESH => Ok(LatinExtendedE::LatinSmallLetterBaselineEsh),
LATIN_SMALL_LETTER_U_WITH_SHORT_RIGHT_LEG => Ok(LatinExtendedE::LatinSmallLetterUWithShortRightLeg),
LATIN_SMALL_LETTER_U_BAR_WITH_SHORT_RIGHT_LEG => Ok(LatinExtendedE::LatinSmallLetterUBarWithShortRightLeg),
LATIN_SMALL_LETTER_UI => Ok(LatinExtendedE::LatinSmallLetterUi),
LATIN_SMALL_LETTER_TURNED_UI => Ok(LatinExtendedE::LatinSmallLetterTurnedUi),
LATIN_SMALL_LETTER_U_WITH_LEFT_HOOK => Ok(LatinExtendedE::LatinSmallLetterUWithLeftHook),
LATIN_SMALL_LETTER_CHI => Ok(LatinExtendedE::LatinSmallLetterChi),
LATIN_SMALL_LETTER_CHI_WITH_LOW_RIGHT_RING => Ok(LatinExtendedE::LatinSmallLetterChiWithLowRightRing),
LATIN_SMALL_LETTER_CHI_WITH_LOW_LEFT_SERIF => Ok(LatinExtendedE::LatinSmallLetterChiWithLowLeftSerif),
LATIN_SMALL_LETTER_X_WITH_LOW_RIGHT_RING => Ok(LatinExtendedE::LatinSmallLetterXWithLowRightRing),
LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG => Ok(LatinExtendedE::LatinSmallLetterXWithLongLeftLeg),
LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG_AND_LOW_RIGHT_RING => Ok(LatinExtendedE::LatinSmallLetterXWithLongLeftLegAndLowRightRing),
LATIN_SMALL_LETTER_X_WITH_LONG_LEFT_LEG_WITH_SERIF => Ok(LatinExtendedE::LatinSmallLetterXWithLongLeftLegWithSerif),
LATIN_SMALL_LETTER_Y_WITH_SHORT_RIGHT_LEG => Ok(LatinExtendedE::LatinSmallLetterYWithShortRightLeg),
MODIFIER_BREVE_WITH_INVERTED_BREVE => Ok(LatinExtendedE::ModifierBreveWithInvertedBreve),
MODIFIER_LETTER_SMALL_HENG => Ok(LatinExtendedE::ModifierLetterSmallHeng),
MODIFIER_LETTER_SMALL_L_WITH_INVERTED_LAZY_S => Ok(LatinExtendedE::ModifierLetterSmallLWithInvertedLazyS),
MODIFIER_LETTER_SMALL_L_WITH_MIDDLE_TILDE => Ok(LatinExtendedE::ModifierLetterSmallLWithMiddleTilde),
MODIFIER_LETTER_SMALL_U_WITH_LEFT_HOOK => Ok(LatinExtendedE::ModifierLetterSmallUWithLeftHook),
LATIN_SMALL_LETTER_SAKHA_YAT => Ok(LatinExtendedE::LatinSmallLetterSakhaYat),
LATIN_SMALL_LETTER_IOTIFIED_E => Ok(LatinExtendedE::LatinSmallLetterIotifiedE),
LATIN_SMALL_LETTER_OPEN_OE => Ok(LatinExtendedE::LatinSmallLetterOpenOe),
LATIN_SMALL_LETTER_UO => Ok(LatinExtendedE::LatinSmallLetterUo),
LATIN_SMALL_LETTER_INVERTED_ALPHA => Ok(LatinExtendedE::LatinSmallLetterInvertedAlpha),
GREEK_LETTER_SMALL_CAPITAL_OMEGA => Ok(LatinExtendedE::GreekLetterSmallCapitalOmega),
LATIN_SMALL_LETTER_DZ_DIGRAPH_WITH_RETROFLEX_HOOK => Ok(LatinExtendedE::LatinSmallLetterDzDigraphWithRetroflexHook),
LATIN_SMALL_LETTER_TS_DIGRAPH_WITH_RETROFLEX_HOOK => Ok(LatinExtendedE::LatinSmallLetterTsDigraphWithRetroflexHook),
_ => Err(()),
}
}
}
impl Into<u32> for LatinExtendedE {
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 LatinExtendedE {
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 LatinExtendedE {
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 LatinExtendedE {
pub fn new() -> Self {
LatinExtendedE::LatinSmallLetterBarredAlpha
}
pub fn name(&self) -> &str {
match self {
LatinExtendedE::LatinSmallLetterBarredAlpha => "latin small letter barred alpha",
LatinExtendedE::LatinSmallLetterAReversedDashSchwa => "latin small letter a reversed-schwa",
LatinExtendedE::LatinSmallLetterBlackletterE => "latin small letter blackletter e",
LatinExtendedE::LatinSmallLetterBarredE => "latin small letter barred e",
LatinExtendedE::LatinSmallLetterEWithFlourish => "latin small letter e with flourish",
LatinExtendedE::LatinSmallLetterLenisF => "latin small letter lenis f",
LatinExtendedE::LatinSmallLetterScriptGWithCrossedDashTail => "latin small letter script g with crossed-tail",
LatinExtendedE::LatinSmallLetterLWithInvertedLazyS => "latin small letter l with inverted lazy s",
LatinExtendedE::LatinSmallLetterLWithDoubleMiddleTilde => "latin small letter l with double middle tilde",
LatinExtendedE::LatinSmallLetterLWithMiddleRing => "latin small letter l with middle ring",
LatinExtendedE::LatinSmallLetterMWithCrossedDashTail => "latin small letter m with crossed-tail",
LatinExtendedE::LatinSmallLetterNWithCrossedDashTail => "latin small letter n with crossed-tail",
LatinExtendedE::LatinSmallLetterEngWithCrossedDashTail => "latin small letter eng with crossed-tail",
LatinExtendedE::LatinSmallLetterBlackletterO => "latin small letter blackletter o",
LatinExtendedE::LatinSmallLetterBlackletterOWithStroke => "latin small letter blackletter o with stroke",
LatinExtendedE::LatinSmallLetterOpenOWithStroke => "latin small letter open o with stroke",
LatinExtendedE::LatinSmallLetterInvertedOe => "latin small letter inverted oe",
LatinExtendedE::LatinSmallLetterTurnedOeWithStroke => "latin small letter turned oe with stroke",
LatinExtendedE::LatinSmallLetterTurnedOeWithHorizontalStroke => "latin small letter turned oe with horizontal stroke",
LatinExtendedE::LatinSmallLetterTurnedOOpenDashO => "latin small letter turned o open-o",
LatinExtendedE::LatinSmallLetterTurnedOOpenDashOWithStroke => "latin small letter turned o open-o with stroke",
LatinExtendedE::LatinSmallLetterStirrupR => "latin small letter stirrup r",
LatinExtendedE::LatinLetterSmallCapitalRWithRightLeg => "latin letter small capital r with right leg",
LatinExtendedE::LatinSmallLetterRWithoutHandle => "latin small letter r without handle",
LatinExtendedE::LatinSmallLetterDoubleR => "latin small letter double r",
LatinExtendedE::LatinSmallLetterRWithCrossedDashTail => "latin small letter r with crossed-tail",
LatinExtendedE::LatinSmallLetterDoubleRWithCrossedDashTail => "latin small letter double r with crossed-tail",
LatinExtendedE::LatinSmallLetterScriptR => "latin small letter script r",
LatinExtendedE::LatinSmallLetterScriptRWithRing => "latin small letter script r with ring",
LatinExtendedE::LatinSmallLetterBaselineEsh => "latin small letter baseline esh",
LatinExtendedE::LatinSmallLetterUWithShortRightLeg => "latin small letter u with short right leg",
LatinExtendedE::LatinSmallLetterUBarWithShortRightLeg => "latin small letter u bar with short right leg",
LatinExtendedE::LatinSmallLetterUi => "latin small letter ui",
LatinExtendedE::LatinSmallLetterTurnedUi => "latin small letter turned ui",
LatinExtendedE::LatinSmallLetterUWithLeftHook => "latin small letter u with left hook",
LatinExtendedE::LatinSmallLetterChi => "latin small letter chi",
LatinExtendedE::LatinSmallLetterChiWithLowRightRing => "latin small letter chi with low right ring",
LatinExtendedE::LatinSmallLetterChiWithLowLeftSerif => "latin small letter chi with low left serif",
LatinExtendedE::LatinSmallLetterXWithLowRightRing => "latin small letter x with low right ring",
LatinExtendedE::LatinSmallLetterXWithLongLeftLeg => "latin small letter x with long left leg",
LatinExtendedE::LatinSmallLetterXWithLongLeftLegAndLowRightRing => "latin small letter x with long left leg and low right ring",
LatinExtendedE::LatinSmallLetterXWithLongLeftLegWithSerif => "latin small letter x with long left leg with serif",
LatinExtendedE::LatinSmallLetterYWithShortRightLeg => "latin small letter y with short right leg",
LatinExtendedE::ModifierBreveWithInvertedBreve => "modifier breve with inverted breve",
LatinExtendedE::ModifierLetterSmallHeng => "modifier letter small heng",
LatinExtendedE::ModifierLetterSmallLWithInvertedLazyS => "modifier letter small l with inverted lazy s",
LatinExtendedE::ModifierLetterSmallLWithMiddleTilde => "modifier letter small l with middle tilde",
LatinExtendedE::ModifierLetterSmallUWithLeftHook => "modifier letter small u with left hook",
LatinExtendedE::LatinSmallLetterSakhaYat => "latin small letter sakha yat",
LatinExtendedE::LatinSmallLetterIotifiedE => "latin small letter iotified e",
LatinExtendedE::LatinSmallLetterOpenOe => "latin small letter open oe",
LatinExtendedE::LatinSmallLetterUo => "latin small letter uo",
LatinExtendedE::LatinSmallLetterInvertedAlpha => "latin small letter inverted alpha",
LatinExtendedE::GreekLetterSmallCapitalOmega => "greek letter small capital omega",
LatinExtendedE::LatinSmallLetterDzDigraphWithRetroflexHook => "latin small letter dz digraph with retroflex hook",
LatinExtendedE::LatinSmallLetterTsDigraphWithRetroflexHook => "latin small letter ts digraph with retroflex hook",
}
}
}