mod constants {
pub const VOWEL_KEEB: char = '𖬀';
pub const VOWEL_KEEV: char = '𖬁';
pub const VOWEL_KIB: char = '𖬂';
pub const VOWEL_KIV: char = '𖬃';
pub const VOWEL_KAUB: char = '𖬄';
pub const VOWEL_KAUV: char = '𖬅';
pub const VOWEL_KUB: char = '𖬆';
pub const VOWEL_KUV: char = '𖬇';
pub const VOWEL_KEB: char = '𖬈';
pub const VOWEL_KEV: char = '𖬉';
pub const VOWEL_KAIB: char = '𖬊';
pub const VOWEL_KAIV: char = '𖬋';
pub const VOWEL_KOOB: char = '𖬌';
pub const VOWEL_KOOV: char = '𖬍';
pub const VOWEL_KAWB: char = '𖬎';
pub const VOWEL_KAWV: char = '𖬏';
pub const VOWEL_KUAB: char = '𖬐';
pub const VOWEL_KUAV: char = '𖬑';
pub const VOWEL_KOB: char = '𖬒';
pub const VOWEL_KOV: char = '𖬓';
pub const VOWEL_KIAB: char = '𖬔';
pub const VOWEL_KIAV: char = '𖬕';
pub const VOWEL_KAB: char = '𖬖';
pub const VOWEL_KAV: char = '𖬗';
pub const VOWEL_KWB: char = '𖬘';
pub const VOWEL_KWV: char = '𖬙';
pub const VOWEL_KAAB: char = '𖬚';
pub const VOWEL_KAAV: char = '𖬛';
pub const CONSONANT_VAU: char = '𖬜';
pub const CONSONANT_NTSAU: char = '𖬝';
pub const CONSONANT_LAU: char = '𖬞';
pub const CONSONANT_HAU: char = '𖬟';
pub const CONSONANT_NLAU: char = '𖬠';
pub const CONSONANT_RAU: char = '𖬡';
pub const CONSONANT_NKAU: char = '𖬢';
pub const CONSONANT_QHAU: char = '𖬣';
pub const CONSONANT_YAU: char = '𖬤';
pub const CONSONANT_HLAU: char = '𖬥';
pub const CONSONANT_MAU: char = '𖬦';
pub const CONSONANT_CHAU: char = '𖬧';
pub const CONSONANT_NCHAU: char = '𖬨';
pub const CONSONANT_HNAU: char = '𖬩';
pub const CONSONANT_PLHAU: char = '𖬪';
pub const CONSONANT_NTHAU: char = '𖬫';
pub const CONSONANT_NAU: char = '𖬬';
pub const CONSONANT_AU: char = '𖬭';
pub const CONSONANT_XAU: char = '𖬮';
pub const CONSONANT_CAU: char = '𖬯';
pub const MARK_CIM_TUB: char = '𖬰';
pub const MARK_CIM_SO: char = '𖬱';
pub const MARK_CIM_KES: char = '𖬲';
pub const MARK_CIM_KHAV: char = '𖬳';
pub const MARK_CIM_SUAM: char = '𖬴';
pub const MARK_CIM_HOM: char = '𖬵';
pub const MARK_CIM_TAUM: char = '𖬶';
pub const SIGN_VOS_THOM: char = '𖬷';
pub const SIGN_VOS_TSHAB_CEEB: char = '𖬸';
pub const SIGN_CIM_CHEEM: char = '𖬹';
pub const SIGN_VOS_THIAB: char = '𖬺';
pub const SIGN_VOS_FEEM: char = '𖬻';
pub const SIGN_XYEEM_NTXIV: char = '𖬼';
pub const SIGN_XYEEM_RHO: char = '𖬽';
pub const SIGN_XYEEM_TOV: char = '𖬾';
pub const SIGN_XYEEM_FAIB: char = '𖬿';
pub const SIGN_VOS_SEEV: char = '𖭀';
pub const SIGN_MEEJ_SUAB: char = '𖭁';
pub const SIGN_VOS_NRUA: char = '𖭂';
pub const SIGN_IB_YAM: char = '𖭃';
pub const SIGN_XAUS: char = '𖭄';
pub const SIGN_CIM_TSOV_ROG: char = '𖭅';
pub const DIGIT_ZERO: char = '𖭐';
pub const DIGIT_ONE: char = '𖭑';
pub const DIGIT_TWO: char = '𖭒';
pub const DIGIT_THREE: char = '𖭓';
pub const DIGIT_FOUR: char = '𖭔';
pub const DIGIT_FIVE: char = '𖭕';
pub const DIGIT_SIX: char = '𖭖';
pub const DIGIT_SEVEN: char = '𖭗';
pub const DIGIT_EIGHT: char = '𖭘';
pub const DIGIT_NINE: char = '𖭙';
pub const NUMBER_TENS: char = '𖭛';
pub const NUMBER_HUNDREDS: char = '𖭜';
pub const NUMBER_TEN_THOUSANDS: char = '𖭝';
pub const NUMBER_MILLIONS: char = '𖭞';
pub const NUMBER_HUNDRED_MILLIONS: char = '𖭟';
pub const NUMBER_TEN_BILLIONS: char = '𖭠';
pub const NUMBER_TRILLIONS: char = '𖭡';
pub const SIGN_VOS_LUB: char = '𖭣';
pub const SIGN_XYOO: char = '𖭤';
pub const SIGN_HLI: char = '𖭥';
pub const SIGN_THIRD_DASH_STAGE_HLI: char = '𖭦';
pub const SIGN_ZWJ_THAJ: char = '𖭧';
pub const SIGN_HNUB: char = '𖭨';
pub const SIGN_NQIG: char = '𖭩';
pub const SIGN_XIAB: char = '𖭪';
pub const SIGN_NTUJ: char = '𖭫';
pub const SIGN_AV: char = '𖭬';
pub const SIGN_TXHEEJ_CEEV: char = '𖭭';
pub const SIGN_MEEJ_TSEEB: char = '𖭮';
pub const SIGN_TAU: char = '𖭯';
pub const SIGN_LOS: char = '𖭰';
pub const SIGN_MUS: char = '𖭱';
pub const SIGN_CIM_HAIS_LUS_NTOG_NTOG: char = '𖭲';
pub const SIGN_CIM_CUAM_TSHOOJ: char = '𖭳';
pub const SIGN_CIM_TXWV: char = '𖭴';
pub const SIGN_CIM_TXWV_CHWV: char = '𖭵';
pub const SIGN_CIM_PUB_DAWB: char = '𖭶';
pub const SIGN_CIM_NRES_TOS: char = '𖭷';
pub const CLAN_SIGN_TSHEEJ: char = '𖭽';
pub const CLAN_SIGN_YEEG: char = '𖭾';
pub const CLAN_SIGN_LIS: char = '𖭿';
pub const CLAN_SIGN_LAUJ: char = '𖮀';
pub const CLAN_SIGN_XYOOJ: char = '𖮁';
pub const CLAN_SIGN_KOO: char = '𖮂';
pub const CLAN_SIGN_HAWJ: char = '𖮃';
pub const CLAN_SIGN_MUAS: char = '𖮄';
pub const CLAN_SIGN_THOJ: char = '𖮅';
pub const CLAN_SIGN_TSAB: char = '𖮆';
pub const CLAN_SIGN_PHAB: char = '𖮇';
pub const CLAN_SIGN_KHAB: char = '𖮈';
pub const CLAN_SIGN_HAM: char = '𖮉';
pub const CLAN_SIGN_VAJ: char = '𖮊';
pub const CLAN_SIGN_FAJ: char = '𖮋';
pub const CLAN_SIGN_YAJ: char = '𖮌';
pub const CLAN_SIGN_TSWB: char = '𖮍';
pub const CLAN_SIGN_KWM: char = '𖮎';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum PahawhHmong {
VowelKeeb,
VowelKeev,
VowelKib,
VowelKiv,
VowelKaub,
VowelKauv,
VowelKub,
VowelKuv,
VowelKeb,
VowelKev,
VowelKaib,
VowelKaiv,
VowelKoob,
VowelKoov,
VowelKawb,
VowelKawv,
VowelKuab,
VowelKuav,
VowelKob,
VowelKov,
VowelKiab,
VowelKiav,
VowelKab,
VowelKav,
VowelKwb,
VowelKwv,
VowelKaab,
VowelKaav,
ConsonantVau,
ConsonantNtsau,
ConsonantLau,
ConsonantHau,
ConsonantNlau,
ConsonantRau,
ConsonantNkau,
ConsonantQhau,
ConsonantYau,
ConsonantHlau,
ConsonantMau,
ConsonantChau,
ConsonantNchau,
ConsonantHnau,
ConsonantPlhau,
ConsonantNthau,
ConsonantNau,
ConsonantAu,
ConsonantXau,
ConsonantCau,
MarkCimTub,
MarkCimSo,
MarkCimKes,
MarkCimKhav,
MarkCimSuam,
MarkCimHom,
MarkCimTaum,
SignVosThom,
SignVosTshabCeeb,
SignCimCheem,
SignVosThiab,
SignVosFeem,
SignXyeemNtxiv,
SignXyeemRho,
SignXyeemTov,
SignXyeemFaib,
SignVosSeev,
SignMeejSuab,
SignVosNrua,
SignIbYam,
SignXaus,
SignCimTsovRog,
DigitZero,
DigitOne,
DigitTwo,
DigitThree,
DigitFour,
DigitFive,
DigitSix,
DigitSeven,
DigitEight,
DigitNine,
NumberTens,
NumberHundreds,
NumberTenThousands,
NumberMillions,
NumberHundredMillions,
NumberTenBillions,
NumberTrillions,
SignVosLub,
SignXyoo,
SignHli,
SignThirdDashStageHli,
SignZwjThaj,
SignHnub,
SignNqig,
SignXiab,
SignNtuj,
SignAv,
SignTxheejCeev,
SignMeejTseeb,
SignTau,
SignLos,
SignMus,
SignCimHaisLusNtogNtog,
SignCimCuamTshooj,
SignCimTxwv,
SignCimTxwvChwv,
SignCimPubDawb,
SignCimNresTos,
ClanSignTsheej,
ClanSignYeeg,
ClanSignLis,
ClanSignLauj,
ClanSignXyooj,
ClanSignKoo,
ClanSignHawj,
ClanSignMuas,
ClanSignThoj,
ClanSignTsab,
ClanSignPhab,
ClanSignKhab,
ClanSignHam,
ClanSignVaj,
ClanSignFaj,
ClanSignYaj,
ClanSignTswb,
ClanSignKwm,
}
impl Into<char> for PahawhHmong {
fn into(self) -> char {
use constants::*;
match self {
PahawhHmong::VowelKeeb => VOWEL_KEEB,
PahawhHmong::VowelKeev => VOWEL_KEEV,
PahawhHmong::VowelKib => VOWEL_KIB,
PahawhHmong::VowelKiv => VOWEL_KIV,
PahawhHmong::VowelKaub => VOWEL_KAUB,
PahawhHmong::VowelKauv => VOWEL_KAUV,
PahawhHmong::VowelKub => VOWEL_KUB,
PahawhHmong::VowelKuv => VOWEL_KUV,
PahawhHmong::VowelKeb => VOWEL_KEB,
PahawhHmong::VowelKev => VOWEL_KEV,
PahawhHmong::VowelKaib => VOWEL_KAIB,
PahawhHmong::VowelKaiv => VOWEL_KAIV,
PahawhHmong::VowelKoob => VOWEL_KOOB,
PahawhHmong::VowelKoov => VOWEL_KOOV,
PahawhHmong::VowelKawb => VOWEL_KAWB,
PahawhHmong::VowelKawv => VOWEL_KAWV,
PahawhHmong::VowelKuab => VOWEL_KUAB,
PahawhHmong::VowelKuav => VOWEL_KUAV,
PahawhHmong::VowelKob => VOWEL_KOB,
PahawhHmong::VowelKov => VOWEL_KOV,
PahawhHmong::VowelKiab => VOWEL_KIAB,
PahawhHmong::VowelKiav => VOWEL_KIAV,
PahawhHmong::VowelKab => VOWEL_KAB,
PahawhHmong::VowelKav => VOWEL_KAV,
PahawhHmong::VowelKwb => VOWEL_KWB,
PahawhHmong::VowelKwv => VOWEL_KWV,
PahawhHmong::VowelKaab => VOWEL_KAAB,
PahawhHmong::VowelKaav => VOWEL_KAAV,
PahawhHmong::ConsonantVau => CONSONANT_VAU,
PahawhHmong::ConsonantNtsau => CONSONANT_NTSAU,
PahawhHmong::ConsonantLau => CONSONANT_LAU,
PahawhHmong::ConsonantHau => CONSONANT_HAU,
PahawhHmong::ConsonantNlau => CONSONANT_NLAU,
PahawhHmong::ConsonantRau => CONSONANT_RAU,
PahawhHmong::ConsonantNkau => CONSONANT_NKAU,
PahawhHmong::ConsonantQhau => CONSONANT_QHAU,
PahawhHmong::ConsonantYau => CONSONANT_YAU,
PahawhHmong::ConsonantHlau => CONSONANT_HLAU,
PahawhHmong::ConsonantMau => CONSONANT_MAU,
PahawhHmong::ConsonantChau => CONSONANT_CHAU,
PahawhHmong::ConsonantNchau => CONSONANT_NCHAU,
PahawhHmong::ConsonantHnau => CONSONANT_HNAU,
PahawhHmong::ConsonantPlhau => CONSONANT_PLHAU,
PahawhHmong::ConsonantNthau => CONSONANT_NTHAU,
PahawhHmong::ConsonantNau => CONSONANT_NAU,
PahawhHmong::ConsonantAu => CONSONANT_AU,
PahawhHmong::ConsonantXau => CONSONANT_XAU,
PahawhHmong::ConsonantCau => CONSONANT_CAU,
PahawhHmong::MarkCimTub => MARK_CIM_TUB,
PahawhHmong::MarkCimSo => MARK_CIM_SO,
PahawhHmong::MarkCimKes => MARK_CIM_KES,
PahawhHmong::MarkCimKhav => MARK_CIM_KHAV,
PahawhHmong::MarkCimSuam => MARK_CIM_SUAM,
PahawhHmong::MarkCimHom => MARK_CIM_HOM,
PahawhHmong::MarkCimTaum => MARK_CIM_TAUM,
PahawhHmong::SignVosThom => SIGN_VOS_THOM,
PahawhHmong::SignVosTshabCeeb => SIGN_VOS_TSHAB_CEEB,
PahawhHmong::SignCimCheem => SIGN_CIM_CHEEM,
PahawhHmong::SignVosThiab => SIGN_VOS_THIAB,
PahawhHmong::SignVosFeem => SIGN_VOS_FEEM,
PahawhHmong::SignXyeemNtxiv => SIGN_XYEEM_NTXIV,
PahawhHmong::SignXyeemRho => SIGN_XYEEM_RHO,
PahawhHmong::SignXyeemTov => SIGN_XYEEM_TOV,
PahawhHmong::SignXyeemFaib => SIGN_XYEEM_FAIB,
PahawhHmong::SignVosSeev => SIGN_VOS_SEEV,
PahawhHmong::SignMeejSuab => SIGN_MEEJ_SUAB,
PahawhHmong::SignVosNrua => SIGN_VOS_NRUA,
PahawhHmong::SignIbYam => SIGN_IB_YAM,
PahawhHmong::SignXaus => SIGN_XAUS,
PahawhHmong::SignCimTsovRog => SIGN_CIM_TSOV_ROG,
PahawhHmong::DigitZero => DIGIT_ZERO,
PahawhHmong::DigitOne => DIGIT_ONE,
PahawhHmong::DigitTwo => DIGIT_TWO,
PahawhHmong::DigitThree => DIGIT_THREE,
PahawhHmong::DigitFour => DIGIT_FOUR,
PahawhHmong::DigitFive => DIGIT_FIVE,
PahawhHmong::DigitSix => DIGIT_SIX,
PahawhHmong::DigitSeven => DIGIT_SEVEN,
PahawhHmong::DigitEight => DIGIT_EIGHT,
PahawhHmong::DigitNine => DIGIT_NINE,
PahawhHmong::NumberTens => NUMBER_TENS,
PahawhHmong::NumberHundreds => NUMBER_HUNDREDS,
PahawhHmong::NumberTenThousands => NUMBER_TEN_THOUSANDS,
PahawhHmong::NumberMillions => NUMBER_MILLIONS,
PahawhHmong::NumberHundredMillions => NUMBER_HUNDRED_MILLIONS,
PahawhHmong::NumberTenBillions => NUMBER_TEN_BILLIONS,
PahawhHmong::NumberTrillions => NUMBER_TRILLIONS,
PahawhHmong::SignVosLub => SIGN_VOS_LUB,
PahawhHmong::SignXyoo => SIGN_XYOO,
PahawhHmong::SignHli => SIGN_HLI,
PahawhHmong::SignThirdDashStageHli => SIGN_THIRD_DASH_STAGE_HLI,
PahawhHmong::SignZwjThaj => SIGN_ZWJ_THAJ,
PahawhHmong::SignHnub => SIGN_HNUB,
PahawhHmong::SignNqig => SIGN_NQIG,
PahawhHmong::SignXiab => SIGN_XIAB,
PahawhHmong::SignNtuj => SIGN_NTUJ,
PahawhHmong::SignAv => SIGN_AV,
PahawhHmong::SignTxheejCeev => SIGN_TXHEEJ_CEEV,
PahawhHmong::SignMeejTseeb => SIGN_MEEJ_TSEEB,
PahawhHmong::SignTau => SIGN_TAU,
PahawhHmong::SignLos => SIGN_LOS,
PahawhHmong::SignMus => SIGN_MUS,
PahawhHmong::SignCimHaisLusNtogNtog => SIGN_CIM_HAIS_LUS_NTOG_NTOG,
PahawhHmong::SignCimCuamTshooj => SIGN_CIM_CUAM_TSHOOJ,
PahawhHmong::SignCimTxwv => SIGN_CIM_TXWV,
PahawhHmong::SignCimTxwvChwv => SIGN_CIM_TXWV_CHWV,
PahawhHmong::SignCimPubDawb => SIGN_CIM_PUB_DAWB,
PahawhHmong::SignCimNresTos => SIGN_CIM_NRES_TOS,
PahawhHmong::ClanSignTsheej => CLAN_SIGN_TSHEEJ,
PahawhHmong::ClanSignYeeg => CLAN_SIGN_YEEG,
PahawhHmong::ClanSignLis => CLAN_SIGN_LIS,
PahawhHmong::ClanSignLauj => CLAN_SIGN_LAUJ,
PahawhHmong::ClanSignXyooj => CLAN_SIGN_XYOOJ,
PahawhHmong::ClanSignKoo => CLAN_SIGN_KOO,
PahawhHmong::ClanSignHawj => CLAN_SIGN_HAWJ,
PahawhHmong::ClanSignMuas => CLAN_SIGN_MUAS,
PahawhHmong::ClanSignThoj => CLAN_SIGN_THOJ,
PahawhHmong::ClanSignTsab => CLAN_SIGN_TSAB,
PahawhHmong::ClanSignPhab => CLAN_SIGN_PHAB,
PahawhHmong::ClanSignKhab => CLAN_SIGN_KHAB,
PahawhHmong::ClanSignHam => CLAN_SIGN_HAM,
PahawhHmong::ClanSignVaj => CLAN_SIGN_VAJ,
PahawhHmong::ClanSignFaj => CLAN_SIGN_FAJ,
PahawhHmong::ClanSignYaj => CLAN_SIGN_YAJ,
PahawhHmong::ClanSignTswb => CLAN_SIGN_TSWB,
PahawhHmong::ClanSignKwm => CLAN_SIGN_KWM,
}
}
}
impl std::convert::TryFrom<char> for PahawhHmong {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
VOWEL_KEEB => Ok(PahawhHmong::VowelKeeb),
VOWEL_KEEV => Ok(PahawhHmong::VowelKeev),
VOWEL_KIB => Ok(PahawhHmong::VowelKib),
VOWEL_KIV => Ok(PahawhHmong::VowelKiv),
VOWEL_KAUB => Ok(PahawhHmong::VowelKaub),
VOWEL_KAUV => Ok(PahawhHmong::VowelKauv),
VOWEL_KUB => Ok(PahawhHmong::VowelKub),
VOWEL_KUV => Ok(PahawhHmong::VowelKuv),
VOWEL_KEB => Ok(PahawhHmong::VowelKeb),
VOWEL_KEV => Ok(PahawhHmong::VowelKev),
VOWEL_KAIB => Ok(PahawhHmong::VowelKaib),
VOWEL_KAIV => Ok(PahawhHmong::VowelKaiv),
VOWEL_KOOB => Ok(PahawhHmong::VowelKoob),
VOWEL_KOOV => Ok(PahawhHmong::VowelKoov),
VOWEL_KAWB => Ok(PahawhHmong::VowelKawb),
VOWEL_KAWV => Ok(PahawhHmong::VowelKawv),
VOWEL_KUAB => Ok(PahawhHmong::VowelKuab),
VOWEL_KUAV => Ok(PahawhHmong::VowelKuav),
VOWEL_KOB => Ok(PahawhHmong::VowelKob),
VOWEL_KOV => Ok(PahawhHmong::VowelKov),
VOWEL_KIAB => Ok(PahawhHmong::VowelKiab),
VOWEL_KIAV => Ok(PahawhHmong::VowelKiav),
VOWEL_KAB => Ok(PahawhHmong::VowelKab),
VOWEL_KAV => Ok(PahawhHmong::VowelKav),
VOWEL_KWB => Ok(PahawhHmong::VowelKwb),
VOWEL_KWV => Ok(PahawhHmong::VowelKwv),
VOWEL_KAAB => Ok(PahawhHmong::VowelKaab),
VOWEL_KAAV => Ok(PahawhHmong::VowelKaav),
CONSONANT_VAU => Ok(PahawhHmong::ConsonantVau),
CONSONANT_NTSAU => Ok(PahawhHmong::ConsonantNtsau),
CONSONANT_LAU => Ok(PahawhHmong::ConsonantLau),
CONSONANT_HAU => Ok(PahawhHmong::ConsonantHau),
CONSONANT_NLAU => Ok(PahawhHmong::ConsonantNlau),
CONSONANT_RAU => Ok(PahawhHmong::ConsonantRau),
CONSONANT_NKAU => Ok(PahawhHmong::ConsonantNkau),
CONSONANT_QHAU => Ok(PahawhHmong::ConsonantQhau),
CONSONANT_YAU => Ok(PahawhHmong::ConsonantYau),
CONSONANT_HLAU => Ok(PahawhHmong::ConsonantHlau),
CONSONANT_MAU => Ok(PahawhHmong::ConsonantMau),
CONSONANT_CHAU => Ok(PahawhHmong::ConsonantChau),
CONSONANT_NCHAU => Ok(PahawhHmong::ConsonantNchau),
CONSONANT_HNAU => Ok(PahawhHmong::ConsonantHnau),
CONSONANT_PLHAU => Ok(PahawhHmong::ConsonantPlhau),
CONSONANT_NTHAU => Ok(PahawhHmong::ConsonantNthau),
CONSONANT_NAU => Ok(PahawhHmong::ConsonantNau),
CONSONANT_AU => Ok(PahawhHmong::ConsonantAu),
CONSONANT_XAU => Ok(PahawhHmong::ConsonantXau),
CONSONANT_CAU => Ok(PahawhHmong::ConsonantCau),
MARK_CIM_TUB => Ok(PahawhHmong::MarkCimTub),
MARK_CIM_SO => Ok(PahawhHmong::MarkCimSo),
MARK_CIM_KES => Ok(PahawhHmong::MarkCimKes),
MARK_CIM_KHAV => Ok(PahawhHmong::MarkCimKhav),
MARK_CIM_SUAM => Ok(PahawhHmong::MarkCimSuam),
MARK_CIM_HOM => Ok(PahawhHmong::MarkCimHom),
MARK_CIM_TAUM => Ok(PahawhHmong::MarkCimTaum),
SIGN_VOS_THOM => Ok(PahawhHmong::SignVosThom),
SIGN_VOS_TSHAB_CEEB => Ok(PahawhHmong::SignVosTshabCeeb),
SIGN_CIM_CHEEM => Ok(PahawhHmong::SignCimCheem),
SIGN_VOS_THIAB => Ok(PahawhHmong::SignVosThiab),
SIGN_VOS_FEEM => Ok(PahawhHmong::SignVosFeem),
SIGN_XYEEM_NTXIV => Ok(PahawhHmong::SignXyeemNtxiv),
SIGN_XYEEM_RHO => Ok(PahawhHmong::SignXyeemRho),
SIGN_XYEEM_TOV => Ok(PahawhHmong::SignXyeemTov),
SIGN_XYEEM_FAIB => Ok(PahawhHmong::SignXyeemFaib),
SIGN_VOS_SEEV => Ok(PahawhHmong::SignVosSeev),
SIGN_MEEJ_SUAB => Ok(PahawhHmong::SignMeejSuab),
SIGN_VOS_NRUA => Ok(PahawhHmong::SignVosNrua),
SIGN_IB_YAM => Ok(PahawhHmong::SignIbYam),
SIGN_XAUS => Ok(PahawhHmong::SignXaus),
SIGN_CIM_TSOV_ROG => Ok(PahawhHmong::SignCimTsovRog),
DIGIT_ZERO => Ok(PahawhHmong::DigitZero),
DIGIT_ONE => Ok(PahawhHmong::DigitOne),
DIGIT_TWO => Ok(PahawhHmong::DigitTwo),
DIGIT_THREE => Ok(PahawhHmong::DigitThree),
DIGIT_FOUR => Ok(PahawhHmong::DigitFour),
DIGIT_FIVE => Ok(PahawhHmong::DigitFive),
DIGIT_SIX => Ok(PahawhHmong::DigitSix),
DIGIT_SEVEN => Ok(PahawhHmong::DigitSeven),
DIGIT_EIGHT => Ok(PahawhHmong::DigitEight),
DIGIT_NINE => Ok(PahawhHmong::DigitNine),
NUMBER_TENS => Ok(PahawhHmong::NumberTens),
NUMBER_HUNDREDS => Ok(PahawhHmong::NumberHundreds),
NUMBER_TEN_THOUSANDS => Ok(PahawhHmong::NumberTenThousands),
NUMBER_MILLIONS => Ok(PahawhHmong::NumberMillions),
NUMBER_HUNDRED_MILLIONS => Ok(PahawhHmong::NumberHundredMillions),
NUMBER_TEN_BILLIONS => Ok(PahawhHmong::NumberTenBillions),
NUMBER_TRILLIONS => Ok(PahawhHmong::NumberTrillions),
SIGN_VOS_LUB => Ok(PahawhHmong::SignVosLub),
SIGN_XYOO => Ok(PahawhHmong::SignXyoo),
SIGN_HLI => Ok(PahawhHmong::SignHli),
SIGN_THIRD_DASH_STAGE_HLI => Ok(PahawhHmong::SignThirdDashStageHli),
SIGN_ZWJ_THAJ => Ok(PahawhHmong::SignZwjThaj),
SIGN_HNUB => Ok(PahawhHmong::SignHnub),
SIGN_NQIG => Ok(PahawhHmong::SignNqig),
SIGN_XIAB => Ok(PahawhHmong::SignXiab),
SIGN_NTUJ => Ok(PahawhHmong::SignNtuj),
SIGN_AV => Ok(PahawhHmong::SignAv),
SIGN_TXHEEJ_CEEV => Ok(PahawhHmong::SignTxheejCeev),
SIGN_MEEJ_TSEEB => Ok(PahawhHmong::SignMeejTseeb),
SIGN_TAU => Ok(PahawhHmong::SignTau),
SIGN_LOS => Ok(PahawhHmong::SignLos),
SIGN_MUS => Ok(PahawhHmong::SignMus),
SIGN_CIM_HAIS_LUS_NTOG_NTOG => Ok(PahawhHmong::SignCimHaisLusNtogNtog),
SIGN_CIM_CUAM_TSHOOJ => Ok(PahawhHmong::SignCimCuamTshooj),
SIGN_CIM_TXWV => Ok(PahawhHmong::SignCimTxwv),
SIGN_CIM_TXWV_CHWV => Ok(PahawhHmong::SignCimTxwvChwv),
SIGN_CIM_PUB_DAWB => Ok(PahawhHmong::SignCimPubDawb),
SIGN_CIM_NRES_TOS => Ok(PahawhHmong::SignCimNresTos),
CLAN_SIGN_TSHEEJ => Ok(PahawhHmong::ClanSignTsheej),
CLAN_SIGN_YEEG => Ok(PahawhHmong::ClanSignYeeg),
CLAN_SIGN_LIS => Ok(PahawhHmong::ClanSignLis),
CLAN_SIGN_LAUJ => Ok(PahawhHmong::ClanSignLauj),
CLAN_SIGN_XYOOJ => Ok(PahawhHmong::ClanSignXyooj),
CLAN_SIGN_KOO => Ok(PahawhHmong::ClanSignKoo),
CLAN_SIGN_HAWJ => Ok(PahawhHmong::ClanSignHawj),
CLAN_SIGN_MUAS => Ok(PahawhHmong::ClanSignMuas),
CLAN_SIGN_THOJ => Ok(PahawhHmong::ClanSignThoj),
CLAN_SIGN_TSAB => Ok(PahawhHmong::ClanSignTsab),
CLAN_SIGN_PHAB => Ok(PahawhHmong::ClanSignPhab),
CLAN_SIGN_KHAB => Ok(PahawhHmong::ClanSignKhab),
CLAN_SIGN_HAM => Ok(PahawhHmong::ClanSignHam),
CLAN_SIGN_VAJ => Ok(PahawhHmong::ClanSignVaj),
CLAN_SIGN_FAJ => Ok(PahawhHmong::ClanSignFaj),
CLAN_SIGN_YAJ => Ok(PahawhHmong::ClanSignYaj),
CLAN_SIGN_TSWB => Ok(PahawhHmong::ClanSignTswb),
CLAN_SIGN_KWM => Ok(PahawhHmong::ClanSignKwm),
_ => Err(()),
}
}
}
impl Into<u32> for PahawhHmong {
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 PahawhHmong {
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 PahawhHmong {
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 PahawhHmong {
pub fn new() -> Self {
PahawhHmong::VowelKeeb
}
pub fn name(&self) -> &str {
match self {
PahawhHmong::VowelKeeb => "pahawh hmong vowel keeb",
PahawhHmong::VowelKeev => "pahawh hmong vowel keev",
PahawhHmong::VowelKib => "pahawh hmong vowel kib",
PahawhHmong::VowelKiv => "pahawh hmong vowel kiv",
PahawhHmong::VowelKaub => "pahawh hmong vowel kaub",
PahawhHmong::VowelKauv => "pahawh hmong vowel kauv",
PahawhHmong::VowelKub => "pahawh hmong vowel kub",
PahawhHmong::VowelKuv => "pahawh hmong vowel kuv",
PahawhHmong::VowelKeb => "pahawh hmong vowel keb",
PahawhHmong::VowelKev => "pahawh hmong vowel kev",
PahawhHmong::VowelKaib => "pahawh hmong vowel kaib",
PahawhHmong::VowelKaiv => "pahawh hmong vowel kaiv",
PahawhHmong::VowelKoob => "pahawh hmong vowel koob",
PahawhHmong::VowelKoov => "pahawh hmong vowel koov",
PahawhHmong::VowelKawb => "pahawh hmong vowel kawb",
PahawhHmong::VowelKawv => "pahawh hmong vowel kawv",
PahawhHmong::VowelKuab => "pahawh hmong vowel kuab",
PahawhHmong::VowelKuav => "pahawh hmong vowel kuav",
PahawhHmong::VowelKob => "pahawh hmong vowel kob",
PahawhHmong::VowelKov => "pahawh hmong vowel kov",
PahawhHmong::VowelKiab => "pahawh hmong vowel kiab",
PahawhHmong::VowelKiav => "pahawh hmong vowel kiav",
PahawhHmong::VowelKab => "pahawh hmong vowel kab",
PahawhHmong::VowelKav => "pahawh hmong vowel kav",
PahawhHmong::VowelKwb => "pahawh hmong vowel kwb",
PahawhHmong::VowelKwv => "pahawh hmong vowel kwv",
PahawhHmong::VowelKaab => "pahawh hmong vowel kaab",
PahawhHmong::VowelKaav => "pahawh hmong vowel kaav",
PahawhHmong::ConsonantVau => "pahawh hmong consonant vau",
PahawhHmong::ConsonantNtsau => "pahawh hmong consonant ntsau",
PahawhHmong::ConsonantLau => "pahawh hmong consonant lau",
PahawhHmong::ConsonantHau => "pahawh hmong consonant hau",
PahawhHmong::ConsonantNlau => "pahawh hmong consonant nlau",
PahawhHmong::ConsonantRau => "pahawh hmong consonant rau",
PahawhHmong::ConsonantNkau => "pahawh hmong consonant nkau",
PahawhHmong::ConsonantQhau => "pahawh hmong consonant qhau",
PahawhHmong::ConsonantYau => "pahawh hmong consonant yau",
PahawhHmong::ConsonantHlau => "pahawh hmong consonant hlau",
PahawhHmong::ConsonantMau => "pahawh hmong consonant mau",
PahawhHmong::ConsonantChau => "pahawh hmong consonant chau",
PahawhHmong::ConsonantNchau => "pahawh hmong consonant nchau",
PahawhHmong::ConsonantHnau => "pahawh hmong consonant hnau",
PahawhHmong::ConsonantPlhau => "pahawh hmong consonant plhau",
PahawhHmong::ConsonantNthau => "pahawh hmong consonant nthau",
PahawhHmong::ConsonantNau => "pahawh hmong consonant nau",
PahawhHmong::ConsonantAu => "pahawh hmong consonant au",
PahawhHmong::ConsonantXau => "pahawh hmong consonant xau",
PahawhHmong::ConsonantCau => "pahawh hmong consonant cau",
PahawhHmong::MarkCimTub => "pahawh hmong mark cim tub",
PahawhHmong::MarkCimSo => "pahawh hmong mark cim so",
PahawhHmong::MarkCimKes => "pahawh hmong mark cim kes",
PahawhHmong::MarkCimKhav => "pahawh hmong mark cim khav",
PahawhHmong::MarkCimSuam => "pahawh hmong mark cim suam",
PahawhHmong::MarkCimHom => "pahawh hmong mark cim hom",
PahawhHmong::MarkCimTaum => "pahawh hmong mark cim taum",
PahawhHmong::SignVosThom => "pahawh hmong sign vos thom",
PahawhHmong::SignVosTshabCeeb => "pahawh hmong sign vos tshab ceeb",
PahawhHmong::SignCimCheem => "pahawh hmong sign cim cheem",
PahawhHmong::SignVosThiab => "pahawh hmong sign vos thiab",
PahawhHmong::SignVosFeem => "pahawh hmong sign vos feem",
PahawhHmong::SignXyeemNtxiv => "pahawh hmong sign xyeem ntxiv",
PahawhHmong::SignXyeemRho => "pahawh hmong sign xyeem rho",
PahawhHmong::SignXyeemTov => "pahawh hmong sign xyeem tov",
PahawhHmong::SignXyeemFaib => "pahawh hmong sign xyeem faib",
PahawhHmong::SignVosSeev => "pahawh hmong sign vos seev",
PahawhHmong::SignMeejSuab => "pahawh hmong sign meej suab",
PahawhHmong::SignVosNrua => "pahawh hmong sign vos nrua",
PahawhHmong::SignIbYam => "pahawh hmong sign ib yam",
PahawhHmong::SignXaus => "pahawh hmong sign xaus",
PahawhHmong::SignCimTsovRog => "pahawh hmong sign cim tsov rog",
PahawhHmong::DigitZero => "pahawh hmong digit zero",
PahawhHmong::DigitOne => "pahawh hmong digit one",
PahawhHmong::DigitTwo => "pahawh hmong digit two",
PahawhHmong::DigitThree => "pahawh hmong digit three",
PahawhHmong::DigitFour => "pahawh hmong digit four",
PahawhHmong::DigitFive => "pahawh hmong digit five",
PahawhHmong::DigitSix => "pahawh hmong digit six",
PahawhHmong::DigitSeven => "pahawh hmong digit seven",
PahawhHmong::DigitEight => "pahawh hmong digit eight",
PahawhHmong::DigitNine => "pahawh hmong digit nine",
PahawhHmong::NumberTens => "pahawh hmong number tens",
PahawhHmong::NumberHundreds => "pahawh hmong number hundreds",
PahawhHmong::NumberTenThousands => "pahawh hmong number ten thousands",
PahawhHmong::NumberMillions => "pahawh hmong number millions",
PahawhHmong::NumberHundredMillions => "pahawh hmong number hundred millions",
PahawhHmong::NumberTenBillions => "pahawh hmong number ten billions",
PahawhHmong::NumberTrillions => "pahawh hmong number trillions",
PahawhHmong::SignVosLub => "pahawh hmong sign vos lub",
PahawhHmong::SignXyoo => "pahawh hmong sign xyoo",
PahawhHmong::SignHli => "pahawh hmong sign hli",
PahawhHmong::SignThirdDashStageHli => "pahawh hmong sign third-stage hli",
PahawhHmong::SignZwjThaj => "pahawh hmong sign zwj thaj",
PahawhHmong::SignHnub => "pahawh hmong sign hnub",
PahawhHmong::SignNqig => "pahawh hmong sign nqig",
PahawhHmong::SignXiab => "pahawh hmong sign xiab",
PahawhHmong::SignNtuj => "pahawh hmong sign ntuj",
PahawhHmong::SignAv => "pahawh hmong sign av",
PahawhHmong::SignTxheejCeev => "pahawh hmong sign txheej ceev",
PahawhHmong::SignMeejTseeb => "pahawh hmong sign meej tseeb",
PahawhHmong::SignTau => "pahawh hmong sign tau",
PahawhHmong::SignLos => "pahawh hmong sign los",
PahawhHmong::SignMus => "pahawh hmong sign mus",
PahawhHmong::SignCimHaisLusNtogNtog => "pahawh hmong sign cim hais lus ntog ntog",
PahawhHmong::SignCimCuamTshooj => "pahawh hmong sign cim cuam tshooj",
PahawhHmong::SignCimTxwv => "pahawh hmong sign cim txwv",
PahawhHmong::SignCimTxwvChwv => "pahawh hmong sign cim txwv chwv",
PahawhHmong::SignCimPubDawb => "pahawh hmong sign cim pub dawb",
PahawhHmong::SignCimNresTos => "pahawh hmong sign cim nres tos",
PahawhHmong::ClanSignTsheej => "pahawh hmong clan sign tsheej",
PahawhHmong::ClanSignYeeg => "pahawh hmong clan sign yeeg",
PahawhHmong::ClanSignLis => "pahawh hmong clan sign lis",
PahawhHmong::ClanSignLauj => "pahawh hmong clan sign lauj",
PahawhHmong::ClanSignXyooj => "pahawh hmong clan sign xyooj",
PahawhHmong::ClanSignKoo => "pahawh hmong clan sign koo",
PahawhHmong::ClanSignHawj => "pahawh hmong clan sign hawj",
PahawhHmong::ClanSignMuas => "pahawh hmong clan sign muas",
PahawhHmong::ClanSignThoj => "pahawh hmong clan sign thoj",
PahawhHmong::ClanSignTsab => "pahawh hmong clan sign tsab",
PahawhHmong::ClanSignPhab => "pahawh hmong clan sign phab",
PahawhHmong::ClanSignKhab => "pahawh hmong clan sign khab",
PahawhHmong::ClanSignHam => "pahawh hmong clan sign ham",
PahawhHmong::ClanSignVaj => "pahawh hmong clan sign vaj",
PahawhHmong::ClanSignFaj => "pahawh hmong clan sign faj",
PahawhHmong::ClanSignYaj => "pahawh hmong clan sign yaj",
PahawhHmong::ClanSignTswb => "pahawh hmong clan sign tswb",
PahawhHmong::ClanSignKwm => "pahawh hmong clan sign kwm",
}
}
}