using System.ComponentModel.DataAnnotations; namespace System.Unicode { /// Represents possible values for the Bidi_Class unicode property. public enum BidirectionalClass : byte { /// Represents the value Left_To_Right. /// Any strong left-to-right character. [ValueName("L"), ValueName("Left_To_Right"), Display(Name = "Left_To_Right", Description = "Any strong left-to-right character.")] LeftToRight, /// Represents the value Right_To_Left. /// Any strong right-to-left (non-Arabic-type) character. [ValueName("R"), ValueName("Right_To_Left"), Display(Name = "Right_To_Left", Description = "Any strong right-to-left (non-Arabic-type) character.")] RightToLeft, /// Represents the value Arabic_Letter. /// Any strong right-to-left (Arabic-type) character. [ValueName("AL"), ValueName("Arabic_Letter"), Display(Name = "Arabic_Letter", Description = "Any strong right-to-left (Arabic-type) character.")] ArabicLetter, /// Represents the value European_Number. /// Any ASCII digit or Eastern Arabic-Indic digit. [ValueName("EN"), ValueName("European_Number"), Display(Name = "European_Number", Description = "Any ASCII digit or Eastern Arabic-Indic digit.")] EuropeanNumber, /// Represents the value European_Separator. /// Plus and minus signs. [ValueName("ES"), ValueName("European_Separator"), Display(Name = "European_Separator", Description = "Plus and minus signs.")] EuropeanSeparator, /// Represents the value European_Terminator. /// A terminator in a numeric format context, includes currency signs. [ValueName("ET"), ValueName("European_Terminator"), Display(Name = "European_Terminator", Description = "A terminator in a numeric format context, includes currency signs.")] EuropeanTerminator, /// Represents the value Arabic_Number. /// Any Arabic-Indic digit. [ValueName("AN"), ValueName("Arabic_Number"), Display(Name = "Arabic_Number", Description = "Any Arabic-Indic digit.")] ArabicNumber, /// Represents the value Common_Separator. /// Commas, colons, and slashes. [ValueName("CS"), ValueName("Common_Separator"), Display(Name = "Common_Separator", Description = "Commas, colons, and slashes.")] CommonSeparator, /// Represents the value Nonspacing_Mark. /// Any nonspacing mark. [ValueName("NSM"), ValueName("Nonspacing_Mark"), Display(Name = "Nonspacing_Mark", Description = "Any nonspacing mark.")] NonSpacingMark, /// Represents the value Boundary_Neutral. /// Most format characters, control codes, or noncharacters. [ValueName("BN"), ValueName("Boundary_Neutral"), Display(Name = "Boundary_Neutral", Description = "Most format characters, control codes, or noncharacters.")] BoundaryNeutral, /// Represents the value Paragraph_Separator. /// Various newline characters. [ValueName("B"), ValueName("Paragraph_Separator"), Display(Name = "Paragraph_Separator", Description = "Various newline characters.")] ParagraphSeparator, /// Represents the value Segment_Separator. /// Various segment-related control codes. [ValueName("S"), ValueName("Segment_Separator"), Display(Name = "Segment_Separator", Description = "Various segment-related control codes.")] SegmentSeparator, /// Represents the value White_Space. /// Spaces. [ValueName("WS"), ValueName("White_Space"), Display(Name = "White_Space", Description = "Spaces.")] WhiteSpace, /// Represents the value Other_Neutral. /// Most other symbols and punctuation marks. [ValueName("ON"), ValueName("Other_Neutral"), Display(Name = "Other_Neutral", Description = "Most other symbols and punctuation marks.")] OtherNeutral, /// Represents the value Left_To_Right_Embedding. /// U+202A: the LR embedding control. [ValueName("LRE"), ValueName("Left_To_Right_Embedding"), Display(Name = "Left_To_Right_Embedding", Description = "U+202A: the LR embedding control.")] LeftToRightEmbedding, /// Represents the value Left_To_Right_Override. /// U+202D: the LR override control. [ValueName("LRO"), ValueName("Left_To_Right_Override"), Display(Name = "Left_To_Right_Override", Description = "U+202D: the LR override control.")] LeftToRightOverride, /// Represents the value Right_To_Left_Embedding. /// U+202B: the RL embedding control. [ValueName("RLE"), ValueName("Right_To_Left_Embedding"), Display(Name = "Right_To_Left_Embedding", Description = "U+202B: the RL embedding control.")] RightToLeftEmbedding, /// Represents the value Right_To_Left_Override. /// U+202E: the RL override control. [ValueName("RLO"), ValueName("Right_To_Left_Override"), Display(Name = "Right_To_Left_Override", Description = "U+202E: the RL override control.")] RightToLeftOverride, /// Represents the value Pop_Directional_Format. /// U+202C: terminates an embedding or override control. [ValueName("PDF"), ValueName("Pop_Directional_Format"), Display(Name = "Pop_Directional_Format", Description = "U+202C: terminates an embedding or override control.")] PopDirectionalFormat, /// Represents the value Left_To_Right_Isolate. /// U+2066: the LR isolate control. [ValueName("LRI"), ValueName("Left_To_Right_Isolate"), Display(Name = "Left_To_Right_Isolate", Description = "U+2066: the LR isolate control.")] LeftToRightIsolate, /// Represents the value Right_To_Left_Isolate. /// U+2067: the RL isolate control. [ValueName("RLI"), ValueName("Right_To_Left_Isolate"), Display(Name = "Right_To_Left_Isolate", Description = "U+2067: the RL isolate control.")] RightToLeftIsolate, /// Represents the value First_Strong_Isolate. /// U+2068: the first strong isolate control. [ValueName("FSI"), ValueName("First_Strong_Isolate"), Display(Name = "First_Strong_Isolate", Description = "U+2068: the first strong isolate control.")] FirstStrongIsolate, /// Represents the value Pop_Directional_Isolate. /// U+2069: terminates an isolate control. [ValueName("PDI"), ValueName("Pop_Directional_Isolate"), Display(Name = "Pop_Directional_Isolate", Description = "U+2069: terminates an isolate control.")] PopDirectionalIsolate, } }