mod constants {
pub const ARABIC_LETTER_BEH_WITH_SMALL_V_BELOW: char = 'ࢠ';
pub const ARABIC_LETTER_BEH_WITH_HAMZA_ABOVE: char = 'ࢡ';
pub const ARABIC_LETTER_JEEM_WITH_TWO_DOTS_ABOVE: char = 'ࢢ';
pub const ARABIC_LETTER_TAH_WITH_TWO_DOTS_ABOVE: char = 'ࢣ';
pub const ARABIC_LETTER_FEH_WITH_DOT_BELOW_AND_THREE_DOTS_ABOVE: char = 'ࢤ';
pub const ARABIC_LETTER_QAF_WITH_DOT_BELOW: char = 'ࢥ';
pub const ARABIC_LETTER_LAM_WITH_DOUBLE_BAR: char = 'ࢦ';
pub const ARABIC_LETTER_MEEM_WITH_THREE_DOTS_ABOVE: char = 'ࢧ';
pub const ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_HAMZA_ABOVE: char = 'ࢨ';
pub const ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_DOT_ABOVE: char = 'ࢩ';
pub const ARABIC_LETTER_REH_WITH_LOOP: char = 'ࢪ';
pub const ARABIC_LETTER_WAW_WITH_DOT_WITHIN: char = 'ࢫ';
pub const ARABIC_LETTER_ROHINGYA_YEH: char = 'ࢬ';
pub const ARABIC_LETTER_LOW_ALEF: char = 'ࢭ';
pub const ARABIC_LETTER_DAL_WITH_THREE_DOTS_BELOW: char = 'ࢮ';
pub const ARABIC_LETTER_SAD_WITH_THREE_DOTS_BELOW: char = 'ࢯ';
pub const ARABIC_LETTER_GAF_WITH_INVERTED_STROKE: char = 'ࢰ';
pub const ARABIC_LETTER_STRAIGHT_WAW: char = 'ࢱ';
pub const ARABIC_LETTER_ZAIN_WITH_INVERTED_V_ABOVE: char = 'ࢲ';
pub const ARABIC_LETTER_AIN_WITH_THREE_DOTS_BELOW: char = 'ࢳ';
pub const ARABIC_LETTER_KAF_WITH_DOT_BELOW: char = 'ࢴ';
pub const ARABIC_LETTER_BEH_WITH_SMALL_MEEM_ABOVE: char = 'ࢶ';
pub const ARABIC_LETTER_PEH_WITH_SMALL_MEEM_ABOVE: char = 'ࢷ';
pub const ARABIC_LETTER_TEH_WITH_SMALL_TEH_ABOVE: char = 'ࢸ';
pub const ARABIC_LETTER_REH_WITH_SMALL_NOON_ABOVE: char = 'ࢹ';
pub const ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_SMALL_NOON_ABOVE: char = 'ࢺ';
pub const ARABIC_LETTER_AFRICAN_FEH: char = 'ࢻ';
pub const ARABIC_LETTER_AFRICAN_QAF: char = 'ࢼ';
pub const ARABIC_LETTER_AFRICAN_NOON: char = 'ࢽ';
pub const ARABIC_SMALL_LOW_WAW: char = '࣓';
pub const ARABIC_SMALL_HIGH_WORD_AR_DASH_RUB: char = 'ࣔ';
pub const ARABIC_SMALL_HIGH_SAD: char = 'ࣕ';
pub const ARABIC_SMALL_HIGH_AIN: char = 'ࣖ';
pub const ARABIC_SMALL_HIGH_QAF: char = 'ࣗ';
pub const ARABIC_SMALL_HIGH_NOON_WITH_KASRA: char = 'ࣘ';
pub const ARABIC_SMALL_LOW_NOON_WITH_KASRA: char = 'ࣙ';
pub const ARABIC_SMALL_HIGH_WORD_ATH_DASH_THALATHA: char = 'ࣚ';
pub const ARABIC_SMALL_HIGH_WORD_AS_DASH_SAJDA: char = 'ࣛ';
pub const ARABIC_SMALL_HIGH_WORD_AN_DASH_NISF: char = 'ࣜ';
pub const ARABIC_SMALL_HIGH_WORD_SAKTA: char = 'ࣝ';
pub const ARABIC_SMALL_HIGH_WORD_QIF: char = 'ࣞ';
pub const ARABIC_SMALL_HIGH_WORD_WAQFA: char = 'ࣟ';
pub const ARABIC_SMALL_HIGH_FOOTNOTE_MARKER: char = '࣠';
pub const ARABIC_SMALL_HIGH_SIGN_SAFHA: char = '࣡';
pub const ARABIC_DISPUTED_END_OF_AYAH: char = '';
pub const ARABIC_TURNED_DAMMA_BELOW: char = 'ࣣ';
pub const ARABIC_CURLY_FATHA: char = 'ࣤ';
pub const ARABIC_CURLY_DAMMA: char = 'ࣥ';
pub const ARABIC_CURLY_KASRA: char = 'ࣦ';
pub const ARABIC_CURLY_FATHATAN: char = 'ࣧ';
pub const ARABIC_CURLY_DAMMATAN: char = 'ࣨ';
pub const ARABIC_CURLY_KASRATAN: char = 'ࣩ';
pub const ARABIC_TONE_ONE_DOT_ABOVE: char = '࣪';
pub const ARABIC_TONE_TWO_DOTS_ABOVE: char = '࣫';
pub const ARABIC_TONE_LOOP_ABOVE: char = '࣬';
pub const ARABIC_TONE_ONE_DOT_BELOW: char = '࣭';
pub const ARABIC_TONE_TWO_DOTS_BELOW: char = '࣮';
pub const ARABIC_TONE_LOOP_BELOW: char = '࣯';
pub const ARABIC_OPEN_FATHATAN: char = 'ࣰ';
pub const ARABIC_OPEN_DAMMATAN: char = 'ࣱ';
pub const ARABIC_OPEN_KASRATAN: char = 'ࣲ';
pub const ARABIC_SMALL_HIGH_WAW: char = 'ࣳ';
pub const ARABIC_FATHA_WITH_RING: char = 'ࣴ';
pub const ARABIC_FATHA_WITH_DOT_ABOVE: char = 'ࣵ';
pub const ARABIC_KASRA_WITH_DOT_BELOW: char = 'ࣶ';
pub const ARABIC_LEFT_ARROWHEAD_ABOVE: char = 'ࣷ';
pub const ARABIC_RIGHT_ARROWHEAD_ABOVE: char = 'ࣸ';
pub const ARABIC_LEFT_ARROWHEAD_BELOW: char = 'ࣹ';
pub const ARABIC_RIGHT_ARROWHEAD_BELOW: char = 'ࣺ';
pub const ARABIC_DOUBLE_RIGHT_ARROWHEAD_ABOVE: char = 'ࣻ';
pub const ARABIC_DOUBLE_RIGHT_ARROWHEAD_ABOVE_WITH_DOT: char = 'ࣼ';
pub const ARABIC_RIGHT_ARROWHEAD_ABOVE_WITH_DOT: char = 'ࣽ';
pub const ARABIC_DAMMA_WITH_DOT: char = 'ࣾ';
}
#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum ArabicExtendedA {
ArabicLetterBehWithSmallVBelow,
ArabicLetterBehWithHamzaAbove,
ArabicLetterJeemWithTwoDotsAbove,
ArabicLetterTahWithTwoDotsAbove,
ArabicLetterFehWithDotBelowAndThreeDotsAbove,
ArabicLetterQafWithDotBelow,
ArabicLetterLamWithDoubleBar,
ArabicLetterMeemWithThreeDotsAbove,
ArabicLetterYehWithTwoDotsBelowAndHamzaAbove,
ArabicLetterYehWithTwoDotsBelowAndDotAbove,
ArabicLetterRehWithLoop,
ArabicLetterWawWithDotWithin,
ArabicLetterRohingyaYeh,
ArabicLetterLowAlef,
ArabicLetterDalWithThreeDotsBelow,
ArabicLetterSadWithThreeDotsBelow,
ArabicLetterGafWithInvertedStroke,
ArabicLetterStraightWaw,
ArabicLetterZainWithInvertedVAbove,
ArabicLetterAinWithThreeDotsBelow,
ArabicLetterKafWithDotBelow,
ArabicLetterBehWithSmallMeemAbove,
ArabicLetterPehWithSmallMeemAbove,
ArabicLetterTehWithSmallTehAbove,
ArabicLetterRehWithSmallNoonAbove,
ArabicLetterYehWithTwoDotsBelowAndSmallNoonAbove,
ArabicLetterAfricanFeh,
ArabicLetterAfricanQaf,
ArabicLetterAfricanNoon,
ArabicSmallLowWaw,
ArabicSmallHighWordArDashRub,
ArabicSmallHighSad,
ArabicSmallHighAin,
ArabicSmallHighQaf,
ArabicSmallHighNoonWithKasra,
ArabicSmallLowNoonWithKasra,
ArabicSmallHighWordAthDashThalatha,
ArabicSmallHighWordAsDashSajda,
ArabicSmallHighWordAnDashNisf,
ArabicSmallHighWordSakta,
ArabicSmallHighWordQif,
ArabicSmallHighWordWaqfa,
ArabicSmallHighFootnoteMarker,
ArabicSmallHighSignSafha,
ArabicDisputedEndOfAyah,
ArabicTurnedDammaBelow,
ArabicCurlyFatha,
ArabicCurlyDamma,
ArabicCurlyKasra,
ArabicCurlyFathatan,
ArabicCurlyDammatan,
ArabicCurlyKasratan,
ArabicToneOneDotAbove,
ArabicToneTwoDotsAbove,
ArabicToneLoopAbove,
ArabicToneOneDotBelow,
ArabicToneTwoDotsBelow,
ArabicToneLoopBelow,
ArabicOpenFathatan,
ArabicOpenDammatan,
ArabicOpenKasratan,
ArabicSmallHighWaw,
ArabicFathaWithRing,
ArabicFathaWithDotAbove,
ArabicKasraWithDotBelow,
ArabicLeftArrowheadAbove,
ArabicRightArrowheadAbove,
ArabicLeftArrowheadBelow,
ArabicRightArrowheadBelow,
ArabicDoubleRightArrowheadAbove,
ArabicDoubleRightArrowheadAboveWithDot,
ArabicRightArrowheadAboveWithDot,
ArabicDammaWithDot,
}
impl Into<char> for ArabicExtendedA {
fn into(self) -> char {
use constants::*;
match self {
ArabicExtendedA::ArabicLetterBehWithSmallVBelow => ARABIC_LETTER_BEH_WITH_SMALL_V_BELOW,
ArabicExtendedA::ArabicLetterBehWithHamzaAbove => ARABIC_LETTER_BEH_WITH_HAMZA_ABOVE,
ArabicExtendedA::ArabicLetterJeemWithTwoDotsAbove => ARABIC_LETTER_JEEM_WITH_TWO_DOTS_ABOVE,
ArabicExtendedA::ArabicLetterTahWithTwoDotsAbove => ARABIC_LETTER_TAH_WITH_TWO_DOTS_ABOVE,
ArabicExtendedA::ArabicLetterFehWithDotBelowAndThreeDotsAbove => ARABIC_LETTER_FEH_WITH_DOT_BELOW_AND_THREE_DOTS_ABOVE,
ArabicExtendedA::ArabicLetterQafWithDotBelow => ARABIC_LETTER_QAF_WITH_DOT_BELOW,
ArabicExtendedA::ArabicLetterLamWithDoubleBar => ARABIC_LETTER_LAM_WITH_DOUBLE_BAR,
ArabicExtendedA::ArabicLetterMeemWithThreeDotsAbove => ARABIC_LETTER_MEEM_WITH_THREE_DOTS_ABOVE,
ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndHamzaAbove => ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_HAMZA_ABOVE,
ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndDotAbove => ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_DOT_ABOVE,
ArabicExtendedA::ArabicLetterRehWithLoop => ARABIC_LETTER_REH_WITH_LOOP,
ArabicExtendedA::ArabicLetterWawWithDotWithin => ARABIC_LETTER_WAW_WITH_DOT_WITHIN,
ArabicExtendedA::ArabicLetterRohingyaYeh => ARABIC_LETTER_ROHINGYA_YEH,
ArabicExtendedA::ArabicLetterLowAlef => ARABIC_LETTER_LOW_ALEF,
ArabicExtendedA::ArabicLetterDalWithThreeDotsBelow => ARABIC_LETTER_DAL_WITH_THREE_DOTS_BELOW,
ArabicExtendedA::ArabicLetterSadWithThreeDotsBelow => ARABIC_LETTER_SAD_WITH_THREE_DOTS_BELOW,
ArabicExtendedA::ArabicLetterGafWithInvertedStroke => ARABIC_LETTER_GAF_WITH_INVERTED_STROKE,
ArabicExtendedA::ArabicLetterStraightWaw => ARABIC_LETTER_STRAIGHT_WAW,
ArabicExtendedA::ArabicLetterZainWithInvertedVAbove => ARABIC_LETTER_ZAIN_WITH_INVERTED_V_ABOVE,
ArabicExtendedA::ArabicLetterAinWithThreeDotsBelow => ARABIC_LETTER_AIN_WITH_THREE_DOTS_BELOW,
ArabicExtendedA::ArabicLetterKafWithDotBelow => ARABIC_LETTER_KAF_WITH_DOT_BELOW,
ArabicExtendedA::ArabicLetterBehWithSmallMeemAbove => ARABIC_LETTER_BEH_WITH_SMALL_MEEM_ABOVE,
ArabicExtendedA::ArabicLetterPehWithSmallMeemAbove => ARABIC_LETTER_PEH_WITH_SMALL_MEEM_ABOVE,
ArabicExtendedA::ArabicLetterTehWithSmallTehAbove => ARABIC_LETTER_TEH_WITH_SMALL_TEH_ABOVE,
ArabicExtendedA::ArabicLetterRehWithSmallNoonAbove => ARABIC_LETTER_REH_WITH_SMALL_NOON_ABOVE,
ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndSmallNoonAbove => ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_SMALL_NOON_ABOVE,
ArabicExtendedA::ArabicLetterAfricanFeh => ARABIC_LETTER_AFRICAN_FEH,
ArabicExtendedA::ArabicLetterAfricanQaf => ARABIC_LETTER_AFRICAN_QAF,
ArabicExtendedA::ArabicLetterAfricanNoon => ARABIC_LETTER_AFRICAN_NOON,
ArabicExtendedA::ArabicSmallLowWaw => ARABIC_SMALL_LOW_WAW,
ArabicExtendedA::ArabicSmallHighWordArDashRub => ARABIC_SMALL_HIGH_WORD_AR_DASH_RUB,
ArabicExtendedA::ArabicSmallHighSad => ARABIC_SMALL_HIGH_SAD,
ArabicExtendedA::ArabicSmallHighAin => ARABIC_SMALL_HIGH_AIN,
ArabicExtendedA::ArabicSmallHighQaf => ARABIC_SMALL_HIGH_QAF,
ArabicExtendedA::ArabicSmallHighNoonWithKasra => ARABIC_SMALL_HIGH_NOON_WITH_KASRA,
ArabicExtendedA::ArabicSmallLowNoonWithKasra => ARABIC_SMALL_LOW_NOON_WITH_KASRA,
ArabicExtendedA::ArabicSmallHighWordAthDashThalatha => ARABIC_SMALL_HIGH_WORD_ATH_DASH_THALATHA,
ArabicExtendedA::ArabicSmallHighWordAsDashSajda => ARABIC_SMALL_HIGH_WORD_AS_DASH_SAJDA,
ArabicExtendedA::ArabicSmallHighWordAnDashNisf => ARABIC_SMALL_HIGH_WORD_AN_DASH_NISF,
ArabicExtendedA::ArabicSmallHighWordSakta => ARABIC_SMALL_HIGH_WORD_SAKTA,
ArabicExtendedA::ArabicSmallHighWordQif => ARABIC_SMALL_HIGH_WORD_QIF,
ArabicExtendedA::ArabicSmallHighWordWaqfa => ARABIC_SMALL_HIGH_WORD_WAQFA,
ArabicExtendedA::ArabicSmallHighFootnoteMarker => ARABIC_SMALL_HIGH_FOOTNOTE_MARKER,
ArabicExtendedA::ArabicSmallHighSignSafha => ARABIC_SMALL_HIGH_SIGN_SAFHA,
ArabicExtendedA::ArabicDisputedEndOfAyah => ARABIC_DISPUTED_END_OF_AYAH,
ArabicExtendedA::ArabicTurnedDammaBelow => ARABIC_TURNED_DAMMA_BELOW,
ArabicExtendedA::ArabicCurlyFatha => ARABIC_CURLY_FATHA,
ArabicExtendedA::ArabicCurlyDamma => ARABIC_CURLY_DAMMA,
ArabicExtendedA::ArabicCurlyKasra => ARABIC_CURLY_KASRA,
ArabicExtendedA::ArabicCurlyFathatan => ARABIC_CURLY_FATHATAN,
ArabicExtendedA::ArabicCurlyDammatan => ARABIC_CURLY_DAMMATAN,
ArabicExtendedA::ArabicCurlyKasratan => ARABIC_CURLY_KASRATAN,
ArabicExtendedA::ArabicToneOneDotAbove => ARABIC_TONE_ONE_DOT_ABOVE,
ArabicExtendedA::ArabicToneTwoDotsAbove => ARABIC_TONE_TWO_DOTS_ABOVE,
ArabicExtendedA::ArabicToneLoopAbove => ARABIC_TONE_LOOP_ABOVE,
ArabicExtendedA::ArabicToneOneDotBelow => ARABIC_TONE_ONE_DOT_BELOW,
ArabicExtendedA::ArabicToneTwoDotsBelow => ARABIC_TONE_TWO_DOTS_BELOW,
ArabicExtendedA::ArabicToneLoopBelow => ARABIC_TONE_LOOP_BELOW,
ArabicExtendedA::ArabicOpenFathatan => ARABIC_OPEN_FATHATAN,
ArabicExtendedA::ArabicOpenDammatan => ARABIC_OPEN_DAMMATAN,
ArabicExtendedA::ArabicOpenKasratan => ARABIC_OPEN_KASRATAN,
ArabicExtendedA::ArabicSmallHighWaw => ARABIC_SMALL_HIGH_WAW,
ArabicExtendedA::ArabicFathaWithRing => ARABIC_FATHA_WITH_RING,
ArabicExtendedA::ArabicFathaWithDotAbove => ARABIC_FATHA_WITH_DOT_ABOVE,
ArabicExtendedA::ArabicKasraWithDotBelow => ARABIC_KASRA_WITH_DOT_BELOW,
ArabicExtendedA::ArabicLeftArrowheadAbove => ARABIC_LEFT_ARROWHEAD_ABOVE,
ArabicExtendedA::ArabicRightArrowheadAbove => ARABIC_RIGHT_ARROWHEAD_ABOVE,
ArabicExtendedA::ArabicLeftArrowheadBelow => ARABIC_LEFT_ARROWHEAD_BELOW,
ArabicExtendedA::ArabicRightArrowheadBelow => ARABIC_RIGHT_ARROWHEAD_BELOW,
ArabicExtendedA::ArabicDoubleRightArrowheadAbove => ARABIC_DOUBLE_RIGHT_ARROWHEAD_ABOVE,
ArabicExtendedA::ArabicDoubleRightArrowheadAboveWithDot => ARABIC_DOUBLE_RIGHT_ARROWHEAD_ABOVE_WITH_DOT,
ArabicExtendedA::ArabicRightArrowheadAboveWithDot => ARABIC_RIGHT_ARROWHEAD_ABOVE_WITH_DOT,
ArabicExtendedA::ArabicDammaWithDot => ARABIC_DAMMA_WITH_DOT,
}
}
}
impl std::convert::TryFrom<char> for ArabicExtendedA {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
use constants::*;
match c {
ARABIC_LETTER_BEH_WITH_SMALL_V_BELOW => Ok(ArabicExtendedA::ArabicLetterBehWithSmallVBelow),
ARABIC_LETTER_BEH_WITH_HAMZA_ABOVE => Ok(ArabicExtendedA::ArabicLetterBehWithHamzaAbove),
ARABIC_LETTER_JEEM_WITH_TWO_DOTS_ABOVE => Ok(ArabicExtendedA::ArabicLetterJeemWithTwoDotsAbove),
ARABIC_LETTER_TAH_WITH_TWO_DOTS_ABOVE => Ok(ArabicExtendedA::ArabicLetterTahWithTwoDotsAbove),
ARABIC_LETTER_FEH_WITH_DOT_BELOW_AND_THREE_DOTS_ABOVE => Ok(ArabicExtendedA::ArabicLetterFehWithDotBelowAndThreeDotsAbove),
ARABIC_LETTER_QAF_WITH_DOT_BELOW => Ok(ArabicExtendedA::ArabicLetterQafWithDotBelow),
ARABIC_LETTER_LAM_WITH_DOUBLE_BAR => Ok(ArabicExtendedA::ArabicLetterLamWithDoubleBar),
ARABIC_LETTER_MEEM_WITH_THREE_DOTS_ABOVE => Ok(ArabicExtendedA::ArabicLetterMeemWithThreeDotsAbove),
ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_HAMZA_ABOVE => Ok(ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndHamzaAbove),
ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_DOT_ABOVE => Ok(ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndDotAbove),
ARABIC_LETTER_REH_WITH_LOOP => Ok(ArabicExtendedA::ArabicLetterRehWithLoop),
ARABIC_LETTER_WAW_WITH_DOT_WITHIN => Ok(ArabicExtendedA::ArabicLetterWawWithDotWithin),
ARABIC_LETTER_ROHINGYA_YEH => Ok(ArabicExtendedA::ArabicLetterRohingyaYeh),
ARABIC_LETTER_LOW_ALEF => Ok(ArabicExtendedA::ArabicLetterLowAlef),
ARABIC_LETTER_DAL_WITH_THREE_DOTS_BELOW => Ok(ArabicExtendedA::ArabicLetterDalWithThreeDotsBelow),
ARABIC_LETTER_SAD_WITH_THREE_DOTS_BELOW => Ok(ArabicExtendedA::ArabicLetterSadWithThreeDotsBelow),
ARABIC_LETTER_GAF_WITH_INVERTED_STROKE => Ok(ArabicExtendedA::ArabicLetterGafWithInvertedStroke),
ARABIC_LETTER_STRAIGHT_WAW => Ok(ArabicExtendedA::ArabicLetterStraightWaw),
ARABIC_LETTER_ZAIN_WITH_INVERTED_V_ABOVE => Ok(ArabicExtendedA::ArabicLetterZainWithInvertedVAbove),
ARABIC_LETTER_AIN_WITH_THREE_DOTS_BELOW => Ok(ArabicExtendedA::ArabicLetterAinWithThreeDotsBelow),
ARABIC_LETTER_KAF_WITH_DOT_BELOW => Ok(ArabicExtendedA::ArabicLetterKafWithDotBelow),
ARABIC_LETTER_BEH_WITH_SMALL_MEEM_ABOVE => Ok(ArabicExtendedA::ArabicLetterBehWithSmallMeemAbove),
ARABIC_LETTER_PEH_WITH_SMALL_MEEM_ABOVE => Ok(ArabicExtendedA::ArabicLetterPehWithSmallMeemAbove),
ARABIC_LETTER_TEH_WITH_SMALL_TEH_ABOVE => Ok(ArabicExtendedA::ArabicLetterTehWithSmallTehAbove),
ARABIC_LETTER_REH_WITH_SMALL_NOON_ABOVE => Ok(ArabicExtendedA::ArabicLetterRehWithSmallNoonAbove),
ARABIC_LETTER_YEH_WITH_TWO_DOTS_BELOW_AND_SMALL_NOON_ABOVE => Ok(ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndSmallNoonAbove),
ARABIC_LETTER_AFRICAN_FEH => Ok(ArabicExtendedA::ArabicLetterAfricanFeh),
ARABIC_LETTER_AFRICAN_QAF => Ok(ArabicExtendedA::ArabicLetterAfricanQaf),
ARABIC_LETTER_AFRICAN_NOON => Ok(ArabicExtendedA::ArabicLetterAfricanNoon),
ARABIC_SMALL_LOW_WAW => Ok(ArabicExtendedA::ArabicSmallLowWaw),
ARABIC_SMALL_HIGH_WORD_AR_DASH_RUB => Ok(ArabicExtendedA::ArabicSmallHighWordArDashRub),
ARABIC_SMALL_HIGH_SAD => Ok(ArabicExtendedA::ArabicSmallHighSad),
ARABIC_SMALL_HIGH_AIN => Ok(ArabicExtendedA::ArabicSmallHighAin),
ARABIC_SMALL_HIGH_QAF => Ok(ArabicExtendedA::ArabicSmallHighQaf),
ARABIC_SMALL_HIGH_NOON_WITH_KASRA => Ok(ArabicExtendedA::ArabicSmallHighNoonWithKasra),
ARABIC_SMALL_LOW_NOON_WITH_KASRA => Ok(ArabicExtendedA::ArabicSmallLowNoonWithKasra),
ARABIC_SMALL_HIGH_WORD_ATH_DASH_THALATHA => Ok(ArabicExtendedA::ArabicSmallHighWordAthDashThalatha),
ARABIC_SMALL_HIGH_WORD_AS_DASH_SAJDA => Ok(ArabicExtendedA::ArabicSmallHighWordAsDashSajda),
ARABIC_SMALL_HIGH_WORD_AN_DASH_NISF => Ok(ArabicExtendedA::ArabicSmallHighWordAnDashNisf),
ARABIC_SMALL_HIGH_WORD_SAKTA => Ok(ArabicExtendedA::ArabicSmallHighWordSakta),
ARABIC_SMALL_HIGH_WORD_QIF => Ok(ArabicExtendedA::ArabicSmallHighWordQif),
ARABIC_SMALL_HIGH_WORD_WAQFA => Ok(ArabicExtendedA::ArabicSmallHighWordWaqfa),
ARABIC_SMALL_HIGH_FOOTNOTE_MARKER => Ok(ArabicExtendedA::ArabicSmallHighFootnoteMarker),
ARABIC_SMALL_HIGH_SIGN_SAFHA => Ok(ArabicExtendedA::ArabicSmallHighSignSafha),
ARABIC_DISPUTED_END_OF_AYAH => Ok(ArabicExtendedA::ArabicDisputedEndOfAyah),
ARABIC_TURNED_DAMMA_BELOW => Ok(ArabicExtendedA::ArabicTurnedDammaBelow),
ARABIC_CURLY_FATHA => Ok(ArabicExtendedA::ArabicCurlyFatha),
ARABIC_CURLY_DAMMA => Ok(ArabicExtendedA::ArabicCurlyDamma),
ARABIC_CURLY_KASRA => Ok(ArabicExtendedA::ArabicCurlyKasra),
ARABIC_CURLY_FATHATAN => Ok(ArabicExtendedA::ArabicCurlyFathatan),
ARABIC_CURLY_DAMMATAN => Ok(ArabicExtendedA::ArabicCurlyDammatan),
ARABIC_CURLY_KASRATAN => Ok(ArabicExtendedA::ArabicCurlyKasratan),
ARABIC_TONE_ONE_DOT_ABOVE => Ok(ArabicExtendedA::ArabicToneOneDotAbove),
ARABIC_TONE_TWO_DOTS_ABOVE => Ok(ArabicExtendedA::ArabicToneTwoDotsAbove),
ARABIC_TONE_LOOP_ABOVE => Ok(ArabicExtendedA::ArabicToneLoopAbove),
ARABIC_TONE_ONE_DOT_BELOW => Ok(ArabicExtendedA::ArabicToneOneDotBelow),
ARABIC_TONE_TWO_DOTS_BELOW => Ok(ArabicExtendedA::ArabicToneTwoDotsBelow),
ARABIC_TONE_LOOP_BELOW => Ok(ArabicExtendedA::ArabicToneLoopBelow),
ARABIC_OPEN_FATHATAN => Ok(ArabicExtendedA::ArabicOpenFathatan),
ARABIC_OPEN_DAMMATAN => Ok(ArabicExtendedA::ArabicOpenDammatan),
ARABIC_OPEN_KASRATAN => Ok(ArabicExtendedA::ArabicOpenKasratan),
ARABIC_SMALL_HIGH_WAW => Ok(ArabicExtendedA::ArabicSmallHighWaw),
ARABIC_FATHA_WITH_RING => Ok(ArabicExtendedA::ArabicFathaWithRing),
ARABIC_FATHA_WITH_DOT_ABOVE => Ok(ArabicExtendedA::ArabicFathaWithDotAbove),
ARABIC_KASRA_WITH_DOT_BELOW => Ok(ArabicExtendedA::ArabicKasraWithDotBelow),
ARABIC_LEFT_ARROWHEAD_ABOVE => Ok(ArabicExtendedA::ArabicLeftArrowheadAbove),
ARABIC_RIGHT_ARROWHEAD_ABOVE => Ok(ArabicExtendedA::ArabicRightArrowheadAbove),
ARABIC_LEFT_ARROWHEAD_BELOW => Ok(ArabicExtendedA::ArabicLeftArrowheadBelow),
ARABIC_RIGHT_ARROWHEAD_BELOW => Ok(ArabicExtendedA::ArabicRightArrowheadBelow),
ARABIC_DOUBLE_RIGHT_ARROWHEAD_ABOVE => Ok(ArabicExtendedA::ArabicDoubleRightArrowheadAbove),
ARABIC_DOUBLE_RIGHT_ARROWHEAD_ABOVE_WITH_DOT => Ok(ArabicExtendedA::ArabicDoubleRightArrowheadAboveWithDot),
ARABIC_RIGHT_ARROWHEAD_ABOVE_WITH_DOT => Ok(ArabicExtendedA::ArabicRightArrowheadAboveWithDot),
ARABIC_DAMMA_WITH_DOT => Ok(ArabicExtendedA::ArabicDammaWithDot),
_ => Err(()),
}
}
}
impl Into<u32> for ArabicExtendedA {
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 ArabicExtendedA {
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 ArabicExtendedA {
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 ArabicExtendedA {
pub fn new() -> Self {
ArabicExtendedA::ArabicLetterBehWithSmallVBelow
}
pub fn name(&self) -> &str {
match self {
ArabicExtendedA::ArabicLetterBehWithSmallVBelow => "arabic letter beh with small v below",
ArabicExtendedA::ArabicLetterBehWithHamzaAbove => "arabic letter beh with hamza above",
ArabicExtendedA::ArabicLetterJeemWithTwoDotsAbove => "arabic letter jeem with two dots above",
ArabicExtendedA::ArabicLetterTahWithTwoDotsAbove => "arabic letter tah with two dots above",
ArabicExtendedA::ArabicLetterFehWithDotBelowAndThreeDotsAbove => "arabic letter feh with dot below and three dots above",
ArabicExtendedA::ArabicLetterQafWithDotBelow => "arabic letter qaf with dot below",
ArabicExtendedA::ArabicLetterLamWithDoubleBar => "arabic letter lam with double bar",
ArabicExtendedA::ArabicLetterMeemWithThreeDotsAbove => "arabic letter meem with three dots above",
ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndHamzaAbove => "arabic letter yeh with two dots below and hamza above",
ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndDotAbove => "arabic letter yeh with two dots below and dot above",
ArabicExtendedA::ArabicLetterRehWithLoop => "arabic letter reh with loop",
ArabicExtendedA::ArabicLetterWawWithDotWithin => "arabic letter waw with dot within",
ArabicExtendedA::ArabicLetterRohingyaYeh => "arabic letter rohingya yeh",
ArabicExtendedA::ArabicLetterLowAlef => "arabic letter low alef",
ArabicExtendedA::ArabicLetterDalWithThreeDotsBelow => "arabic letter dal with three dots below",
ArabicExtendedA::ArabicLetterSadWithThreeDotsBelow => "arabic letter sad with three dots below",
ArabicExtendedA::ArabicLetterGafWithInvertedStroke => "arabic letter gaf with inverted stroke",
ArabicExtendedA::ArabicLetterStraightWaw => "arabic letter straight waw",
ArabicExtendedA::ArabicLetterZainWithInvertedVAbove => "arabic letter zain with inverted v above",
ArabicExtendedA::ArabicLetterAinWithThreeDotsBelow => "arabic letter ain with three dots below",
ArabicExtendedA::ArabicLetterKafWithDotBelow => "arabic letter kaf with dot below",
ArabicExtendedA::ArabicLetterBehWithSmallMeemAbove => "arabic letter beh with small meem above",
ArabicExtendedA::ArabicLetterPehWithSmallMeemAbove => "arabic letter peh with small meem above",
ArabicExtendedA::ArabicLetterTehWithSmallTehAbove => "arabic letter teh with small teh above",
ArabicExtendedA::ArabicLetterRehWithSmallNoonAbove => "arabic letter reh with small noon above",
ArabicExtendedA::ArabicLetterYehWithTwoDotsBelowAndSmallNoonAbove => "arabic letter yeh with two dots below and small noon above",
ArabicExtendedA::ArabicLetterAfricanFeh => "arabic letter african feh",
ArabicExtendedA::ArabicLetterAfricanQaf => "arabic letter african qaf",
ArabicExtendedA::ArabicLetterAfricanNoon => "arabic letter african noon",
ArabicExtendedA::ArabicSmallLowWaw => "arabic small low waw",
ArabicExtendedA::ArabicSmallHighWordArDashRub => "arabic small high word ar-rub",
ArabicExtendedA::ArabicSmallHighSad => "arabic small high sad",
ArabicExtendedA::ArabicSmallHighAin => "arabic small high ain",
ArabicExtendedA::ArabicSmallHighQaf => "arabic small high qaf",
ArabicExtendedA::ArabicSmallHighNoonWithKasra => "arabic small high noon with kasra",
ArabicExtendedA::ArabicSmallLowNoonWithKasra => "arabic small low noon with kasra",
ArabicExtendedA::ArabicSmallHighWordAthDashThalatha => "arabic small high word ath-thalatha",
ArabicExtendedA::ArabicSmallHighWordAsDashSajda => "arabic small high word as-sajda",
ArabicExtendedA::ArabicSmallHighWordAnDashNisf => "arabic small high word an-nisf",
ArabicExtendedA::ArabicSmallHighWordSakta => "arabic small high word sakta",
ArabicExtendedA::ArabicSmallHighWordQif => "arabic small high word qif",
ArabicExtendedA::ArabicSmallHighWordWaqfa => "arabic small high word waqfa",
ArabicExtendedA::ArabicSmallHighFootnoteMarker => "arabic small high footnote marker",
ArabicExtendedA::ArabicSmallHighSignSafha => "arabic small high sign safha",
ArabicExtendedA::ArabicDisputedEndOfAyah => "arabic disputed end of ayah",
ArabicExtendedA::ArabicTurnedDammaBelow => "arabic turned damma below",
ArabicExtendedA::ArabicCurlyFatha => "arabic curly fatha",
ArabicExtendedA::ArabicCurlyDamma => "arabic curly damma",
ArabicExtendedA::ArabicCurlyKasra => "arabic curly kasra",
ArabicExtendedA::ArabicCurlyFathatan => "arabic curly fathatan",
ArabicExtendedA::ArabicCurlyDammatan => "arabic curly dammatan",
ArabicExtendedA::ArabicCurlyKasratan => "arabic curly kasratan",
ArabicExtendedA::ArabicToneOneDotAbove => "arabic tone one dot above",
ArabicExtendedA::ArabicToneTwoDotsAbove => "arabic tone two dots above",
ArabicExtendedA::ArabicToneLoopAbove => "arabic tone loop above",
ArabicExtendedA::ArabicToneOneDotBelow => "arabic tone one dot below",
ArabicExtendedA::ArabicToneTwoDotsBelow => "arabic tone two dots below",
ArabicExtendedA::ArabicToneLoopBelow => "arabic tone loop below",
ArabicExtendedA::ArabicOpenFathatan => "arabic open fathatan",
ArabicExtendedA::ArabicOpenDammatan => "arabic open dammatan",
ArabicExtendedA::ArabicOpenKasratan => "arabic open kasratan",
ArabicExtendedA::ArabicSmallHighWaw => "arabic small high waw",
ArabicExtendedA::ArabicFathaWithRing => "arabic fatha with ring",
ArabicExtendedA::ArabicFathaWithDotAbove => "arabic fatha with dot above",
ArabicExtendedA::ArabicKasraWithDotBelow => "arabic kasra with dot below",
ArabicExtendedA::ArabicLeftArrowheadAbove => "arabic left arrowhead above",
ArabicExtendedA::ArabicRightArrowheadAbove => "arabic right arrowhead above",
ArabicExtendedA::ArabicLeftArrowheadBelow => "arabic left arrowhead below",
ArabicExtendedA::ArabicRightArrowheadBelow => "arabic right arrowhead below",
ArabicExtendedA::ArabicDoubleRightArrowheadAbove => "arabic double right arrowhead above",
ArabicExtendedA::ArabicDoubleRightArrowheadAboveWithDot => "arabic double right arrowhead above with dot",
ArabicExtendedA::ArabicRightArrowheadAboveWithDot => "arabic right arrowhead above with dot",
ArabicExtendedA::ArabicDammaWithDot => "arabic damma with dot",
}
}
}