mod constants {
pub const LATIN_LETTER_SMALL_CAPITAL_A: char = 'ᴀ';
pub const LATIN_LETTER_SMALL_CAPITAL_AE: char = 'ᴁ';
pub const LATIN_SMALL_LETTER_TURNED_AE: char = 'ᴂ';
pub const LATIN_LETTER_SMALL_CAPITAL_BARRED_B: char = 'ᴃ';
pub const LATIN_LETTER_SMALL_CAPITAL_C: char = 'ᴄ';
pub const LATIN_LETTER_SMALL_CAPITAL_D: char = 'ᴅ';
pub const LATIN_LETTER_SMALL_CAPITAL_ETH: char = 'ᴆ';
pub const LATIN_LETTER_SMALL_CAPITAL_E: char = 'ᴇ';
pub const LATIN_SMALL_LETTER_TURNED_OPEN_E: char = 'ᴈ';
pub const LATIN_SMALL_LETTER_TURNED_I: char = 'ᴉ';
pub const LATIN_LETTER_SMALL_CAPITAL_J: char = 'ᴊ';
pub const LATIN_LETTER_SMALL_CAPITAL_K: char = 'ᴋ';
pub const LATIN_LETTER_SMALL_CAPITAL_L_WITH_STROKE: char = 'ᴌ';
pub const LATIN_LETTER_SMALL_CAPITAL_M: char = 'ᴍ';
pub const LATIN_LETTER_SMALL_CAPITAL_REVERSED_N: char = 'ᴎ';
pub const LATIN_LETTER_SMALL_CAPITAL_O: char = 'ᴏ';
pub const LATIN_LETTER_SMALL_CAPITAL_OPEN_O: char = 'ᴐ';
pub const LATIN_SMALL_LETTER_SIDEWAYS_O: char = 'ᴑ';
pub const LATIN_SMALL_LETTER_SIDEWAYS_OPEN_O: char = 'ᴒ';
pub const LATIN_SMALL_LETTER_SIDEWAYS_O_WITH_STROKE: char = 'ᴓ';
pub const LATIN_SMALL_LETTER_TURNED_OE: char = 'ᴔ';
pub const LATIN_LETTER_SMALL_CAPITAL_OU: char = 'ᴕ';
pub const LATIN_SMALL_LETTER_TOP_HALF_O: char = 'ᴖ';
pub const LATIN_SMALL_LETTER_BOTTOM_HALF_O: char = 'ᴗ';
pub const LATIN_LETTER_SMALL_CAPITAL_P: char = 'ᴘ';
pub const LATIN_LETTER_SMALL_CAPITAL_REVERSED_R: char = 'ᴙ';
pub const LATIN_LETTER_SMALL_CAPITAL_TURNED_R: char = 'ᴚ';
pub const LATIN_LETTER_SMALL_CAPITAL_T: char = 'ᴛ';
pub const LATIN_LETTER_SMALL_CAPITAL_U: char = 'ᴜ';
pub const LATIN_SMALL_LETTER_SIDEWAYS_U: char = 'ᴝ';
pub const LATIN_SMALL_LETTER_SIDEWAYS_DIAERESIZED_U: char = 'ᴞ';
pub const LATIN_SMALL_LETTER_SIDEWAYS_TURNED_M: char = 'ᴟ';
pub const LATIN_LETTER_SMALL_CAPITAL_V: char = 'ᴠ';
pub const LATIN_LETTER_SMALL_CAPITAL_W: char = 'ᴡ';
pub const LATIN_LETTER_SMALL_CAPITAL_Z: char = 'ᴢ';
pub const LATIN_LETTER_SMALL_CAPITAL_EZH: char = 'ᴣ';
pub const LATIN_LETTER_VOICED_LARYNGEAL_SPIRANT: char = 'ᴤ';
pub const LATIN_LETTER_AIN: char = 'ᴥ';
pub const GREEK_LETTER_SMALL_CAPITAL_GAMMA: char = 'ᴦ';
pub const GREEK_LETTER_SMALL_CAPITAL_LAMDA: char = 'ᴧ';
pub const GREEK_LETTER_SMALL_CAPITAL_PI: char = 'ᴨ';
pub const GREEK_LETTER_SMALL_CAPITAL_RHO: char = 'ᴩ';
pub const GREEK_LETTER_SMALL_CAPITAL_PSI: char = 'ᴪ';
pub const CYRILLIC_LETTER_SMALL_CAPITAL_EL: char = 'ᴫ';
pub const MODIFIER_LETTER_CAPITAL_A: char = 'ᴬ';
pub const MODIFIER_LETTER_CAPITAL_AE: char = 'ᴭ';
pub const MODIFIER_LETTER_CAPITAL_B: char = 'ᴮ';
pub const MODIFIER_LETTER_CAPITAL_BARRED_B: char = 'ᴯ';
pub const MODIFIER_LETTER_CAPITAL_D: char = 'ᴰ';
pub const MODIFIER_LETTER_CAPITAL_E: char = 'ᴱ';
pub const MODIFIER_LETTER_CAPITAL_REVERSED_E: char = 'ᴲ';
pub const MODIFIER_LETTER_CAPITAL_G: char = 'ᴳ';
pub const MODIFIER_LETTER_CAPITAL_H: char = 'ᴴ';
pub const MODIFIER_LETTER_CAPITAL_I: char = 'ᴵ';
pub const MODIFIER_LETTER_CAPITAL_J: char = 'ᴶ';
pub const MODIFIER_LETTER_CAPITAL_K: char = 'ᴷ';
pub const MODIFIER_LETTER_CAPITAL_L: char = 'ᴸ';
pub const MODIFIER_LETTER_CAPITAL_M: char = 'ᴹ';
pub const MODIFIER_LETTER_CAPITAL_N: char = 'ᴺ';
pub const MODIFIER_LETTER_CAPITAL_REVERSED_N: char = 'ᴻ';
pub const MODIFIER_LETTER_CAPITAL_O: char = 'ᴼ';
pub const MODIFIER_LETTER_CAPITAL_OU: char = 'ᴽ';
pub const MODIFIER_LETTER_CAPITAL_P: char = 'ᴾ';
pub const MODIFIER_LETTER_CAPITAL_R: char = 'ᴿ';
pub const MODIFIER_LETTER_CAPITAL_T: char = 'ᵀ';
pub const MODIFIER_LETTER_CAPITAL_U: char = 'ᵁ';
pub const MODIFIER_LETTER_CAPITAL_W: char = 'ᵂ';
pub const MODIFIER_LETTER_SMALL_A: char = 'ᵃ';
pub const MODIFIER_LETTER_SMALL_TURNED_A: char = 'ᵄ';
pub const MODIFIER_LETTER_SMALL_ALPHA: char = 'ᵅ';
pub const MODIFIER_LETTER_SMALL_TURNED_AE: char = 'ᵆ';
pub const MODIFIER_LETTER_SMALL_B: char = 'ᵇ';
pub const MODIFIER_LETTER_SMALL_D: char = 'ᵈ';
pub const MODIFIER_LETTER_SMALL_E: char = 'ᵉ';
pub const MODIFIER_LETTER_SMALL_SCHWA: char = 'ᵊ';
pub const MODIFIER_LETTER_SMALL_OPEN_E: char = 'ᵋ';
pub const MODIFIER_LETTER_SMALL_TURNED_OPEN_E: char = 'ᵌ';
pub const MODIFIER_LETTER_SMALL_G: char = 'ᵍ';
pub const MODIFIER_LETTER_SMALL_TURNED_I: char = 'ᵎ';
pub const MODIFIER_LETTER_SMALL_K: char = 'ᵏ';
pub const MODIFIER_LETTER_SMALL_M: char = 'ᵐ';
pub const MODIFIER_LETTER_SMALL_ENG: char = 'ᵑ';
pub const MODIFIER_LETTER_SMALL_O: char = 'ᵒ';
pub const MODIFIER_LETTER_SMALL_OPEN_O: char = 'ᵓ';
pub const MODIFIER_LETTER_SMALL_TOP_HALF_O: char = 'ᵔ';
pub const MODIFIER_LETTER_SMALL_BOTTOM_HALF_O: char = 'ᵕ';
pub const MODIFIER_LETTER_SMALL_P: char = 'ᵖ';
pub const MODIFIER_LETTER_SMALL_T: char = 'ᵗ';
pub const MODIFIER_LETTER_SMALL_U: char = 'ᵘ';
pub const MODIFIER_LETTER_SMALL_SIDEWAYS_U: char = 'ᵙ';
pub const MODIFIER_LETTER_SMALL_TURNED_M: char = 'ᵚ';
pub const MODIFIER_LETTER_SMALL_V: char = 'ᵛ';
pub const MODIFIER_LETTER_SMALL_AIN: char = 'ᵜ';
pub const MODIFIER_LETTER_SMALL_BETA: char = 'ᵝ';
pub const MODIFIER_LETTER_SMALL_GREEK_GAMMA: char = 'ᵞ';
pub const MODIFIER_LETTER_SMALL_DELTA: char = 'ᵟ';
pub const MODIFIER_LETTER_SMALL_GREEK_PHI: char = 'ᵠ';
pub const MODIFIER_LETTER_SMALL_CHI: char = 'ᵡ';
pub const LATIN_SUBSCRIPT_SMALL_LETTER_I: char = 'ᵢ';
pub const LATIN_SUBSCRIPT_SMALL_LETTER_R: char = 'ᵣ';
pub const LATIN_SUBSCRIPT_SMALL_LETTER_U: char = 'ᵤ';
pub const LATIN_SUBSCRIPT_SMALL_LETTER_V: char = 'ᵥ';
pub const GREEK_SUBSCRIPT_SMALL_LETTER_BETA: char = 'ᵦ';
pub const GREEK_SUBSCRIPT_SMALL_LETTER_GAMMA: char = 'ᵧ';
pub const GREEK_SUBSCRIPT_SMALL_LETTER_RHO: char = 'ᵨ';
pub const GREEK_SUBSCRIPT_SMALL_LETTER_PHI: char = 'ᵩ';
pub const GREEK_SUBSCRIPT_SMALL_LETTER_CHI: char = 'ᵪ';
pub const LATIN_SMALL_LETTER_UE: char = 'ᵫ';
pub const LATIN_SMALL_LETTER_B_WITH_MIDDLE_TILDE: char = 'ᵬ';
pub const LATIN_SMALL_LETTER_D_WITH_MIDDLE_TILDE: char = 'ᵭ';
pub const LATIN_SMALL_LETTER_F_WITH_MIDDLE_TILDE: char = 'ᵮ';
pub const LATIN_SMALL_LETTER_M_WITH_MIDDLE_TILDE: char = 'ᵯ';
pub const LATIN_SMALL_LETTER_N_WITH_MIDDLE_TILDE: char = 'ᵰ';
pub const LATIN_SMALL_LETTER_P_WITH_MIDDLE_TILDE: char = 'ᵱ';
pub const LATIN_SMALL_LETTER_R_WITH_MIDDLE_TILDE: char = 'ᵲ';
pub const LATIN_SMALL_LETTER_R_WITH_FISHHOOK_AND_MIDDLE_TILDE: char = 'ᵳ';
pub const LATIN_SMALL_LETTER_S_WITH_MIDDLE_TILDE: char = 'ᵴ';
pub const LATIN_SMALL_LETTER_T_WITH_MIDDLE_TILDE: char = 'ᵵ';
pub const LATIN_SMALL_LETTER_Z_WITH_MIDDLE_TILDE: char = 'ᵶ';
pub const LATIN_SMALL_LETTER_TURNED_G: char = 'ᵷ';
pub const MODIFIER_LETTER_CYRILLIC_EN: char = 'ᵸ';
pub const LATIN_SMALL_LETTER_INSULAR_G: char = 'ᵹ';
pub const LATIN_SMALL_LETTER_TH_WITH_STRIKETHROUGH: char = 'ᵺ';
pub const LATIN_SMALL_CAPITAL_LETTER_I_WITH_STROKE: char = 'ᵻ';
pub const LATIN_SMALL_LETTER_IOTA_WITH_STROKE: char = 'ᵼ';
pub const LATIN_SMALL_LETTER_P_WITH_STROKE: char = 'ᵽ';
pub const LATIN_SMALL_CAPITAL_LETTER_U_WITH_STROKE: char = 'ᵾ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum PhoneticExtensions {
LatinLetterSmallCapitalA,
LatinLetterSmallCapitalAe,
LatinSmallLetterTurnedAe,
LatinLetterSmallCapitalBarredB,
LatinLetterSmallCapitalC,
LatinLetterSmallCapitalD,
LatinLetterSmallCapitalEth,
LatinLetterSmallCapitalE,
LatinSmallLetterTurnedOpenE,
LatinSmallLetterTurnedI,
LatinLetterSmallCapitalJ,
LatinLetterSmallCapitalK,
LatinLetterSmallCapitalLWithStroke,
LatinLetterSmallCapitalM,
LatinLetterSmallCapitalReversedN,
LatinLetterSmallCapitalO,
LatinLetterSmallCapitalOpenO,
LatinSmallLetterSidewaysO,
LatinSmallLetterSidewaysOpenO,
LatinSmallLetterSidewaysOWithStroke,
LatinSmallLetterTurnedOe,
LatinLetterSmallCapitalOu,
LatinSmallLetterTopHalfO,
LatinSmallLetterBottomHalfO,
LatinLetterSmallCapitalP,
LatinLetterSmallCapitalReversedR,
LatinLetterSmallCapitalTurnedR,
LatinLetterSmallCapitalT,
LatinLetterSmallCapitalU,
LatinSmallLetterSidewaysU,
LatinSmallLetterSidewaysDiaeresizedU,
LatinSmallLetterSidewaysTurnedM,
LatinLetterSmallCapitalV,
LatinLetterSmallCapitalW,
LatinLetterSmallCapitalZ,
LatinLetterSmallCapitalEzh,
LatinLetterVoicedLaryngealSpirant,
LatinLetterAin,
GreekLetterSmallCapitalGamma,
GreekLetterSmallCapitalLamda,
GreekLetterSmallCapitalPi,
GreekLetterSmallCapitalRho,
GreekLetterSmallCapitalPsi,
CyrillicLetterSmallCapitalEl,
ModifierLetterCapitalA,
ModifierLetterCapitalAe,
ModifierLetterCapitalB,
ModifierLetterCapitalBarredB,
ModifierLetterCapitalD,
ModifierLetterCapitalE,
ModifierLetterCapitalReversedE,
ModifierLetterCapitalG,
ModifierLetterCapitalH,
ModifierLetterCapitalI,
ModifierLetterCapitalJ,
ModifierLetterCapitalK,
ModifierLetterCapitalL,
ModifierLetterCapitalM,
ModifierLetterCapitalN,
ModifierLetterCapitalReversedN,
ModifierLetterCapitalO,
ModifierLetterCapitalOu,
ModifierLetterCapitalP,
ModifierLetterCapitalR,
ModifierLetterCapitalT,
ModifierLetterCapitalU,
ModifierLetterCapitalW,
ModifierLetterSmallA,
ModifierLetterSmallTurnedA,
ModifierLetterSmallAlpha,
ModifierLetterSmallTurnedAe,
ModifierLetterSmallB,
ModifierLetterSmallD,
ModifierLetterSmallE,
ModifierLetterSmallSchwa,
ModifierLetterSmallOpenE,
ModifierLetterSmallTurnedOpenE,
ModifierLetterSmallG,
ModifierLetterSmallTurnedI,
ModifierLetterSmallK,
ModifierLetterSmallM,
ModifierLetterSmallEng,
ModifierLetterSmallO,
ModifierLetterSmallOpenO,
ModifierLetterSmallTopHalfO,
ModifierLetterSmallBottomHalfO,
ModifierLetterSmallP,
ModifierLetterSmallT,
ModifierLetterSmallU,
ModifierLetterSmallSidewaysU,
ModifierLetterSmallTurnedM,
ModifierLetterSmallV,
ModifierLetterSmallAin,
ModifierLetterSmallBeta,
ModifierLetterSmallGreekGamma,
ModifierLetterSmallDelta,
ModifierLetterSmallGreekPhi,
ModifierLetterSmallChi,
LatinSubscriptSmallLetterI,
LatinSubscriptSmallLetterR,
LatinSubscriptSmallLetterU,
LatinSubscriptSmallLetterV,
GreekSubscriptSmallLetterBeta,
GreekSubscriptSmallLetterGamma,
GreekSubscriptSmallLetterRho,
GreekSubscriptSmallLetterPhi,
GreekSubscriptSmallLetterChi,
LatinSmallLetterUe,
LatinSmallLetterBWithMiddleTilde,
LatinSmallLetterDWithMiddleTilde,
LatinSmallLetterFWithMiddleTilde,
LatinSmallLetterMWithMiddleTilde,
LatinSmallLetterNWithMiddleTilde,
LatinSmallLetterPWithMiddleTilde,
LatinSmallLetterRWithMiddleTilde,
LatinSmallLetterRWithFishhookAndMiddleTilde,
LatinSmallLetterSWithMiddleTilde,
LatinSmallLetterTWithMiddleTilde,
LatinSmallLetterZWithMiddleTilde,
LatinSmallLetterTurnedG,
ModifierLetterCyrillicEn,
LatinSmallLetterInsularG,
LatinSmallLetterThWithStrikethrough,
LatinSmallCapitalLetterIWithStroke,
LatinSmallLetterIotaWithStroke,
LatinSmallLetterPWithStroke,
LatinSmallCapitalLetterUWithStroke,
}
impl Into<char> for PhoneticExtensions {
fn into(self) -> char {
use constants::*;
match self {
PhoneticExtensions::LatinLetterSmallCapitalA => LATIN_LETTER_SMALL_CAPITAL_A,
PhoneticExtensions::LatinLetterSmallCapitalAe => LATIN_LETTER_SMALL_CAPITAL_AE,
PhoneticExtensions::LatinSmallLetterTurnedAe => LATIN_SMALL_LETTER_TURNED_AE,
PhoneticExtensions::LatinLetterSmallCapitalBarredB => LATIN_LETTER_SMALL_CAPITAL_BARRED_B,
PhoneticExtensions::LatinLetterSmallCapitalC => LATIN_LETTER_SMALL_CAPITAL_C,
PhoneticExtensions::LatinLetterSmallCapitalD => LATIN_LETTER_SMALL_CAPITAL_D,
PhoneticExtensions::LatinLetterSmallCapitalEth => LATIN_LETTER_SMALL_CAPITAL_ETH,
PhoneticExtensions::LatinLetterSmallCapitalE => LATIN_LETTER_SMALL_CAPITAL_E,
PhoneticExtensions::LatinSmallLetterTurnedOpenE => LATIN_SMALL_LETTER_TURNED_OPEN_E,
PhoneticExtensions::LatinSmallLetterTurnedI => LATIN_SMALL_LETTER_TURNED_I,
PhoneticExtensions::LatinLetterSmallCapitalJ => LATIN_LETTER_SMALL_CAPITAL_J,
PhoneticExtensions::LatinLetterSmallCapitalK => LATIN_LETTER_SMALL_CAPITAL_K,
PhoneticExtensions::LatinLetterSmallCapitalLWithStroke => LATIN_LETTER_SMALL_CAPITAL_L_WITH_STROKE,
PhoneticExtensions::LatinLetterSmallCapitalM => LATIN_LETTER_SMALL_CAPITAL_M,
PhoneticExtensions::LatinLetterSmallCapitalReversedN => LATIN_LETTER_SMALL_CAPITAL_REVERSED_N,
PhoneticExtensions::LatinLetterSmallCapitalO => LATIN_LETTER_SMALL_CAPITAL_O,
PhoneticExtensions::LatinLetterSmallCapitalOpenO => LATIN_LETTER_SMALL_CAPITAL_OPEN_O,
PhoneticExtensions::LatinSmallLetterSidewaysO => LATIN_SMALL_LETTER_SIDEWAYS_O,
PhoneticExtensions::LatinSmallLetterSidewaysOpenO => LATIN_SMALL_LETTER_SIDEWAYS_OPEN_O,
PhoneticExtensions::LatinSmallLetterSidewaysOWithStroke => LATIN_SMALL_LETTER_SIDEWAYS_O_WITH_STROKE,
PhoneticExtensions::LatinSmallLetterTurnedOe => LATIN_SMALL_LETTER_TURNED_OE,
PhoneticExtensions::LatinLetterSmallCapitalOu => LATIN_LETTER_SMALL_CAPITAL_OU,
PhoneticExtensions::LatinSmallLetterTopHalfO => LATIN_SMALL_LETTER_TOP_HALF_O,
PhoneticExtensions::LatinSmallLetterBottomHalfO => LATIN_SMALL_LETTER_BOTTOM_HALF_O,
PhoneticExtensions::LatinLetterSmallCapitalP => LATIN_LETTER_SMALL_CAPITAL_P,
PhoneticExtensions::LatinLetterSmallCapitalReversedR => LATIN_LETTER_SMALL_CAPITAL_REVERSED_R,
PhoneticExtensions::LatinLetterSmallCapitalTurnedR => LATIN_LETTER_SMALL_CAPITAL_TURNED_R,
PhoneticExtensions::LatinLetterSmallCapitalT => LATIN_LETTER_SMALL_CAPITAL_T,
PhoneticExtensions::LatinLetterSmallCapitalU => LATIN_LETTER_SMALL_CAPITAL_U,
PhoneticExtensions::LatinSmallLetterSidewaysU => LATIN_SMALL_LETTER_SIDEWAYS_U,
PhoneticExtensions::LatinSmallLetterSidewaysDiaeresizedU => LATIN_SMALL_LETTER_SIDEWAYS_DIAERESIZED_U,
PhoneticExtensions::LatinSmallLetterSidewaysTurnedM => LATIN_SMALL_LETTER_SIDEWAYS_TURNED_M,
PhoneticExtensions::LatinLetterSmallCapitalV => LATIN_LETTER_SMALL_CAPITAL_V,
PhoneticExtensions::LatinLetterSmallCapitalW => LATIN_LETTER_SMALL_CAPITAL_W,
PhoneticExtensions::LatinLetterSmallCapitalZ => LATIN_LETTER_SMALL_CAPITAL_Z,
PhoneticExtensions::LatinLetterSmallCapitalEzh => LATIN_LETTER_SMALL_CAPITAL_EZH,
PhoneticExtensions::LatinLetterVoicedLaryngealSpirant => LATIN_LETTER_VOICED_LARYNGEAL_SPIRANT,
PhoneticExtensions::LatinLetterAin => LATIN_LETTER_AIN,
PhoneticExtensions::GreekLetterSmallCapitalGamma => GREEK_LETTER_SMALL_CAPITAL_GAMMA,
PhoneticExtensions::GreekLetterSmallCapitalLamda => GREEK_LETTER_SMALL_CAPITAL_LAMDA,
PhoneticExtensions::GreekLetterSmallCapitalPi => GREEK_LETTER_SMALL_CAPITAL_PI,
PhoneticExtensions::GreekLetterSmallCapitalRho => GREEK_LETTER_SMALL_CAPITAL_RHO,
PhoneticExtensions::GreekLetterSmallCapitalPsi => GREEK_LETTER_SMALL_CAPITAL_PSI,
PhoneticExtensions::CyrillicLetterSmallCapitalEl => CYRILLIC_LETTER_SMALL_CAPITAL_EL,
PhoneticExtensions::ModifierLetterCapitalA => MODIFIER_LETTER_CAPITAL_A,
PhoneticExtensions::ModifierLetterCapitalAe => MODIFIER_LETTER_CAPITAL_AE,
PhoneticExtensions::ModifierLetterCapitalB => MODIFIER_LETTER_CAPITAL_B,
PhoneticExtensions::ModifierLetterCapitalBarredB => MODIFIER_LETTER_CAPITAL_BARRED_B,
PhoneticExtensions::ModifierLetterCapitalD => MODIFIER_LETTER_CAPITAL_D,
PhoneticExtensions::ModifierLetterCapitalE => MODIFIER_LETTER_CAPITAL_E,
PhoneticExtensions::ModifierLetterCapitalReversedE => MODIFIER_LETTER_CAPITAL_REVERSED_E,
PhoneticExtensions::ModifierLetterCapitalG => MODIFIER_LETTER_CAPITAL_G,
PhoneticExtensions::ModifierLetterCapitalH => MODIFIER_LETTER_CAPITAL_H,
PhoneticExtensions::ModifierLetterCapitalI => MODIFIER_LETTER_CAPITAL_I,
PhoneticExtensions::ModifierLetterCapitalJ => MODIFIER_LETTER_CAPITAL_J,
PhoneticExtensions::ModifierLetterCapitalK => MODIFIER_LETTER_CAPITAL_K,
PhoneticExtensions::ModifierLetterCapitalL => MODIFIER_LETTER_CAPITAL_L,
PhoneticExtensions::ModifierLetterCapitalM => MODIFIER_LETTER_CAPITAL_M,
PhoneticExtensions::ModifierLetterCapitalN => MODIFIER_LETTER_CAPITAL_N,
PhoneticExtensions::ModifierLetterCapitalReversedN => MODIFIER_LETTER_CAPITAL_REVERSED_N,
PhoneticExtensions::ModifierLetterCapitalO => MODIFIER_LETTER_CAPITAL_O,
PhoneticExtensions::ModifierLetterCapitalOu => MODIFIER_LETTER_CAPITAL_OU,
PhoneticExtensions::ModifierLetterCapitalP => MODIFIER_LETTER_CAPITAL_P,
PhoneticExtensions::ModifierLetterCapitalR => MODIFIER_LETTER_CAPITAL_R,
PhoneticExtensions::ModifierLetterCapitalT => MODIFIER_LETTER_CAPITAL_T,
PhoneticExtensions::ModifierLetterCapitalU => MODIFIER_LETTER_CAPITAL_U,
PhoneticExtensions::ModifierLetterCapitalW => MODIFIER_LETTER_CAPITAL_W,
PhoneticExtensions::ModifierLetterSmallA => MODIFIER_LETTER_SMALL_A,
PhoneticExtensions::ModifierLetterSmallTurnedA => MODIFIER_LETTER_SMALL_TURNED_A,
PhoneticExtensions::ModifierLetterSmallAlpha => MODIFIER_LETTER_SMALL_ALPHA,
PhoneticExtensions::ModifierLetterSmallTurnedAe => MODIFIER_LETTER_SMALL_TURNED_AE,
PhoneticExtensions::ModifierLetterSmallB => MODIFIER_LETTER_SMALL_B,
PhoneticExtensions::ModifierLetterSmallD => MODIFIER_LETTER_SMALL_D,
PhoneticExtensions::ModifierLetterSmallE => MODIFIER_LETTER_SMALL_E,
PhoneticExtensions::ModifierLetterSmallSchwa => MODIFIER_LETTER_SMALL_SCHWA,
PhoneticExtensions::ModifierLetterSmallOpenE => MODIFIER_LETTER_SMALL_OPEN_E,
PhoneticExtensions::ModifierLetterSmallTurnedOpenE => MODIFIER_LETTER_SMALL_TURNED_OPEN_E,
PhoneticExtensions::ModifierLetterSmallG => MODIFIER_LETTER_SMALL_G,
PhoneticExtensions::ModifierLetterSmallTurnedI => MODIFIER_LETTER_SMALL_TURNED_I,
PhoneticExtensions::ModifierLetterSmallK => MODIFIER_LETTER_SMALL_K,
PhoneticExtensions::ModifierLetterSmallM => MODIFIER_LETTER_SMALL_M,
PhoneticExtensions::ModifierLetterSmallEng => MODIFIER_LETTER_SMALL_ENG,
PhoneticExtensions::ModifierLetterSmallO => MODIFIER_LETTER_SMALL_O,
PhoneticExtensions::ModifierLetterSmallOpenO => MODIFIER_LETTER_SMALL_OPEN_O,
PhoneticExtensions::ModifierLetterSmallTopHalfO => MODIFIER_LETTER_SMALL_TOP_HALF_O,
PhoneticExtensions::ModifierLetterSmallBottomHalfO => MODIFIER_LETTER_SMALL_BOTTOM_HALF_O,
PhoneticExtensions::ModifierLetterSmallP => MODIFIER_LETTER_SMALL_P,
PhoneticExtensions::ModifierLetterSmallT => MODIFIER_LETTER_SMALL_T,
PhoneticExtensions::ModifierLetterSmallU => MODIFIER_LETTER_SMALL_U,
PhoneticExtensions::ModifierLetterSmallSidewaysU => MODIFIER_LETTER_SMALL_SIDEWAYS_U,
PhoneticExtensions::ModifierLetterSmallTurnedM => MODIFIER_LETTER_SMALL_TURNED_M,
PhoneticExtensions::ModifierLetterSmallV => MODIFIER_LETTER_SMALL_V,
PhoneticExtensions::ModifierLetterSmallAin => MODIFIER_LETTER_SMALL_AIN,
PhoneticExtensions::ModifierLetterSmallBeta => MODIFIER_LETTER_SMALL_BETA,
PhoneticExtensions::ModifierLetterSmallGreekGamma => MODIFIER_LETTER_SMALL_GREEK_GAMMA,
PhoneticExtensions::ModifierLetterSmallDelta => MODIFIER_LETTER_SMALL_DELTA,
PhoneticExtensions::ModifierLetterSmallGreekPhi => MODIFIER_LETTER_SMALL_GREEK_PHI,
PhoneticExtensions::ModifierLetterSmallChi => MODIFIER_LETTER_SMALL_CHI,
PhoneticExtensions::LatinSubscriptSmallLetterI => LATIN_SUBSCRIPT_SMALL_LETTER_I,
PhoneticExtensions::LatinSubscriptSmallLetterR => LATIN_SUBSCRIPT_SMALL_LETTER_R,
PhoneticExtensions::LatinSubscriptSmallLetterU => LATIN_SUBSCRIPT_SMALL_LETTER_U,
PhoneticExtensions::LatinSubscriptSmallLetterV => LATIN_SUBSCRIPT_SMALL_LETTER_V,
PhoneticExtensions::GreekSubscriptSmallLetterBeta => GREEK_SUBSCRIPT_SMALL_LETTER_BETA,
PhoneticExtensions::GreekSubscriptSmallLetterGamma => GREEK_SUBSCRIPT_SMALL_LETTER_GAMMA,
PhoneticExtensions::GreekSubscriptSmallLetterRho => GREEK_SUBSCRIPT_SMALL_LETTER_RHO,
PhoneticExtensions::GreekSubscriptSmallLetterPhi => GREEK_SUBSCRIPT_SMALL_LETTER_PHI,
PhoneticExtensions::GreekSubscriptSmallLetterChi => GREEK_SUBSCRIPT_SMALL_LETTER_CHI,
PhoneticExtensions::LatinSmallLetterUe => LATIN_SMALL_LETTER_UE,
PhoneticExtensions::LatinSmallLetterBWithMiddleTilde => LATIN_SMALL_LETTER_B_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterDWithMiddleTilde => LATIN_SMALL_LETTER_D_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterFWithMiddleTilde => LATIN_SMALL_LETTER_F_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterMWithMiddleTilde => LATIN_SMALL_LETTER_M_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterNWithMiddleTilde => LATIN_SMALL_LETTER_N_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterPWithMiddleTilde => LATIN_SMALL_LETTER_P_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterRWithMiddleTilde => LATIN_SMALL_LETTER_R_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterRWithFishhookAndMiddleTilde => LATIN_SMALL_LETTER_R_WITH_FISHHOOK_AND_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterSWithMiddleTilde => LATIN_SMALL_LETTER_S_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterTWithMiddleTilde => LATIN_SMALL_LETTER_T_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterZWithMiddleTilde => LATIN_SMALL_LETTER_Z_WITH_MIDDLE_TILDE,
PhoneticExtensions::LatinSmallLetterTurnedG => LATIN_SMALL_LETTER_TURNED_G,
PhoneticExtensions::ModifierLetterCyrillicEn => MODIFIER_LETTER_CYRILLIC_EN,
PhoneticExtensions::LatinSmallLetterInsularG => LATIN_SMALL_LETTER_INSULAR_G,
PhoneticExtensions::LatinSmallLetterThWithStrikethrough => LATIN_SMALL_LETTER_TH_WITH_STRIKETHROUGH,
PhoneticExtensions::LatinSmallCapitalLetterIWithStroke => LATIN_SMALL_CAPITAL_LETTER_I_WITH_STROKE,
PhoneticExtensions::LatinSmallLetterIotaWithStroke => LATIN_SMALL_LETTER_IOTA_WITH_STROKE,
PhoneticExtensions::LatinSmallLetterPWithStroke => LATIN_SMALL_LETTER_P_WITH_STROKE,
PhoneticExtensions::LatinSmallCapitalLetterUWithStroke => LATIN_SMALL_CAPITAL_LETTER_U_WITH_STROKE,
}
}
}
impl std::convert::TryFrom<char> for PhoneticExtensions {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
LATIN_LETTER_SMALL_CAPITAL_A => Ok(PhoneticExtensions::LatinLetterSmallCapitalA),
LATIN_LETTER_SMALL_CAPITAL_AE => Ok(PhoneticExtensions::LatinLetterSmallCapitalAe),
LATIN_SMALL_LETTER_TURNED_AE => Ok(PhoneticExtensions::LatinSmallLetterTurnedAe),
LATIN_LETTER_SMALL_CAPITAL_BARRED_B => Ok(PhoneticExtensions::LatinLetterSmallCapitalBarredB),
LATIN_LETTER_SMALL_CAPITAL_C => Ok(PhoneticExtensions::LatinLetterSmallCapitalC),
LATIN_LETTER_SMALL_CAPITAL_D => Ok(PhoneticExtensions::LatinLetterSmallCapitalD),
LATIN_LETTER_SMALL_CAPITAL_ETH => Ok(PhoneticExtensions::LatinLetterSmallCapitalEth),
LATIN_LETTER_SMALL_CAPITAL_E => Ok(PhoneticExtensions::LatinLetterSmallCapitalE),
LATIN_SMALL_LETTER_TURNED_OPEN_E => Ok(PhoneticExtensions::LatinSmallLetterTurnedOpenE),
LATIN_SMALL_LETTER_TURNED_I => Ok(PhoneticExtensions::LatinSmallLetterTurnedI),
LATIN_LETTER_SMALL_CAPITAL_J => Ok(PhoneticExtensions::LatinLetterSmallCapitalJ),
LATIN_LETTER_SMALL_CAPITAL_K => Ok(PhoneticExtensions::LatinLetterSmallCapitalK),
LATIN_LETTER_SMALL_CAPITAL_L_WITH_STROKE => Ok(PhoneticExtensions::LatinLetterSmallCapitalLWithStroke),
LATIN_LETTER_SMALL_CAPITAL_M => Ok(PhoneticExtensions::LatinLetterSmallCapitalM),
LATIN_LETTER_SMALL_CAPITAL_REVERSED_N => Ok(PhoneticExtensions::LatinLetterSmallCapitalReversedN),
LATIN_LETTER_SMALL_CAPITAL_O => Ok(PhoneticExtensions::LatinLetterSmallCapitalO),
LATIN_LETTER_SMALL_CAPITAL_OPEN_O => Ok(PhoneticExtensions::LatinLetterSmallCapitalOpenO),
LATIN_SMALL_LETTER_SIDEWAYS_O => Ok(PhoneticExtensions::LatinSmallLetterSidewaysO),
LATIN_SMALL_LETTER_SIDEWAYS_OPEN_O => Ok(PhoneticExtensions::LatinSmallLetterSidewaysOpenO),
LATIN_SMALL_LETTER_SIDEWAYS_O_WITH_STROKE => Ok(PhoneticExtensions::LatinSmallLetterSidewaysOWithStroke),
LATIN_SMALL_LETTER_TURNED_OE => Ok(PhoneticExtensions::LatinSmallLetterTurnedOe),
LATIN_LETTER_SMALL_CAPITAL_OU => Ok(PhoneticExtensions::LatinLetterSmallCapitalOu),
LATIN_SMALL_LETTER_TOP_HALF_O => Ok(PhoneticExtensions::LatinSmallLetterTopHalfO),
LATIN_SMALL_LETTER_BOTTOM_HALF_O => Ok(PhoneticExtensions::LatinSmallLetterBottomHalfO),
LATIN_LETTER_SMALL_CAPITAL_P => Ok(PhoneticExtensions::LatinLetterSmallCapitalP),
LATIN_LETTER_SMALL_CAPITAL_REVERSED_R => Ok(PhoneticExtensions::LatinLetterSmallCapitalReversedR),
LATIN_LETTER_SMALL_CAPITAL_TURNED_R => Ok(PhoneticExtensions::LatinLetterSmallCapitalTurnedR),
LATIN_LETTER_SMALL_CAPITAL_T => Ok(PhoneticExtensions::LatinLetterSmallCapitalT),
LATIN_LETTER_SMALL_CAPITAL_U => Ok(PhoneticExtensions::LatinLetterSmallCapitalU),
LATIN_SMALL_LETTER_SIDEWAYS_U => Ok(PhoneticExtensions::LatinSmallLetterSidewaysU),
LATIN_SMALL_LETTER_SIDEWAYS_DIAERESIZED_U => Ok(PhoneticExtensions::LatinSmallLetterSidewaysDiaeresizedU),
LATIN_SMALL_LETTER_SIDEWAYS_TURNED_M => Ok(PhoneticExtensions::LatinSmallLetterSidewaysTurnedM),
LATIN_LETTER_SMALL_CAPITAL_V => Ok(PhoneticExtensions::LatinLetterSmallCapitalV),
LATIN_LETTER_SMALL_CAPITAL_W => Ok(PhoneticExtensions::LatinLetterSmallCapitalW),
LATIN_LETTER_SMALL_CAPITAL_Z => Ok(PhoneticExtensions::LatinLetterSmallCapitalZ),
LATIN_LETTER_SMALL_CAPITAL_EZH => Ok(PhoneticExtensions::LatinLetterSmallCapitalEzh),
LATIN_LETTER_VOICED_LARYNGEAL_SPIRANT => Ok(PhoneticExtensions::LatinLetterVoicedLaryngealSpirant),
LATIN_LETTER_AIN => Ok(PhoneticExtensions::LatinLetterAin),
GREEK_LETTER_SMALL_CAPITAL_GAMMA => Ok(PhoneticExtensions::GreekLetterSmallCapitalGamma),
GREEK_LETTER_SMALL_CAPITAL_LAMDA => Ok(PhoneticExtensions::GreekLetterSmallCapitalLamda),
GREEK_LETTER_SMALL_CAPITAL_PI => Ok(PhoneticExtensions::GreekLetterSmallCapitalPi),
GREEK_LETTER_SMALL_CAPITAL_RHO => Ok(PhoneticExtensions::GreekLetterSmallCapitalRho),
GREEK_LETTER_SMALL_CAPITAL_PSI => Ok(PhoneticExtensions::GreekLetterSmallCapitalPsi),
CYRILLIC_LETTER_SMALL_CAPITAL_EL => Ok(PhoneticExtensions::CyrillicLetterSmallCapitalEl),
MODIFIER_LETTER_CAPITAL_A => Ok(PhoneticExtensions::ModifierLetterCapitalA),
MODIFIER_LETTER_CAPITAL_AE => Ok(PhoneticExtensions::ModifierLetterCapitalAe),
MODIFIER_LETTER_CAPITAL_B => Ok(PhoneticExtensions::ModifierLetterCapitalB),
MODIFIER_LETTER_CAPITAL_BARRED_B => Ok(PhoneticExtensions::ModifierLetterCapitalBarredB),
MODIFIER_LETTER_CAPITAL_D => Ok(PhoneticExtensions::ModifierLetterCapitalD),
MODIFIER_LETTER_CAPITAL_E => Ok(PhoneticExtensions::ModifierLetterCapitalE),
MODIFIER_LETTER_CAPITAL_REVERSED_E => Ok(PhoneticExtensions::ModifierLetterCapitalReversedE),
MODIFIER_LETTER_CAPITAL_G => Ok(PhoneticExtensions::ModifierLetterCapitalG),
MODIFIER_LETTER_CAPITAL_H => Ok(PhoneticExtensions::ModifierLetterCapitalH),
MODIFIER_LETTER_CAPITAL_I => Ok(PhoneticExtensions::ModifierLetterCapitalI),
MODIFIER_LETTER_CAPITAL_J => Ok(PhoneticExtensions::ModifierLetterCapitalJ),
MODIFIER_LETTER_CAPITAL_K => Ok(PhoneticExtensions::ModifierLetterCapitalK),
MODIFIER_LETTER_CAPITAL_L => Ok(PhoneticExtensions::ModifierLetterCapitalL),
MODIFIER_LETTER_CAPITAL_M => Ok(PhoneticExtensions::ModifierLetterCapitalM),
MODIFIER_LETTER_CAPITAL_N => Ok(PhoneticExtensions::ModifierLetterCapitalN),
MODIFIER_LETTER_CAPITAL_REVERSED_N => Ok(PhoneticExtensions::ModifierLetterCapitalReversedN),
MODIFIER_LETTER_CAPITAL_O => Ok(PhoneticExtensions::ModifierLetterCapitalO),
MODIFIER_LETTER_CAPITAL_OU => Ok(PhoneticExtensions::ModifierLetterCapitalOu),
MODIFIER_LETTER_CAPITAL_P => Ok(PhoneticExtensions::ModifierLetterCapitalP),
MODIFIER_LETTER_CAPITAL_R => Ok(PhoneticExtensions::ModifierLetterCapitalR),
MODIFIER_LETTER_CAPITAL_T => Ok(PhoneticExtensions::ModifierLetterCapitalT),
MODIFIER_LETTER_CAPITAL_U => Ok(PhoneticExtensions::ModifierLetterCapitalU),
MODIFIER_LETTER_CAPITAL_W => Ok(PhoneticExtensions::ModifierLetterCapitalW),
MODIFIER_LETTER_SMALL_A => Ok(PhoneticExtensions::ModifierLetterSmallA),
MODIFIER_LETTER_SMALL_TURNED_A => Ok(PhoneticExtensions::ModifierLetterSmallTurnedA),
MODIFIER_LETTER_SMALL_ALPHA => Ok(PhoneticExtensions::ModifierLetterSmallAlpha),
MODIFIER_LETTER_SMALL_TURNED_AE => Ok(PhoneticExtensions::ModifierLetterSmallTurnedAe),
MODIFIER_LETTER_SMALL_B => Ok(PhoneticExtensions::ModifierLetterSmallB),
MODIFIER_LETTER_SMALL_D => Ok(PhoneticExtensions::ModifierLetterSmallD),
MODIFIER_LETTER_SMALL_E => Ok(PhoneticExtensions::ModifierLetterSmallE),
MODIFIER_LETTER_SMALL_SCHWA => Ok(PhoneticExtensions::ModifierLetterSmallSchwa),
MODIFIER_LETTER_SMALL_OPEN_E => Ok(PhoneticExtensions::ModifierLetterSmallOpenE),
MODIFIER_LETTER_SMALL_TURNED_OPEN_E => Ok(PhoneticExtensions::ModifierLetterSmallTurnedOpenE),
MODIFIER_LETTER_SMALL_G => Ok(PhoneticExtensions::ModifierLetterSmallG),
MODIFIER_LETTER_SMALL_TURNED_I => Ok(PhoneticExtensions::ModifierLetterSmallTurnedI),
MODIFIER_LETTER_SMALL_K => Ok(PhoneticExtensions::ModifierLetterSmallK),
MODIFIER_LETTER_SMALL_M => Ok(PhoneticExtensions::ModifierLetterSmallM),
MODIFIER_LETTER_SMALL_ENG => Ok(PhoneticExtensions::ModifierLetterSmallEng),
MODIFIER_LETTER_SMALL_O => Ok(PhoneticExtensions::ModifierLetterSmallO),
MODIFIER_LETTER_SMALL_OPEN_O => Ok(PhoneticExtensions::ModifierLetterSmallOpenO),
MODIFIER_LETTER_SMALL_TOP_HALF_O => Ok(PhoneticExtensions::ModifierLetterSmallTopHalfO),
MODIFIER_LETTER_SMALL_BOTTOM_HALF_O => Ok(PhoneticExtensions::ModifierLetterSmallBottomHalfO),
MODIFIER_LETTER_SMALL_P => Ok(PhoneticExtensions::ModifierLetterSmallP),
MODIFIER_LETTER_SMALL_T => Ok(PhoneticExtensions::ModifierLetterSmallT),
MODIFIER_LETTER_SMALL_U => Ok(PhoneticExtensions::ModifierLetterSmallU),
MODIFIER_LETTER_SMALL_SIDEWAYS_U => Ok(PhoneticExtensions::ModifierLetterSmallSidewaysU),
MODIFIER_LETTER_SMALL_TURNED_M => Ok(PhoneticExtensions::ModifierLetterSmallTurnedM),
MODIFIER_LETTER_SMALL_V => Ok(PhoneticExtensions::ModifierLetterSmallV),
MODIFIER_LETTER_SMALL_AIN => Ok(PhoneticExtensions::ModifierLetterSmallAin),
MODIFIER_LETTER_SMALL_BETA => Ok(PhoneticExtensions::ModifierLetterSmallBeta),
MODIFIER_LETTER_SMALL_GREEK_GAMMA => Ok(PhoneticExtensions::ModifierLetterSmallGreekGamma),
MODIFIER_LETTER_SMALL_DELTA => Ok(PhoneticExtensions::ModifierLetterSmallDelta),
MODIFIER_LETTER_SMALL_GREEK_PHI => Ok(PhoneticExtensions::ModifierLetterSmallGreekPhi),
MODIFIER_LETTER_SMALL_CHI => Ok(PhoneticExtensions::ModifierLetterSmallChi),
LATIN_SUBSCRIPT_SMALL_LETTER_I => Ok(PhoneticExtensions::LatinSubscriptSmallLetterI),
LATIN_SUBSCRIPT_SMALL_LETTER_R => Ok(PhoneticExtensions::LatinSubscriptSmallLetterR),
LATIN_SUBSCRIPT_SMALL_LETTER_U => Ok(PhoneticExtensions::LatinSubscriptSmallLetterU),
LATIN_SUBSCRIPT_SMALL_LETTER_V => Ok(PhoneticExtensions::LatinSubscriptSmallLetterV),
GREEK_SUBSCRIPT_SMALL_LETTER_BETA => Ok(PhoneticExtensions::GreekSubscriptSmallLetterBeta),
GREEK_SUBSCRIPT_SMALL_LETTER_GAMMA => Ok(PhoneticExtensions::GreekSubscriptSmallLetterGamma),
GREEK_SUBSCRIPT_SMALL_LETTER_RHO => Ok(PhoneticExtensions::GreekSubscriptSmallLetterRho),
GREEK_SUBSCRIPT_SMALL_LETTER_PHI => Ok(PhoneticExtensions::GreekSubscriptSmallLetterPhi),
GREEK_SUBSCRIPT_SMALL_LETTER_CHI => Ok(PhoneticExtensions::GreekSubscriptSmallLetterChi),
LATIN_SMALL_LETTER_UE => Ok(PhoneticExtensions::LatinSmallLetterUe),
LATIN_SMALL_LETTER_B_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterBWithMiddleTilde),
LATIN_SMALL_LETTER_D_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterDWithMiddleTilde),
LATIN_SMALL_LETTER_F_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterFWithMiddleTilde),
LATIN_SMALL_LETTER_M_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterMWithMiddleTilde),
LATIN_SMALL_LETTER_N_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterNWithMiddleTilde),
LATIN_SMALL_LETTER_P_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterPWithMiddleTilde),
LATIN_SMALL_LETTER_R_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterRWithMiddleTilde),
LATIN_SMALL_LETTER_R_WITH_FISHHOOK_AND_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterRWithFishhookAndMiddleTilde),
LATIN_SMALL_LETTER_S_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterSWithMiddleTilde),
LATIN_SMALL_LETTER_T_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterTWithMiddleTilde),
LATIN_SMALL_LETTER_Z_WITH_MIDDLE_TILDE => Ok(PhoneticExtensions::LatinSmallLetterZWithMiddleTilde),
LATIN_SMALL_LETTER_TURNED_G => Ok(PhoneticExtensions::LatinSmallLetterTurnedG),
MODIFIER_LETTER_CYRILLIC_EN => Ok(PhoneticExtensions::ModifierLetterCyrillicEn),
LATIN_SMALL_LETTER_INSULAR_G => Ok(PhoneticExtensions::LatinSmallLetterInsularG),
LATIN_SMALL_LETTER_TH_WITH_STRIKETHROUGH => Ok(PhoneticExtensions::LatinSmallLetterThWithStrikethrough),
LATIN_SMALL_CAPITAL_LETTER_I_WITH_STROKE => Ok(PhoneticExtensions::LatinSmallCapitalLetterIWithStroke),
LATIN_SMALL_LETTER_IOTA_WITH_STROKE => Ok(PhoneticExtensions::LatinSmallLetterIotaWithStroke),
LATIN_SMALL_LETTER_P_WITH_STROKE => Ok(PhoneticExtensions::LatinSmallLetterPWithStroke),
LATIN_SMALL_CAPITAL_LETTER_U_WITH_STROKE => Ok(PhoneticExtensions::LatinSmallCapitalLetterUWithStroke),
_ => Err(()),
}
}
}
impl Into<u32> for PhoneticExtensions {
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 PhoneticExtensions {
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 PhoneticExtensions {
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 PhoneticExtensions {
pub fn new() -> Self {
PhoneticExtensions::LatinLetterSmallCapitalA
}
pub fn name(&self) -> &str {
match self {
PhoneticExtensions::LatinLetterSmallCapitalA => "latin letter small capital a",
PhoneticExtensions::LatinLetterSmallCapitalAe => "latin letter small capital ae",
PhoneticExtensions::LatinSmallLetterTurnedAe => "latin small letter turned ae",
PhoneticExtensions::LatinLetterSmallCapitalBarredB => "latin letter small capital barred b",
PhoneticExtensions::LatinLetterSmallCapitalC => "latin letter small capital c",
PhoneticExtensions::LatinLetterSmallCapitalD => "latin letter small capital d",
PhoneticExtensions::LatinLetterSmallCapitalEth => "latin letter small capital eth",
PhoneticExtensions::LatinLetterSmallCapitalE => "latin letter small capital e",
PhoneticExtensions::LatinSmallLetterTurnedOpenE => "latin small letter turned open e",
PhoneticExtensions::LatinSmallLetterTurnedI => "latin small letter turned i",
PhoneticExtensions::LatinLetterSmallCapitalJ => "latin letter small capital j",
PhoneticExtensions::LatinLetterSmallCapitalK => "latin letter small capital k",
PhoneticExtensions::LatinLetterSmallCapitalLWithStroke => "latin letter small capital l with stroke",
PhoneticExtensions::LatinLetterSmallCapitalM => "latin letter small capital m",
PhoneticExtensions::LatinLetterSmallCapitalReversedN => "latin letter small capital reversed n",
PhoneticExtensions::LatinLetterSmallCapitalO => "latin letter small capital o",
PhoneticExtensions::LatinLetterSmallCapitalOpenO => "latin letter small capital open o",
PhoneticExtensions::LatinSmallLetterSidewaysO => "latin small letter sideways o",
PhoneticExtensions::LatinSmallLetterSidewaysOpenO => "latin small letter sideways open o",
PhoneticExtensions::LatinSmallLetterSidewaysOWithStroke => "latin small letter sideways o with stroke",
PhoneticExtensions::LatinSmallLetterTurnedOe => "latin small letter turned oe",
PhoneticExtensions::LatinLetterSmallCapitalOu => "latin letter small capital ou",
PhoneticExtensions::LatinSmallLetterTopHalfO => "latin small letter top half o",
PhoneticExtensions::LatinSmallLetterBottomHalfO => "latin small letter bottom half o",
PhoneticExtensions::LatinLetterSmallCapitalP => "latin letter small capital p",
PhoneticExtensions::LatinLetterSmallCapitalReversedR => "latin letter small capital reversed r",
PhoneticExtensions::LatinLetterSmallCapitalTurnedR => "latin letter small capital turned r",
PhoneticExtensions::LatinLetterSmallCapitalT => "latin letter small capital t",
PhoneticExtensions::LatinLetterSmallCapitalU => "latin letter small capital u",
PhoneticExtensions::LatinSmallLetterSidewaysU => "latin small letter sideways u",
PhoneticExtensions::LatinSmallLetterSidewaysDiaeresizedU => "latin small letter sideways diaeresized u",
PhoneticExtensions::LatinSmallLetterSidewaysTurnedM => "latin small letter sideways turned m",
PhoneticExtensions::LatinLetterSmallCapitalV => "latin letter small capital v",
PhoneticExtensions::LatinLetterSmallCapitalW => "latin letter small capital w",
PhoneticExtensions::LatinLetterSmallCapitalZ => "latin letter small capital z",
PhoneticExtensions::LatinLetterSmallCapitalEzh => "latin letter small capital ezh",
PhoneticExtensions::LatinLetterVoicedLaryngealSpirant => "latin letter voiced laryngeal spirant",
PhoneticExtensions::LatinLetterAin => "latin letter ain",
PhoneticExtensions::GreekLetterSmallCapitalGamma => "greek letter small capital gamma",
PhoneticExtensions::GreekLetterSmallCapitalLamda => "greek letter small capital lamda",
PhoneticExtensions::GreekLetterSmallCapitalPi => "greek letter small capital pi",
PhoneticExtensions::GreekLetterSmallCapitalRho => "greek letter small capital rho",
PhoneticExtensions::GreekLetterSmallCapitalPsi => "greek letter small capital psi",
PhoneticExtensions::CyrillicLetterSmallCapitalEl => "cyrillic letter small capital el",
PhoneticExtensions::ModifierLetterCapitalA => "modifier letter capital a",
PhoneticExtensions::ModifierLetterCapitalAe => "modifier letter capital ae",
PhoneticExtensions::ModifierLetterCapitalB => "modifier letter capital b",
PhoneticExtensions::ModifierLetterCapitalBarredB => "modifier letter capital barred b",
PhoneticExtensions::ModifierLetterCapitalD => "modifier letter capital d",
PhoneticExtensions::ModifierLetterCapitalE => "modifier letter capital e",
PhoneticExtensions::ModifierLetterCapitalReversedE => "modifier letter capital reversed e",
PhoneticExtensions::ModifierLetterCapitalG => "modifier letter capital g",
PhoneticExtensions::ModifierLetterCapitalH => "modifier letter capital h",
PhoneticExtensions::ModifierLetterCapitalI => "modifier letter capital i",
PhoneticExtensions::ModifierLetterCapitalJ => "modifier letter capital j",
PhoneticExtensions::ModifierLetterCapitalK => "modifier letter capital k",
PhoneticExtensions::ModifierLetterCapitalL => "modifier letter capital l",
PhoneticExtensions::ModifierLetterCapitalM => "modifier letter capital m",
PhoneticExtensions::ModifierLetterCapitalN => "modifier letter capital n",
PhoneticExtensions::ModifierLetterCapitalReversedN => "modifier letter capital reversed n",
PhoneticExtensions::ModifierLetterCapitalO => "modifier letter capital o",
PhoneticExtensions::ModifierLetterCapitalOu => "modifier letter capital ou",
PhoneticExtensions::ModifierLetterCapitalP => "modifier letter capital p",
PhoneticExtensions::ModifierLetterCapitalR => "modifier letter capital r",
PhoneticExtensions::ModifierLetterCapitalT => "modifier letter capital t",
PhoneticExtensions::ModifierLetterCapitalU => "modifier letter capital u",
PhoneticExtensions::ModifierLetterCapitalW => "modifier letter capital w",
PhoneticExtensions::ModifierLetterSmallA => "modifier letter small a",
PhoneticExtensions::ModifierLetterSmallTurnedA => "modifier letter small turned a",
PhoneticExtensions::ModifierLetterSmallAlpha => "modifier letter small alpha",
PhoneticExtensions::ModifierLetterSmallTurnedAe => "modifier letter small turned ae",
PhoneticExtensions::ModifierLetterSmallB => "modifier letter small b",
PhoneticExtensions::ModifierLetterSmallD => "modifier letter small d",
PhoneticExtensions::ModifierLetterSmallE => "modifier letter small e",
PhoneticExtensions::ModifierLetterSmallSchwa => "modifier letter small schwa",
PhoneticExtensions::ModifierLetterSmallOpenE => "modifier letter small open e",
PhoneticExtensions::ModifierLetterSmallTurnedOpenE => "modifier letter small turned open e",
PhoneticExtensions::ModifierLetterSmallG => "modifier letter small g",
PhoneticExtensions::ModifierLetterSmallTurnedI => "modifier letter small turned i",
PhoneticExtensions::ModifierLetterSmallK => "modifier letter small k",
PhoneticExtensions::ModifierLetterSmallM => "modifier letter small m",
PhoneticExtensions::ModifierLetterSmallEng => "modifier letter small eng",
PhoneticExtensions::ModifierLetterSmallO => "modifier letter small o",
PhoneticExtensions::ModifierLetterSmallOpenO => "modifier letter small open o",
PhoneticExtensions::ModifierLetterSmallTopHalfO => "modifier letter small top half o",
PhoneticExtensions::ModifierLetterSmallBottomHalfO => "modifier letter small bottom half o",
PhoneticExtensions::ModifierLetterSmallP => "modifier letter small p",
PhoneticExtensions::ModifierLetterSmallT => "modifier letter small t",
PhoneticExtensions::ModifierLetterSmallU => "modifier letter small u",
PhoneticExtensions::ModifierLetterSmallSidewaysU => "modifier letter small sideways u",
PhoneticExtensions::ModifierLetterSmallTurnedM => "modifier letter small turned m",
PhoneticExtensions::ModifierLetterSmallV => "modifier letter small v",
PhoneticExtensions::ModifierLetterSmallAin => "modifier letter small ain",
PhoneticExtensions::ModifierLetterSmallBeta => "modifier letter small beta",
PhoneticExtensions::ModifierLetterSmallGreekGamma => "modifier letter small greek gamma",
PhoneticExtensions::ModifierLetterSmallDelta => "modifier letter small delta",
PhoneticExtensions::ModifierLetterSmallGreekPhi => "modifier letter small greek phi",
PhoneticExtensions::ModifierLetterSmallChi => "modifier letter small chi",
PhoneticExtensions::LatinSubscriptSmallLetterI => "latin subscript small letter i",
PhoneticExtensions::LatinSubscriptSmallLetterR => "latin subscript small letter r",
PhoneticExtensions::LatinSubscriptSmallLetterU => "latin subscript small letter u",
PhoneticExtensions::LatinSubscriptSmallLetterV => "latin subscript small letter v",
PhoneticExtensions::GreekSubscriptSmallLetterBeta => "greek subscript small letter beta",
PhoneticExtensions::GreekSubscriptSmallLetterGamma => "greek subscript small letter gamma",
PhoneticExtensions::GreekSubscriptSmallLetterRho => "greek subscript small letter rho",
PhoneticExtensions::GreekSubscriptSmallLetterPhi => "greek subscript small letter phi",
PhoneticExtensions::GreekSubscriptSmallLetterChi => "greek subscript small letter chi",
PhoneticExtensions::LatinSmallLetterUe => "latin small letter ue",
PhoneticExtensions::LatinSmallLetterBWithMiddleTilde => "latin small letter b with middle tilde",
PhoneticExtensions::LatinSmallLetterDWithMiddleTilde => "latin small letter d with middle tilde",
PhoneticExtensions::LatinSmallLetterFWithMiddleTilde => "latin small letter f with middle tilde",
PhoneticExtensions::LatinSmallLetterMWithMiddleTilde => "latin small letter m with middle tilde",
PhoneticExtensions::LatinSmallLetterNWithMiddleTilde => "latin small letter n with middle tilde",
PhoneticExtensions::LatinSmallLetterPWithMiddleTilde => "latin small letter p with middle tilde",
PhoneticExtensions::LatinSmallLetterRWithMiddleTilde => "latin small letter r with middle tilde",
PhoneticExtensions::LatinSmallLetterRWithFishhookAndMiddleTilde => "latin small letter r with fishhook and middle tilde",
PhoneticExtensions::LatinSmallLetterSWithMiddleTilde => "latin small letter s with middle tilde",
PhoneticExtensions::LatinSmallLetterTWithMiddleTilde => "latin small letter t with middle tilde",
PhoneticExtensions::LatinSmallLetterZWithMiddleTilde => "latin small letter z with middle tilde",
PhoneticExtensions::LatinSmallLetterTurnedG => "latin small letter turned g",
PhoneticExtensions::ModifierLetterCyrillicEn => "modifier letter cyrillic en",
PhoneticExtensions::LatinSmallLetterInsularG => "latin small letter insular g",
PhoneticExtensions::LatinSmallLetterThWithStrikethrough => "latin small letter th with strikethrough",
PhoneticExtensions::LatinSmallCapitalLetterIWithStroke => "latin small capital letter i with stroke",
PhoneticExtensions::LatinSmallLetterIotaWithStroke => "latin small letter iota with stroke",
PhoneticExtensions::LatinSmallLetterPWithStroke => "latin small letter p with stroke",
PhoneticExtensions::LatinSmallCapitalLetterUWithStroke => "latin small capital letter u with stroke",
}
}
}