lipilekhika 1.1.0

A transliteration library for Indian Brahmic scripts
use strum::{AsRefStr, Display, EnumString};
/// The list of all supported scripts (internal resolved type)
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, AsRefStr, Display, EnumString)]
#[strum(ascii_case_insensitive)]
pub enum ScriptListEnum {
    #[strum(serialize = "Devanagari")]
    Devanagari,
    #[strum(serialize = "Telugu")]
    Telugu,
    #[strum(serialize = "Tamil")]
    Tamil,
    #[strum(serialize = "Tamil-Extended")]
    TamilExtended,
    #[strum(serialize = "Bengali")]
    Bengali,
    #[strum(serialize = "Kannada")]
    Kannada,
    #[strum(serialize = "Gujarati")]
    Gujarati,
    #[strum(serialize = "Malayalam")]
    Malayalam,
    #[strum(serialize = "Odia")]
    Odia,
    #[strum(serialize = "Sinhala")]
    Sinhala,
    #[strum(serialize = "Normal")]
    Normal,
    #[strum(serialize = "Romanized")]
    Romanized,
    #[strum(serialize = "Gurumukhi")]
    Gurumukhi,
    #[strum(serialize = "Assamese")]
    Assamese,
    #[strum(serialize = "Purna-Devanagari")]
    PurnaDevanagari,
    #[strum(serialize = "Brahmi")]
    Brahmi,
    #[strum(serialize = "Granth")]
    Granth,
    #[strum(serialize = "Modi")]
    Modi,
    #[strum(serialize = "Sharada")]
    Sharada,
    #[strum(serialize = "Siddham")]
    Siddham,
}
/// List of all supported scripts, languages and their aliases
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, AsRefStr, Display, EnumString)]
#[strum(ascii_case_insensitive)]
pub enum Script {
    #[strum(serialize = "Devanagari")]
    Devanagari,
    #[strum(serialize = "Telugu")]
    Telugu,
    #[strum(serialize = "Tamil")]
    Tamil,
    #[strum(serialize = "Tamil-Extended")]
    TamilExtended,
    #[strum(serialize = "Bengali")]
    Bengali,
    #[strum(serialize = "Kannada")]
    Kannada,
    #[strum(serialize = "Gujarati")]
    Gujarati,
    #[strum(serialize = "Malayalam")]
    Malayalam,
    #[strum(serialize = "Odia")]
    Odia,
    #[strum(serialize = "Sinhala")]
    Sinhala,
    #[strum(serialize = "Normal")]
    Normal,
    #[strum(serialize = "Romanized")]
    Romanized,
    #[strum(serialize = "Gurumukhi")]
    Gurumukhi,
    #[strum(serialize = "Assamese")]
    Assamese,
    #[strum(serialize = "Purna-Devanagari")]
    PurnaDevanagari,
    #[strum(serialize = "Brahmi")]
    Brahmi,
    #[strum(serialize = "Granth")]
    Granth,
    #[strum(serialize = "Modi")]
    Modi,
    #[strum(serialize = "Sharada")]
    Sharada,
    #[strum(serialize = "Siddham")]
    Siddham,
    #[strum(serialize = "English")]
    English,
    #[strum(serialize = "Sanskrit")]
    Sanskrit,
    #[strum(serialize = "Hindi")]
    Hindi,
    #[strum(serialize = "Marathi")]
    Marathi,
    #[strum(serialize = "Nepali")]
    Nepali,
    #[strum(serialize = "Punjabi")]
    Punjabi,
    #[strum(serialize = "nep")]
    Nep,
    #[strum(serialize = "nor")]
    Nor,
    #[strum(serialize = "norm")]
    Norm,
    #[strum(serialize = "sa")]
    Sa,
    #[strum(serialize = "hi")]
    Hi,
    #[strum(serialize = "sin")]
    Sin,
    #[strum(serialize = "kan")]
    Kan,
    #[strum(serialize = "be")]
    Be,
    #[strum(serialize = "tam-ext")]
    TamExt,
    #[strum(serialize = "la")]
    La,
    #[strum(serialize = "gur")]
    Gur,
    #[strum(serialize = "tam")]
    Tam,
    #[strum(serialize = "or")]
    Or,
    #[strum(serialize = "pun")]
    Pun,
    #[strum(serialize = "tel")]
    Tel,
    #[strum(serialize = "ben")]
    Ben,
    #[strum(serialize = "gu")]
    Gu,
    #[strum(serialize = "eng")]
    Eng,
    #[strum(serialize = "lat")]
    Lat,
    #[strum(serialize = "san")]
    San,
    #[strum(serialize = "de")]
    De,
    #[strum(serialize = "od")]
    Od,
    #[strum(serialize = "si")]
    Si,
    #[strum(serialize = "sinh")]
    Sinh,
    #[strum(serialize = "guj")]
    Guj,
    #[strum(serialize = "dev")]
    Dev,
    #[strum(serialize = "en")]
    En,
    #[strum(serialize = "hin")]
    Hin,
    #[strum(serialize = "mal")]
    Mal,
    #[strum(serialize = "ne")]
    Ne,
    #[strum(serialize = "oriya")]
    Oriya,
    #[strum(serialize = "as")]
    ValueAs,
    #[strum(serialize = "te")]
    Te,
    #[strum(serialize = "rom")]
    Rom,
    #[strum(serialize = "ta-ext")]
    TaExt,
    #[strum(serialize = "ka")]
    Ka,
    #[strum(serialize = "mar")]
    Mar,
}
impl From<Script> for ScriptListEnum {
    fn from(lang: Script) -> Self {
        match lang {
            Script::Devanagari => ScriptListEnum::Devanagari,
            Script::Telugu => ScriptListEnum::Telugu,
            Script::Tamil => ScriptListEnum::Tamil,
            Script::TamilExtended => ScriptListEnum::TamilExtended,
            Script::Bengali => ScriptListEnum::Bengali,
            Script::Kannada => ScriptListEnum::Kannada,
            Script::Gujarati => ScriptListEnum::Gujarati,
            Script::Malayalam => ScriptListEnum::Malayalam,
            Script::Odia => ScriptListEnum::Odia,
            Script::Sinhala => ScriptListEnum::Sinhala,
            Script::Normal => ScriptListEnum::Normal,
            Script::Romanized => ScriptListEnum::Romanized,
            Script::Gurumukhi => ScriptListEnum::Gurumukhi,
            Script::Assamese => ScriptListEnum::Assamese,
            Script::PurnaDevanagari => ScriptListEnum::PurnaDevanagari,
            Script::Brahmi => ScriptListEnum::Brahmi,
            Script::Granth => ScriptListEnum::Granth,
            Script::Modi => ScriptListEnum::Modi,
            Script::Sharada => ScriptListEnum::Sharada,
            Script::Siddham => ScriptListEnum::Siddham,
            Script::English => ScriptListEnum::Normal,
            Script::Sanskrit => ScriptListEnum::Devanagari,
            Script::Hindi => ScriptListEnum::Devanagari,
            Script::Marathi => ScriptListEnum::Devanagari,
            Script::Nepali => ScriptListEnum::Devanagari,
            Script::Punjabi => ScriptListEnum::Gurumukhi,
            Script::Nep => ScriptListEnum::Devanagari,
            Script::Nor => ScriptListEnum::Normal,
            Script::Norm => ScriptListEnum::Normal,
            Script::Sa => ScriptListEnum::Devanagari,
            Script::Hi => ScriptListEnum::Devanagari,
            Script::Sin => ScriptListEnum::Sinhala,
            Script::Kan => ScriptListEnum::Kannada,
            Script::Be => ScriptListEnum::Bengali,
            Script::TamExt => ScriptListEnum::TamilExtended,
            Script::La => ScriptListEnum::Normal,
            Script::Gur => ScriptListEnum::Gurumukhi,
            Script::Tam => ScriptListEnum::Tamil,
            Script::Or => ScriptListEnum::Odia,
            Script::Pun => ScriptListEnum::Gurumukhi,
            Script::Tel => ScriptListEnum::Telugu,
            Script::Ben => ScriptListEnum::Bengali,
            Script::Gu => ScriptListEnum::Gujarati,
            Script::Eng => ScriptListEnum::Normal,
            Script::Lat => ScriptListEnum::Normal,
            Script::San => ScriptListEnum::Devanagari,
            Script::De => ScriptListEnum::Devanagari,
            Script::Od => ScriptListEnum::Odia,
            Script::Si => ScriptListEnum::Sinhala,
            Script::Sinh => ScriptListEnum::Sinhala,
            Script::Guj => ScriptListEnum::Gujarati,
            Script::Dev => ScriptListEnum::Devanagari,
            Script::En => ScriptListEnum::Normal,
            Script::Hin => ScriptListEnum::Devanagari,
            Script::Mal => ScriptListEnum::Malayalam,
            Script::Ne => ScriptListEnum::Devanagari,
            Script::Oriya => ScriptListEnum::Odia,
            Script::ValueAs => ScriptListEnum::Assamese,
            Script::Te => ScriptListEnum::Telugu,
            Script::Rom => ScriptListEnum::Romanized,
            Script::TaExt => ScriptListEnum::TamilExtended,
            Script::Ka => ScriptListEnum::Kannada,
            Script::Mar => ScriptListEnum::Devanagari,
        }
    }
}