#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum TamilSupplement {
TamilFractionOneThreeDashHundredDashAndDashTwentieth,
TamilFractionOneOneDashHundredDashAndDashSixtieth,
TamilFractionOneEightieth,
TamilFractionOneSixtyDashFourth,
TamilFractionOneFortieth,
TamilFractionOneThirtyDashSecond,
TamilFractionThreeEightieths,
TamilFractionThreeSixtyDashFourths,
TamilFractionOneTwentieth,
TamilFractionOneSixteenthDash1,
TamilFractionOneSixteenthDash2,
TamilFractionOneTenth,
TamilFractionOneEighth,
TamilFractionThreeTwentieths,
TamilFractionThreeSixteenths,
TamilFractionOneFifth,
TamilFractionOneQuarter,
TamilFractionOneHalfDash1,
TamilFractionOneHalfDash2,
TamilFractionThreeQuarters,
TamilFractionDownscalingFactorKiizh,
TamilSignNel,
TamilSignCevitu,
TamilSignAazhaakku,
TamilSignUzhakku,
TamilSignMuuvuzhakku,
TamilSignKuruni,
TamilSignPathakku,
TamilSignMukkuruni,
TamilSignKaacu,
TamilSignPanam,
TamilSignPon,
TamilSignVaraakan,
TamilSignPaaram,
TamilSignKuzhi,
TamilSignVeli,
TamilWetCultivationSign,
TamilDryCultivationSign,
TamilLandSign,
TamilSaltPanSign,
TamilTraditionalCreditSign,
TamilTraditionalNumberSign,
TamilCurrentSign,
TamilAndOddSign,
TamilSpentSign,
TamilTotalSign,
TamilInPossessionSign,
TamilStartingFromSign,
TamilSignMuthaliya,
TamilSignVakaiyaraa,
}
impl Into<char> for TamilSupplement {
fn into(self) -> char {
match self {
TamilSupplement::TamilFractionOneThreeDashHundredDashAndDashTwentieth => '𑿀',
TamilSupplement::TamilFractionOneOneDashHundredDashAndDashSixtieth => '𑿁',
TamilSupplement::TamilFractionOneEightieth => '𑿂',
TamilSupplement::TamilFractionOneSixtyDashFourth => '𑿃',
TamilSupplement::TamilFractionOneFortieth => '𑿄',
TamilSupplement::TamilFractionOneThirtyDashSecond => '𑿅',
TamilSupplement::TamilFractionThreeEightieths => '𑿆',
TamilSupplement::TamilFractionThreeSixtyDashFourths => '𑿇',
TamilSupplement::TamilFractionOneTwentieth => '𑿈',
TamilSupplement::TamilFractionOneSixteenthDash1 => '𑿉',
TamilSupplement::TamilFractionOneSixteenthDash2 => '𑿊',
TamilSupplement::TamilFractionOneTenth => '𑿋',
TamilSupplement::TamilFractionOneEighth => '𑿌',
TamilSupplement::TamilFractionThreeTwentieths => '𑿍',
TamilSupplement::TamilFractionThreeSixteenths => '𑿎',
TamilSupplement::TamilFractionOneFifth => '𑿏',
TamilSupplement::TamilFractionOneQuarter => '𑿐',
TamilSupplement::TamilFractionOneHalfDash1 => '𑿑',
TamilSupplement::TamilFractionOneHalfDash2 => '𑿒',
TamilSupplement::TamilFractionThreeQuarters => '𑿓',
TamilSupplement::TamilFractionDownscalingFactorKiizh => '𑿔',
TamilSupplement::TamilSignNel => '𑿕',
TamilSupplement::TamilSignCevitu => '𑿖',
TamilSupplement::TamilSignAazhaakku => '𑿗',
TamilSupplement::TamilSignUzhakku => '𑿘',
TamilSupplement::TamilSignMuuvuzhakku => '𑿙',
TamilSupplement::TamilSignKuruni => '𑿚',
TamilSupplement::TamilSignPathakku => '𑿛',
TamilSupplement::TamilSignMukkuruni => '𑿜',
TamilSupplement::TamilSignKaacu => '𑿝',
TamilSupplement::TamilSignPanam => '𑿞',
TamilSupplement::TamilSignPon => '𑿟',
TamilSupplement::TamilSignVaraakan => '𑿠',
TamilSupplement::TamilSignPaaram => '𑿡',
TamilSupplement::TamilSignKuzhi => '𑿢',
TamilSupplement::TamilSignVeli => '𑿣',
TamilSupplement::TamilWetCultivationSign => '𑿤',
TamilSupplement::TamilDryCultivationSign => '𑿥',
TamilSupplement::TamilLandSign => '𑿦',
TamilSupplement::TamilSaltPanSign => '𑿧',
TamilSupplement::TamilTraditionalCreditSign => '𑿨',
TamilSupplement::TamilTraditionalNumberSign => '𑿩',
TamilSupplement::TamilCurrentSign => '𑿪',
TamilSupplement::TamilAndOddSign => '𑿫',
TamilSupplement::TamilSpentSign => '𑿬',
TamilSupplement::TamilTotalSign => '𑿭',
TamilSupplement::TamilInPossessionSign => '𑿮',
TamilSupplement::TamilStartingFromSign => '𑿯',
TamilSupplement::TamilSignMuthaliya => '𑿰',
TamilSupplement::TamilSignVakaiyaraa => '𑿱',
}
}
}
impl std::convert::TryFrom<char> for TamilSupplement {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'𑿀' => Ok(TamilSupplement::TamilFractionOneThreeDashHundredDashAndDashTwentieth),
'𑿁' => Ok(TamilSupplement::TamilFractionOneOneDashHundredDashAndDashSixtieth),
'𑿂' => Ok(TamilSupplement::TamilFractionOneEightieth),
'𑿃' => Ok(TamilSupplement::TamilFractionOneSixtyDashFourth),
'𑿄' => Ok(TamilSupplement::TamilFractionOneFortieth),
'𑿅' => Ok(TamilSupplement::TamilFractionOneThirtyDashSecond),
'𑿆' => Ok(TamilSupplement::TamilFractionThreeEightieths),
'𑿇' => Ok(TamilSupplement::TamilFractionThreeSixtyDashFourths),
'𑿈' => Ok(TamilSupplement::TamilFractionOneTwentieth),
'𑿉' => Ok(TamilSupplement::TamilFractionOneSixteenthDash1),
'𑿊' => Ok(TamilSupplement::TamilFractionOneSixteenthDash2),
'𑿋' => Ok(TamilSupplement::TamilFractionOneTenth),
'𑿌' => Ok(TamilSupplement::TamilFractionOneEighth),
'𑿍' => Ok(TamilSupplement::TamilFractionThreeTwentieths),
'𑿎' => Ok(TamilSupplement::TamilFractionThreeSixteenths),
'𑿏' => Ok(TamilSupplement::TamilFractionOneFifth),
'𑿐' => Ok(TamilSupplement::TamilFractionOneQuarter),
'𑿑' => Ok(TamilSupplement::TamilFractionOneHalfDash1),
'𑿒' => Ok(TamilSupplement::TamilFractionOneHalfDash2),
'𑿓' => Ok(TamilSupplement::TamilFractionThreeQuarters),
'𑿔' => Ok(TamilSupplement::TamilFractionDownscalingFactorKiizh),
'𑿕' => Ok(TamilSupplement::TamilSignNel),
'𑿖' => Ok(TamilSupplement::TamilSignCevitu),
'𑿗' => Ok(TamilSupplement::TamilSignAazhaakku),
'𑿘' => Ok(TamilSupplement::TamilSignUzhakku),
'𑿙' => Ok(TamilSupplement::TamilSignMuuvuzhakku),
'𑿚' => Ok(TamilSupplement::TamilSignKuruni),
'𑿛' => Ok(TamilSupplement::TamilSignPathakku),
'𑿜' => Ok(TamilSupplement::TamilSignMukkuruni),
'𑿝' => Ok(TamilSupplement::TamilSignKaacu),
'𑿞' => Ok(TamilSupplement::TamilSignPanam),
'𑿟' => Ok(TamilSupplement::TamilSignPon),
'𑿠' => Ok(TamilSupplement::TamilSignVaraakan),
'𑿡' => Ok(TamilSupplement::TamilSignPaaram),
'𑿢' => Ok(TamilSupplement::TamilSignKuzhi),
'𑿣' => Ok(TamilSupplement::TamilSignVeli),
'𑿤' => Ok(TamilSupplement::TamilWetCultivationSign),
'𑿥' => Ok(TamilSupplement::TamilDryCultivationSign),
'𑿦' => Ok(TamilSupplement::TamilLandSign),
'𑿧' => Ok(TamilSupplement::TamilSaltPanSign),
'𑿨' => Ok(TamilSupplement::TamilTraditionalCreditSign),
'𑿩' => Ok(TamilSupplement::TamilTraditionalNumberSign),
'𑿪' => Ok(TamilSupplement::TamilCurrentSign),
'𑿫' => Ok(TamilSupplement::TamilAndOddSign),
'𑿬' => Ok(TamilSupplement::TamilSpentSign),
'𑿭' => Ok(TamilSupplement::TamilTotalSign),
'𑿮' => Ok(TamilSupplement::TamilInPossessionSign),
'𑿯' => Ok(TamilSupplement::TamilStartingFromSign),
'𑿰' => Ok(TamilSupplement::TamilSignMuthaliya),
'𑿱' => Ok(TamilSupplement::TamilSignVakaiyaraa),
_ => Err(()),
}
}
}
impl Into<u32> for TamilSupplement {
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 TamilSupplement {
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 TamilSupplement {
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 TamilSupplement {
pub fn new() -> Self {
TamilSupplement::TamilFractionOneThreeDashHundredDashAndDashTwentieth
}
pub fn name(&self) -> String {
let s = std::format!("TamilSupplement{:#?}", self);
string_morph::to_sentence_case(&s)
}
}