using System.ComponentModel.DataAnnotations; namespace System.Unicode { /// A bitmask of the various available core properties. /// Core properties are normative, and derived from various properties as well as . [Flags] public enum CoreProperties : int { // NB: Be careful when adding new properties to the enum, as EmojiProperties will be stored in the 4 upper bits out of 24. /// Represents the Lowercase property. [ValueName("Lowercase"), ValueName("Lower"), Display(Name = "Lowercase")] Lowercase = 0x00000001, /// Represents the Uppercase property. [ValueName("Uppercase"), ValueName("Upper"), Display(Name = "Uppercase")] Uppercase = 0x00000002, /// Represents the Cased property. [ValueName("Cased"), Display(Name = "Cased")] Cased = 0x00000004, /// Represents the Case_Ignorable property. [ValueName("Case_Ignorable"), ValueName("CI"), Display(Name = "Case_Ignorable")] CaseIgnorable = 0x00000008, /// Represents the Changes_When_Lowercased property. [ValueName("Changes_When_Lowercased"), ValueName("CWL"), Display(Name = "Changes_When_Lowercased")] ChangesWhenLowercased = 0x00000010, /// Represents the Changes_When_Uppercased property. [ValueName("Changes_When_Uppercased"), ValueName("CWU"), Display(Name = "Changes_When_Uppercased")] ChangesWhenUppercased = 0x00000020, /// Represents the Changes_When_Titlecased property. [ValueName("Changes_When_Titlecased"), ValueName("CWT"), Display(Name = "Changes_When_Titlecased")] ChangesWhenTitlecased = 0x00000040, /// Represents the Changes_When_Casefolded property. [ValueName("Changes_When_Casefolded"), ValueName("CWCF"), Display(Name = "Changes_When_Casefolded")] ChangesWhenCasefolded = 0x00000080, /// Represents the Changes_When_Casemapped property. [ValueName("Changes_When_Casemapped"), ValueName("CWCM"), Display(Name = "Changes_When_Casemapped")] ChangesWhenCasemapped = 0x00000100, /// Represents the Alphabetic property. [ValueName("Alphabetic"), ValueName("Alpha"), Display(Name = "Alphabetic")] Alphabetic = 0x00000200, /// Represents the Default_Ignorable_Code_Point property. [ValueName("Default_Ignorable_Code_Point"), ValueName("DI"), Display(Name = "Default_Ignorable_Code_Point")] DefaultIgnorableCodePoint = 0x00000400, /// Represents the Grapheme_Base property. [ValueName("Grapheme_Base"), ValueName("Gr_Base"), Display(Name = "Grapheme_Base")] GraphemeBase = 0x00000800, /// Represents the Grapheme_Extend property. [ValueName("Grapheme_Extend"), ValueName("Gr_Ext"), Display(Name = "Grapheme_Extend")] GraphemeExtend = 0x00001000, /// Represents the Grapheme_Link property. [ValueName("Grapheme_Link"), ValueName("Gr_Link"), Display(Name = "Grapheme_Link")] GraphemeLink = 0x00002000, /// Represents the Math property. [ValueName("Math"), Display(Name = "Math")] Math = 0x00004000, /// Represents the ID_Start property. [ValueName("ID_Start"), ValueName("IDS"), Display(Name = "ID_Start")] IdentifierStart = 0x00008000, /// Represents the ID_Continue property. [ValueName("ID_Continue"), ValueName("IDC"), Display(Name = "ID_Continue")] IdentifierContinue = 0x00010000, /// Represents the XID_Start property. [ValueName("XID_Start"), ValueName("XIDS"), Display(Name = "XID_Start")] ExtendedIdentifierStart = 0x00020000, /// Represents the XID_Continue property. [ValueName("XID_Continue"), ValueName("XIDC"), Display(Name = "XID_Continue")] ExtendedIdentifierContinue = 0x00040000, } }