readsight 1.0.2

Multilingual readability library — 86 languages, 17 formulas, TeX-based syllable counting via the Frank M. Liang algorithm.
Documentation
//! Writing-system enumeration.

use serde::Deserialize;

/// Writing system of a language. String-backed; the serialized value equals the
/// variant name (e.g. `"Latin"`, `"CJK"`).
#[allow(missing_docs)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize)]
pub enum Script {
    Latin,
    Cyrillic,
    Arabic,
    Hebrew,
    Devanagari,
    Bengali,
    Greek,
    Armenian,
    Georgian,
    Thai,
    Tamil,
    Telugu,
    Kannada,
    Malayalam,
    Gujarati,
    Gurmukhi,
    Odia,
    Ethiopic,
    Coptic,
    CJK,
    Other,
}

impl Script {
    /// The string form (equal to the variant name).
    pub fn as_str(&self) -> &'static str {
        match self {
            Script::Latin => "Latin",
            Script::Cyrillic => "Cyrillic",
            Script::Arabic => "Arabic",
            Script::Hebrew => "Hebrew",
            Script::Devanagari => "Devanagari",
            Script::Bengali => "Bengali",
            Script::Greek => "Greek",
            Script::Armenian => "Armenian",
            Script::Georgian => "Georgian",
            Script::Thai => "Thai",
            Script::Tamil => "Tamil",
            Script::Telugu => "Telugu",
            Script::Kannada => "Kannada",
            Script::Malayalam => "Malayalam",
            Script::Gujarati => "Gujarati",
            Script::Gurmukhi => "Gurmukhi",
            Script::Odia => "Odia",
            Script::Ethiopic => "Ethiopic",
            Script::Coptic => "Coptic",
            Script::CJK => "CJK",
            Script::Other => "Other",
        }
    }
}