mod constants {
pub const ARABIC_LETTER_BEH_WITH_THREE_DOTS_HORIZONTALLY_BELOW: char = 'ݐ';
pub const ARABIC_LETTER_BEH_WITH_DOT_BELOW_AND_THREE_DOTS_ABOVE: char = 'ݑ';
pub const ARABIC_LETTER_BEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW: char = 'ݒ';
pub const ARABIC_LETTER_BEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW_AND_TWO_DOTS_ABOVE: char = 'ݓ';
pub const ARABIC_LETTER_BEH_WITH_TWO_DOTS_BELOW_AND_DOT_ABOVE: char = 'ݔ';
pub const ARABIC_LETTER_BEH_WITH_INVERTED_SMALL_V_BELOW: char = 'ݕ';
pub const ARABIC_LETTER_BEH_WITH_SMALL_V: char = 'ݖ';
pub const ARABIC_LETTER_HAH_WITH_TWO_DOTS_ABOVE: char = 'ݗ';
pub const ARABIC_LETTER_HAH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW: char = 'ݘ';
pub const ARABIC_LETTER_DAL_WITH_TWO_DOTS_VERTICALLY_BELOW_AND_SMALL_TAH: char = 'ݙ';
pub const ARABIC_LETTER_DAL_WITH_INVERTED_SMALL_V_BELOW: char = 'ݚ';
pub const ARABIC_LETTER_REH_WITH_STROKE: char = 'ݛ';
pub const ARABIC_LETTER_SEEN_WITH_FOUR_DOTS_ABOVE: char = 'ݜ';
pub const ARABIC_LETTER_AIN_WITH_TWO_DOTS_ABOVE: char = 'ݝ';
pub const ARABIC_LETTER_AIN_WITH_THREE_DOTS_POINTING_DOWNWARDS_ABOVE: char = 'ݞ';
pub const ARABIC_LETTER_AIN_WITH_TWO_DOTS_VERTICALLY_ABOVE: char = 'ݟ';
pub const ARABIC_LETTER_FEH_WITH_TWO_DOTS_BELOW: char = 'ݠ';
pub const ARABIC_LETTER_FEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW: char = 'ݡ';
pub const ARABIC_LETTER_KEHEH_WITH_DOT_ABOVE: char = 'ݢ';
pub const ARABIC_LETTER_KEHEH_WITH_THREE_DOTS_ABOVE: char = 'ݣ';
pub const ARABIC_LETTER_KEHEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW: char = 'ݤ';
pub const ARABIC_LETTER_MEEM_WITH_DOT_ABOVE: char = 'ݥ';
pub const ARABIC_LETTER_MEEM_WITH_DOT_BELOW: char = 'ݦ';
pub const ARABIC_LETTER_NOON_WITH_TWO_DOTS_BELOW: char = 'ݧ';
pub const ARABIC_LETTER_NOON_WITH_SMALL_TAH: char = 'ݨ';
pub const ARABIC_LETTER_NOON_WITH_SMALL_V: char = 'ݩ';
pub const ARABIC_LETTER_LAM_WITH_BAR: char = 'ݪ';
pub const ARABIC_LETTER_REH_WITH_TWO_DOTS_VERTICALLY_ABOVE: char = 'ݫ';
pub const ARABIC_LETTER_REH_WITH_HAMZA_ABOVE: char = 'ݬ';
pub const ARABIC_LETTER_SEEN_WITH_TWO_DOTS_VERTICALLY_ABOVE: char = 'ݭ';
pub const ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_BELOW: char = 'ݮ';
pub const ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS: char = 'ݯ';
pub const ARABIC_LETTER_SEEN_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS: char = 'ݰ';
pub const ARABIC_LETTER_REH_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS: char = 'ݱ';
pub const ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_ABOVE: char = 'ݲ';
pub const ARABIC_LETTER_ALEF_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE: char = 'ݳ';
pub const ARABIC_LETTER_ALEF_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE: char = 'ݴ';
pub const ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE: char = 'ݵ';
pub const ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE: char = 'ݶ';
pub const ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_BELOW: char = 'ݷ';
pub const ARABIC_LETTER_WAW_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE: char = 'ݸ';
pub const ARABIC_LETTER_WAW_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE: char = 'ݹ';
pub const ARABIC_LETTER_YEH_BARREE_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE: char = 'ݺ';
pub const ARABIC_LETTER_YEH_BARREE_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE: char = 'ݻ';
pub const ARABIC_LETTER_HAH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_BELOW: char = 'ݼ';
pub const ARABIC_LETTER_SEEN_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_ABOVE: char = 'ݽ';
pub const ARABIC_LETTER_SEEN_WITH_INVERTED_V: char = 'ݾ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum ArabicSupplement {
ArabicLetterBehWithThreeDotsHorizontallyBelow,
ArabicLetterBehWithDotBelowAndThreeDotsAbove,
ArabicLetterBehWithThreeDotsPointingUpwardsBelow,
ArabicLetterBehWithThreeDotsPointingUpwardsBelowAndTwoDotsAbove,
ArabicLetterBehWithTwoDotsBelowAndDotAbove,
ArabicLetterBehWithInvertedSmallVBelow,
ArabicLetterBehWithSmallV,
ArabicLetterHahWithTwoDotsAbove,
ArabicLetterHahWithThreeDotsPointingUpwardsBelow,
ArabicLetterDalWithTwoDotsVerticallyBelowAndSmallTah,
ArabicLetterDalWithInvertedSmallVBelow,
ArabicLetterRehWithStroke,
ArabicLetterSeenWithFourDotsAbove,
ArabicLetterAinWithTwoDotsAbove,
ArabicLetterAinWithThreeDotsPointingDownwardsAbove,
ArabicLetterAinWithTwoDotsVerticallyAbove,
ArabicLetterFehWithTwoDotsBelow,
ArabicLetterFehWithThreeDotsPointingUpwardsBelow,
ArabicLetterKehehWithDotAbove,
ArabicLetterKehehWithThreeDotsAbove,
ArabicLetterKehehWithThreeDotsPointingUpwardsBelow,
ArabicLetterMeemWithDotAbove,
ArabicLetterMeemWithDotBelow,
ArabicLetterNoonWithTwoDotsBelow,
ArabicLetterNoonWithSmallTah,
ArabicLetterNoonWithSmallV,
ArabicLetterLamWithBar,
ArabicLetterRehWithTwoDotsVerticallyAbove,
ArabicLetterRehWithHamzaAbove,
ArabicLetterSeenWithTwoDotsVerticallyAbove,
ArabicLetterHahWithSmallArabicLetterTahBelow,
ArabicLetterHahWithSmallArabicLetterTahAndTwoDots,
ArabicLetterSeenWithSmallArabicLetterTahAndTwoDots,
ArabicLetterRehWithSmallArabicLetterTahAndTwoDots,
ArabicLetterHahWithSmallArabicLetterTahAbove,
ArabicLetterAlefWithExtendedArabicDashIndicDigitTwoAbove,
ArabicLetterAlefWithExtendedArabicDashIndicDigitThreeAbove,
ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitTwoAbove,
ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitThreeAbove,
ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitFourBelow,
ArabicLetterWawWithExtendedArabicDashIndicDigitTwoAbove,
ArabicLetterWawWithExtendedArabicDashIndicDigitThreeAbove,
ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitTwoAbove,
ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitThreeAbove,
ArabicLetterHahWithExtendedArabicDashIndicDigitFourBelow,
ArabicLetterSeenWithExtendedArabicDashIndicDigitFourAbove,
ArabicLetterSeenWithInvertedV,
}
impl Into<char> for ArabicSupplement {
fn into(self) -> char {
use constants::*;
match self {
ArabicSupplement::ArabicLetterBehWithThreeDotsHorizontallyBelow => ARABIC_LETTER_BEH_WITH_THREE_DOTS_HORIZONTALLY_BELOW,
ArabicSupplement::ArabicLetterBehWithDotBelowAndThreeDotsAbove => ARABIC_LETTER_BEH_WITH_DOT_BELOW_AND_THREE_DOTS_ABOVE,
ArabicSupplement::ArabicLetterBehWithThreeDotsPointingUpwardsBelow => ARABIC_LETTER_BEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW,
ArabicSupplement::ArabicLetterBehWithThreeDotsPointingUpwardsBelowAndTwoDotsAbove => ARABIC_LETTER_BEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW_AND_TWO_DOTS_ABOVE,
ArabicSupplement::ArabicLetterBehWithTwoDotsBelowAndDotAbove => ARABIC_LETTER_BEH_WITH_TWO_DOTS_BELOW_AND_DOT_ABOVE,
ArabicSupplement::ArabicLetterBehWithInvertedSmallVBelow => ARABIC_LETTER_BEH_WITH_INVERTED_SMALL_V_BELOW,
ArabicSupplement::ArabicLetterBehWithSmallV => ARABIC_LETTER_BEH_WITH_SMALL_V,
ArabicSupplement::ArabicLetterHahWithTwoDotsAbove => ARABIC_LETTER_HAH_WITH_TWO_DOTS_ABOVE,
ArabicSupplement::ArabicLetterHahWithThreeDotsPointingUpwardsBelow => ARABIC_LETTER_HAH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW,
ArabicSupplement::ArabicLetterDalWithTwoDotsVerticallyBelowAndSmallTah => ARABIC_LETTER_DAL_WITH_TWO_DOTS_VERTICALLY_BELOW_AND_SMALL_TAH,
ArabicSupplement::ArabicLetterDalWithInvertedSmallVBelow => ARABIC_LETTER_DAL_WITH_INVERTED_SMALL_V_BELOW,
ArabicSupplement::ArabicLetterRehWithStroke => ARABIC_LETTER_REH_WITH_STROKE,
ArabicSupplement::ArabicLetterSeenWithFourDotsAbove => ARABIC_LETTER_SEEN_WITH_FOUR_DOTS_ABOVE,
ArabicSupplement::ArabicLetterAinWithTwoDotsAbove => ARABIC_LETTER_AIN_WITH_TWO_DOTS_ABOVE,
ArabicSupplement::ArabicLetterAinWithThreeDotsPointingDownwardsAbove => ARABIC_LETTER_AIN_WITH_THREE_DOTS_POINTING_DOWNWARDS_ABOVE,
ArabicSupplement::ArabicLetterAinWithTwoDotsVerticallyAbove => ARABIC_LETTER_AIN_WITH_TWO_DOTS_VERTICALLY_ABOVE,
ArabicSupplement::ArabicLetterFehWithTwoDotsBelow => ARABIC_LETTER_FEH_WITH_TWO_DOTS_BELOW,
ArabicSupplement::ArabicLetterFehWithThreeDotsPointingUpwardsBelow => ARABIC_LETTER_FEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW,
ArabicSupplement::ArabicLetterKehehWithDotAbove => ARABIC_LETTER_KEHEH_WITH_DOT_ABOVE,
ArabicSupplement::ArabicLetterKehehWithThreeDotsAbove => ARABIC_LETTER_KEHEH_WITH_THREE_DOTS_ABOVE,
ArabicSupplement::ArabicLetterKehehWithThreeDotsPointingUpwardsBelow => ARABIC_LETTER_KEHEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW,
ArabicSupplement::ArabicLetterMeemWithDotAbove => ARABIC_LETTER_MEEM_WITH_DOT_ABOVE,
ArabicSupplement::ArabicLetterMeemWithDotBelow => ARABIC_LETTER_MEEM_WITH_DOT_BELOW,
ArabicSupplement::ArabicLetterNoonWithTwoDotsBelow => ARABIC_LETTER_NOON_WITH_TWO_DOTS_BELOW,
ArabicSupplement::ArabicLetterNoonWithSmallTah => ARABIC_LETTER_NOON_WITH_SMALL_TAH,
ArabicSupplement::ArabicLetterNoonWithSmallV => ARABIC_LETTER_NOON_WITH_SMALL_V,
ArabicSupplement::ArabicLetterLamWithBar => ARABIC_LETTER_LAM_WITH_BAR,
ArabicSupplement::ArabicLetterRehWithTwoDotsVerticallyAbove => ARABIC_LETTER_REH_WITH_TWO_DOTS_VERTICALLY_ABOVE,
ArabicSupplement::ArabicLetterRehWithHamzaAbove => ARABIC_LETTER_REH_WITH_HAMZA_ABOVE,
ArabicSupplement::ArabicLetterSeenWithTwoDotsVerticallyAbove => ARABIC_LETTER_SEEN_WITH_TWO_DOTS_VERTICALLY_ABOVE,
ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahBelow => ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_BELOW,
ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahAndTwoDots => ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS,
ArabicSupplement::ArabicLetterSeenWithSmallArabicLetterTahAndTwoDots => ARABIC_LETTER_SEEN_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS,
ArabicSupplement::ArabicLetterRehWithSmallArabicLetterTahAndTwoDots => ARABIC_LETTER_REH_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS,
ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahAbove => ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_ABOVE,
ArabicSupplement::ArabicLetterAlefWithExtendedArabicDashIndicDigitTwoAbove => ARABIC_LETTER_ALEF_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE,
ArabicSupplement::ArabicLetterAlefWithExtendedArabicDashIndicDigitThreeAbove => ARABIC_LETTER_ALEF_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE,
ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitTwoAbove => ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE,
ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitThreeAbove => ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE,
ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitFourBelow => ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_BELOW,
ArabicSupplement::ArabicLetterWawWithExtendedArabicDashIndicDigitTwoAbove => ARABIC_LETTER_WAW_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE,
ArabicSupplement::ArabicLetterWawWithExtendedArabicDashIndicDigitThreeAbove => ARABIC_LETTER_WAW_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE,
ArabicSupplement::ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitTwoAbove => ARABIC_LETTER_YEH_BARREE_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE,
ArabicSupplement::ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitThreeAbove => ARABIC_LETTER_YEH_BARREE_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE,
ArabicSupplement::ArabicLetterHahWithExtendedArabicDashIndicDigitFourBelow => ARABIC_LETTER_HAH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_BELOW,
ArabicSupplement::ArabicLetterSeenWithExtendedArabicDashIndicDigitFourAbove => ARABIC_LETTER_SEEN_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_ABOVE,
ArabicSupplement::ArabicLetterSeenWithInvertedV => ARABIC_LETTER_SEEN_WITH_INVERTED_V,
}
}
}
impl std::convert::TryFrom<char> for ArabicSupplement {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
ARABIC_LETTER_BEH_WITH_THREE_DOTS_HORIZONTALLY_BELOW => Ok(ArabicSupplement::ArabicLetterBehWithThreeDotsHorizontallyBelow),
ARABIC_LETTER_BEH_WITH_DOT_BELOW_AND_THREE_DOTS_ABOVE => Ok(ArabicSupplement::ArabicLetterBehWithDotBelowAndThreeDotsAbove),
ARABIC_LETTER_BEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW => Ok(ArabicSupplement::ArabicLetterBehWithThreeDotsPointingUpwardsBelow),
ARABIC_LETTER_BEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW_AND_TWO_DOTS_ABOVE => Ok(ArabicSupplement::ArabicLetterBehWithThreeDotsPointingUpwardsBelowAndTwoDotsAbove),
ARABIC_LETTER_BEH_WITH_TWO_DOTS_BELOW_AND_DOT_ABOVE => Ok(ArabicSupplement::ArabicLetterBehWithTwoDotsBelowAndDotAbove),
ARABIC_LETTER_BEH_WITH_INVERTED_SMALL_V_BELOW => Ok(ArabicSupplement::ArabicLetterBehWithInvertedSmallVBelow),
ARABIC_LETTER_BEH_WITH_SMALL_V => Ok(ArabicSupplement::ArabicLetterBehWithSmallV),
ARABIC_LETTER_HAH_WITH_TWO_DOTS_ABOVE => Ok(ArabicSupplement::ArabicLetterHahWithTwoDotsAbove),
ARABIC_LETTER_HAH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW => Ok(ArabicSupplement::ArabicLetterHahWithThreeDotsPointingUpwardsBelow),
ARABIC_LETTER_DAL_WITH_TWO_DOTS_VERTICALLY_BELOW_AND_SMALL_TAH => Ok(ArabicSupplement::ArabicLetterDalWithTwoDotsVerticallyBelowAndSmallTah),
ARABIC_LETTER_DAL_WITH_INVERTED_SMALL_V_BELOW => Ok(ArabicSupplement::ArabicLetterDalWithInvertedSmallVBelow),
ARABIC_LETTER_REH_WITH_STROKE => Ok(ArabicSupplement::ArabicLetterRehWithStroke),
ARABIC_LETTER_SEEN_WITH_FOUR_DOTS_ABOVE => Ok(ArabicSupplement::ArabicLetterSeenWithFourDotsAbove),
ARABIC_LETTER_AIN_WITH_TWO_DOTS_ABOVE => Ok(ArabicSupplement::ArabicLetterAinWithTwoDotsAbove),
ARABIC_LETTER_AIN_WITH_THREE_DOTS_POINTING_DOWNWARDS_ABOVE => Ok(ArabicSupplement::ArabicLetterAinWithThreeDotsPointingDownwardsAbove),
ARABIC_LETTER_AIN_WITH_TWO_DOTS_VERTICALLY_ABOVE => Ok(ArabicSupplement::ArabicLetterAinWithTwoDotsVerticallyAbove),
ARABIC_LETTER_FEH_WITH_TWO_DOTS_BELOW => Ok(ArabicSupplement::ArabicLetterFehWithTwoDotsBelow),
ARABIC_LETTER_FEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW => Ok(ArabicSupplement::ArabicLetterFehWithThreeDotsPointingUpwardsBelow),
ARABIC_LETTER_KEHEH_WITH_DOT_ABOVE => Ok(ArabicSupplement::ArabicLetterKehehWithDotAbove),
ARABIC_LETTER_KEHEH_WITH_THREE_DOTS_ABOVE => Ok(ArabicSupplement::ArabicLetterKehehWithThreeDotsAbove),
ARABIC_LETTER_KEHEH_WITH_THREE_DOTS_POINTING_UPWARDS_BELOW => Ok(ArabicSupplement::ArabicLetterKehehWithThreeDotsPointingUpwardsBelow),
ARABIC_LETTER_MEEM_WITH_DOT_ABOVE => Ok(ArabicSupplement::ArabicLetterMeemWithDotAbove),
ARABIC_LETTER_MEEM_WITH_DOT_BELOW => Ok(ArabicSupplement::ArabicLetterMeemWithDotBelow),
ARABIC_LETTER_NOON_WITH_TWO_DOTS_BELOW => Ok(ArabicSupplement::ArabicLetterNoonWithTwoDotsBelow),
ARABIC_LETTER_NOON_WITH_SMALL_TAH => Ok(ArabicSupplement::ArabicLetterNoonWithSmallTah),
ARABIC_LETTER_NOON_WITH_SMALL_V => Ok(ArabicSupplement::ArabicLetterNoonWithSmallV),
ARABIC_LETTER_LAM_WITH_BAR => Ok(ArabicSupplement::ArabicLetterLamWithBar),
ARABIC_LETTER_REH_WITH_TWO_DOTS_VERTICALLY_ABOVE => Ok(ArabicSupplement::ArabicLetterRehWithTwoDotsVerticallyAbove),
ARABIC_LETTER_REH_WITH_HAMZA_ABOVE => Ok(ArabicSupplement::ArabicLetterRehWithHamzaAbove),
ARABIC_LETTER_SEEN_WITH_TWO_DOTS_VERTICALLY_ABOVE => Ok(ArabicSupplement::ArabicLetterSeenWithTwoDotsVerticallyAbove),
ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_BELOW => Ok(ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahBelow),
ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS => Ok(ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahAndTwoDots),
ARABIC_LETTER_SEEN_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS => Ok(ArabicSupplement::ArabicLetterSeenWithSmallArabicLetterTahAndTwoDots),
ARABIC_LETTER_REH_WITH_SMALL_ARABIC_LETTER_TAH_AND_TWO_DOTS => Ok(ArabicSupplement::ArabicLetterRehWithSmallArabicLetterTahAndTwoDots),
ARABIC_LETTER_HAH_WITH_SMALL_ARABIC_LETTER_TAH_ABOVE => Ok(ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahAbove),
ARABIC_LETTER_ALEF_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE => Ok(ArabicSupplement::ArabicLetterAlefWithExtendedArabicDashIndicDigitTwoAbove),
ARABIC_LETTER_ALEF_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE => Ok(ArabicSupplement::ArabicLetterAlefWithExtendedArabicDashIndicDigitThreeAbove),
ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE => Ok(ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitTwoAbove),
ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE => Ok(ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitThreeAbove),
ARABIC_LETTER_FARSI_YEH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_BELOW => Ok(ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitFourBelow),
ARABIC_LETTER_WAW_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE => Ok(ArabicSupplement::ArabicLetterWawWithExtendedArabicDashIndicDigitTwoAbove),
ARABIC_LETTER_WAW_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE => Ok(ArabicSupplement::ArabicLetterWawWithExtendedArabicDashIndicDigitThreeAbove),
ARABIC_LETTER_YEH_BARREE_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_TWO_ABOVE => Ok(ArabicSupplement::ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitTwoAbove),
ARABIC_LETTER_YEH_BARREE_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_THREE_ABOVE => Ok(ArabicSupplement::ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitThreeAbove),
ARABIC_LETTER_HAH_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_BELOW => Ok(ArabicSupplement::ArabicLetterHahWithExtendedArabicDashIndicDigitFourBelow),
ARABIC_LETTER_SEEN_WITH_EXTENDED_ARABIC_DASH_INDIC_DIGIT_FOUR_ABOVE => Ok(ArabicSupplement::ArabicLetterSeenWithExtendedArabicDashIndicDigitFourAbove),
ARABIC_LETTER_SEEN_WITH_INVERTED_V => Ok(ArabicSupplement::ArabicLetterSeenWithInvertedV),
_ => Err(()),
}
}
}
impl Into<u32> for ArabicSupplement {
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 ArabicSupplement {
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 ArabicSupplement {
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 ArabicSupplement {
pub fn new() -> Self {
ArabicSupplement::ArabicLetterBehWithThreeDotsHorizontallyBelow
}
pub fn name(&self) -> &str {
match self {
ArabicSupplement::ArabicLetterBehWithThreeDotsHorizontallyBelow => "arabic letter beh with three dots horizontally below",
ArabicSupplement::ArabicLetterBehWithDotBelowAndThreeDotsAbove => "arabic letter beh with dot below and three dots above",
ArabicSupplement::ArabicLetterBehWithThreeDotsPointingUpwardsBelow => "arabic letter beh with three dots pointing upwards below",
ArabicSupplement::ArabicLetterBehWithThreeDotsPointingUpwardsBelowAndTwoDotsAbove => "arabic letter beh with three dots pointing upwards below and two dots above",
ArabicSupplement::ArabicLetterBehWithTwoDotsBelowAndDotAbove => "arabic letter beh with two dots below and dot above",
ArabicSupplement::ArabicLetterBehWithInvertedSmallVBelow => "arabic letter beh with inverted small v below",
ArabicSupplement::ArabicLetterBehWithSmallV => "arabic letter beh with small v",
ArabicSupplement::ArabicLetterHahWithTwoDotsAbove => "arabic letter hah with two dots above",
ArabicSupplement::ArabicLetterHahWithThreeDotsPointingUpwardsBelow => "arabic letter hah with three dots pointing upwards below",
ArabicSupplement::ArabicLetterDalWithTwoDotsVerticallyBelowAndSmallTah => "arabic letter dal with two dots vertically below and small tah",
ArabicSupplement::ArabicLetterDalWithInvertedSmallVBelow => "arabic letter dal with inverted small v below",
ArabicSupplement::ArabicLetterRehWithStroke => "arabic letter reh with stroke",
ArabicSupplement::ArabicLetterSeenWithFourDotsAbove => "arabic letter seen with four dots above",
ArabicSupplement::ArabicLetterAinWithTwoDotsAbove => "arabic letter ain with two dots above",
ArabicSupplement::ArabicLetterAinWithThreeDotsPointingDownwardsAbove => "arabic letter ain with three dots pointing downwards above",
ArabicSupplement::ArabicLetterAinWithTwoDotsVerticallyAbove => "arabic letter ain with two dots vertically above",
ArabicSupplement::ArabicLetterFehWithTwoDotsBelow => "arabic letter feh with two dots below",
ArabicSupplement::ArabicLetterFehWithThreeDotsPointingUpwardsBelow => "arabic letter feh with three dots pointing upwards below",
ArabicSupplement::ArabicLetterKehehWithDotAbove => "arabic letter keheh with dot above",
ArabicSupplement::ArabicLetterKehehWithThreeDotsAbove => "arabic letter keheh with three dots above",
ArabicSupplement::ArabicLetterKehehWithThreeDotsPointingUpwardsBelow => "arabic letter keheh with three dots pointing upwards below",
ArabicSupplement::ArabicLetterMeemWithDotAbove => "arabic letter meem with dot above",
ArabicSupplement::ArabicLetterMeemWithDotBelow => "arabic letter meem with dot below",
ArabicSupplement::ArabicLetterNoonWithTwoDotsBelow => "arabic letter noon with two dots below",
ArabicSupplement::ArabicLetterNoonWithSmallTah => "arabic letter noon with small tah",
ArabicSupplement::ArabicLetterNoonWithSmallV => "arabic letter noon with small v",
ArabicSupplement::ArabicLetterLamWithBar => "arabic letter lam with bar",
ArabicSupplement::ArabicLetterRehWithTwoDotsVerticallyAbove => "arabic letter reh with two dots vertically above",
ArabicSupplement::ArabicLetterRehWithHamzaAbove => "arabic letter reh with hamza above",
ArabicSupplement::ArabicLetterSeenWithTwoDotsVerticallyAbove => "arabic letter seen with two dots vertically above",
ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahBelow => "arabic letter hah with small arabic letter tah below",
ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahAndTwoDots => "arabic letter hah with small arabic letter tah and two dots",
ArabicSupplement::ArabicLetterSeenWithSmallArabicLetterTahAndTwoDots => "arabic letter seen with small arabic letter tah and two dots",
ArabicSupplement::ArabicLetterRehWithSmallArabicLetterTahAndTwoDots => "arabic letter reh with small arabic letter tah and two dots",
ArabicSupplement::ArabicLetterHahWithSmallArabicLetterTahAbove => "arabic letter hah with small arabic letter tah above",
ArabicSupplement::ArabicLetterAlefWithExtendedArabicDashIndicDigitTwoAbove => "arabic letter alef with extended arabic-indic digit two above",
ArabicSupplement::ArabicLetterAlefWithExtendedArabicDashIndicDigitThreeAbove => "arabic letter alef with extended arabic-indic digit three above",
ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitTwoAbove => "arabic letter farsi yeh with extended arabic-indic digit two above",
ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitThreeAbove => "arabic letter farsi yeh with extended arabic-indic digit three above",
ArabicSupplement::ArabicLetterFarsiYehWithExtendedArabicDashIndicDigitFourBelow => "arabic letter farsi yeh with extended arabic-indic digit four below",
ArabicSupplement::ArabicLetterWawWithExtendedArabicDashIndicDigitTwoAbove => "arabic letter waw with extended arabic-indic digit two above",
ArabicSupplement::ArabicLetterWawWithExtendedArabicDashIndicDigitThreeAbove => "arabic letter waw with extended arabic-indic digit three above",
ArabicSupplement::ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitTwoAbove => "arabic letter yeh barree with extended arabic-indic digit two above",
ArabicSupplement::ArabicLetterYehBarreeWithExtendedArabicDashIndicDigitThreeAbove => "arabic letter yeh barree with extended arabic-indic digit three above",
ArabicSupplement::ArabicLetterHahWithExtendedArabicDashIndicDigitFourBelow => "arabic letter hah with extended arabic-indic digit four below",
ArabicSupplement::ArabicLetterSeenWithExtendedArabicDashIndicDigitFourAbove => "arabic letter seen with extended arabic-indic digit four above",
ArabicSupplement::ArabicLetterSeenWithInvertedV => "arabic letter seen with inverted v",
}
}
}