Generated tables v0.1.0
SimpleUpperPairs
pub const SimpleUpperPairs: uint32[N] = …;
Simple uppercase pairs: code point, its uppercase. Sorted; absence means the point maps to itself.
SimpleLowerPairs
pub const SimpleLowerPairs: uint32[N] = …;
Simple lowercase pairs: code point, its lowercase.
SimpleTitlePairs
pub const SimpleTitlePairs: uint32[N] = …;
Simple titlecase pairs, for the points whose titlecase differs from their uppercase.
CaseOrbitPairs
pub const CaseOrbitPairs: uint32[N] = …;
Case orbits the simple mappings do not pair: code point, the next point that folds to the same point, the largest followed by the smallest. Sorted.
FullFoldIndex
pub const FullFoldIndex: uint32[N] = …;
Full case folding index: code point, offset, length. C and F entries only, so the folding is the same in every locale.
FullFoldElements
pub const FullFoldElements: uint32[N] = …;
Full case folding elements, indexed by FullFoldIndex.
FullUpperIndex
pub const FullUpperIndex: uint32[N] = …;
Unconditional full uppercase index: code point, offset, length. The conditional mappings are deliberately absent — they depend on locale or context.
FullUpperElements
pub const FullUpperElements: uint32[N] = …;
Unconditional full uppercase elements.
FullLowerIndex
pub const FullLowerIndex: uint32[N] = …;
Unconditional full lowercase index: code point, offset, length.
FullLowerElements
pub const FullLowerElements: uint32[N] = …;
Unconditional full lowercase elements.
NormalizationVectorIndex
pub const NormalizationVectorIndex: uint32[N] = …;
Normalization vector index: five (offset, length) pairs per row, for the columns c1..c5.
NormalizationVectorElements
pub const NormalizationVectorElements: uint32[N] = …;
The scalar values of every conformance vector, run together end to end. NormalizationVectorIndex says where
each vector's five forms start. These come from the Unicode Consortium's own NormalizationTest file, so a
passing run means agreement with the standard's own expected output rather than with this implementation's idea
of it.
GraphemeVectorIndex
pub const GraphemeVectorIndex: uint32[N] = …;
Grapheme vector index: offset, length per row.
GraphemeVectorPoints
pub const GraphemeVectorPoints: uint32[N] = …;
Grapheme vector code points.
GraphemeVectorBreaks
pub const GraphemeVectorBreaks: uint32[N] = …;
Grapheme vector break masks: bit N set when a boundary precedes point N, the highest bit for the end of the row. No row is longer than thirty-one points.
GraphemeBreakRanges
pub const GraphemeBreakRanges: uint32[N] = …;
Grapheme break class ranges: first, last, class ordinal. The ordinals mirror GraphemeBreak in Graphemes.rux,
and a code point in no range is Any.
PictographicRanges
pub const PictographicRanges: uint32[N] = …;
Extended_Pictographic ranges: first, last.
ConjunctConsonantRanges
pub const ConjunctConsonantRanges: uint32[N] = …;
InCB=Consonant ranges: first, last.
ConjunctLinkerRanges
pub const ConjunctLinkerRanges: uint32[N] = …;
InCB=Linker ranges: first, last.
ConjunctExtendRanges
pub const ConjunctExtendRanges: uint32[N] = …;
InCB=Extend ranges: first, last.
CanonicalDecompositionIndex
pub const CanonicalDecompositionIndex: uint32[N] = …;
Canonical decomposition index: code point, offset, length. Fully expanded, so lookup never recurses. Hangul is absent: its decomposition is arithmetic and computed instead.
CanonicalDecompositionElements
pub const CanonicalDecompositionElements: uint32[N] = …;
The scalar values every canonical decomposition expands to, run together end to end.
CanonicalDecompositionIndex says where each point's run starts and how long it is; this holds the runs
themselves, so a decomposition is a slice of it rather than a table lookup per value.
CompatibilityDecompositionIndex
pub const CompatibilityDecompositionIndex: uint32[N] = …;
Compatibility decomposition index: code point, offset, length.
CompatibilityDecompositionElements
pub const CompatibilityDecompositionElements: uint32[N] = …;
The scalar values every compatibility decomposition expands to, run together end to end.
CompatibilityDecompositionIndex says where each point's run starts and how long it is. These are the
decompositions that change appearance rather than preserving it, which is what separates NFKD from NFD.
CompositionTriples
pub const CompositionTriples: uint32[N] = …;
Primary composite triples: starter, combining, composed. Sorted by starter then combining, for binary search. The exclusions and non-starter decompositions are already left out.
CategoryRanges
pub const CategoryRanges: uint32[N] = …;
General category ranges: first, last, category ordinal. Sorted by first; a code point in no range is unassigned.
CombiningClassRanges
pub const CombiningClassRanges: uint32[N] = …;
Canonical combining class ranges: first, last, class. A code point in no range has class zero, which is nearly all of them.
WhiteSpaceRanges
pub const WhiteSpaceRanges: uint32[N] = …;
White_Space ranges: first, last.
AlphabeticRanges
pub const AlphabeticRanges: uint32[N] = …;
Alphabetic ranges: first, last.
NumericRanges
pub const NumericRanges: uint32[N] = …;
Numeric ranges — the Nd, Nl and No categories: first, last.
ScriptRanges
pub const ScriptRanges: uint32[N] = …;
Script ranges: first, last, script number. Sorted by first; a point in no range is in the Unknown script.
ScriptNameIndex
pub const ScriptNameIndex: uint32[N] = …;
Script names: offset into ScriptNameBytes and length, by script number. The scripts are numbered in the order of their names.
ScriptNameBytes
pub const ScriptNameBytes: uint32[N] = …;
The bytes of the scripts' long names, such as Latin or Old_Italic, all ASCII.
UnknownScript
pub const UnknownScript: uint32[N] = …;
The script number of Unknown, the script of a point in no range.