mod constants {
pub const LATIN_SMALL_LETTER_B_WITH_PALATAL_HOOK: char = 'ᶀ';
pub const LATIN_SMALL_LETTER_D_WITH_PALATAL_HOOK: char = 'ᶁ';
pub const LATIN_SMALL_LETTER_F_WITH_PALATAL_HOOK: char = 'ᶂ';
pub const LATIN_SMALL_LETTER_G_WITH_PALATAL_HOOK: char = 'ᶃ';
pub const LATIN_SMALL_LETTER_K_WITH_PALATAL_HOOK: char = 'ᶄ';
pub const LATIN_SMALL_LETTER_L_WITH_PALATAL_HOOK: char = 'ᶅ';
pub const LATIN_SMALL_LETTER_M_WITH_PALATAL_HOOK: char = 'ᶆ';
pub const LATIN_SMALL_LETTER_N_WITH_PALATAL_HOOK: char = 'ᶇ';
pub const LATIN_SMALL_LETTER_P_WITH_PALATAL_HOOK: char = 'ᶈ';
pub const LATIN_SMALL_LETTER_R_WITH_PALATAL_HOOK: char = 'ᶉ';
pub const LATIN_SMALL_LETTER_S_WITH_PALATAL_HOOK: char = 'ᶊ';
pub const LATIN_SMALL_LETTER_ESH_WITH_PALATAL_HOOK: char = 'ᶋ';
pub const LATIN_SMALL_LETTER_V_WITH_PALATAL_HOOK: char = 'ᶌ';
pub const LATIN_SMALL_LETTER_X_WITH_PALATAL_HOOK: char = 'ᶍ';
pub const LATIN_SMALL_LETTER_Z_WITH_PALATAL_HOOK: char = 'ᶎ';
pub const LATIN_SMALL_LETTER_A_WITH_RETROFLEX_HOOK: char = 'ᶏ';
pub const LATIN_SMALL_LETTER_ALPHA_WITH_RETROFLEX_HOOK: char = 'ᶐ';
pub const LATIN_SMALL_LETTER_D_WITH_HOOK_AND_TAIL: char = 'ᶑ';
pub const LATIN_SMALL_LETTER_E_WITH_RETROFLEX_HOOK: char = 'ᶒ';
pub const LATIN_SMALL_LETTER_OPEN_E_WITH_RETROFLEX_HOOK: char = 'ᶓ';
pub const LATIN_SMALL_LETTER_REVERSED_OPEN_E_WITH_RETROFLEX_HOOK: char = 'ᶔ';
pub const LATIN_SMALL_LETTER_SCHWA_WITH_RETROFLEX_HOOK: char = 'ᶕ';
pub const LATIN_SMALL_LETTER_I_WITH_RETROFLEX_HOOK: char = 'ᶖ';
pub const LATIN_SMALL_LETTER_OPEN_O_WITH_RETROFLEX_HOOK: char = 'ᶗ';
pub const LATIN_SMALL_LETTER_ESH_WITH_RETROFLEX_HOOK: char = 'ᶘ';
pub const LATIN_SMALL_LETTER_U_WITH_RETROFLEX_HOOK: char = 'ᶙ';
pub const LATIN_SMALL_LETTER_EZH_WITH_RETROFLEX_HOOK: char = 'ᶚ';
pub const MODIFIER_LETTER_SMALL_TURNED_ALPHA: char = 'ᶛ';
pub const MODIFIER_LETTER_SMALL_C: char = 'ᶜ';
pub const MODIFIER_LETTER_SMALL_C_WITH_CURL: char = 'ᶝ';
pub const MODIFIER_LETTER_SMALL_ETH: char = 'ᶞ';
pub const MODIFIER_LETTER_SMALL_REVERSED_OPEN_E: char = 'ᶟ';
pub const MODIFIER_LETTER_SMALL_F: char = 'ᶠ';
pub const MODIFIER_LETTER_SMALL_DOTLESS_J_WITH_STROKE: char = 'ᶡ';
pub const MODIFIER_LETTER_SMALL_SCRIPT_G: char = 'ᶢ';
pub const MODIFIER_LETTER_SMALL_TURNED_H: char = 'ᶣ';
pub const MODIFIER_LETTER_SMALL_I_WITH_STROKE: char = 'ᶤ';
pub const MODIFIER_LETTER_SMALL_IOTA: char = 'ᶥ';
pub const MODIFIER_LETTER_SMALL_CAPITAL_I: char = 'ᶦ';
pub const MODIFIER_LETTER_SMALL_CAPITAL_I_WITH_STROKE: char = 'ᶧ';
pub const MODIFIER_LETTER_SMALL_J_WITH_CROSSED_DASH_TAIL: char = 'ᶨ';
pub const MODIFIER_LETTER_SMALL_L_WITH_RETROFLEX_HOOK: char = 'ᶩ';
pub const MODIFIER_LETTER_SMALL_L_WITH_PALATAL_HOOK: char = 'ᶪ';
pub const MODIFIER_LETTER_SMALL_CAPITAL_L: char = 'ᶫ';
pub const MODIFIER_LETTER_SMALL_M_WITH_HOOK: char = 'ᶬ';
pub const MODIFIER_LETTER_SMALL_TURNED_M_WITH_LONG_LEG: char = 'ᶭ';
pub const MODIFIER_LETTER_SMALL_N_WITH_LEFT_HOOK: char = 'ᶮ';
pub const MODIFIER_LETTER_SMALL_N_WITH_RETROFLEX_HOOK: char = 'ᶯ';
pub const MODIFIER_LETTER_SMALL_CAPITAL_N: char = 'ᶰ';
pub const MODIFIER_LETTER_SMALL_BARRED_O: char = 'ᶱ';
pub const MODIFIER_LETTER_SMALL_PHI: char = 'ᶲ';
pub const MODIFIER_LETTER_SMALL_S_WITH_HOOK: char = 'ᶳ';
pub const MODIFIER_LETTER_SMALL_ESH: char = 'ᶴ';
pub const MODIFIER_LETTER_SMALL_T_WITH_PALATAL_HOOK: char = 'ᶵ';
pub const MODIFIER_LETTER_SMALL_U_BAR: char = 'ᶶ';
pub const MODIFIER_LETTER_SMALL_UPSILON: char = 'ᶷ';
pub const MODIFIER_LETTER_SMALL_CAPITAL_U: char = 'ᶸ';
pub const MODIFIER_LETTER_SMALL_V_WITH_HOOK: char = 'ᶹ';
pub const MODIFIER_LETTER_SMALL_TURNED_V: char = 'ᶺ';
pub const MODIFIER_LETTER_SMALL_Z: char = 'ᶻ';
pub const MODIFIER_LETTER_SMALL_Z_WITH_RETROFLEX_HOOK: char = 'ᶼ';
pub const MODIFIER_LETTER_SMALL_Z_WITH_CURL: char = 'ᶽ';
pub const MODIFIER_LETTER_SMALL_EZH: char = 'ᶾ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum PhoneticExtensionsSupplement {
LatinSmallLetterBWithPalatalHook,
LatinSmallLetterDWithPalatalHook,
LatinSmallLetterFWithPalatalHook,
LatinSmallLetterGWithPalatalHook,
LatinSmallLetterKWithPalatalHook,
LatinSmallLetterLWithPalatalHook,
LatinSmallLetterMWithPalatalHook,
LatinSmallLetterNWithPalatalHook,
LatinSmallLetterPWithPalatalHook,
LatinSmallLetterRWithPalatalHook,
LatinSmallLetterSWithPalatalHook,
LatinSmallLetterEshWithPalatalHook,
LatinSmallLetterVWithPalatalHook,
LatinSmallLetterXWithPalatalHook,
LatinSmallLetterZWithPalatalHook,
LatinSmallLetterAWithRetroflexHook,
LatinSmallLetterAlphaWithRetroflexHook,
LatinSmallLetterDWithHookAndTail,
LatinSmallLetterEWithRetroflexHook,
LatinSmallLetterOpenEWithRetroflexHook,
LatinSmallLetterReversedOpenEWithRetroflexHook,
LatinSmallLetterSchwaWithRetroflexHook,
LatinSmallLetterIWithRetroflexHook,
LatinSmallLetterOpenOWithRetroflexHook,
LatinSmallLetterEshWithRetroflexHook,
LatinSmallLetterUWithRetroflexHook,
LatinSmallLetterEzhWithRetroflexHook,
ModifierLetterSmallTurnedAlpha,
ModifierLetterSmallC,
ModifierLetterSmallCWithCurl,
ModifierLetterSmallEth,
ModifierLetterSmallReversedOpenE,
ModifierLetterSmallF,
ModifierLetterSmallDotlessJWithStroke,
ModifierLetterSmallScriptG,
ModifierLetterSmallTurnedH,
ModifierLetterSmallIWithStroke,
ModifierLetterSmallIota,
ModifierLetterSmallCapitalI,
ModifierLetterSmallCapitalIWithStroke,
ModifierLetterSmallJWithCrossedDashTail,
ModifierLetterSmallLWithRetroflexHook,
ModifierLetterSmallLWithPalatalHook,
ModifierLetterSmallCapitalL,
ModifierLetterSmallMWithHook,
ModifierLetterSmallTurnedMWithLongLeg,
ModifierLetterSmallNWithLeftHook,
ModifierLetterSmallNWithRetroflexHook,
ModifierLetterSmallCapitalN,
ModifierLetterSmallBarredO,
ModifierLetterSmallPhi,
ModifierLetterSmallSWithHook,
ModifierLetterSmallEsh,
ModifierLetterSmallTWithPalatalHook,
ModifierLetterSmallUBar,
ModifierLetterSmallUpsilon,
ModifierLetterSmallCapitalU,
ModifierLetterSmallVWithHook,
ModifierLetterSmallTurnedV,
ModifierLetterSmallZ,
ModifierLetterSmallZWithRetroflexHook,
ModifierLetterSmallZWithCurl,
ModifierLetterSmallEzh,
}
impl Into<char> for PhoneticExtensionsSupplement {
fn into(self) -> char {
use constants::*;
match self {
PhoneticExtensionsSupplement::LatinSmallLetterBWithPalatalHook => LATIN_SMALL_LETTER_B_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterDWithPalatalHook => LATIN_SMALL_LETTER_D_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterFWithPalatalHook => LATIN_SMALL_LETTER_F_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterGWithPalatalHook => LATIN_SMALL_LETTER_G_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterKWithPalatalHook => LATIN_SMALL_LETTER_K_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterLWithPalatalHook => LATIN_SMALL_LETTER_L_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterMWithPalatalHook => LATIN_SMALL_LETTER_M_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterNWithPalatalHook => LATIN_SMALL_LETTER_N_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterPWithPalatalHook => LATIN_SMALL_LETTER_P_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterRWithPalatalHook => LATIN_SMALL_LETTER_R_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterSWithPalatalHook => LATIN_SMALL_LETTER_S_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterEshWithPalatalHook => LATIN_SMALL_LETTER_ESH_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterVWithPalatalHook => LATIN_SMALL_LETTER_V_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterXWithPalatalHook => LATIN_SMALL_LETTER_X_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterZWithPalatalHook => LATIN_SMALL_LETTER_Z_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterAWithRetroflexHook => LATIN_SMALL_LETTER_A_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterAlphaWithRetroflexHook => LATIN_SMALL_LETTER_ALPHA_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterDWithHookAndTail => LATIN_SMALL_LETTER_D_WITH_HOOK_AND_TAIL,
PhoneticExtensionsSupplement::LatinSmallLetterEWithRetroflexHook => LATIN_SMALL_LETTER_E_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterOpenEWithRetroflexHook => LATIN_SMALL_LETTER_OPEN_E_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterReversedOpenEWithRetroflexHook => LATIN_SMALL_LETTER_REVERSED_OPEN_E_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterSchwaWithRetroflexHook => LATIN_SMALL_LETTER_SCHWA_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterIWithRetroflexHook => LATIN_SMALL_LETTER_I_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterOpenOWithRetroflexHook => LATIN_SMALL_LETTER_OPEN_O_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterEshWithRetroflexHook => LATIN_SMALL_LETTER_ESH_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterUWithRetroflexHook => LATIN_SMALL_LETTER_U_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::LatinSmallLetterEzhWithRetroflexHook => LATIN_SMALL_LETTER_EZH_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedAlpha => MODIFIER_LETTER_SMALL_TURNED_ALPHA,
PhoneticExtensionsSupplement::ModifierLetterSmallC => MODIFIER_LETTER_SMALL_C,
PhoneticExtensionsSupplement::ModifierLetterSmallCWithCurl => MODIFIER_LETTER_SMALL_C_WITH_CURL,
PhoneticExtensionsSupplement::ModifierLetterSmallEth => MODIFIER_LETTER_SMALL_ETH,
PhoneticExtensionsSupplement::ModifierLetterSmallReversedOpenE => MODIFIER_LETTER_SMALL_REVERSED_OPEN_E,
PhoneticExtensionsSupplement::ModifierLetterSmallF => MODIFIER_LETTER_SMALL_F,
PhoneticExtensionsSupplement::ModifierLetterSmallDotlessJWithStroke => MODIFIER_LETTER_SMALL_DOTLESS_J_WITH_STROKE,
PhoneticExtensionsSupplement::ModifierLetterSmallScriptG => MODIFIER_LETTER_SMALL_SCRIPT_G,
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedH => MODIFIER_LETTER_SMALL_TURNED_H,
PhoneticExtensionsSupplement::ModifierLetterSmallIWithStroke => MODIFIER_LETTER_SMALL_I_WITH_STROKE,
PhoneticExtensionsSupplement::ModifierLetterSmallIota => MODIFIER_LETTER_SMALL_IOTA,
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalI => MODIFIER_LETTER_SMALL_CAPITAL_I,
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalIWithStroke => MODIFIER_LETTER_SMALL_CAPITAL_I_WITH_STROKE,
PhoneticExtensionsSupplement::ModifierLetterSmallJWithCrossedDashTail => MODIFIER_LETTER_SMALL_J_WITH_CROSSED_DASH_TAIL,
PhoneticExtensionsSupplement::ModifierLetterSmallLWithRetroflexHook => MODIFIER_LETTER_SMALL_L_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallLWithPalatalHook => MODIFIER_LETTER_SMALL_L_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalL => MODIFIER_LETTER_SMALL_CAPITAL_L,
PhoneticExtensionsSupplement::ModifierLetterSmallMWithHook => MODIFIER_LETTER_SMALL_M_WITH_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedMWithLongLeg => MODIFIER_LETTER_SMALL_TURNED_M_WITH_LONG_LEG,
PhoneticExtensionsSupplement::ModifierLetterSmallNWithLeftHook => MODIFIER_LETTER_SMALL_N_WITH_LEFT_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallNWithRetroflexHook => MODIFIER_LETTER_SMALL_N_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalN => MODIFIER_LETTER_SMALL_CAPITAL_N,
PhoneticExtensionsSupplement::ModifierLetterSmallBarredO => MODIFIER_LETTER_SMALL_BARRED_O,
PhoneticExtensionsSupplement::ModifierLetterSmallPhi => MODIFIER_LETTER_SMALL_PHI,
PhoneticExtensionsSupplement::ModifierLetterSmallSWithHook => MODIFIER_LETTER_SMALL_S_WITH_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallEsh => MODIFIER_LETTER_SMALL_ESH,
PhoneticExtensionsSupplement::ModifierLetterSmallTWithPalatalHook => MODIFIER_LETTER_SMALL_T_WITH_PALATAL_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallUBar => MODIFIER_LETTER_SMALL_U_BAR,
PhoneticExtensionsSupplement::ModifierLetterSmallUpsilon => MODIFIER_LETTER_SMALL_UPSILON,
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalU => MODIFIER_LETTER_SMALL_CAPITAL_U,
PhoneticExtensionsSupplement::ModifierLetterSmallVWithHook => MODIFIER_LETTER_SMALL_V_WITH_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedV => MODIFIER_LETTER_SMALL_TURNED_V,
PhoneticExtensionsSupplement::ModifierLetterSmallZ => MODIFIER_LETTER_SMALL_Z,
PhoneticExtensionsSupplement::ModifierLetterSmallZWithRetroflexHook => MODIFIER_LETTER_SMALL_Z_WITH_RETROFLEX_HOOK,
PhoneticExtensionsSupplement::ModifierLetterSmallZWithCurl => MODIFIER_LETTER_SMALL_Z_WITH_CURL,
PhoneticExtensionsSupplement::ModifierLetterSmallEzh => MODIFIER_LETTER_SMALL_EZH,
}
}
}
impl std::convert::TryFrom<char> for PhoneticExtensionsSupplement {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
LATIN_SMALL_LETTER_B_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterBWithPalatalHook),
LATIN_SMALL_LETTER_D_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterDWithPalatalHook),
LATIN_SMALL_LETTER_F_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterFWithPalatalHook),
LATIN_SMALL_LETTER_G_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterGWithPalatalHook),
LATIN_SMALL_LETTER_K_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterKWithPalatalHook),
LATIN_SMALL_LETTER_L_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterLWithPalatalHook),
LATIN_SMALL_LETTER_M_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterMWithPalatalHook),
LATIN_SMALL_LETTER_N_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterNWithPalatalHook),
LATIN_SMALL_LETTER_P_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterPWithPalatalHook),
LATIN_SMALL_LETTER_R_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterRWithPalatalHook),
LATIN_SMALL_LETTER_S_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterSWithPalatalHook),
LATIN_SMALL_LETTER_ESH_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterEshWithPalatalHook),
LATIN_SMALL_LETTER_V_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterVWithPalatalHook),
LATIN_SMALL_LETTER_X_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterXWithPalatalHook),
LATIN_SMALL_LETTER_Z_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterZWithPalatalHook),
LATIN_SMALL_LETTER_A_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterAWithRetroflexHook),
LATIN_SMALL_LETTER_ALPHA_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterAlphaWithRetroflexHook),
LATIN_SMALL_LETTER_D_WITH_HOOK_AND_TAIL => Ok(PhoneticExtensionsSupplement::LatinSmallLetterDWithHookAndTail),
LATIN_SMALL_LETTER_E_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterEWithRetroflexHook),
LATIN_SMALL_LETTER_OPEN_E_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterOpenEWithRetroflexHook),
LATIN_SMALL_LETTER_REVERSED_OPEN_E_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterReversedOpenEWithRetroflexHook),
LATIN_SMALL_LETTER_SCHWA_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterSchwaWithRetroflexHook),
LATIN_SMALL_LETTER_I_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterIWithRetroflexHook),
LATIN_SMALL_LETTER_OPEN_O_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterOpenOWithRetroflexHook),
LATIN_SMALL_LETTER_ESH_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterEshWithRetroflexHook),
LATIN_SMALL_LETTER_U_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterUWithRetroflexHook),
LATIN_SMALL_LETTER_EZH_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::LatinSmallLetterEzhWithRetroflexHook),
MODIFIER_LETTER_SMALL_TURNED_ALPHA => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallTurnedAlpha),
MODIFIER_LETTER_SMALL_C => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallC),
MODIFIER_LETTER_SMALL_C_WITH_CURL => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallCWithCurl),
MODIFIER_LETTER_SMALL_ETH => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallEth),
MODIFIER_LETTER_SMALL_REVERSED_OPEN_E => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallReversedOpenE),
MODIFIER_LETTER_SMALL_F => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallF),
MODIFIER_LETTER_SMALL_DOTLESS_J_WITH_STROKE => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallDotlessJWithStroke),
MODIFIER_LETTER_SMALL_SCRIPT_G => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallScriptG),
MODIFIER_LETTER_SMALL_TURNED_H => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallTurnedH),
MODIFIER_LETTER_SMALL_I_WITH_STROKE => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallIWithStroke),
MODIFIER_LETTER_SMALL_IOTA => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallIota),
MODIFIER_LETTER_SMALL_CAPITAL_I => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallCapitalI),
MODIFIER_LETTER_SMALL_CAPITAL_I_WITH_STROKE => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallCapitalIWithStroke),
MODIFIER_LETTER_SMALL_J_WITH_CROSSED_DASH_TAIL => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallJWithCrossedDashTail),
MODIFIER_LETTER_SMALL_L_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallLWithRetroflexHook),
MODIFIER_LETTER_SMALL_L_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallLWithPalatalHook),
MODIFIER_LETTER_SMALL_CAPITAL_L => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallCapitalL),
MODIFIER_LETTER_SMALL_M_WITH_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallMWithHook),
MODIFIER_LETTER_SMALL_TURNED_M_WITH_LONG_LEG => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallTurnedMWithLongLeg),
MODIFIER_LETTER_SMALL_N_WITH_LEFT_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallNWithLeftHook),
MODIFIER_LETTER_SMALL_N_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallNWithRetroflexHook),
MODIFIER_LETTER_SMALL_CAPITAL_N => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallCapitalN),
MODIFIER_LETTER_SMALL_BARRED_O => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallBarredO),
MODIFIER_LETTER_SMALL_PHI => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallPhi),
MODIFIER_LETTER_SMALL_S_WITH_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallSWithHook),
MODIFIER_LETTER_SMALL_ESH => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallEsh),
MODIFIER_LETTER_SMALL_T_WITH_PALATAL_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallTWithPalatalHook),
MODIFIER_LETTER_SMALL_U_BAR => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallUBar),
MODIFIER_LETTER_SMALL_UPSILON => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallUpsilon),
MODIFIER_LETTER_SMALL_CAPITAL_U => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallCapitalU),
MODIFIER_LETTER_SMALL_V_WITH_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallVWithHook),
MODIFIER_LETTER_SMALL_TURNED_V => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallTurnedV),
MODIFIER_LETTER_SMALL_Z => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallZ),
MODIFIER_LETTER_SMALL_Z_WITH_RETROFLEX_HOOK => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallZWithRetroflexHook),
MODIFIER_LETTER_SMALL_Z_WITH_CURL => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallZWithCurl),
MODIFIER_LETTER_SMALL_EZH => Ok(PhoneticExtensionsSupplement::ModifierLetterSmallEzh),
_ => Err(()),
}
}
}
impl Into<u32> for PhoneticExtensionsSupplement {
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 PhoneticExtensionsSupplement {
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 PhoneticExtensionsSupplement {
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 PhoneticExtensionsSupplement {
pub fn new() -> Self {
PhoneticExtensionsSupplement::LatinSmallLetterBWithPalatalHook
}
pub fn name(&self) -> &str {
match self {
PhoneticExtensionsSupplement::LatinSmallLetterBWithPalatalHook => "latin small letter b with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterDWithPalatalHook => "latin small letter d with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterFWithPalatalHook => "latin small letter f with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterGWithPalatalHook => "latin small letter g with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterKWithPalatalHook => "latin small letter k with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterLWithPalatalHook => "latin small letter l with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterMWithPalatalHook => "latin small letter m with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterNWithPalatalHook => "latin small letter n with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterPWithPalatalHook => "latin small letter p with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterRWithPalatalHook => "latin small letter r with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterSWithPalatalHook => "latin small letter s with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterEshWithPalatalHook => "latin small letter esh with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterVWithPalatalHook => "latin small letter v with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterXWithPalatalHook => "latin small letter x with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterZWithPalatalHook => "latin small letter z with palatal hook",
PhoneticExtensionsSupplement::LatinSmallLetterAWithRetroflexHook => "latin small letter a with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterAlphaWithRetroflexHook => "latin small letter alpha with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterDWithHookAndTail => "latin small letter d with hook and tail",
PhoneticExtensionsSupplement::LatinSmallLetterEWithRetroflexHook => "latin small letter e with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterOpenEWithRetroflexHook => "latin small letter open e with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterReversedOpenEWithRetroflexHook => "latin small letter reversed open e with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterSchwaWithRetroflexHook => "latin small letter schwa with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterIWithRetroflexHook => "latin small letter i with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterOpenOWithRetroflexHook => "latin small letter open o with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterEshWithRetroflexHook => "latin small letter esh with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterUWithRetroflexHook => "latin small letter u with retroflex hook",
PhoneticExtensionsSupplement::LatinSmallLetterEzhWithRetroflexHook => "latin small letter ezh with retroflex hook",
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedAlpha => "modifier letter small turned alpha",
PhoneticExtensionsSupplement::ModifierLetterSmallC => "modifier letter small c",
PhoneticExtensionsSupplement::ModifierLetterSmallCWithCurl => "modifier letter small c with curl",
PhoneticExtensionsSupplement::ModifierLetterSmallEth => "modifier letter small eth",
PhoneticExtensionsSupplement::ModifierLetterSmallReversedOpenE => "modifier letter small reversed open e",
PhoneticExtensionsSupplement::ModifierLetterSmallF => "modifier letter small f",
PhoneticExtensionsSupplement::ModifierLetterSmallDotlessJWithStroke => "modifier letter small dotless j with stroke",
PhoneticExtensionsSupplement::ModifierLetterSmallScriptG => "modifier letter small script g",
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedH => "modifier letter small turned h",
PhoneticExtensionsSupplement::ModifierLetterSmallIWithStroke => "modifier letter small i with stroke",
PhoneticExtensionsSupplement::ModifierLetterSmallIota => "modifier letter small iota",
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalI => "modifier letter small capital i",
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalIWithStroke => "modifier letter small capital i with stroke",
PhoneticExtensionsSupplement::ModifierLetterSmallJWithCrossedDashTail => "modifier letter small j with crossed-tail",
PhoneticExtensionsSupplement::ModifierLetterSmallLWithRetroflexHook => "modifier letter small l with retroflex hook",
PhoneticExtensionsSupplement::ModifierLetterSmallLWithPalatalHook => "modifier letter small l with palatal hook",
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalL => "modifier letter small capital l",
PhoneticExtensionsSupplement::ModifierLetterSmallMWithHook => "modifier letter small m with hook",
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedMWithLongLeg => "modifier letter small turned m with long leg",
PhoneticExtensionsSupplement::ModifierLetterSmallNWithLeftHook => "modifier letter small n with left hook",
PhoneticExtensionsSupplement::ModifierLetterSmallNWithRetroflexHook => "modifier letter small n with retroflex hook",
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalN => "modifier letter small capital n",
PhoneticExtensionsSupplement::ModifierLetterSmallBarredO => "modifier letter small barred o",
PhoneticExtensionsSupplement::ModifierLetterSmallPhi => "modifier letter small phi",
PhoneticExtensionsSupplement::ModifierLetterSmallSWithHook => "modifier letter small s with hook",
PhoneticExtensionsSupplement::ModifierLetterSmallEsh => "modifier letter small esh",
PhoneticExtensionsSupplement::ModifierLetterSmallTWithPalatalHook => "modifier letter small t with palatal hook",
PhoneticExtensionsSupplement::ModifierLetterSmallUBar => "modifier letter small u bar",
PhoneticExtensionsSupplement::ModifierLetterSmallUpsilon => "modifier letter small upsilon",
PhoneticExtensionsSupplement::ModifierLetterSmallCapitalU => "modifier letter small capital u",
PhoneticExtensionsSupplement::ModifierLetterSmallVWithHook => "modifier letter small v with hook",
PhoneticExtensionsSupplement::ModifierLetterSmallTurnedV => "modifier letter small turned v",
PhoneticExtensionsSupplement::ModifierLetterSmallZ => "modifier letter small z",
PhoneticExtensionsSupplement::ModifierLetterSmallZWithRetroflexHook => "modifier letter small z with retroflex hook",
PhoneticExtensionsSupplement::ModifierLetterSmallZWithCurl => "modifier letter small z with curl",
PhoneticExtensionsSupplement::ModifierLetterSmallEzh => "modifier letter small ezh",
}
}
}