Atman-Angle/moonbit-unicode/tools/unicode-gen does not have a README file

    CccRecord

    pub struct CccRecord {
    code_point : Int
    ccc : Int
    source : Source
    }

    CodePointRange

    pub struct CodePointRange {
    start : Int
    end : Int
    }

    ConformanceVector

    pub struct ConformanceVector {
    columns : Array[Array[Int]]
    source : Source
    }

    DecompositionRecord

    pub struct DecompositionRecord {
    code_point : Int
    mapping : Array[Int]
    canonical : Bool
    source : Source
    }

    ParseError

    pub struct ParseError {
    kind : ParseErrorKind
    source : Source
    detail : String
    }

    ParseError::to_string

    fn ParseError::to_string(self : ParseError) -> String

    ParseErrorKind

    pub enum ParseErrorKind {
    MalformedScalar
    MalformedRecord
    OverlappingRange
    ConflictingDuplicate
    MissingField
    InvalidVector
    }

    PropertyRecord

    pub struct PropertyRecord {
    range : CodePointRange
    property : String
    source : Source
    }

    Source

    pub struct Source {
    filename : String
    line : Int
    }

    A source position is retained on every parsed record and diagnostic.

    parse_conformance_file

    fn parse_conformance_file(filename : String, input : String) -> Result[Array[ConformanceVector], ParseError]

    Parse NormalizationTest.txt or GraphemeBreakTest.txt vector rows.

    parse_exclusions

    fn parse_exclusions(filename : String, input : String) -> Result[Array[CodePointRange], ParseError]

    Parse CompositionExclusions.txt, which is a one-column scalar/range file.

    parse_property_file

    fn parse_property_file(filename : String, input : String) -> Result[Array[PropertyRecord], ParseError]

    Parse UCD semicolon/property files such as GraphemeBreakProperty.txt and emoji-data.txt.

    parse_unicode_data

    fn parse_unicode_data(filename : String, input : String) -> Result[(Array[DecompositionRecord], Array[CccRecord]), ParseError]

    Parse UnicodeData.txt fields, retaining canonical decomposition and CCC.

    Source Files