Sidney-sunny/moonspoof/src/script does not have a README file

    RestrictionLevel

    pub(all) enum RestrictionLevel {
    SingleScript
    HighlyRestrictive
    ModeratelyRestrictive
    MinimallyRestrictive
    Unrestricted
    } derive(Eq,
    Debug
    )

    Script

    pub(all) enum Script {
    Common
    Inherited
    Latin
    Cyrillic
    Greek
    Arabic
    Hebrew
    Han
    Hiragana
    Katakana
    Hangul
    Unknown
    } derive(Eq,
    Debug
    )

    impl Show for Script

    ScriptAnalysis

    pub(all) struct ScriptAnalysis {
    primary_script : Script
    scripts : Array[Script]
    is_mixed : Bool
    level : RestrictionLevel
    } derive(
    Debug
    )

    ScriptSet

    pub(all) enum ScriptSet {
    All
    Scripts(Array[String])
    } derive(Eq,
    Debug
    )

    ALL is distinct from an empty intersection and from the Unknown property.

    analyze_scripts

    fn analyze_scripts(input : String) -> ScriptAnalysis

    binary_search_script

    fn binary_search_script(cp : Int) -> Script

    contains_script

    fn contains_script(arr : Array[Script], s : Script) -> Bool

    get_restriction_level

    fn get_restriction_level(input : String) -> RestrictionLevel

    get_script

    fn get_script(cp : Int) -> Script

    get_script_extensions

    fn get_script_extensions(cp : Int) -> Array[String]

    get_unicode_script

    fn get_unicode_script(cp : Int) -> String

    has_mixed_triad_scripts

    fn has_mixed_triad_scripts(scripts : Array[Script]) -> Bool

    is_mixed_script

    fn is_mixed_script(input : String) -> Bool

    is_mixed_script_resolved

    fn is_mixed_script_resolved(input : String) -> Bool

    This does not change the legacy is_mixed_script or restriction estimates.
    fn is_recommended_script(s : Script) -> Bool

    is_single_script

    fn is_single_script(input : String) -> Bool

    resolve_script_set

    fn resolve_script_set(input : String) -> ScriptSet

    UTS #39 revision 30 section 5.1, using complete Unicode 16.0 data. Canonical long names are augmented with Hanb, Jpan and Kore writing systems.