normalization

    Unicode normalization forms for MoonBit

    unicode
    normalization
    nfc
    nfd
    nfkc
    nfkd
    Download zip
    Version
    0.5.0
    License
    Apache-2.0
    Last updated
    18 days ago
    Downloads
    76

    Dependencies

    #normalization

    Unicode NFC, NFD, NFKC, and NFKD normalization for MoonBit, using Unicode 16.0.0 data from moonbit-community/ucd.

    moon add moonbit-community/normalization

    See the repository root README for API documentation and examples.

    NormalizationForm

    pub(all) enum NormalizationForm {
    NFD
    NFC
    NFKD
    NFKC
    } derive(Eq)

    Normalization form enumeration

    is_normalized

    fn is_normalized(s : String, form : NormalizationForm) -> Bool

    Check if a string is in the specified normalization form

    nfc

    fn nfc(s : String) -> String

    Normalize a string to NFC (Canonical Decomposition + Composition)

    Characters are first decomposed canonically, reordered, then recomposed using canonical composition rules. This is the most commonly used normalization form.

    nfd

    fn nfd(s : String) -> String

    Normalize a string to NFD (Canonical Decomposition)

    Characters are decomposed to their canonical equivalents and combining marks are reordered by Canonical Combining Class.

    nfkc

    fn nfkc(s : String) -> String

    Normalize a string to NFKC (Compatibility Decomposition + Composition)

    Characters are decomposed to compatibility equivalents, reordered, then recomposed. Often used for identifier comparison.

    nfkd

    fn nfkd(s : String) -> String

    Normalize a string to NFKD (Compatibility Decomposition)

    Characters are decomposed to their compatibility equivalents (including formatting variants like superscripts, fractions, etc.) and combining marks are reordered.

    normalize

    fn normalize(s : String, form : NormalizationForm) -> String

    Normalize a string to the specified form

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io