Namespace Egami.Fonts.Unicode
Classes
- Bidi
The Unicode Bidirectional Algorithm (UAX #9): embedding levels for mixed left-to-right and right-to-left text, and the visual order of a line.
- BidiResult
The result of Resolve(ReadOnlySpan<char>, TextDirection): a level per UTF-16 unit, the runs in logical order, and the visual order of any line. Dispose it to return its arrays to the pool.
- TextSegmenter
Text boundaries from UAX #29: extended grapheme clusters (what a reader sees as one character) and words, with Unicode's default rules and no dictionaries.
- UnicodeData
The Unicode character properties text shaping needs, from Egami's own tables generated from the Unicode Character Database (version UnicodeVersion), so results never move with the .NET runtime's Unicode version.
Structs
- BidiRun
A run of UTF-16 units at one embedding level.
- GraphemeEnumerator
Enumerates extended grapheme clusters; get one from Graphemes(ReadOnlySpan<char>).
- Script
A Unicode script, such as Latin, Arabic or Devanagari, with its ISO 15924 code and the OpenType script tags fonts use for it.
- TextSegment
A range of UTF-16 units: a grapheme cluster, a word or a run.
- WordEnumerator
Enumerates the segments between word boundaries; get one from Words(ReadOnlySpan<char>).
Enums
- BidiClass
A code point's Bidi_Class (UAX #9).
- BidiPairedBracketType
A code point's Bidi_Paired_Bracket_Type.
- EastAsianWidth
A code point's East_Asian_Width (UAX #11).
- JoiningGroup
A code point's Joining_Group, the letter shape family of an Arabic or Syriac letter.
- JoiningType
A code point's Joining_Type, which drives cursive joining in Arabic, Syriac, N'Ko, Mongolian and similar scripts.
- LineBreakClass
A code point's Line_Break class (UAX #14), which line breaking starts from.
- TextDirection
The direction of a paragraph or a run of text.
- VerticalOrientation
A code point's Vertical_Orientation (UAX #50): upright or rotated in vertical text.