#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum EnclosedAlphanumerics {
CircledDigitOne,
CircledDigitTwo,
CircledDigitThree,
CircledDigitFour,
CircledDigitFive,
CircledDigitSix,
CircledDigitSeven,
CircledDigitEight,
CircledDigitNine,
CircledNumberTen,
CircledNumberEleven,
CircledNumberTwelve,
CircledNumberThirteen,
CircledNumberFourteen,
CircledNumberFifteen,
CircledNumberSixteen,
CircledNumberSeventeen,
CircledNumberEighteen,
CircledNumberNineteen,
CircledNumberTwenty,
ParenthesizedDigitOne,
ParenthesizedDigitTwo,
ParenthesizedDigitThree,
ParenthesizedDigitFour,
ParenthesizedDigitFive,
ParenthesizedDigitSix,
ParenthesizedDigitSeven,
ParenthesizedDigitEight,
ParenthesizedDigitNine,
ParenthesizedNumberTen,
ParenthesizedNumberEleven,
ParenthesizedNumberTwelve,
ParenthesizedNumberThirteen,
ParenthesizedNumberFourteen,
ParenthesizedNumberFifteen,
ParenthesizedNumberSixteen,
ParenthesizedNumberSeventeen,
ParenthesizedNumberEighteen,
ParenthesizedNumberNineteen,
ParenthesizedNumberTwenty,
DigitOneFullStop,
DigitTwoFullStop,
DigitThreeFullStop,
DigitFourFullStop,
DigitFiveFullStop,
DigitSixFullStop,
DigitSevenFullStop,
DigitEightFullStop,
DigitNineFullStop,
NumberTenFullStop,
NumberElevenFullStop,
NumberTwelveFullStop,
NumberThirteenFullStop,
NumberFourteenFullStop,
NumberFifteenFullStop,
NumberSixteenFullStop,
NumberSeventeenFullStop,
NumberEighteenFullStop,
NumberNineteenFullStop,
NumberTwentyFullStop,
ParenthesizedLatinSmallLetterA,
ParenthesizedLatinSmallLetterB,
ParenthesizedLatinSmallLetterC,
ParenthesizedLatinSmallLetterD,
ParenthesizedLatinSmallLetterE,
ParenthesizedLatinSmallLetterF,
ParenthesizedLatinSmallLetterG,
ParenthesizedLatinSmallLetterH,
ParenthesizedLatinSmallLetterI,
ParenthesizedLatinSmallLetterJ,
ParenthesizedLatinSmallLetterK,
ParenthesizedLatinSmallLetterL,
ParenthesizedLatinSmallLetterM,
ParenthesizedLatinSmallLetterN,
ParenthesizedLatinSmallLetterO,
ParenthesizedLatinSmallLetterP,
ParenthesizedLatinSmallLetterQ,
ParenthesizedLatinSmallLetterR,
ParenthesizedLatinSmallLetterS,
ParenthesizedLatinSmallLetterT,
ParenthesizedLatinSmallLetterU,
ParenthesizedLatinSmallLetterV,
ParenthesizedLatinSmallLetterW,
ParenthesizedLatinSmallLetterX,
ParenthesizedLatinSmallLetterY,
ParenthesizedLatinSmallLetterZ,
CircledLatinCapitalLetterA,
CircledLatinCapitalLetterB,
CircledLatinCapitalLetterC,
CircledLatinCapitalLetterD,
CircledLatinCapitalLetterE,
CircledLatinCapitalLetterF,
CircledLatinCapitalLetterG,
CircledLatinCapitalLetterH,
CircledLatinCapitalLetterI,
CircledLatinCapitalLetterJ,
CircledLatinCapitalLetterK,
CircledLatinCapitalLetterL,
CircledLatinCapitalLetterM,
CircledLatinCapitalLetterN,
CircledLatinCapitalLetterO,
CircledLatinCapitalLetterP,
CircledLatinCapitalLetterQ,
CircledLatinCapitalLetterR,
CircledLatinCapitalLetterS,
CircledLatinCapitalLetterT,
CircledLatinCapitalLetterU,
CircledLatinCapitalLetterV,
CircledLatinCapitalLetterW,
CircledLatinCapitalLetterX,
CircledLatinCapitalLetterY,
CircledLatinCapitalLetterZ,
CircledLatinSmallLetterA,
CircledLatinSmallLetterB,
CircledLatinSmallLetterC,
CircledLatinSmallLetterD,
CircledLatinSmallLetterE,
CircledLatinSmallLetterF,
CircledLatinSmallLetterG,
CircledLatinSmallLetterH,
CircledLatinSmallLetterI,
CircledLatinSmallLetterJ,
CircledLatinSmallLetterK,
CircledLatinSmallLetterL,
CircledLatinSmallLetterM,
CircledLatinSmallLetterN,
CircledLatinSmallLetterO,
CircledLatinSmallLetterP,
CircledLatinSmallLetterQ,
CircledLatinSmallLetterR,
CircledLatinSmallLetterS,
CircledLatinSmallLetterT,
CircledLatinSmallLetterU,
CircledLatinSmallLetterV,
CircledLatinSmallLetterW,
CircledLatinSmallLetterX,
CircledLatinSmallLetterY,
CircledLatinSmallLetterZ,
CircledDigitZero,
NegativeCircledNumberEleven,
NegativeCircledNumberTwelve,
NegativeCircledNumberThirteen,
NegativeCircledNumberFourteen,
NegativeCircledNumberFifteen,
NegativeCircledNumberSixteen,
NegativeCircledNumberSeventeen,
NegativeCircledNumberEighteen,
NegativeCircledNumberNineteen,
NegativeCircledNumberTwenty,
DoubleCircledDigitOne,
DoubleCircledDigitTwo,
DoubleCircledDigitThree,
DoubleCircledDigitFour,
DoubleCircledDigitFive,
DoubleCircledDigitSix,
DoubleCircledDigitSeven,
DoubleCircledDigitEight,
DoubleCircledDigitNine,
DoubleCircledNumberTen,
}
impl Into<char> for EnclosedAlphanumerics {
fn into(self) -> char {
match self {
EnclosedAlphanumerics::CircledDigitOne => '①',
EnclosedAlphanumerics::CircledDigitTwo => '②',
EnclosedAlphanumerics::CircledDigitThree => '③',
EnclosedAlphanumerics::CircledDigitFour => '④',
EnclosedAlphanumerics::CircledDigitFive => '⑤',
EnclosedAlphanumerics::CircledDigitSix => '⑥',
EnclosedAlphanumerics::CircledDigitSeven => '⑦',
EnclosedAlphanumerics::CircledDigitEight => '⑧',
EnclosedAlphanumerics::CircledDigitNine => '⑨',
EnclosedAlphanumerics::CircledNumberTen => '⑩',
EnclosedAlphanumerics::CircledNumberEleven => '⑪',
EnclosedAlphanumerics::CircledNumberTwelve => '⑫',
EnclosedAlphanumerics::CircledNumberThirteen => '⑬',
EnclosedAlphanumerics::CircledNumberFourteen => '⑭',
EnclosedAlphanumerics::CircledNumberFifteen => '⑮',
EnclosedAlphanumerics::CircledNumberSixteen => '⑯',
EnclosedAlphanumerics::CircledNumberSeventeen => '⑰',
EnclosedAlphanumerics::CircledNumberEighteen => '⑱',
EnclosedAlphanumerics::CircledNumberNineteen => '⑲',
EnclosedAlphanumerics::CircledNumberTwenty => '⑳',
EnclosedAlphanumerics::ParenthesizedDigitOne => '⑴',
EnclosedAlphanumerics::ParenthesizedDigitTwo => '⑵',
EnclosedAlphanumerics::ParenthesizedDigitThree => '⑶',
EnclosedAlphanumerics::ParenthesizedDigitFour => '⑷',
EnclosedAlphanumerics::ParenthesizedDigitFive => '⑸',
EnclosedAlphanumerics::ParenthesizedDigitSix => '⑹',
EnclosedAlphanumerics::ParenthesizedDigitSeven => '⑺',
EnclosedAlphanumerics::ParenthesizedDigitEight => '⑻',
EnclosedAlphanumerics::ParenthesizedDigitNine => '⑼',
EnclosedAlphanumerics::ParenthesizedNumberTen => '⑽',
EnclosedAlphanumerics::ParenthesizedNumberEleven => '⑾',
EnclosedAlphanumerics::ParenthesizedNumberTwelve => '⑿',
EnclosedAlphanumerics::ParenthesizedNumberThirteen => '⒀',
EnclosedAlphanumerics::ParenthesizedNumberFourteen => '⒁',
EnclosedAlphanumerics::ParenthesizedNumberFifteen => '⒂',
EnclosedAlphanumerics::ParenthesizedNumberSixteen => '⒃',
EnclosedAlphanumerics::ParenthesizedNumberSeventeen => '⒄',
EnclosedAlphanumerics::ParenthesizedNumberEighteen => '⒅',
EnclosedAlphanumerics::ParenthesizedNumberNineteen => '⒆',
EnclosedAlphanumerics::ParenthesizedNumberTwenty => '⒇',
EnclosedAlphanumerics::DigitOneFullStop => '⒈',
EnclosedAlphanumerics::DigitTwoFullStop => '⒉',
EnclosedAlphanumerics::DigitThreeFullStop => '⒊',
EnclosedAlphanumerics::DigitFourFullStop => '⒋',
EnclosedAlphanumerics::DigitFiveFullStop => '⒌',
EnclosedAlphanumerics::DigitSixFullStop => '⒍',
EnclosedAlphanumerics::DigitSevenFullStop => '⒎',
EnclosedAlphanumerics::DigitEightFullStop => '⒏',
EnclosedAlphanumerics::DigitNineFullStop => '⒐',
EnclosedAlphanumerics::NumberTenFullStop => '⒑',
EnclosedAlphanumerics::NumberElevenFullStop => '⒒',
EnclosedAlphanumerics::NumberTwelveFullStop => '⒓',
EnclosedAlphanumerics::NumberThirteenFullStop => '⒔',
EnclosedAlphanumerics::NumberFourteenFullStop => '⒕',
EnclosedAlphanumerics::NumberFifteenFullStop => '⒖',
EnclosedAlphanumerics::NumberSixteenFullStop => '⒗',
EnclosedAlphanumerics::NumberSeventeenFullStop => '⒘',
EnclosedAlphanumerics::NumberEighteenFullStop => '⒙',
EnclosedAlphanumerics::NumberNineteenFullStop => '⒚',
EnclosedAlphanumerics::NumberTwentyFullStop => '⒛',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterA => '⒜',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterB => '⒝',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterC => '⒞',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterD => '⒟',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterE => '⒠',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterF => '⒡',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterG => '⒢',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterH => '⒣',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterI => '⒤',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterJ => '⒥',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterK => '⒦',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterL => '⒧',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterM => '⒨',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterN => '⒩',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterO => '⒪',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterP => '⒫',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterQ => '⒬',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterR => '⒭',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterS => '⒮',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterT => '⒯',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterU => '⒰',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterV => '⒱',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterW => '⒲',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterX => '⒳',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterY => '⒴',
EnclosedAlphanumerics::ParenthesizedLatinSmallLetterZ => '⒵',
EnclosedAlphanumerics::CircledLatinCapitalLetterA => 'Ⓐ',
EnclosedAlphanumerics::CircledLatinCapitalLetterB => 'Ⓑ',
EnclosedAlphanumerics::CircledLatinCapitalLetterC => 'Ⓒ',
EnclosedAlphanumerics::CircledLatinCapitalLetterD => 'Ⓓ',
EnclosedAlphanumerics::CircledLatinCapitalLetterE => 'Ⓔ',
EnclosedAlphanumerics::CircledLatinCapitalLetterF => 'Ⓕ',
EnclosedAlphanumerics::CircledLatinCapitalLetterG => 'Ⓖ',
EnclosedAlphanumerics::CircledLatinCapitalLetterH => 'Ⓗ',
EnclosedAlphanumerics::CircledLatinCapitalLetterI => 'Ⓘ',
EnclosedAlphanumerics::CircledLatinCapitalLetterJ => 'Ⓙ',
EnclosedAlphanumerics::CircledLatinCapitalLetterK => 'Ⓚ',
EnclosedAlphanumerics::CircledLatinCapitalLetterL => 'Ⓛ',
EnclosedAlphanumerics::CircledLatinCapitalLetterM => 'Ⓜ',
EnclosedAlphanumerics::CircledLatinCapitalLetterN => 'Ⓝ',
EnclosedAlphanumerics::CircledLatinCapitalLetterO => 'Ⓞ',
EnclosedAlphanumerics::CircledLatinCapitalLetterP => 'Ⓟ',
EnclosedAlphanumerics::CircledLatinCapitalLetterQ => 'Ⓠ',
EnclosedAlphanumerics::CircledLatinCapitalLetterR => 'Ⓡ',
EnclosedAlphanumerics::CircledLatinCapitalLetterS => 'Ⓢ',
EnclosedAlphanumerics::CircledLatinCapitalLetterT => 'Ⓣ',
EnclosedAlphanumerics::CircledLatinCapitalLetterU => 'Ⓤ',
EnclosedAlphanumerics::CircledLatinCapitalLetterV => 'Ⓥ',
EnclosedAlphanumerics::CircledLatinCapitalLetterW => 'Ⓦ',
EnclosedAlphanumerics::CircledLatinCapitalLetterX => 'Ⓧ',
EnclosedAlphanumerics::CircledLatinCapitalLetterY => 'Ⓨ',
EnclosedAlphanumerics::CircledLatinCapitalLetterZ => 'Ⓩ',
EnclosedAlphanumerics::CircledLatinSmallLetterA => 'ⓐ',
EnclosedAlphanumerics::CircledLatinSmallLetterB => 'ⓑ',
EnclosedAlphanumerics::CircledLatinSmallLetterC => 'ⓒ',
EnclosedAlphanumerics::CircledLatinSmallLetterD => 'ⓓ',
EnclosedAlphanumerics::CircledLatinSmallLetterE => 'ⓔ',
EnclosedAlphanumerics::CircledLatinSmallLetterF => 'ⓕ',
EnclosedAlphanumerics::CircledLatinSmallLetterG => 'ⓖ',
EnclosedAlphanumerics::CircledLatinSmallLetterH => 'ⓗ',
EnclosedAlphanumerics::CircledLatinSmallLetterI => 'ⓘ',
EnclosedAlphanumerics::CircledLatinSmallLetterJ => 'ⓙ',
EnclosedAlphanumerics::CircledLatinSmallLetterK => 'ⓚ',
EnclosedAlphanumerics::CircledLatinSmallLetterL => 'ⓛ',
EnclosedAlphanumerics::CircledLatinSmallLetterM => 'ⓜ',
EnclosedAlphanumerics::CircledLatinSmallLetterN => 'ⓝ',
EnclosedAlphanumerics::CircledLatinSmallLetterO => 'ⓞ',
EnclosedAlphanumerics::CircledLatinSmallLetterP => 'ⓟ',
EnclosedAlphanumerics::CircledLatinSmallLetterQ => 'ⓠ',
EnclosedAlphanumerics::CircledLatinSmallLetterR => 'ⓡ',
EnclosedAlphanumerics::CircledLatinSmallLetterS => 'ⓢ',
EnclosedAlphanumerics::CircledLatinSmallLetterT => 'ⓣ',
EnclosedAlphanumerics::CircledLatinSmallLetterU => 'ⓤ',
EnclosedAlphanumerics::CircledLatinSmallLetterV => 'ⓥ',
EnclosedAlphanumerics::CircledLatinSmallLetterW => 'ⓦ',
EnclosedAlphanumerics::CircledLatinSmallLetterX => 'ⓧ',
EnclosedAlphanumerics::CircledLatinSmallLetterY => 'ⓨ',
EnclosedAlphanumerics::CircledLatinSmallLetterZ => 'ⓩ',
EnclosedAlphanumerics::CircledDigitZero => '⓪',
EnclosedAlphanumerics::NegativeCircledNumberEleven => '⓫',
EnclosedAlphanumerics::NegativeCircledNumberTwelve => '⓬',
EnclosedAlphanumerics::NegativeCircledNumberThirteen => '⓭',
EnclosedAlphanumerics::NegativeCircledNumberFourteen => '⓮',
EnclosedAlphanumerics::NegativeCircledNumberFifteen => '⓯',
EnclosedAlphanumerics::NegativeCircledNumberSixteen => '⓰',
EnclosedAlphanumerics::NegativeCircledNumberSeventeen => '⓱',
EnclosedAlphanumerics::NegativeCircledNumberEighteen => '⓲',
EnclosedAlphanumerics::NegativeCircledNumberNineteen => '⓳',
EnclosedAlphanumerics::NegativeCircledNumberTwenty => '⓴',
EnclosedAlphanumerics::DoubleCircledDigitOne => '⓵',
EnclosedAlphanumerics::DoubleCircledDigitTwo => '⓶',
EnclosedAlphanumerics::DoubleCircledDigitThree => '⓷',
EnclosedAlphanumerics::DoubleCircledDigitFour => '⓸',
EnclosedAlphanumerics::DoubleCircledDigitFive => '⓹',
EnclosedAlphanumerics::DoubleCircledDigitSix => '⓺',
EnclosedAlphanumerics::DoubleCircledDigitSeven => '⓻',
EnclosedAlphanumerics::DoubleCircledDigitEight => '⓼',
EnclosedAlphanumerics::DoubleCircledDigitNine => '⓽',
EnclosedAlphanumerics::DoubleCircledNumberTen => '⓾',
}
}
}
impl std::convert::TryFrom<char> for EnclosedAlphanumerics {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'①' => Ok(EnclosedAlphanumerics::CircledDigitOne),
'②' => Ok(EnclosedAlphanumerics::CircledDigitTwo),
'③' => Ok(EnclosedAlphanumerics::CircledDigitThree),
'④' => Ok(EnclosedAlphanumerics::CircledDigitFour),
'⑤' => Ok(EnclosedAlphanumerics::CircledDigitFive),
'⑥' => Ok(EnclosedAlphanumerics::CircledDigitSix),
'⑦' => Ok(EnclosedAlphanumerics::CircledDigitSeven),
'⑧' => Ok(EnclosedAlphanumerics::CircledDigitEight),
'⑨' => Ok(EnclosedAlphanumerics::CircledDigitNine),
'⑩' => Ok(EnclosedAlphanumerics::CircledNumberTen),
'⑪' => Ok(EnclosedAlphanumerics::CircledNumberEleven),
'⑫' => Ok(EnclosedAlphanumerics::CircledNumberTwelve),
'⑬' => Ok(EnclosedAlphanumerics::CircledNumberThirteen),
'⑭' => Ok(EnclosedAlphanumerics::CircledNumberFourteen),
'⑮' => Ok(EnclosedAlphanumerics::CircledNumberFifteen),
'⑯' => Ok(EnclosedAlphanumerics::CircledNumberSixteen),
'⑰' => Ok(EnclosedAlphanumerics::CircledNumberSeventeen),
'⑱' => Ok(EnclosedAlphanumerics::CircledNumberEighteen),
'⑲' => Ok(EnclosedAlphanumerics::CircledNumberNineteen),
'⑳' => Ok(EnclosedAlphanumerics::CircledNumberTwenty),
'⑴' => Ok(EnclosedAlphanumerics::ParenthesizedDigitOne),
'⑵' => Ok(EnclosedAlphanumerics::ParenthesizedDigitTwo),
'⑶' => Ok(EnclosedAlphanumerics::ParenthesizedDigitThree),
'⑷' => Ok(EnclosedAlphanumerics::ParenthesizedDigitFour),
'⑸' => Ok(EnclosedAlphanumerics::ParenthesizedDigitFive),
'⑹' => Ok(EnclosedAlphanumerics::ParenthesizedDigitSix),
'⑺' => Ok(EnclosedAlphanumerics::ParenthesizedDigitSeven),
'⑻' => Ok(EnclosedAlphanumerics::ParenthesizedDigitEight),
'⑼' => Ok(EnclosedAlphanumerics::ParenthesizedDigitNine),
'⑽' => Ok(EnclosedAlphanumerics::ParenthesizedNumberTen),
'⑾' => Ok(EnclosedAlphanumerics::ParenthesizedNumberEleven),
'⑿' => Ok(EnclosedAlphanumerics::ParenthesizedNumberTwelve),
'⒀' => Ok(EnclosedAlphanumerics::ParenthesizedNumberThirteen),
'⒁' => Ok(EnclosedAlphanumerics::ParenthesizedNumberFourteen),
'⒂' => Ok(EnclosedAlphanumerics::ParenthesizedNumberFifteen),
'⒃' => Ok(EnclosedAlphanumerics::ParenthesizedNumberSixteen),
'⒄' => Ok(EnclosedAlphanumerics::ParenthesizedNumberSeventeen),
'⒅' => Ok(EnclosedAlphanumerics::ParenthesizedNumberEighteen),
'⒆' => Ok(EnclosedAlphanumerics::ParenthesizedNumberNineteen),
'⒇' => Ok(EnclosedAlphanumerics::ParenthesizedNumberTwenty),
'⒈' => Ok(EnclosedAlphanumerics::DigitOneFullStop),
'⒉' => Ok(EnclosedAlphanumerics::DigitTwoFullStop),
'⒊' => Ok(EnclosedAlphanumerics::DigitThreeFullStop),
'⒋' => Ok(EnclosedAlphanumerics::DigitFourFullStop),
'⒌' => Ok(EnclosedAlphanumerics::DigitFiveFullStop),
'⒍' => Ok(EnclosedAlphanumerics::DigitSixFullStop),
'⒎' => Ok(EnclosedAlphanumerics::DigitSevenFullStop),
'⒏' => Ok(EnclosedAlphanumerics::DigitEightFullStop),
'⒐' => Ok(EnclosedAlphanumerics::DigitNineFullStop),
'⒑' => Ok(EnclosedAlphanumerics::NumberTenFullStop),
'⒒' => Ok(EnclosedAlphanumerics::NumberElevenFullStop),
'⒓' => Ok(EnclosedAlphanumerics::NumberTwelveFullStop),
'⒔' => Ok(EnclosedAlphanumerics::NumberThirteenFullStop),
'⒕' => Ok(EnclosedAlphanumerics::NumberFourteenFullStop),
'⒖' => Ok(EnclosedAlphanumerics::NumberFifteenFullStop),
'⒗' => Ok(EnclosedAlphanumerics::NumberSixteenFullStop),
'⒘' => Ok(EnclosedAlphanumerics::NumberSeventeenFullStop),
'⒙' => Ok(EnclosedAlphanumerics::NumberEighteenFullStop),
'⒚' => Ok(EnclosedAlphanumerics::NumberNineteenFullStop),
'⒛' => Ok(EnclosedAlphanumerics::NumberTwentyFullStop),
'⒜' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterA),
'⒝' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterB),
'⒞' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterC),
'⒟' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterD),
'⒠' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterE),
'⒡' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterF),
'⒢' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterG),
'⒣' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterH),
'⒤' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterI),
'⒥' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterJ),
'⒦' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterK),
'⒧' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterL),
'⒨' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterM),
'⒩' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterN),
'⒪' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterO),
'⒫' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterP),
'⒬' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterQ),
'⒭' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterR),
'⒮' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterS),
'⒯' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterT),
'⒰' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterU),
'⒱' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterV),
'⒲' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterW),
'⒳' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterX),
'⒴' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterY),
'⒵' => Ok(EnclosedAlphanumerics::ParenthesizedLatinSmallLetterZ),
'Ⓐ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterA),
'Ⓑ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterB),
'Ⓒ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterC),
'Ⓓ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterD),
'Ⓔ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterE),
'Ⓕ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterF),
'Ⓖ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterG),
'Ⓗ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterH),
'Ⓘ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterI),
'Ⓙ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterJ),
'Ⓚ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterK),
'Ⓛ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterL),
'Ⓜ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterM),
'Ⓝ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterN),
'Ⓞ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterO),
'Ⓟ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterP),
'Ⓠ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterQ),
'Ⓡ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterR),
'Ⓢ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterS),
'Ⓣ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterT),
'Ⓤ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterU),
'Ⓥ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterV),
'Ⓦ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterW),
'Ⓧ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterX),
'Ⓨ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterY),
'Ⓩ' => Ok(EnclosedAlphanumerics::CircledLatinCapitalLetterZ),
'ⓐ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterA),
'ⓑ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterB),
'ⓒ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterC),
'ⓓ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterD),
'ⓔ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterE),
'ⓕ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterF),
'ⓖ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterG),
'ⓗ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterH),
'ⓘ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterI),
'ⓙ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterJ),
'ⓚ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterK),
'ⓛ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterL),
'ⓜ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterM),
'ⓝ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterN),
'ⓞ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterO),
'ⓟ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterP),
'ⓠ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterQ),
'ⓡ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterR),
'ⓢ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterS),
'ⓣ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterT),
'ⓤ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterU),
'ⓥ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterV),
'ⓦ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterW),
'ⓧ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterX),
'ⓨ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterY),
'ⓩ' => Ok(EnclosedAlphanumerics::CircledLatinSmallLetterZ),
'⓪' => Ok(EnclosedAlphanumerics::CircledDigitZero),
'⓫' => Ok(EnclosedAlphanumerics::NegativeCircledNumberEleven),
'⓬' => Ok(EnclosedAlphanumerics::NegativeCircledNumberTwelve),
'⓭' => Ok(EnclosedAlphanumerics::NegativeCircledNumberThirteen),
'⓮' => Ok(EnclosedAlphanumerics::NegativeCircledNumberFourteen),
'⓯' => Ok(EnclosedAlphanumerics::NegativeCircledNumberFifteen),
'⓰' => Ok(EnclosedAlphanumerics::NegativeCircledNumberSixteen),
'⓱' => Ok(EnclosedAlphanumerics::NegativeCircledNumberSeventeen),
'⓲' => Ok(EnclosedAlphanumerics::NegativeCircledNumberEighteen),
'⓳' => Ok(EnclosedAlphanumerics::NegativeCircledNumberNineteen),
'⓴' => Ok(EnclosedAlphanumerics::NegativeCircledNumberTwenty),
'⓵' => Ok(EnclosedAlphanumerics::DoubleCircledDigitOne),
'⓶' => Ok(EnclosedAlphanumerics::DoubleCircledDigitTwo),
'⓷' => Ok(EnclosedAlphanumerics::DoubleCircledDigitThree),
'⓸' => Ok(EnclosedAlphanumerics::DoubleCircledDigitFour),
'⓹' => Ok(EnclosedAlphanumerics::DoubleCircledDigitFive),
'⓺' => Ok(EnclosedAlphanumerics::DoubleCircledDigitSix),
'⓻' => Ok(EnclosedAlphanumerics::DoubleCircledDigitSeven),
'⓼' => Ok(EnclosedAlphanumerics::DoubleCircledDigitEight),
'⓽' => Ok(EnclosedAlphanumerics::DoubleCircledDigitNine),
'⓾' => Ok(EnclosedAlphanumerics::DoubleCircledNumberTen),
_ => Err(()),
}
}
}
impl Into<u32> for EnclosedAlphanumerics {
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 EnclosedAlphanumerics {
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 EnclosedAlphanumerics {
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 EnclosedAlphanumerics {
pub fn new() -> Self {
EnclosedAlphanumerics::CircledDigitOne
}
pub fn name(&self) -> String {
let s = std::format!("EnclosedAlphanumerics{:#?}", self);
string_morph::to_sentence_case(&s)
}
}