mod constants {
pub const TAMIL_FRACTION_ONE_THREE_DASH_HUNDRED_DASH_AND_DASH_TWENTIETH: char = '𑿀';
pub const TAMIL_FRACTION_ONE_ONE_DASH_HUNDRED_DASH_AND_DASH_SIXTIETH: char = '𑿁';
pub const TAMIL_FRACTION_ONE_EIGHTIETH: char = '𑿂';
pub const TAMIL_FRACTION_ONE_SIXTY_DASH_FOURTH: char = '𑿃';
pub const TAMIL_FRACTION_ONE_FORTIETH: char = '𑿄';
pub const TAMIL_FRACTION_ONE_THIRTY_DASH_SECOND: char = '𑿅';
pub const TAMIL_FRACTION_THREE_EIGHTIETHS: char = '𑿆';
pub const TAMIL_FRACTION_THREE_SIXTY_DASH_FOURTHS: char = '𑿇';
pub const TAMIL_FRACTION_ONE_TWENTIETH: char = '𑿈';
pub const TAMIL_FRACTION_ONE_SIXTEENTH_DASH_1: char = '𑿉';
pub const TAMIL_FRACTION_ONE_SIXTEENTH_DASH_2: char = '𑿊';
pub const TAMIL_FRACTION_ONE_TENTH: char = '𑿋';
pub const TAMIL_FRACTION_ONE_EIGHTH: char = '𑿌';
pub const TAMIL_FRACTION_THREE_TWENTIETHS: char = '𑿍';
pub const TAMIL_FRACTION_THREE_SIXTEENTHS: char = '𑿎';
pub const TAMIL_FRACTION_ONE_FIFTH: char = '𑿏';
pub const TAMIL_FRACTION_ONE_QUARTER: char = '𑿐';
pub const TAMIL_FRACTION_ONE_HALF_DASH_1: char = '𑿑';
pub const TAMIL_FRACTION_ONE_HALF_DASH_2: char = '𑿒';
pub const TAMIL_FRACTION_THREE_QUARTERS: char = '𑿓';
pub const TAMIL_FRACTION_DOWNSCALING_FACTOR_KIIZH: char = '𑿔';
pub const TAMIL_SIGN_NEL: char = '𑿕';
pub const TAMIL_SIGN_CEVITU: char = '𑿖';
pub const TAMIL_SIGN_AAZHAAKKU: char = '𑿗';
pub const TAMIL_SIGN_UZHAKKU: char = '𑿘';
pub const TAMIL_SIGN_MUUVUZHAKKU: char = '𑿙';
pub const TAMIL_SIGN_KURUNI: char = '𑿚';
pub const TAMIL_SIGN_PATHAKKU: char = '𑿛';
pub const TAMIL_SIGN_MUKKURUNI: char = '𑿜';
pub const TAMIL_SIGN_KAACU: char = '𑿝';
pub const TAMIL_SIGN_PANAM: char = '𑿞';
pub const TAMIL_SIGN_PON: char = '𑿟';
pub const TAMIL_SIGN_VARAAKAN: char = '𑿠';
pub const TAMIL_SIGN_PAARAM: char = '𑿡';
pub const TAMIL_SIGN_KUZHI: char = '𑿢';
pub const TAMIL_SIGN_VELI: char = '𑿣';
pub const TAMIL_WET_CULTIVATION_SIGN: char = '𑿤';
pub const TAMIL_DRY_CULTIVATION_SIGN: char = '𑿥';
pub const TAMIL_LAND_SIGN: char = '𑿦';
pub const TAMIL_SALT_PAN_SIGN: char = '𑿧';
pub const TAMIL_TRADITIONAL_CREDIT_SIGN: char = '𑿨';
pub const TAMIL_TRADITIONAL_NUMBER_SIGN: char = '𑿩';
pub const TAMIL_CURRENT_SIGN: char = '𑿪';
pub const TAMIL_AND_ODD_SIGN: char = '𑿫';
pub const TAMIL_SPENT_SIGN: char = '𑿬';
pub const TAMIL_TOTAL_SIGN: char = '𑿭';
pub const TAMIL_IN_POSSESSION_SIGN: char = '𑿮';
pub const TAMIL_STARTING_FROM_SIGN: char = '𑿯';
pub const TAMIL_SIGN_MUTHALIYA: char = '𑿰';
pub const TAMIL_SIGN_VAKAIYARAA: char = '𑿱';
}
#[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 {
use constants::*;
match self {
TamilSupplement::TamilFractionOneThreeDashHundredDashAndDashTwentieth => TAMIL_FRACTION_ONE_THREE_DASH_HUNDRED_DASH_AND_DASH_TWENTIETH,
TamilSupplement::TamilFractionOneOneDashHundredDashAndDashSixtieth => TAMIL_FRACTION_ONE_ONE_DASH_HUNDRED_DASH_AND_DASH_SIXTIETH,
TamilSupplement::TamilFractionOneEightieth => TAMIL_FRACTION_ONE_EIGHTIETH,
TamilSupplement::TamilFractionOneSixtyDashFourth => TAMIL_FRACTION_ONE_SIXTY_DASH_FOURTH,
TamilSupplement::TamilFractionOneFortieth => TAMIL_FRACTION_ONE_FORTIETH,
TamilSupplement::TamilFractionOneThirtyDashSecond => TAMIL_FRACTION_ONE_THIRTY_DASH_SECOND,
TamilSupplement::TamilFractionThreeEightieths => TAMIL_FRACTION_THREE_EIGHTIETHS,
TamilSupplement::TamilFractionThreeSixtyDashFourths => TAMIL_FRACTION_THREE_SIXTY_DASH_FOURTHS,
TamilSupplement::TamilFractionOneTwentieth => TAMIL_FRACTION_ONE_TWENTIETH,
TamilSupplement::TamilFractionOneSixteenthDash1 => TAMIL_FRACTION_ONE_SIXTEENTH_DASH_1,
TamilSupplement::TamilFractionOneSixteenthDash2 => TAMIL_FRACTION_ONE_SIXTEENTH_DASH_2,
TamilSupplement::TamilFractionOneTenth => TAMIL_FRACTION_ONE_TENTH,
TamilSupplement::TamilFractionOneEighth => TAMIL_FRACTION_ONE_EIGHTH,
TamilSupplement::TamilFractionThreeTwentieths => TAMIL_FRACTION_THREE_TWENTIETHS,
TamilSupplement::TamilFractionThreeSixteenths => TAMIL_FRACTION_THREE_SIXTEENTHS,
TamilSupplement::TamilFractionOneFifth => TAMIL_FRACTION_ONE_FIFTH,
TamilSupplement::TamilFractionOneQuarter => TAMIL_FRACTION_ONE_QUARTER,
TamilSupplement::TamilFractionOneHalfDash1 => TAMIL_FRACTION_ONE_HALF_DASH_1,
TamilSupplement::TamilFractionOneHalfDash2 => TAMIL_FRACTION_ONE_HALF_DASH_2,
TamilSupplement::TamilFractionThreeQuarters => TAMIL_FRACTION_THREE_QUARTERS,
TamilSupplement::TamilFractionDownscalingFactorKiizh => TAMIL_FRACTION_DOWNSCALING_FACTOR_KIIZH,
TamilSupplement::TamilSignNel => TAMIL_SIGN_NEL,
TamilSupplement::TamilSignCevitu => TAMIL_SIGN_CEVITU,
TamilSupplement::TamilSignAazhaakku => TAMIL_SIGN_AAZHAAKKU,
TamilSupplement::TamilSignUzhakku => TAMIL_SIGN_UZHAKKU,
TamilSupplement::TamilSignMuuvuzhakku => TAMIL_SIGN_MUUVUZHAKKU,
TamilSupplement::TamilSignKuruni => TAMIL_SIGN_KURUNI,
TamilSupplement::TamilSignPathakku => TAMIL_SIGN_PATHAKKU,
TamilSupplement::TamilSignMukkuruni => TAMIL_SIGN_MUKKURUNI,
TamilSupplement::TamilSignKaacu => TAMIL_SIGN_KAACU,
TamilSupplement::TamilSignPanam => TAMIL_SIGN_PANAM,
TamilSupplement::TamilSignPon => TAMIL_SIGN_PON,
TamilSupplement::TamilSignVaraakan => TAMIL_SIGN_VARAAKAN,
TamilSupplement::TamilSignPaaram => TAMIL_SIGN_PAARAM,
TamilSupplement::TamilSignKuzhi => TAMIL_SIGN_KUZHI,
TamilSupplement::TamilSignVeli => TAMIL_SIGN_VELI,
TamilSupplement::TamilWetCultivationSign => TAMIL_WET_CULTIVATION_SIGN,
TamilSupplement::TamilDryCultivationSign => TAMIL_DRY_CULTIVATION_SIGN,
TamilSupplement::TamilLandSign => TAMIL_LAND_SIGN,
TamilSupplement::TamilSaltPanSign => TAMIL_SALT_PAN_SIGN,
TamilSupplement::TamilTraditionalCreditSign => TAMIL_TRADITIONAL_CREDIT_SIGN,
TamilSupplement::TamilTraditionalNumberSign => TAMIL_TRADITIONAL_NUMBER_SIGN,
TamilSupplement::TamilCurrentSign => TAMIL_CURRENT_SIGN,
TamilSupplement::TamilAndOddSign => TAMIL_AND_ODD_SIGN,
TamilSupplement::TamilSpentSign => TAMIL_SPENT_SIGN,
TamilSupplement::TamilTotalSign => TAMIL_TOTAL_SIGN,
TamilSupplement::TamilInPossessionSign => TAMIL_IN_POSSESSION_SIGN,
TamilSupplement::TamilStartingFromSign => TAMIL_STARTING_FROM_SIGN,
TamilSupplement::TamilSignMuthaliya => TAMIL_SIGN_MUTHALIYA,
TamilSupplement::TamilSignVakaiyaraa => TAMIL_SIGN_VAKAIYARAA,
}
}
}
impl std::convert::TryFrom<char> for TamilSupplement {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
TAMIL_FRACTION_ONE_THREE_DASH_HUNDRED_DASH_AND_DASH_TWENTIETH => Ok(TamilSupplement::TamilFractionOneThreeDashHundredDashAndDashTwentieth),
TAMIL_FRACTION_ONE_ONE_DASH_HUNDRED_DASH_AND_DASH_SIXTIETH => Ok(TamilSupplement::TamilFractionOneOneDashHundredDashAndDashSixtieth),
TAMIL_FRACTION_ONE_EIGHTIETH => Ok(TamilSupplement::TamilFractionOneEightieth),
TAMIL_FRACTION_ONE_SIXTY_DASH_FOURTH => Ok(TamilSupplement::TamilFractionOneSixtyDashFourth),
TAMIL_FRACTION_ONE_FORTIETH => Ok(TamilSupplement::TamilFractionOneFortieth),
TAMIL_FRACTION_ONE_THIRTY_DASH_SECOND => Ok(TamilSupplement::TamilFractionOneThirtyDashSecond),
TAMIL_FRACTION_THREE_EIGHTIETHS => Ok(TamilSupplement::TamilFractionThreeEightieths),
TAMIL_FRACTION_THREE_SIXTY_DASH_FOURTHS => Ok(TamilSupplement::TamilFractionThreeSixtyDashFourths),
TAMIL_FRACTION_ONE_TWENTIETH => Ok(TamilSupplement::TamilFractionOneTwentieth),
TAMIL_FRACTION_ONE_SIXTEENTH_DASH_1 => Ok(TamilSupplement::TamilFractionOneSixteenthDash1),
TAMIL_FRACTION_ONE_SIXTEENTH_DASH_2 => Ok(TamilSupplement::TamilFractionOneSixteenthDash2),
TAMIL_FRACTION_ONE_TENTH => Ok(TamilSupplement::TamilFractionOneTenth),
TAMIL_FRACTION_ONE_EIGHTH => Ok(TamilSupplement::TamilFractionOneEighth),
TAMIL_FRACTION_THREE_TWENTIETHS => Ok(TamilSupplement::TamilFractionThreeTwentieths),
TAMIL_FRACTION_THREE_SIXTEENTHS => Ok(TamilSupplement::TamilFractionThreeSixteenths),
TAMIL_FRACTION_ONE_FIFTH => Ok(TamilSupplement::TamilFractionOneFifth),
TAMIL_FRACTION_ONE_QUARTER => Ok(TamilSupplement::TamilFractionOneQuarter),
TAMIL_FRACTION_ONE_HALF_DASH_1 => Ok(TamilSupplement::TamilFractionOneHalfDash1),
TAMIL_FRACTION_ONE_HALF_DASH_2 => Ok(TamilSupplement::TamilFractionOneHalfDash2),
TAMIL_FRACTION_THREE_QUARTERS => Ok(TamilSupplement::TamilFractionThreeQuarters),
TAMIL_FRACTION_DOWNSCALING_FACTOR_KIIZH => Ok(TamilSupplement::TamilFractionDownscalingFactorKiizh),
TAMIL_SIGN_NEL => Ok(TamilSupplement::TamilSignNel),
TAMIL_SIGN_CEVITU => Ok(TamilSupplement::TamilSignCevitu),
TAMIL_SIGN_AAZHAAKKU => Ok(TamilSupplement::TamilSignAazhaakku),
TAMIL_SIGN_UZHAKKU => Ok(TamilSupplement::TamilSignUzhakku),
TAMIL_SIGN_MUUVUZHAKKU => Ok(TamilSupplement::TamilSignMuuvuzhakku),
TAMIL_SIGN_KURUNI => Ok(TamilSupplement::TamilSignKuruni),
TAMIL_SIGN_PATHAKKU => Ok(TamilSupplement::TamilSignPathakku),
TAMIL_SIGN_MUKKURUNI => Ok(TamilSupplement::TamilSignMukkuruni),
TAMIL_SIGN_KAACU => Ok(TamilSupplement::TamilSignKaacu),
TAMIL_SIGN_PANAM => Ok(TamilSupplement::TamilSignPanam),
TAMIL_SIGN_PON => Ok(TamilSupplement::TamilSignPon),
TAMIL_SIGN_VARAAKAN => Ok(TamilSupplement::TamilSignVaraakan),
TAMIL_SIGN_PAARAM => Ok(TamilSupplement::TamilSignPaaram),
TAMIL_SIGN_KUZHI => Ok(TamilSupplement::TamilSignKuzhi),
TAMIL_SIGN_VELI => Ok(TamilSupplement::TamilSignVeli),
TAMIL_WET_CULTIVATION_SIGN => Ok(TamilSupplement::TamilWetCultivationSign),
TAMIL_DRY_CULTIVATION_SIGN => Ok(TamilSupplement::TamilDryCultivationSign),
TAMIL_LAND_SIGN => Ok(TamilSupplement::TamilLandSign),
TAMIL_SALT_PAN_SIGN => Ok(TamilSupplement::TamilSaltPanSign),
TAMIL_TRADITIONAL_CREDIT_SIGN => Ok(TamilSupplement::TamilTraditionalCreditSign),
TAMIL_TRADITIONAL_NUMBER_SIGN => Ok(TamilSupplement::TamilTraditionalNumberSign),
TAMIL_CURRENT_SIGN => Ok(TamilSupplement::TamilCurrentSign),
TAMIL_AND_ODD_SIGN => Ok(TamilSupplement::TamilAndOddSign),
TAMIL_SPENT_SIGN => Ok(TamilSupplement::TamilSpentSign),
TAMIL_TOTAL_SIGN => Ok(TamilSupplement::TamilTotalSign),
TAMIL_IN_POSSESSION_SIGN => Ok(TamilSupplement::TamilInPossessionSign),
TAMIL_STARTING_FROM_SIGN => Ok(TamilSupplement::TamilStartingFromSign),
TAMIL_SIGN_MUTHALIYA => Ok(TamilSupplement::TamilSignMuthaliya),
TAMIL_SIGN_VAKAIYARAA => 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) -> &str {
match self {
TamilSupplement::TamilFractionOneThreeDashHundredDashAndDashTwentieth => "tamil fraction one three-hundred-and-twentieth",
TamilSupplement::TamilFractionOneOneDashHundredDashAndDashSixtieth => "tamil fraction one one-hundred-and-sixtieth",
TamilSupplement::TamilFractionOneEightieth => "tamil fraction one eightieth",
TamilSupplement::TamilFractionOneSixtyDashFourth => "tamil fraction one sixty-fourth",
TamilSupplement::TamilFractionOneFortieth => "tamil fraction one fortieth",
TamilSupplement::TamilFractionOneThirtyDashSecond => "tamil fraction one thirty-second",
TamilSupplement::TamilFractionThreeEightieths => "tamil fraction three eightieths",
TamilSupplement::TamilFractionThreeSixtyDashFourths => "tamil fraction three sixty-fourths",
TamilSupplement::TamilFractionOneTwentieth => "tamil fraction one twentieth",
TamilSupplement::TamilFractionOneSixteenthDash1 => "tamil fraction one sixteenth-1",
TamilSupplement::TamilFractionOneSixteenthDash2 => "tamil fraction one sixteenth-2",
TamilSupplement::TamilFractionOneTenth => "tamil fraction one tenth",
TamilSupplement::TamilFractionOneEighth => "tamil fraction one eighth",
TamilSupplement::TamilFractionThreeTwentieths => "tamil fraction three twentieths",
TamilSupplement::TamilFractionThreeSixteenths => "tamil fraction three sixteenths",
TamilSupplement::TamilFractionOneFifth => "tamil fraction one fifth",
TamilSupplement::TamilFractionOneQuarter => "tamil fraction one quarter",
TamilSupplement::TamilFractionOneHalfDash1 => "tamil fraction one half-1",
TamilSupplement::TamilFractionOneHalfDash2 => "tamil fraction one half-2",
TamilSupplement::TamilFractionThreeQuarters => "tamil fraction three quarters",
TamilSupplement::TamilFractionDownscalingFactorKiizh => "tamil fraction downscaling factor kiizh",
TamilSupplement::TamilSignNel => "tamil sign nel",
TamilSupplement::TamilSignCevitu => "tamil sign cevitu",
TamilSupplement::TamilSignAazhaakku => "tamil sign aazhaakku",
TamilSupplement::TamilSignUzhakku => "tamil sign uzhakku",
TamilSupplement::TamilSignMuuvuzhakku => "tamil sign muuvuzhakku",
TamilSupplement::TamilSignKuruni => "tamil sign kuruni",
TamilSupplement::TamilSignPathakku => "tamil sign pathakku",
TamilSupplement::TamilSignMukkuruni => "tamil sign mukkuruni",
TamilSupplement::TamilSignKaacu => "tamil sign kaacu",
TamilSupplement::TamilSignPanam => "tamil sign panam",
TamilSupplement::TamilSignPon => "tamil sign pon",
TamilSupplement::TamilSignVaraakan => "tamil sign varaakan",
TamilSupplement::TamilSignPaaram => "tamil sign paaram",
TamilSupplement::TamilSignKuzhi => "tamil sign kuzhi",
TamilSupplement::TamilSignVeli => "tamil sign veli",
TamilSupplement::TamilWetCultivationSign => "tamil wet cultivation sign",
TamilSupplement::TamilDryCultivationSign => "tamil dry cultivation sign",
TamilSupplement::TamilLandSign => "tamil land sign",
TamilSupplement::TamilSaltPanSign => "tamil salt pan sign",
TamilSupplement::TamilTraditionalCreditSign => "tamil traditional credit sign",
TamilSupplement::TamilTraditionalNumberSign => "tamil traditional number sign",
TamilSupplement::TamilCurrentSign => "tamil current sign",
TamilSupplement::TamilAndOddSign => "tamil and odd sign",
TamilSupplement::TamilSpentSign => "tamil spent sign",
TamilSupplement::TamilTotalSign => "tamil total sign",
TamilSupplement::TamilInPossessionSign => "tamil in possession sign",
TamilSupplement::TamilStartingFromSign => "tamil starting from sign",
TamilSupplement::TamilSignMuthaliya => "tamil sign muthaliya",
TamilSupplement::TamilSignVakaiyaraa => "tamil sign vakaiyaraa",
}
}
}