mod constants {
pub const MYANMAR_LETTER_KHAMTI_GA: char = 'ꩠ';
pub const MYANMAR_LETTER_KHAMTI_CA: char = 'ꩡ';
pub const MYANMAR_LETTER_KHAMTI_CHA: char = 'ꩢ';
pub const MYANMAR_LETTER_KHAMTI_JA: char = 'ꩣ';
pub const MYANMAR_LETTER_KHAMTI_JHA: char = 'ꩤ';
pub const MYANMAR_LETTER_KHAMTI_NYA: char = 'ꩥ';
pub const MYANMAR_LETTER_KHAMTI_TTA: char = 'ꩦ';
pub const MYANMAR_LETTER_KHAMTI_TTHA: char = 'ꩧ';
pub const MYANMAR_LETTER_KHAMTI_DDA: char = 'ꩨ';
pub const MYANMAR_LETTER_KHAMTI_DDHA: char = 'ꩩ';
pub const MYANMAR_LETTER_KHAMTI_DHA: char = 'ꩪ';
pub const MYANMAR_LETTER_KHAMTI_NA: char = 'ꩫ';
pub const MYANMAR_LETTER_KHAMTI_SA: char = 'ꩬ';
pub const MYANMAR_LETTER_KHAMTI_HA: char = 'ꩭ';
pub const MYANMAR_LETTER_KHAMTI_HHA: char = 'ꩮ';
pub const MYANMAR_LETTER_KHAMTI_FA: char = 'ꩯ';
pub const MYANMAR_MODIFIER_LETTER_KHAMTI_REDUPLICATION: char = 'ꩰ';
pub const MYANMAR_LETTER_KHAMTI_XA: char = 'ꩱ';
pub const MYANMAR_LETTER_KHAMTI_ZA: char = 'ꩲ';
pub const MYANMAR_LETTER_KHAMTI_RA: char = 'ꩳ';
pub const MYANMAR_LOGOGRAM_KHAMTI_OAY: char = 'ꩴ';
pub const MYANMAR_LOGOGRAM_KHAMTI_QN: char = 'ꩵ';
pub const MYANMAR_LOGOGRAM_KHAMTI_HM: char = 'ꩶ';
pub const MYANMAR_SYMBOL_AITON_EXCLAMATION: char = '꩷';
pub const MYANMAR_SYMBOL_AITON_ONE: char = '꩸';
pub const MYANMAR_SYMBOL_AITON_TWO: char = '꩹';
pub const MYANMAR_LETTER_AITON_RA: char = 'ꩺ';
pub const MYANMAR_SIGN_PAO_KAREN_TONE: char = 'ꩻ';
pub const MYANMAR_SIGN_TAI_LAING_TONE_DASH_2: char = 'ꩼ';
pub const MYANMAR_SIGN_TAI_LAING_TONE_DASH_5: char = 'ꩽ';
pub const MYANMAR_LETTER_SHWE_PALAUNG_CHA: char = 'ꩾ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum MyanmarExtendedA {
MyanmarLetterKhamtiGa,
MyanmarLetterKhamtiCa,
MyanmarLetterKhamtiCha,
MyanmarLetterKhamtiJa,
MyanmarLetterKhamtiJha,
MyanmarLetterKhamtiNya,
MyanmarLetterKhamtiTta,
MyanmarLetterKhamtiTtha,
MyanmarLetterKhamtiDda,
MyanmarLetterKhamtiDdha,
MyanmarLetterKhamtiDha,
MyanmarLetterKhamtiNa,
MyanmarLetterKhamtiSa,
MyanmarLetterKhamtiHa,
MyanmarLetterKhamtiHha,
MyanmarLetterKhamtiFa,
MyanmarModifierLetterKhamtiReduplication,
MyanmarLetterKhamtiXa,
MyanmarLetterKhamtiZa,
MyanmarLetterKhamtiRa,
MyanmarLogogramKhamtiOay,
MyanmarLogogramKhamtiQn,
MyanmarLogogramKhamtiHm,
MyanmarSymbolAitonExclamation,
MyanmarSymbolAitonOne,
MyanmarSymbolAitonTwo,
MyanmarLetterAitonRa,
MyanmarSignPaoKarenTone,
MyanmarSignTaiLaingToneDash2,
MyanmarSignTaiLaingToneDash5,
MyanmarLetterShwePalaungCha,
}
impl Into<char> for MyanmarExtendedA {
fn into(self) -> char {
use constants::*;
match self {
MyanmarExtendedA::MyanmarLetterKhamtiGa => MYANMAR_LETTER_KHAMTI_GA,
MyanmarExtendedA::MyanmarLetterKhamtiCa => MYANMAR_LETTER_KHAMTI_CA,
MyanmarExtendedA::MyanmarLetterKhamtiCha => MYANMAR_LETTER_KHAMTI_CHA,
MyanmarExtendedA::MyanmarLetterKhamtiJa => MYANMAR_LETTER_KHAMTI_JA,
MyanmarExtendedA::MyanmarLetterKhamtiJha => MYANMAR_LETTER_KHAMTI_JHA,
MyanmarExtendedA::MyanmarLetterKhamtiNya => MYANMAR_LETTER_KHAMTI_NYA,
MyanmarExtendedA::MyanmarLetterKhamtiTta => MYANMAR_LETTER_KHAMTI_TTA,
MyanmarExtendedA::MyanmarLetterKhamtiTtha => MYANMAR_LETTER_KHAMTI_TTHA,
MyanmarExtendedA::MyanmarLetterKhamtiDda => MYANMAR_LETTER_KHAMTI_DDA,
MyanmarExtendedA::MyanmarLetterKhamtiDdha => MYANMAR_LETTER_KHAMTI_DDHA,
MyanmarExtendedA::MyanmarLetterKhamtiDha => MYANMAR_LETTER_KHAMTI_DHA,
MyanmarExtendedA::MyanmarLetterKhamtiNa => MYANMAR_LETTER_KHAMTI_NA,
MyanmarExtendedA::MyanmarLetterKhamtiSa => MYANMAR_LETTER_KHAMTI_SA,
MyanmarExtendedA::MyanmarLetterKhamtiHa => MYANMAR_LETTER_KHAMTI_HA,
MyanmarExtendedA::MyanmarLetterKhamtiHha => MYANMAR_LETTER_KHAMTI_HHA,
MyanmarExtendedA::MyanmarLetterKhamtiFa => MYANMAR_LETTER_KHAMTI_FA,
MyanmarExtendedA::MyanmarModifierLetterKhamtiReduplication => MYANMAR_MODIFIER_LETTER_KHAMTI_REDUPLICATION,
MyanmarExtendedA::MyanmarLetterKhamtiXa => MYANMAR_LETTER_KHAMTI_XA,
MyanmarExtendedA::MyanmarLetterKhamtiZa => MYANMAR_LETTER_KHAMTI_ZA,
MyanmarExtendedA::MyanmarLetterKhamtiRa => MYANMAR_LETTER_KHAMTI_RA,
MyanmarExtendedA::MyanmarLogogramKhamtiOay => MYANMAR_LOGOGRAM_KHAMTI_OAY,
MyanmarExtendedA::MyanmarLogogramKhamtiQn => MYANMAR_LOGOGRAM_KHAMTI_QN,
MyanmarExtendedA::MyanmarLogogramKhamtiHm => MYANMAR_LOGOGRAM_KHAMTI_HM,
MyanmarExtendedA::MyanmarSymbolAitonExclamation => MYANMAR_SYMBOL_AITON_EXCLAMATION,
MyanmarExtendedA::MyanmarSymbolAitonOne => MYANMAR_SYMBOL_AITON_ONE,
MyanmarExtendedA::MyanmarSymbolAitonTwo => MYANMAR_SYMBOL_AITON_TWO,
MyanmarExtendedA::MyanmarLetterAitonRa => MYANMAR_LETTER_AITON_RA,
MyanmarExtendedA::MyanmarSignPaoKarenTone => MYANMAR_SIGN_PAO_KAREN_TONE,
MyanmarExtendedA::MyanmarSignTaiLaingToneDash2 => MYANMAR_SIGN_TAI_LAING_TONE_DASH_2,
MyanmarExtendedA::MyanmarSignTaiLaingToneDash5 => MYANMAR_SIGN_TAI_LAING_TONE_DASH_5,
MyanmarExtendedA::MyanmarLetterShwePalaungCha => MYANMAR_LETTER_SHWE_PALAUNG_CHA,
}
}
}
impl std::convert::TryFrom<char> for MyanmarExtendedA {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
MYANMAR_LETTER_KHAMTI_GA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiGa),
MYANMAR_LETTER_KHAMTI_CA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiCa),
MYANMAR_LETTER_KHAMTI_CHA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiCha),
MYANMAR_LETTER_KHAMTI_JA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiJa),
MYANMAR_LETTER_KHAMTI_JHA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiJha),
MYANMAR_LETTER_KHAMTI_NYA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiNya),
MYANMAR_LETTER_KHAMTI_TTA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiTta),
MYANMAR_LETTER_KHAMTI_TTHA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiTtha),
MYANMAR_LETTER_KHAMTI_DDA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiDda),
MYANMAR_LETTER_KHAMTI_DDHA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiDdha),
MYANMAR_LETTER_KHAMTI_DHA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiDha),
MYANMAR_LETTER_KHAMTI_NA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiNa),
MYANMAR_LETTER_KHAMTI_SA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiSa),
MYANMAR_LETTER_KHAMTI_HA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiHa),
MYANMAR_LETTER_KHAMTI_HHA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiHha),
MYANMAR_LETTER_KHAMTI_FA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiFa),
MYANMAR_MODIFIER_LETTER_KHAMTI_REDUPLICATION => Ok(MyanmarExtendedA::MyanmarModifierLetterKhamtiReduplication),
MYANMAR_LETTER_KHAMTI_XA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiXa),
MYANMAR_LETTER_KHAMTI_ZA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiZa),
MYANMAR_LETTER_KHAMTI_RA => Ok(MyanmarExtendedA::MyanmarLetterKhamtiRa),
MYANMAR_LOGOGRAM_KHAMTI_OAY => Ok(MyanmarExtendedA::MyanmarLogogramKhamtiOay),
MYANMAR_LOGOGRAM_KHAMTI_QN => Ok(MyanmarExtendedA::MyanmarLogogramKhamtiQn),
MYANMAR_LOGOGRAM_KHAMTI_HM => Ok(MyanmarExtendedA::MyanmarLogogramKhamtiHm),
MYANMAR_SYMBOL_AITON_EXCLAMATION => Ok(MyanmarExtendedA::MyanmarSymbolAitonExclamation),
MYANMAR_SYMBOL_AITON_ONE => Ok(MyanmarExtendedA::MyanmarSymbolAitonOne),
MYANMAR_SYMBOL_AITON_TWO => Ok(MyanmarExtendedA::MyanmarSymbolAitonTwo),
MYANMAR_LETTER_AITON_RA => Ok(MyanmarExtendedA::MyanmarLetterAitonRa),
MYANMAR_SIGN_PAO_KAREN_TONE => Ok(MyanmarExtendedA::MyanmarSignPaoKarenTone),
MYANMAR_SIGN_TAI_LAING_TONE_DASH_2 => Ok(MyanmarExtendedA::MyanmarSignTaiLaingToneDash2),
MYANMAR_SIGN_TAI_LAING_TONE_DASH_5 => Ok(MyanmarExtendedA::MyanmarSignTaiLaingToneDash5),
MYANMAR_LETTER_SHWE_PALAUNG_CHA => Ok(MyanmarExtendedA::MyanmarLetterShwePalaungCha),
_ => Err(()),
}
}
}
impl Into<u32> for MyanmarExtendedA {
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 MyanmarExtendedA {
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 MyanmarExtendedA {
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 MyanmarExtendedA {
pub fn new() -> Self {
MyanmarExtendedA::MyanmarLetterKhamtiGa
}
pub fn name(&self) -> &str {
match self {
MyanmarExtendedA::MyanmarLetterKhamtiGa => "myanmar letter khamti ga",
MyanmarExtendedA::MyanmarLetterKhamtiCa => "myanmar letter khamti ca",
MyanmarExtendedA::MyanmarLetterKhamtiCha => "myanmar letter khamti cha",
MyanmarExtendedA::MyanmarLetterKhamtiJa => "myanmar letter khamti ja",
MyanmarExtendedA::MyanmarLetterKhamtiJha => "myanmar letter khamti jha",
MyanmarExtendedA::MyanmarLetterKhamtiNya => "myanmar letter khamti nya",
MyanmarExtendedA::MyanmarLetterKhamtiTta => "myanmar letter khamti tta",
MyanmarExtendedA::MyanmarLetterKhamtiTtha => "myanmar letter khamti ttha",
MyanmarExtendedA::MyanmarLetterKhamtiDda => "myanmar letter khamti dda",
MyanmarExtendedA::MyanmarLetterKhamtiDdha => "myanmar letter khamti ddha",
MyanmarExtendedA::MyanmarLetterKhamtiDha => "myanmar letter khamti dha",
MyanmarExtendedA::MyanmarLetterKhamtiNa => "myanmar letter khamti na",
MyanmarExtendedA::MyanmarLetterKhamtiSa => "myanmar letter khamti sa",
MyanmarExtendedA::MyanmarLetterKhamtiHa => "myanmar letter khamti ha",
MyanmarExtendedA::MyanmarLetterKhamtiHha => "myanmar letter khamti hha",
MyanmarExtendedA::MyanmarLetterKhamtiFa => "myanmar letter khamti fa",
MyanmarExtendedA::MyanmarModifierLetterKhamtiReduplication => "myanmar modifier letter khamti reduplication",
MyanmarExtendedA::MyanmarLetterKhamtiXa => "myanmar letter khamti xa",
MyanmarExtendedA::MyanmarLetterKhamtiZa => "myanmar letter khamti za",
MyanmarExtendedA::MyanmarLetterKhamtiRa => "myanmar letter khamti ra",
MyanmarExtendedA::MyanmarLogogramKhamtiOay => "myanmar logogram khamti oay",
MyanmarExtendedA::MyanmarLogogramKhamtiQn => "myanmar logogram khamti qn",
MyanmarExtendedA::MyanmarLogogramKhamtiHm => "myanmar logogram khamti hm",
MyanmarExtendedA::MyanmarSymbolAitonExclamation => "myanmar symbol aiton exclamation",
MyanmarExtendedA::MyanmarSymbolAitonOne => "myanmar symbol aiton one",
MyanmarExtendedA::MyanmarSymbolAitonTwo => "myanmar symbol aiton two",
MyanmarExtendedA::MyanmarLetterAitonRa => "myanmar letter aiton ra",
MyanmarExtendedA::MyanmarSignPaoKarenTone => "myanmar sign pao karen tone",
MyanmarExtendedA::MyanmarSignTaiLaingToneDash2 => "myanmar sign tai laing tone-2",
MyanmarExtendedA::MyanmarSignTaiLaingToneDash5 => "myanmar sign tai laing tone-5",
MyanmarExtendedA::MyanmarLetterShwePalaungCha => "myanmar letter shwe palaung cha",
}
}
}