//------------------------------------------------------------------------------
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//------------------------------------------------------------------------------
namespace System.Web.Security.AntiXss {
    using System;
    /// 
    /// Values for the lowest section of the UTF8 Unicode code tables, from U0000 to U0FFF.
    /// 
    [Flags]
    public enum LowerCodeCharts : long {
        /// 
        /// No code charts from the lower region of the Unicode tables are safe-listed.
        /// 
        None = 0,
        /// 
        /// The Basic Latin code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0000.pdf
        BasicLatin = 1 << 0x00,
        /// 
        /// The C1 Controls and Latin-1 Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0080.pdf
        C1ControlsAndLatin1Supplement = 1 << 0x01,
        /// 
        /// The Latin Extended-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0100.pdf
        LatinExtendedA = 1 << 0x02,
        /// 
        /// The Latin Extended-B code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0180.pdf
        LatinExtendedB = 1 << 0x03,
        /// 
        /// The IPA Extensions code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0250.pdf
        IpaExtensions = 1 << 0x04,
        /// 
        /// The Spacing Modifier Letters code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U02B0.pdf
        SpacingModifierLetters = 1 << 0x05,
        /// 
        /// The Combining Diacritical Marks code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0300.pdf
        CombiningDiacriticalMarks = 1 << 0x06,
        /// 
        /// The Greek and Coptic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0370.pdf
        GreekAndCoptic = 1 << 0x07,
        /// 
        /// The Cyrillic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0400.pdf
        Cyrillic = 1 << 0x08,
        /// 
        /// The Cyrillic Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0500.pdf
        CyrillicSupplement = 1 << 0x09,
        /// 
        /// The Armenian code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0530.pdf
        Armenian = 1 << 0x0A,
        /// 
        /// The Hebrew code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0590.pdf
        Hebrew = 1 << 0x0B,
        /// 
        /// The Arabic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0600.pdf
        Arabic = 1 << 0x0C,
        /// 
        /// The Syriac code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0700.pdf
        Syriac = 1 << 0x0D,
        /// 
        /// The Arabic Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0750.pdf
        ArabicSupplement = 1 << 0x0E,
        /// 
        /// The Thaana code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0780.pdf
        Thaana = 1 << 0x0F,
        /// 
        /// The Nko code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U07C0.pdf
        Nko = 1 << 0x10,
        /// 
        /// The Samaritan code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0800.pdf
        Samaritan = 1 << 0x11,
        /// 
        /// The Devanagari code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0900.pdf
        Devanagari = 1 << 0x12,
        /// 
        /// The Bengali code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0980.pdf
        Bengali = 1 << 0x13,
        /// 
        /// The Gurmukhi code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0A00.pdf
        Gurmukhi = 1 << 0x14,
        /// 
        /// The Gujarati code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0A80.pdf
        Gujarati = 1 << 0x15,
        /// 
        /// The Oriya code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0B00.pdf
        Oriya = 1 << 0x16,
        /// 
        /// The Tamil code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0B80.pdf
        Tamil = 1 << 0x17,
        /// 
        /// The Telugu code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0C00.pdf
        Telugu = 1 << 0x18,
        /// 
        /// The Kannada code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0C80.pdf
        Kannada = 1 << 0x19,
        /// 
        /// The Malayalam code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0D00.pdf
        Malayalam = 1 << 0x1A,
        /// 
        /// The Sinhala code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0D80.pdf
        Sinhala = 1 << 0x1B,
        /// 
        /// The Thai code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0E00.pdf
        Thai = 1 << 0x1C,
        /// 
        /// The Lao code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0E80.pdf
        Lao = 1 << 0x1D,
        /// 
        /// The Tibetan code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U0F00.pdf
        Tibetan = 1 << 0x1E,
        /// 
        /// The default code tables marked as safe on initialisation.
        /// 
        Default = BasicLatin | C1ControlsAndLatin1Supplement | LatinExtendedA | LatinExtendedB | SpacingModifierLetters | IpaExtensions | CombiningDiacriticalMarks
    }
    /// 
    /// Values for the lower-mid section of the UTF8 Unicode code tables, from U1000 to U1EFF.
    /// 
    [Flags]
    public enum LowerMidCodeCharts : long {
        /// 
        /// No code charts from the lower-mid region of the Unicode tables are safe-listed.
        /// 
        None = 0,
        /// 
        /// The Myanmar code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1000.pdf
        Myanmar = 1 << 0x00,
        /// 
        /// The Georgian code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U10A0.pdf
        Georgian = 1 << 0x01,
        /// 
        /// The Hangul Jamo code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1100.pdf
        HangulJamo = 1 << 0x02,
        /// 
        /// The Ethiopic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1200.pdf
        Ethiopic = 1 << 0x03,
        /// 
        /// The Ethiopic supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1380.pdf
        EthiopicSupplement = 1 << 0x04,
        /// 
        /// The Cherokee code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U13A0.pdf
        Cherokee = 1 << 0x05,
        /// 
        /// The Unified Canadian Aboriginal Syllabics code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1400.pdf
        UnifiedCanadianAboriginalSyllabics = 1 << 0x06,
        /// 
        /// The Ogham code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1680.pdf
        Ogham = 1 << 0x07,
        /// 
        /// The Runic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U16A0.pdf
        Runic = 1 << 0x08,
        /// 
        /// The Tagalog code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1700.pdf
        Tagalog = 1 << 0x09,
        /// 
        /// The Hanunoo code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1720.pdf
        Hanunoo = 1 << 0x0A,
        /// 
        /// The Buhid code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1740.pdf
        Buhid = 1 << 0x0B,
        /// 
        /// The Tagbanwa code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1760.pdf
        Tagbanwa = 1 << 0x0C,
        /// 
        /// The Khmer code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1780.pdf
        Khmer = 1 << 0x0D,
        /// 
        /// The Mongolian code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1800.pdf
        Mongolian = 1 << 0x0E,
        /// 
        /// The Unified Canadian Aboriginal Syllabics Extended code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U18B0.pdf
        UnifiedCanadianAboriginalSyllabicsExtended = 1 << 0x0F,
        /// 
        /// The Limbu code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1900.pdf
        Limbu = 1 << 0x10,
        /// 
        /// The Tai Le code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1950.pdf
        TaiLe = 1 << 0x11,
        /// 
        /// The New Tai Lue code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1980.pdf
        NewTaiLue = 1 << 0x12,
        /// 
        /// The Khmer Symbols code table
        /// 
        /// http://www.unicode.org/charts/PDF/U19E0.pdf
        KhmerSymbols = 1 << 0x13,
        /// 
        /// The Buginese code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1A00.pdf
        Buginese = 1 << 0x14,
        /// 
        /// The Tai Tham code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1A20.pdf
        TaiTham = 1 << 0x15,
        /// 
        /// The Balinese code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1B00.pdf
        Balinese = 1 << 0x16,
        /// 
        /// The Sudanese code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1B80.pdf
        Sudanese = 1 << 0x17,
        /// 
        /// The Lepcha code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1C00.pdf
        Lepcha = 1 << 0x18,
        /// 
        /// The Ol Chiki code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1C50.pdf
        OlChiki = 1 << 0x19,
        /// 
        /// The Vedic Extensions code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1CD0.pdf
        VedicExtensions = 1 << 0x1A,
        /// 
        /// The Phonetic Extensions code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1D00.pdf
        PhoneticExtensions = 1 << 0x1B,
        /// 
        /// The Phonetic Extensions Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1D80.pdf
        PhoneticExtensionsSupplement = 1 << 0x1C,
        /// 
        /// The Combining Diacritical Marks Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1DC0.pdf        
        CombiningDiacriticalMarksSupplement = 1 << 0x1D,
        /// 
        /// The Latin Extended Additional code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1E00.pdf
        LatinExtendedAdditional = 1 << 0x1E
    }
    /// 
    /// Values for the middle section of the UTF8 Unicode code tables, from U1F00 to U2DDF
    /// 
    [Flags]
    public enum MidCodeCharts : long {
        /// 
        /// No code charts from the lower region of the Unicode tables are safe-listed.
        /// 
        None = 0,
        /// 
        /// The Greek Extended code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U1F00.pdf
        GreekExtended = 1 << 0x00,
        /// 
        /// The General Punctuation code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2000.pdf
        GeneralPunctuation = 1 << 0x01,
        /// 
        /// The Superscripts and Subscripts code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2070.pdf
        SuperscriptsAndSubscripts = 1 << 0x02,
        /// 
        /// The Currency Symbols code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U20A0.pdf
        CurrencySymbols = 1 << 0x03,
        /// 
        /// The Combining Diacritical Marks for Symbols code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U20D0.pdf
        CombiningDiacriticalMarksForSymbols = 1 << 0x04,
        /// 
        /// The Letterlike Symbols code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2100.pdf
        LetterlikeSymbols = 1 << 0x05,
        /// 
        /// The Number Forms code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2150.pdf
        NumberForms = 1 << 0x06,
        /// 
        /// The Arrows code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2190.pdf
        Arrows = 1 << 0x07,
        /// 
        /// The Mathematical Operators code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2200.pdf
        MathematicalOperators = 1 << 0x08,
        /// 
        /// The Miscellaneous Technical code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2300.pdf
        MiscellaneousTechnical = 1 << 0x09,
        /// 
        /// The Control Pictures code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2400.pdf
        ControlPictures = 1 << 0x0A,
        /// 
        /// The Optical Character Recognition table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2440.pdf
        OpticalCharacterRecognition = 1 << 0x0B,
        /// 
        /// The Enclosed Alphanumeric code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2460.pdf
        EnclosedAlphanumerics = 1 << 0x0C,
        /// 
        /// The Box Drawing code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2500.pdf
        BoxDrawing = 1 << 0x0D,
        /// 
        /// The Block Elements code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2580.pdf
        BlockElements = 1 << 0x0E,
        /// 
        /// The Geometric Shapes code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U25A0.pdf
        GeometricShapes = 1 << 0x0F,
        /// 
        /// The Miscellaneous Symbols code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2600.pdf
        MiscellaneousSymbols = 1 << 0x10,
        /// 
        /// The Dingbats code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2700.pdf
        Dingbats = 1 << 0x11,
        /// 
        /// The Miscellaneous Mathematical Symbols-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U27C0.pdf
        MiscellaneousMathematicalSymbolsA = 1 << 0x12,
        /// 
        /// The Supplemental Arrows-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U27F0.pdf
        SupplementalArrowsA = 1 << 0x13,
        /// 
        /// The Braille Patterns code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2800.pdf
        BraillePatterns = 1 << 0x14,
        /// 
        /// The Supplemental Arrows-B code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2900.pdf
        SupplementalArrowsB = 1 << 0x15,
        /// 
        /// The Miscellaneous Mathematical Symbols-B code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2980.pdf                
        MiscellaneousMathematicalSymbolsB = 1 << 0x16,
        /// 
        /// The Supplemental Mathematical Operators code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2A00.pdf
        SupplementalMathematicalOperators = 1 << 0x17,
        /// 
        /// The Miscellaneous Symbols and Arrows code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2B00.pdf        
        MiscellaneousSymbolsAndArrows = 1 << 0x18,
        /// 
        /// The Glagolitic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2C00.pdf
        Glagolitic = 1 << 0x19,
        /// 
        /// The Latin Extended-C code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2C60.pdf        
        LatinExtendedC = 1 << 0x1A,
        /// 
        /// The Coptic code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2C80.pdf
        Coptic = 1 << 0x1B,
        /// 
        /// The Georgian Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2D00.pdf
        GeorgianSupplement = 1 << 0x1C,
        /// 
        /// The Tifinagh code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2D30.pdf
        Tifinagh = 1 << 0x1D,
        /// 
        /// The Ethiopic Extended code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2D80.pdf
        EthiopicExtended = 1 << 0x0E,
    }
    /// 
    /// Values for the upper middle section of the UTF8 Unicode code tables, from U2DE0 to UA8DF
    /// 
    [Flags]
    public enum UpperMidCodeCharts : long {
        /// 
        /// No code charts from the lower region of the Unicode tables are safe-listed.
        /// 
        None = 0,
        /// 
        /// The Cyrillic Extended-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2DE0.pdf
        CyrillicExtendedA = 1 << 0x00,
        /// 
        /// The Supplemental Punctuation code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2E00.pdf
        SupplementalPunctuation = 1 << 0x01,
        /// 
        /// The CJK Radicials Supplement code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2E80.pdf
        CjkRadicalsSupplement = 1 << 0x02,
        /// 
        /// The Kangxi Radicials code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2F00.pdf
        KangxiRadicals = 1 << 0x03,
        /// 
        /// The Ideographic Description Characters code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U2FF0.pdf
        IdeographicDescriptionCharacters = 1 << 0x04,
        /// 
        /// The CJK Symbols and Punctuation code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3000.pdf
        CjkSymbolsAndPunctuation = 1 << 0x05,
        /// 
        /// The Hiragana code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3040.pdf
        Hiragana = 1 << 0x06,
        /// 
        /// The Katakana code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U30A0.pdf
        Katakana = 1 << 0x07,
        /// 
        /// The Bopomofo code table.
        /// 
        /// 
        /// http://www.unicode.org/charts/PDF/U3100.pdf
        Bopomofo = 1 << 0x08,
        /// 
        /// The Hangul Compatbility Jamo code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3130.pdf
        HangulCompatibilityJamo = 1 << 0x09,
        /// 
        /// The Kanbun code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3190.pdf
        Kanbun = 1 << 0x0A,
        /// 
        /// The Bopomofu Extended code table.
        /// 
        /// 
        /// http://www.unicode.org/charts/PDF/U31A0.pdf
        BopomofoExtended = 1 << 0x0B,
        /// 
        /// The CJK Strokes code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U31C0.pdf
        CjkStrokes = 1 << 0x0C,
        /// 
        /// The Katakana Phonetic Extensoins code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U31F0.pdf
        KatakanaPhoneticExtensions = 1 << 0x0D,
        /// 
        /// The Enclosed CJK Letters and Months code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3200.pdf
        EnclosedCjkLettersAndMonths = 1 << 0x0E,
        /// 
        /// The CJK Compatibility code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3300.pdf
        CjkCompatibility = 1 << 0x0F,
        /// 
        /// The CJK Unified Ideographs Extension A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U3400.pdf
        CjkUnifiedIdeographsExtensionA = 1 << 0x10,
        /// 
        /// The Yijing Hexagram Symbols code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U4DC0.pdf
        YijingHexagramSymbols = 1 << 0x11,
        /// 
        /// The CJK Unified Ideographs code table.
        /// 
        /// http://www.unicode.org/charts/PDF/U4E00.pdf
        CjkUnifiedIdeographs = 1 << 0x12,
        /// 
        /// The Yi Syllables code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA000.pdf
        YiSyllables = 1 << 0x13,
        /// 
        /// The Yi Radicals code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA490.pdf
        YiRadicals = 1 << 0x14,
        /// 
        /// The Lisu code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA4D0.pdf        
        Lisu = 1 << 0x15,
        /// 
        /// The Vai code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA500.pdf
        Vai = 1 << 0x16,
        /// 
        /// The Cyrillic Extended-B code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA640.pdf
        CyrillicExtendedB = 1 << 0x17,
        /// 
        /// The Bamum code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA6A0.pdf
        Bamum = 1 << 0x18,
        /// 
        /// The Modifier Tone Letters code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA700.pdf
        ModifierToneLetters = 1 << 0x19,
        /// 
        /// The Latin Extended-D code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA720.pdf
        LatinExtendedD = 1 << 0x1A,
        /// 
        /// The Syloti Nagri code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA800.pdf
        SylotiNagri = 1 << 0x1B,
        /// 
        /// The Common Indic Number Forms code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA830.pdf
        CommonIndicNumberForms = 1 << 0x1C,
        /// 
        /// The Phags-pa code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA840.pdf
        Phagspa = 1 << 0x1D,
        /// 
        /// The Saurashtra code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA880.pdf
        Saurashtra = 1 << 0x1E,
    }
    /// 
    /// Values for the upper section of the UTF8 Unicode code tables, from UA8E0 to UFFFD
    /// 
    [Flags]
    public enum UpperCodeCharts {
        /// 
        /// No code charts from the upper region of the Unicode tables are safe-listed.
        /// 
        None = 0,
        /// 
        /// The Devanagari Extended code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA8E0.pdf
        DevanagariExtended = 1 << 0x00,
        /// 
        /// The Kayah Li code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA900.pdf
        KayahLi = 1 << 0x01,
        /// 
        /// The Rejang code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA930.pdf
        Rejang = 1 << 0x02,
        /// 
        /// The Hangul Jamo Extended-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA960.pdf
        HangulJamoExtendedA = 1 << 0x03,
        /// 
        /// The Javanese code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UA980.pdf
        Javanese = 1 << 0x04,
        /// 
        /// The Cham code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UAA00.pdf
        Cham = 1 << 0x05,
        /// 
        /// The Myanmar Extended-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UAA60.pdf
        MyanmarExtendedA = 1 << 0x06,
        /// 
        /// The Tai Viet code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UAA80.pdf
        TaiViet = 1 << 0x07,
        /// 
        /// The Meetei Mayek code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UABC0.pdf
        MeeteiMayek = 1 << 0x08,
        /// 
        /// The Hangul Syllables code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UAC00.pdf
        HangulSyllables = 1 << 0x09,
        /// 
        /// The Hangul Jamo Extended-B code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UD7B0.pdf
        HangulJamoExtendedB = 1 << 0x0A,
        /// 
        /// The CJK Compatibility Ideographs code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UF900.pdf
        CjkCompatibilityIdeographs = 1 << 0x0B,
        /// 
        /// The Alphabetic Presentation Forms code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFB00.pdf
        AlphabeticPresentationForms = 1 << 0x0C,
        /// 
        /// The Arabic Presentation Forms-A code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFB50.pdf
        ArabicPresentationFormsA = 1 << 0x0D,
        /// 
        /// The Variation Selectors code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFE00.pdf
        VariationSelectors = 1 << 0x0E,
        /// 
        /// The Vertical Forms code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFE10.pdf
        VerticalForms = 1 << 0x0F,
        /// 
        /// The Combining Half Marks code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFE20.pdf
        CombiningHalfMarks = 1 << 0x10,
        /// 
        /// The CJK Compatibility Forms code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFE30.pdf
        CjkCompatibilityForms = 1 << 0x11,
        /// 
        /// The Small Form Variants code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFE50.pdf
        SmallFormVariants = 1 << 0x12,
        /// 
        /// The Arabic Presentation Forms-B code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFE70.pdf
        ArabicPresentationFormsB = 1 << 0x13,
        /// 
        /// The half width and full width Forms code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFF00.pdf
        HalfWidthAndFullWidthForms = 1 << 0x14,
        /// 
        /// The Specials code table.
        /// 
        /// http://www.unicode.org/charts/PDF/UFFF0.pdf
        Specials = 1 << 0x15,
    }
}