Table of Contents

Enum BidiClass

Namespace
Egami.Fonts.Unicode
Assembly
Egami.Fonts.dll

A code point's Bidi_Class (UAX #9).

public enum BidiClass

Fields

ArabicLetter = 1

Bidi_Class AL (Arabic_Letter).

ArabicNumber = 2

Bidi_Class AN (Arabic_Number).

BoundaryNeutral = 4

Bidi_Class BN (Boundary_Neutral).

CommonSeparator = 5

Bidi_Class CS (Common_Separator).

EuropeanNumber = 6

Bidi_Class EN (European_Number).

EuropeanSeparator = 7

Bidi_Class ES (European_Separator).

EuropeanTerminator = 8

Bidi_Class ET (European_Terminator).

FirstStrongIsolate = 9

Bidi_Class FSI (First_Strong_Isolate).

LeftToRight = 0

Bidi_Class L (Left_To_Right).

LeftToRightEmbedding = 10

Bidi_Class LRE (Left_To_Right_Embedding).

LeftToRightIsolate = 11

Bidi_Class LRI (Left_To_Right_Isolate).

LeftToRightOverride = 12

Bidi_Class LRO (Left_To_Right_Override).

NonspacingMark = 13

Bidi_Class NSM (Nonspacing_Mark).

OtherNeutral = 14

Bidi_Class ON (Other_Neutral).

ParagraphSeparator = 3

Bidi_Class B (Paragraph_Separator).

PopDirectionalFormat = 15

Bidi_Class PDF (Pop_Directional_Format).

PopDirectionalIsolate = 16

Bidi_Class PDI (Pop_Directional_Isolate).

RightToLeft = 17

Bidi_Class R (Right_To_Left).

RightToLeftEmbedding = 18

Bidi_Class RLE (Right_To_Left_Embedding).

RightToLeftIsolate = 19

Bidi_Class RLI (Right_To_Left_Isolate).

RightToLeftOverride = 20

Bidi_Class RLO (Right_To_Left_Override).

SegmentSeparator = 21

Bidi_Class S (Segment_Separator).

WhiteSpace = 22

Bidi_Class WS (White_Space).

Examples

// Egami's own Unicode 17.0 tables: the same answer on every runtime and machine.
Script script = UnicodeData.GetScript('\u0915');                          // Devanagari
ReadOnlySpan<FontTag> tags = script.OpenTypeTags;                         // dev2, then deva
BidiClass bidi = UnicodeData.GetBidiClass('\u0627');                      // ArabicLetter
JoiningType joining = UnicodeData.GetJoiningType('\u0628');               // DualJoining
JoiningGroup group = UnicodeData.GetJoiningGroup('\u0628');               // Beh
VerticalOrientation upright = UnicodeData.GetVerticalOrientation('\u6F22');   // Upright
EastAsianWidth width = UnicodeData.GetEastAsianWidth('\u6F22');               // Wide
bool emoji = UnicodeData.IsEmojiPresentation(0x1F600);                    // true
UnicodeData.TryGetBidiMirroringGlyph('(', out int mirror);                // ')'
BidiPairedBracketType bracket = UnicodeData.GetBidiPairedBracketType('['); // Open