Ignore:
Timestamp:
Sep 12, 2016, 2:47:27 PM (3 years ago)
Author:
cameron
Message:

Fix for -gs mode from Xiangyu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/PropertyValueAliases.h

    r5145 r5154  
    120120    namespace AGE_ns {
    121121        enum value_t {
    122             V1_1, V2_0, V2_1, V3_0, V3_1, V3_2, V4_0, V4_1, V5_0, V5_1,
    123             V5_2, V6_0, V6_1, V6_2, V6_3, V7_0, V8_0, V9_0, Unassigned};
    124         const static std::vector<std::string> enum_names = {
    125             "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2", "V4_0", "V4_1",
    126             "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2", "V6_3", "V7_0",
    127             "V8_0", "V9_0", "Unassigned"};
    128         const static std::vector<std::string> value_names = {
    129             "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2", "V4_0", "V4_1",
    130             "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2", "V6_3", "V7_0",
    131             "V8_0", "V9_0", "Unassigned"};
     122            Unassigned, V1_1, V2_0, V2_1, V3_0, V3_1, V3_2, V4_0, V4_1,
     123            V5_0, V5_1, V5_2, V6_0, V6_1, V6_2, V6_3, V7_0, V8_0, V9_0};
     124        const static std::vector<std::string> enum_names = {
     125            "Unassigned", "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2",
     126            "V4_0", "V4_1", "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2",
     127            "V6_3", "V7_0", "V8_0", "V9_0"};
     128        const static std::vector<std::string> value_names = {
     129            "Unassigned", "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2",
     130            "V4_0", "V4_1", "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2",
     131            "V6_3", "V7_0", "V8_0", "V9_0"};
    132132        static std::unordered_map<std::string, int> aliases_only_map {{
    133133            {"1.1", AGE_ns::V1_1}, {"2.0", AGE_ns::V2_0},
     
    145145    namespace BLK_ns {
    146146        enum value_t {
    147             Adlam, Aegean_Numbers, Ahom, Alchemical, Alphabetic_PF,
    148             Anatolian_Hieroglyphs, Ancient_Greek_Music,
    149             Ancient_Greek_Numbers, Ancient_Symbols, Arabic, Arabic_Ext_A,
    150             Arabic_Math, Arabic_PF_A, Arabic_PF_B, Arabic_Sup, Armenian,
    151             Arrows, ASCII, Avestan, Balinese, Bamum, Bamum_Sup, Bassa_Vah,
    152             Batak, Bengali, Bhaiksuki, Block_Elements, Bopomofo,
    153             Bopomofo_Ext, Box_Drawing, Brahmi, Braille, Buginese, Buhid,
    154             Byzantine_Music, Carian, Caucasian_Albanian, Chakma, Cham,
    155             Cherokee, Cherokee_Sup, CJK, CJK_Compat, CJK_Compat_Forms,
    156             CJK_Compat_Ideographs, CJK_Compat_Ideographs_Sup, CJK_Ext_A,
    157             CJK_Ext_B, CJK_Ext_C, CJK_Ext_D, CJK_Ext_E, CJK_Radicals_Sup,
    158             CJK_Strokes, CJK_Symbols, Compat_Jamo, Control_Pictures, Coptic,
    159             Coptic_Epact_Numbers, Counting_Rod, Cuneiform,
    160             Cuneiform_Numbers, Currency_Symbols, Cypriot_Syllabary,
    161             Cyrillic, Cyrillic_Ext_A, Cyrillic_Ext_B, Cyrillic_Ext_C,
    162             Cyrillic_Sup, Deseret, Devanagari, Devanagari_Ext, Diacriticals,
    163             Diacriticals_Ext, Diacriticals_For_Symbols, Diacriticals_Sup,
    164             Dingbats, Domino, Duployan, Early_Dynastic_Cuneiform,
    165             Egyptian_Hieroglyphs, Elbasan, Emoticons, Enclosed_Alphanum,
    166             Enclosed_Alphanum_Sup, Enclosed_CJK, Enclosed_Ideographic_Sup,
    167             Ethiopic, Ethiopic_Ext, Ethiopic_Ext_A, Ethiopic_Sup,
    168             Geometric_Shapes, Geometric_Shapes_Ext, Georgian, Georgian_Sup,
    169             Glagolitic, Glagolitic_Sup, Gothic, Grantha, Greek, Greek_Ext,
    170             Gujarati, Gurmukhi, Half_And_Full_Forms, Half_Marks, Hangul,
    171             Hanunoo, Hatran, Hebrew, High_PU_Surrogates, High_Surrogates,
    172             Hiragana, IDC, Ideographic_Symbols, Imperial_Aramaic,
    173             Indic_Number_Forms, Inscriptional_Pahlavi,
    174             Inscriptional_Parthian, IPA_Ext, Jamo, Jamo_Ext_A, Jamo_Ext_B,
    175             Javanese, Kaithi, Kana_Sup, Kanbun, Kangxi, Kannada, Katakana,
    176             Katakana_Ext, Kayah_Li, Kharoshthi, Khmer, Khmer_Symbols,
    177             Khojki, Khudawadi, Lao, Latin_1_Sup, Latin_Ext_A,
    178             Latin_Ext_Additional, Latin_Ext_B, Latin_Ext_C, Latin_Ext_D,
    179             Latin_Ext_E, Lepcha, Letterlike_Symbols, Limbu, Linear_A,
    180             Linear_B_Ideograms, Linear_B_Syllabary, Lisu, Low_Surrogates,
    181             Lycian, Lydian, Mahajani, Mahjong, Malayalam, Mandaic,
    182             Manichaean, Marchen, Math_Alphanum, Math_Operators,
    183             Meetei_Mayek, Meetei_Mayek_Ext, Mende_Kikakui, Meroitic_Cursive,
    184             Meroitic_Hieroglyphs, Miao, Misc_Arrows, Misc_Math_Symbols_A,
    185             Misc_Math_Symbols_B, Misc_Pictographs, Misc_Symbols,
    186             Misc_Technical, Modi, Modifier_Letters, Modifier_Tone_Letters,
    187             Mongolian, Mongolian_Sup, Mro, Multani, Music, Myanmar,
    188             Myanmar_Ext_A, Myanmar_Ext_B, Nabataean, NB, New_Tai_Lue, Newa,
    189             NKo, Number_Forms, OCR, Ogham, Ol_Chiki, Old_Hungarian,
    190             Old_Italic, Old_North_Arabian, Old_Permic, Old_Persian,
    191             Old_South_Arabian, Old_Turkic, Oriya, Ornamental_Dingbats,
    192             Osage, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa,
    193             Phaistos, Phoenician, Phonetic_Ext, Phonetic_Ext_Sup,
    194             Playing_Cards, Psalter_Pahlavi, PUA, Punctuation, Rejang, Rumi,
    195             Runic, Samaritan, Saurashtra, Sharada, Shavian,
    196             Shorthand_Format_Controls, Siddham, Sinhala,
    197             Sinhala_Archaic_Numbers, Small_Forms, Sora_Sompeng, Specials,
    198             Sundanese, Sundanese_Sup, Sup_Arrows_A, Sup_Arrows_B,
    199             Sup_Arrows_C, Sup_Math_Operators, Sup_PUA_A, Sup_PUA_B,
    200             Sup_Punctuation, Sup_Symbols_And_Pictographs, Super_And_Sub,
    201             Sutton_SignWriting, Syloti_Nagri, Syriac, Tagalog, Tagbanwa,
    202             Tags, Tai_Le, Tai_Tham, Tai_Viet, Tai_Xuan_Jing, Takri, Tamil,
    203             Tangut, Tangut_Components, Telugu, Thaana, Thai, Tibetan,
    204             Tifinagh, Tirhuta, Transport_And_Map, UCAS, UCAS_Ext, Ugaritic,
    205             Vai, Vedic_Ext, Vertical_Forms, VS, VS_Sup, Warang_Citi,
    206             Yi_Radicals, Yi_Syllables, Yijing};
    207         const static std::vector<std::string> enum_names = {
    208             "Adlam", "Aegean_Numbers", "Ahom", "Alchemical",
    209             "Alphabetic_PF", "Anatolian_Hieroglyphs", "Ancient_Greek_Music",
    210             "Ancient_Greek_Numbers", "Ancient_Symbols", "Arabic",
    211             "Arabic_Ext_A", "Arabic_Math", "Arabic_PF_A", "Arabic_PF_B",
    212             "Arabic_Sup", "Armenian", "Arrows", "ASCII", "Avestan",
    213             "Balinese", "Bamum", "Bamum_Sup", "Bassa_Vah", "Batak",
    214             "Bengali", "Bhaiksuki", "Block_Elements", "Bopomofo",
    215             "Bopomofo_Ext", "Box_Drawing", "Brahmi", "Braille", "Buginese",
    216             "Buhid", "Byzantine_Music", "Carian", "Caucasian_Albanian",
    217             "Chakma", "Cham", "Cherokee", "Cherokee_Sup", "CJK",
    218             "CJK_Compat", "CJK_Compat_Forms", "CJK_Compat_Ideographs",
    219             "CJK_Compat_Ideographs_Sup", "CJK_Ext_A", "CJK_Ext_B",
    220             "CJK_Ext_C", "CJK_Ext_D", "CJK_Ext_E", "CJK_Radicals_Sup",
    221             "CJK_Strokes", "CJK_Symbols", "Compat_Jamo", "Control_Pictures",
    222             "Coptic", "Coptic_Epact_Numbers", "Counting_Rod", "Cuneiform",
    223             "Cuneiform_Numbers", "Currency_Symbols", "Cypriot_Syllabary",
    224             "Cyrillic", "Cyrillic_Ext_A", "Cyrillic_Ext_B",
    225             "Cyrillic_Ext_C", "Cyrillic_Sup", "Deseret", "Devanagari",
    226             "Devanagari_Ext", "Diacriticals", "Diacriticals_Ext",
    227             "Diacriticals_For_Symbols", "Diacriticals_Sup", "Dingbats",
    228             "Domino", "Duployan", "Early_Dynastic_Cuneiform",
    229             "Egyptian_Hieroglyphs", "Elbasan", "Emoticons",
    230             "Enclosed_Alphanum", "Enclosed_Alphanum_Sup", "Enclosed_CJK",
    231             "Enclosed_Ideographic_Sup", "Ethiopic", "Ethiopic_Ext",
    232             "Ethiopic_Ext_A", "Ethiopic_Sup", "Geometric_Shapes",
    233             "Geometric_Shapes_Ext", "Georgian", "Georgian_Sup",
    234             "Glagolitic", "Glagolitic_Sup", "Gothic", "Grantha", "Greek",
    235             "Greek_Ext", "Gujarati", "Gurmukhi", "Half_And_Full_Forms",
    236             "Half_Marks", "Hangul", "Hanunoo", "Hatran", "Hebrew",
    237             "High_PU_Surrogates", "High_Surrogates", "Hiragana", "IDC",
    238             "Ideographic_Symbols", "Imperial_Aramaic", "Indic_Number_Forms",
    239             "Inscriptional_Pahlavi", "Inscriptional_Parthian", "IPA_Ext",
    240             "Jamo", "Jamo_Ext_A", "Jamo_Ext_B", "Javanese", "Kaithi",
    241             "Kana_Sup", "Kanbun", "Kangxi", "Kannada", "Katakana",
    242             "Katakana_Ext", "Kayah_Li", "Kharoshthi", "Khmer",
    243             "Khmer_Symbols", "Khojki", "Khudawadi", "Lao", "Latin_1_Sup",
    244             "Latin_Ext_A", "Latin_Ext_Additional", "Latin_Ext_B",
    245             "Latin_Ext_C", "Latin_Ext_D", "Latin_Ext_E", "Lepcha",
    246             "Letterlike_Symbols", "Limbu", "Linear_A", "Linear_B_Ideograms",
    247             "Linear_B_Syllabary", "Lisu", "Low_Surrogates", "Lycian",
    248             "Lydian", "Mahajani", "Mahjong", "Malayalam", "Mandaic",
    249             "Manichaean", "Marchen", "Math_Alphanum", "Math_Operators",
    250             "Meetei_Mayek", "Meetei_Mayek_Ext", "Mende_Kikakui",
    251             "Meroitic_Cursive", "Meroitic_Hieroglyphs", "Miao",
    252             "Misc_Arrows", "Misc_Math_Symbols_A", "Misc_Math_Symbols_B",
    253             "Misc_Pictographs", "Misc_Symbols", "Misc_Technical", "Modi",
    254             "Modifier_Letters", "Modifier_Tone_Letters", "Mongolian",
    255             "Mongolian_Sup", "Mro", "Multani", "Music", "Myanmar",
    256             "Myanmar_Ext_A", "Myanmar_Ext_B", "Nabataean", "NB",
    257             "New_Tai_Lue", "Newa", "NKo", "Number_Forms", "OCR", "Ogham",
    258             "Ol_Chiki", "Old_Hungarian", "Old_Italic", "Old_North_Arabian",
    259             "Old_Permic", "Old_Persian", "Old_South_Arabian", "Old_Turkic",
    260             "Oriya", "Ornamental_Dingbats", "Osage", "Osmanya",
    261             "Pahawh_Hmong", "Palmyrene", "Pau_Cin_Hau", "Phags_Pa",
    262             "Phaistos", "Phoenician", "Phonetic_Ext", "Phonetic_Ext_Sup",
    263             "Playing_Cards", "Psalter_Pahlavi", "PUA", "Punctuation",
    264             "Rejang", "Rumi", "Runic", "Samaritan", "Saurashtra", "Sharada",
    265             "Shavian", "Shorthand_Format_Controls", "Siddham", "Sinhala",
    266             "Sinhala_Archaic_Numbers", "Small_Forms", "Sora_Sompeng",
    267             "Specials", "Sundanese", "Sundanese_Sup", "Sup_Arrows_A",
    268             "Sup_Arrows_B", "Sup_Arrows_C", "Sup_Math_Operators",
    269             "Sup_PUA_A", "Sup_PUA_B", "Sup_Punctuation",
    270             "Sup_Symbols_And_Pictographs", "Super_And_Sub",
    271             "Sutton_SignWriting", "Syloti_Nagri", "Syriac", "Tagalog",
    272             "Tagbanwa", "Tags", "Tai_Le", "Tai_Tham", "Tai_Viet",
    273             "Tai_Xuan_Jing", "Takri", "Tamil", "Tangut",
    274             "Tangut_Components", "Telugu", "Thaana", "Thai", "Tibetan",
    275             "Tifinagh", "Tirhuta", "Transport_And_Map", "UCAS", "UCAS_Ext",
    276             "Ugaritic", "Vai", "Vedic_Ext", "Vertical_Forms", "VS",
    277             "VS_Sup", "Warang_Citi", "Yi_Radicals", "Yi_Syllables",
    278             "Yijing"};
    279         const static std::vector<std::string> value_names = {
    280             "Adlam", "Aegean_Numbers", "Ahom", "Alchemical_Symbols",
    281             "Alphabetic_Presentation_Forms", "Anatolian_Hieroglyphs",
    282             "Ancient_Greek_Musical_Notation", "Ancient_Greek_Numbers",
    283             "Ancient_Symbols", "Arabic", "Arabic_Extended_A",
    284             "Arabic_Mathematical_Alphabetic_Symbols",
    285             "Arabic_Presentation_Forms_A", "Arabic_Presentation_Forms_B",
    286             "Arabic_Supplement", "Armenian", "Arrows", "Basic_Latin",
    287             "Avestan", "Balinese", "Bamum", "Bamum_Supplement", "Bassa_Vah",
    288             "Batak", "Bengali", "Bhaiksuki", "Block_Elements", "Bopomofo",
    289             "Bopomofo_Extended", "Box_Drawing", "Brahmi",
    290             "Braille_Patterns", "Buginese", "Buhid",
    291             "Byzantine_Musical_Symbols", "Carian", "Caucasian_Albanian",
    292             "Chakma", "Cham", "Cherokee", "Cherokee_Supplement",
    293             "CJK_Unified_Ideographs", "CJK_Compatibility",
    294             "CJK_Compatibility_Forms", "CJK_Compatibility_Ideographs",
    295             "CJK_Compatibility_Ideographs_Supplement",
    296             "CJK_Unified_Ideographs_Extension_A",
     147            NB, ASCII, Latin_1_Sup, Latin_Ext_A, Latin_Ext_B, IPA_Ext,
     148            Modifier_Letters, Diacriticals, Greek, Cyrillic, Cyrillic_Sup,
     149            Armenian, Hebrew, Arabic, Syriac, Arabic_Sup, Thaana, NKo,
     150            Samaritan, Mandaic, Arabic_Ext_A, Devanagari, Bengali, Gurmukhi,
     151            Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala,
     152            Thai, Lao, Tibetan, Myanmar, Georgian, Jamo, Ethiopic,
     153            Ethiopic_Sup, Cherokee, UCAS, Ogham, Runic, Tagalog, Hanunoo,
     154            Buhid, Tagbanwa, Khmer, Mongolian, UCAS_Ext, Limbu, Tai_Le,
     155            New_Tai_Lue, Khmer_Symbols, Buginese, Tai_Tham,
     156            Diacriticals_Ext, Balinese, Sundanese, Batak, Lepcha, Ol_Chiki,
     157            Cyrillic_Ext_C, Sundanese_Sup, Vedic_Ext, Phonetic_Ext,
     158            Phonetic_Ext_Sup, Diacriticals_Sup, Latin_Ext_Additional,
     159            Greek_Ext, Punctuation, Super_And_Sub, Currency_Symbols,
     160            Diacriticals_For_Symbols, Letterlike_Symbols, Number_Forms,
     161            Arrows, Math_Operators, Misc_Technical, Control_Pictures, OCR,
     162            Enclosed_Alphanum, Box_Drawing, Block_Elements,
     163            Geometric_Shapes, Misc_Symbols, Dingbats, Misc_Math_Symbols_A,
     164            Sup_Arrows_A, Braille, Sup_Arrows_B, Misc_Math_Symbols_B,
     165            Sup_Math_Operators, Misc_Arrows, Glagolitic, Latin_Ext_C,
     166            Coptic, Georgian_Sup, Tifinagh, Ethiopic_Ext, Cyrillic_Ext_A,
     167            Sup_Punctuation, CJK_Radicals_Sup, Kangxi, IDC, CJK_Symbols,
     168            Hiragana, Katakana, Bopomofo, Compat_Jamo, Kanbun, Bopomofo_Ext,
     169            CJK_Strokes, Katakana_Ext, Enclosed_CJK, CJK_Compat, CJK_Ext_A,
     170            Yijing, CJK, Yi_Syllables, Yi_Radicals, Lisu, Vai,
     171            Cyrillic_Ext_B, Bamum, Modifier_Tone_Letters, Latin_Ext_D,
     172            Syloti_Nagri, Indic_Number_Forms, Phags_Pa, Saurashtra,
     173            Devanagari_Ext, Kayah_Li, Rejang, Jamo_Ext_A, Javanese,
     174            Myanmar_Ext_B, Cham, Myanmar_Ext_A, Tai_Viet, Meetei_Mayek_Ext,
     175            Ethiopic_Ext_A, Latin_Ext_E, Cherokee_Sup, Meetei_Mayek, Hangul,
     176            Jamo_Ext_B, High_Surrogates, High_PU_Surrogates, Low_Surrogates,
     177            PUA, CJK_Compat_Ideographs, Alphabetic_PF, Arabic_PF_A, VS,
     178            Vertical_Forms, Half_Marks, CJK_Compat_Forms, Small_Forms,
     179            Arabic_PF_B, Half_And_Full_Forms, Specials, Linear_B_Syllabary,
     180            Linear_B_Ideograms, Aegean_Numbers, Ancient_Greek_Numbers,
     181            Ancient_Symbols, Phaistos, Lycian, Carian, Coptic_Epact_Numbers,
     182            Old_Italic, Gothic, Old_Permic, Ugaritic, Old_Persian, Deseret,
     183            Shavian, Osmanya, Osage, Elbasan, Caucasian_Albanian, Linear_A,
     184            Cypriot_Syllabary, Imperial_Aramaic, Palmyrene, Nabataean,
     185            Hatran, Phoenician, Lydian, Meroitic_Hieroglyphs,
     186            Meroitic_Cursive, Kharoshthi, Old_South_Arabian,
     187            Old_North_Arabian, Manichaean, Avestan, Inscriptional_Parthian,
     188            Inscriptional_Pahlavi, Psalter_Pahlavi, Old_Turkic,
     189            Old_Hungarian, Rumi, Brahmi, Kaithi, Sora_Sompeng, Chakma,
     190            Mahajani, Sharada, Sinhala_Archaic_Numbers, Khojki, Multani,
     191            Khudawadi, Grantha, Newa, Tirhuta, Siddham, Modi, Mongolian_Sup,
     192            Takri, Ahom, Warang_Citi, Pau_Cin_Hau, Bhaiksuki, Marchen,
     193            Cuneiform, Cuneiform_Numbers, Early_Dynastic_Cuneiform,
     194            Egyptian_Hieroglyphs, Anatolian_Hieroglyphs, Bamum_Sup, Mro,
     195            Bassa_Vah, Pahawh_Hmong, Miao, Ideographic_Symbols, Tangut,
     196            Tangut_Components, Kana_Sup, Duployan,
     197            Shorthand_Format_Controls, Byzantine_Music, Music,
     198            Ancient_Greek_Music, Tai_Xuan_Jing, Counting_Rod, Math_Alphanum,
     199            Sutton_SignWriting, Glagolitic_Sup, Mende_Kikakui, Adlam,
     200            Arabic_Math, Mahjong, Domino, Playing_Cards,
     201            Enclosed_Alphanum_Sup, Enclosed_Ideographic_Sup,
     202            Misc_Pictographs, Emoticons, Ornamental_Dingbats,
     203            Transport_And_Map, Alchemical, Geometric_Shapes_Ext,
     204            Sup_Arrows_C, Sup_Symbols_And_Pictographs, CJK_Ext_B, CJK_Ext_C,
     205            CJK_Ext_D, CJK_Ext_E, CJK_Compat_Ideographs_Sup, Tags, VS_Sup,
     206            Sup_PUA_A, Sup_PUA_B};
     207        const static std::vector<std::string> enum_names = {
     208            "NB", "ASCII", "Latin_1_Sup", "Latin_Ext_A", "Latin_Ext_B",
     209            "IPA_Ext", "Modifier_Letters", "Diacriticals", "Greek",
     210            "Cyrillic", "Cyrillic_Sup", "Armenian", "Hebrew", "Arabic",
     211            "Syriac", "Arabic_Sup", "Thaana", "NKo", "Samaritan", "Mandaic",
     212            "Arabic_Ext_A", "Devanagari", "Bengali", "Gurmukhi", "Gujarati",
     213            "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala",
     214            "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "Jamo",
     215            "Ethiopic", "Ethiopic_Sup", "Cherokee", "UCAS", "Ogham",
     216            "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer",
     217            "Mongolian", "UCAS_Ext", "Limbu", "Tai_Le", "New_Tai_Lue",
     218            "Khmer_Symbols", "Buginese", "Tai_Tham", "Diacriticals_Ext",
     219            "Balinese", "Sundanese", "Batak", "Lepcha", "Ol_Chiki",
     220            "Cyrillic_Ext_C", "Sundanese_Sup", "Vedic_Ext", "Phonetic_Ext",
     221            "Phonetic_Ext_Sup", "Diacriticals_Sup", "Latin_Ext_Additional",
     222            "Greek_Ext", "Punctuation", "Super_And_Sub", "Currency_Symbols",
     223            "Diacriticals_For_Symbols", "Letterlike_Symbols",
     224            "Number_Forms", "Arrows", "Math_Operators", "Misc_Technical",
     225            "Control_Pictures", "OCR", "Enclosed_Alphanum", "Box_Drawing",
     226            "Block_Elements", "Geometric_Shapes", "Misc_Symbols",
     227            "Dingbats", "Misc_Math_Symbols_A", "Sup_Arrows_A", "Braille",
     228            "Sup_Arrows_B", "Misc_Math_Symbols_B", "Sup_Math_Operators",
     229            "Misc_Arrows", "Glagolitic", "Latin_Ext_C", "Coptic",
     230            "Georgian_Sup", "Tifinagh", "Ethiopic_Ext", "Cyrillic_Ext_A",
     231            "Sup_Punctuation", "CJK_Radicals_Sup", "Kangxi", "IDC",
     232            "CJK_Symbols", "Hiragana", "Katakana", "Bopomofo",
     233            "Compat_Jamo", "Kanbun", "Bopomofo_Ext", "CJK_Strokes",
     234            "Katakana_Ext", "Enclosed_CJK", "CJK_Compat", "CJK_Ext_A",
     235            "Yijing", "CJK", "Yi_Syllables", "Yi_Radicals", "Lisu", "Vai",
     236            "Cyrillic_Ext_B", "Bamum", "Modifier_Tone_Letters",
     237            "Latin_Ext_D", "Syloti_Nagri", "Indic_Number_Forms", "Phags_Pa",
     238            "Saurashtra", "Devanagari_Ext", "Kayah_Li", "Rejang",
     239            "Jamo_Ext_A", "Javanese", "Myanmar_Ext_B", "Cham",
     240            "Myanmar_Ext_A", "Tai_Viet", "Meetei_Mayek_Ext",
     241            "Ethiopic_Ext_A", "Latin_Ext_E", "Cherokee_Sup", "Meetei_Mayek",
     242            "Hangul", "Jamo_Ext_B", "High_Surrogates", "High_PU_Surrogates",
     243            "Low_Surrogates", "PUA", "CJK_Compat_Ideographs",
     244            "Alphabetic_PF", "Arabic_PF_A", "VS", "Vertical_Forms",
     245            "Half_Marks", "CJK_Compat_Forms", "Small_Forms", "Arabic_PF_B",
     246            "Half_And_Full_Forms", "Specials", "Linear_B_Syllabary",
     247            "Linear_B_Ideograms", "Aegean_Numbers", "Ancient_Greek_Numbers",
     248            "Ancient_Symbols", "Phaistos", "Lycian", "Carian",
     249            "Coptic_Epact_Numbers", "Old_Italic", "Gothic", "Old_Permic",
     250            "Ugaritic", "Old_Persian", "Deseret", "Shavian", "Osmanya",
     251            "Osage", "Elbasan", "Caucasian_Albanian", "Linear_A",
     252            "Cypriot_Syllabary", "Imperial_Aramaic", "Palmyrene",
     253            "Nabataean", "Hatran", "Phoenician", "Lydian",
     254            "Meroitic_Hieroglyphs", "Meroitic_Cursive", "Kharoshthi",
     255            "Old_South_Arabian", "Old_North_Arabian", "Manichaean",
     256            "Avestan", "Inscriptional_Parthian", "Inscriptional_Pahlavi",
     257            "Psalter_Pahlavi", "Old_Turkic", "Old_Hungarian", "Rumi",
     258            "Brahmi", "Kaithi", "Sora_Sompeng", "Chakma", "Mahajani",
     259            "Sharada", "Sinhala_Archaic_Numbers", "Khojki", "Multani",
     260            "Khudawadi", "Grantha", "Newa", "Tirhuta", "Siddham", "Modi",
     261            "Mongolian_Sup", "Takri", "Ahom", "Warang_Citi", "Pau_Cin_Hau",
     262            "Bhaiksuki", "Marchen", "Cuneiform", "Cuneiform_Numbers",
     263            "Early_Dynastic_Cuneiform", "Egyptian_Hieroglyphs",
     264            "Anatolian_Hieroglyphs", "Bamum_Sup", "Mro", "Bassa_Vah",
     265            "Pahawh_Hmong", "Miao", "Ideographic_Symbols", "Tangut",
     266            "Tangut_Components", "Kana_Sup", "Duployan",
     267            "Shorthand_Format_Controls", "Byzantine_Music", "Music",
     268            "Ancient_Greek_Music", "Tai_Xuan_Jing", "Counting_Rod",
     269            "Math_Alphanum", "Sutton_SignWriting", "Glagolitic_Sup",
     270            "Mende_Kikakui", "Adlam", "Arabic_Math", "Mahjong", "Domino",
     271            "Playing_Cards", "Enclosed_Alphanum_Sup",
     272            "Enclosed_Ideographic_Sup", "Misc_Pictographs", "Emoticons",
     273            "Ornamental_Dingbats", "Transport_And_Map", "Alchemical",
     274            "Geometric_Shapes_Ext", "Sup_Arrows_C",
     275            "Sup_Symbols_And_Pictographs", "CJK_Ext_B", "CJK_Ext_C",
     276            "CJK_Ext_D", "CJK_Ext_E", "CJK_Compat_Ideographs_Sup", "Tags",
     277            "VS_Sup", "Sup_PUA_A", "Sup_PUA_B"};
     278        const static std::vector<std::string> value_names = {
     279            "No_Block", "Basic_Latin", "Latin_1_Supplement",
     280            "Latin_Extended_A", "Latin_Extended_B", "IPA_Extensions",
     281            "Spacing_Modifier_Letters", "Combining_Diacritical_Marks",
     282            "Greek_And_Coptic", "Cyrillic", "Cyrillic_Supplement",
     283            "Armenian", "Hebrew", "Arabic", "Syriac", "Arabic_Supplement",
     284            "Thaana", "NKo", "Samaritan", "Mandaic", "Arabic_Extended_A",
     285            "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya",
     286            "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai",
     287            "Lao", "Tibetan", "Myanmar", "Georgian", "Hangul_Jamo",
     288            "Ethiopic", "Ethiopic_Supplement", "Cherokee",
     289            "Unified_Canadian_Aboriginal_Syllabics", "Ogham", "Runic",
     290            "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian",
     291            "Unified_Canadian_Aboriginal_Syllabics_Extended", "Limbu",
     292            "Tai_Le", "New_Tai_Lue", "Khmer_Symbols", "Buginese",
     293            "Tai_Tham", "Combining_Diacritical_Marks_Extended", "Balinese",
     294            "Sundanese", "Batak", "Lepcha", "Ol_Chiki",
     295            "Cyrillic_Extended_C", "Sundanese_Supplement",
     296            "Vedic_Extensions", "Phonetic_Extensions",
     297            "Phonetic_Extensions_Supplement",
     298            "Combining_Diacritical_Marks_Supplement",
     299            "Latin_Extended_Additional", "Greek_Extended",
     300            "General_Punctuation", "Superscripts_And_Subscripts",
     301            "Currency_Symbols", "Combining_Diacritical_Marks_For_Symbols",
     302            "Letterlike_Symbols", "Number_Forms", "Arrows",
     303            "Mathematical_Operators", "Miscellaneous_Technical",
     304            "Control_Pictures", "Optical_Character_Recognition",
     305            "Enclosed_Alphanumerics", "Box_Drawing", "Block_Elements",
     306            "Geometric_Shapes", "Miscellaneous_Symbols", "Dingbats",
     307            "Miscellaneous_Mathematical_Symbols_A", "Supplemental_Arrows_A",
     308            "Braille_Patterns", "Supplemental_Arrows_B",
     309            "Miscellaneous_Mathematical_Symbols_B",
     310            "Supplemental_Mathematical_Operators",
     311            "Miscellaneous_Symbols_And_Arrows", "Glagolitic",
     312            "Latin_Extended_C", "Coptic", "Georgian_Supplement", "Tifinagh",
     313            "Ethiopic_Extended", "Cyrillic_Extended_A",
     314            "Supplemental_Punctuation", "CJK_Radicals_Supplement",
     315            "Kangxi_Radicals", "Ideographic_Description_Characters",
     316            "CJK_Symbols_And_Punctuation", "Hiragana", "Katakana",
     317            "Bopomofo", "Hangul_Compatibility_Jamo", "Kanbun",
     318            "Bopomofo_Extended", "CJK_Strokes",
     319            "Katakana_Phonetic_Extensions",
     320            "Enclosed_CJK_Letters_And_Months", "CJK_Compatibility",
     321            "CJK_Unified_Ideographs_Extension_A", "Yijing_Hexagram_Symbols",
     322            "CJK_Unified_Ideographs", "Yi_Syllables", "Yi_Radicals", "Lisu",
     323            "Vai", "Cyrillic_Extended_B", "Bamum", "Modifier_Tone_Letters",
     324            "Latin_Extended_D", "Syloti_Nagri", "Common_Indic_Number_Forms",
     325            "Phags_Pa", "Saurashtra", "Devanagari_Extended", "Kayah_Li",
     326            "Rejang", "Hangul_Jamo_Extended_A", "Javanese",
     327            "Myanmar_Extended_B", "Cham", "Myanmar_Extended_A", "Tai_Viet",
     328            "Meetei_Mayek_Extensions", "Ethiopic_Extended_A",
     329            "Latin_Extended_E", "Cherokee_Supplement", "Meetei_Mayek",
     330            "Hangul_Syllables", "Hangul_Jamo_Extended_B", "High_Surrogates",
     331            "High_Private_Use_Surrogates", "Low_Surrogates",
     332            "Private_Use_Area", "CJK_Compatibility_Ideographs",
     333            "Alphabetic_Presentation_Forms", "Arabic_Presentation_Forms_A",
     334            "Variation_Selectors", "Vertical_Forms", "Combining_Half_Marks",
     335            "CJK_Compatibility_Forms", "Small_Form_Variants",
     336            "Arabic_Presentation_Forms_B", "Halfwidth_And_Fullwidth_Forms",
     337            "Specials", "Linear_B_Syllabary", "Linear_B_Ideograms",
     338            "Aegean_Numbers", "Ancient_Greek_Numbers", "Ancient_Symbols",
     339            "Phaistos_Disc", "Lycian", "Carian", "Coptic_Epact_Numbers",
     340            "Old_Italic", "Gothic", "Old_Permic", "Ugaritic", "Old_Persian",
     341            "Deseret", "Shavian", "Osmanya", "Osage", "Elbasan",
     342            "Caucasian_Albanian", "Linear_A", "Cypriot_Syllabary",
     343            "Imperial_Aramaic", "Palmyrene", "Nabataean", "Hatran",
     344            "Phoenician", "Lydian", "Meroitic_Hieroglyphs",
     345            "Meroitic_Cursive", "Kharoshthi", "Old_South_Arabian",
     346            "Old_North_Arabian", "Manichaean", "Avestan",
     347            "Inscriptional_Parthian", "Inscriptional_Pahlavi",
     348            "Psalter_Pahlavi", "Old_Turkic", "Old_Hungarian",
     349            "Rumi_Numeral_Symbols", "Brahmi", "Kaithi", "Sora_Sompeng",
     350            "Chakma", "Mahajani", "Sharada", "Sinhala_Archaic_Numbers",
     351            "Khojki", "Multani", "Khudawadi", "Grantha", "Newa", "Tirhuta",
     352            "Siddham", "Modi", "Mongolian_Supplement", "Takri", "Ahom",
     353            "Warang_Citi", "Pau_Cin_Hau", "Bhaiksuki", "Marchen",
     354            "Cuneiform", "Cuneiform_Numbers_And_Punctuation",
     355            "Early_Dynastic_Cuneiform", "Egyptian_Hieroglyphs",
     356            "Anatolian_Hieroglyphs", "Bamum_Supplement", "Mro", "Bassa_Vah",
     357            "Pahawh_Hmong", "Miao", "Ideographic_Symbols_And_Punctuation",
     358            "Tangut", "Tangut_Components", "Kana_Supplement", "Duployan",
     359            "Shorthand_Format_Controls", "Byzantine_Musical_Symbols",
     360            "Musical_Symbols", "Ancient_Greek_Musical_Notation",
     361            "Tai_Xuan_Jing_Symbols", "Counting_Rod_Numerals",
     362            "Mathematical_Alphanumeric_Symbols", "Sutton_SignWriting",
     363            "Glagolitic_Supplement", "Mende_Kikakui", "Adlam",
     364            "Arabic_Mathematical_Alphabetic_Symbols", "Mahjong_Tiles",
     365            "Domino_Tiles", "Playing_Cards",
     366            "Enclosed_Alphanumeric_Supplement",
     367            "Enclosed_Ideographic_Supplement",
     368            "Miscellaneous_Symbols_And_Pictographs", "Emoticons",
     369            "Ornamental_Dingbats", "Transport_And_Map_Symbols",
     370            "Alchemical_Symbols", "Geometric_Shapes_Extended",
     371            "Supplemental_Arrows_C", "Supplemental_Symbols_And_Pictographs",
    297372            "CJK_Unified_Ideographs_Extension_B",
    298373            "CJK_Unified_Ideographs_Extension_C",
    299374            "CJK_Unified_Ideographs_Extension_D",
    300             "CJK_Unified_Ideographs_Extension_E", "CJK_Radicals_Supplement",
    301             "CJK_Strokes", "CJK_Symbols_And_Punctuation",
    302             "Hangul_Compatibility_Jamo", "Control_Pictures", "Coptic",
    303             "Coptic_Epact_Numbers", "Counting_Rod_Numerals", "Cuneiform",
    304             "Cuneiform_Numbers_And_Punctuation", "Currency_Symbols",
    305             "Cypriot_Syllabary", "Cyrillic", "Cyrillic_Extended_A",
    306             "Cyrillic_Extended_B", "Cyrillic_Extended_C",
    307             "Cyrillic_Supplement", "Deseret", "Devanagari",
    308             "Devanagari_Extended", "Combining_Diacritical_Marks",
    309             "Combining_Diacritical_Marks_Extended",
    310             "Combining_Diacritical_Marks_For_Symbols",
    311             "Combining_Diacritical_Marks_Supplement", "Dingbats",
    312             "Domino_Tiles", "Duployan", "Early_Dynastic_Cuneiform",
    313             "Egyptian_Hieroglyphs", "Elbasan", "Emoticons",
    314             "Enclosed_Alphanumerics", "Enclosed_Alphanumeric_Supplement",
    315             "Enclosed_CJK_Letters_And_Months",
    316             "Enclosed_Ideographic_Supplement", "Ethiopic",
    317             "Ethiopic_Extended", "Ethiopic_Extended_A",
    318             "Ethiopic_Supplement", "Geometric_Shapes",
    319             "Geometric_Shapes_Extended", "Georgian", "Georgian_Supplement",
    320             "Glagolitic", "Glagolitic_Supplement", "Gothic", "Grantha",
    321             "Greek_And_Coptic", "Greek_Extended", "Gujarati", "Gurmukhi",
    322             "Halfwidth_And_Fullwidth_Forms", "Combining_Half_Marks",
    323             "Hangul_Syllables", "Hanunoo", "Hatran", "Hebrew",
    324             "High_Private_Use_Surrogates", "High_Surrogates", "Hiragana",
    325             "Ideographic_Description_Characters",
    326             "Ideographic_Symbols_And_Punctuation", "Imperial_Aramaic",
    327             "Common_Indic_Number_Forms", "Inscriptional_Pahlavi",
    328             "Inscriptional_Parthian", "IPA_Extensions", "Hangul_Jamo",
    329             "Hangul_Jamo_Extended_A", "Hangul_Jamo_Extended_B", "Javanese",
    330             "Kaithi", "Kana_Supplement", "Kanbun", "Kangxi_Radicals",
    331             "Kannada", "Katakana", "Katakana_Phonetic_Extensions",
    332             "Kayah_Li", "Kharoshthi", "Khmer", "Khmer_Symbols", "Khojki",
    333             "Khudawadi", "Lao", "Latin_1_Supplement", "Latin_Extended_A",
    334             "Latin_Extended_Additional", "Latin_Extended_B",
    335             "Latin_Extended_C", "Latin_Extended_D", "Latin_Extended_E",
    336             "Lepcha", "Letterlike_Symbols", "Limbu", "Linear_A",
    337             "Linear_B_Ideograms", "Linear_B_Syllabary", "Lisu",
    338             "Low_Surrogates", "Lycian", "Lydian", "Mahajani",
    339             "Mahjong_Tiles", "Malayalam", "Mandaic", "Manichaean",
    340             "Marchen", "Mathematical_Alphanumeric_Symbols",
    341             "Mathematical_Operators", "Meetei_Mayek",
    342             "Meetei_Mayek_Extensions", "Mende_Kikakui", "Meroitic_Cursive",
    343             "Meroitic_Hieroglyphs", "Miao",
    344             "Miscellaneous_Symbols_And_Arrows",
    345             "Miscellaneous_Mathematical_Symbols_A",
    346             "Miscellaneous_Mathematical_Symbols_B",
    347             "Miscellaneous_Symbols_And_Pictographs",
    348             "Miscellaneous_Symbols", "Miscellaneous_Technical", "Modi",
    349             "Spacing_Modifier_Letters", "Modifier_Tone_Letters",
    350             "Mongolian", "Mongolian_Supplement", "Mro", "Multani",
    351             "Musical_Symbols", "Myanmar", "Myanmar_Extended_A",
    352             "Myanmar_Extended_B", "Nabataean", "No_Block", "New_Tai_Lue",
    353             "Newa", "NKo", "Number_Forms", "Optical_Character_Recognition",
    354             "Ogham", "Ol_Chiki", "Old_Hungarian", "Old_Italic",
    355             "Old_North_Arabian", "Old_Permic", "Old_Persian",
    356             "Old_South_Arabian", "Old_Turkic", "Oriya",
    357             "Ornamental_Dingbats", "Osage", "Osmanya", "Pahawh_Hmong",
    358             "Palmyrene", "Pau_Cin_Hau", "Phags_Pa", "Phaistos_Disc",
    359             "Phoenician", "Phonetic_Extensions",
    360             "Phonetic_Extensions_Supplement", "Playing_Cards",
    361             "Psalter_Pahlavi", "Private_Use_Area", "General_Punctuation",
    362             "Rejang", "Rumi_Numeral_Symbols", "Runic", "Samaritan",
    363             "Saurashtra", "Sharada", "Shavian", "Shorthand_Format_Controls",
    364             "Siddham", "Sinhala", "Sinhala_Archaic_Numbers",
    365             "Small_Form_Variants", "Sora_Sompeng", "Specials", "Sundanese",
    366             "Sundanese_Supplement", "Supplemental_Arrows_A",
    367             "Supplemental_Arrows_B", "Supplemental_Arrows_C",
    368             "Supplemental_Mathematical_Operators",
     375            "CJK_Unified_Ideographs_Extension_E",
     376            "CJK_Compatibility_Ideographs_Supplement", "Tags",
     377            "Variation_Selectors_Supplement",
    369378            "Supplementary_Private_Use_Area_A",
    370             "Supplementary_Private_Use_Area_B", "Supplemental_Punctuation",
    371             "Supplemental_Symbols_And_Pictographs",
    372             "Superscripts_And_Subscripts", "Sutton_SignWriting",
    373             "Syloti_Nagri", "Syriac", "Tagalog", "Tagbanwa", "Tags",
    374             "Tai_Le", "Tai_Tham", "Tai_Viet", "Tai_Xuan_Jing_Symbols",
    375             "Takri", "Tamil", "Tangut", "Tangut_Components", "Telugu",
    376             "Thaana", "Thai", "Tibetan", "Tifinagh", "Tirhuta",
    377             "Transport_And_Map_Symbols",
    378             "Unified_Canadian_Aboriginal_Syllabics",
    379             "Unified_Canadian_Aboriginal_Syllabics_Extended", "Ugaritic",
    380             "Vai", "Vedic_Extensions", "Vertical_Forms",
    381             "Variation_Selectors", "Variation_Selectors_Supplement",
    382             "Warang_Citi", "Yi_Radicals", "Yi_Syllables",
    383             "Yijing_Hexagram_Symbols"};
     379            "Supplementary_Private_Use_Area_B"};
    384380        static std::unordered_map<std::string, int> aliases_only_map {{
    385381            {"canadiansyllabics", BLK_ns::UCAS},
     
    391387    namespace SC_ns {
    392388        enum value_t {
    393             Adlm, Aghb, Ahom, Arab, Armi, Armn, Avst, Bali, Bamu, Bass,
    394             Batk, Beng, Bhks, Bopo, Brah, Brai, Bugi, Buhd, Cakm, Cans,
    395             Cari, Cham, Cher, Copt, Cprt, Cyrl, Deva, Dsrt, Dupl, Egyp,
    396             Elba, Ethi, Geor, Glag, Goth, Gran, Grek, Gujr, Guru, Hang,
    397             Hani, Hano, Hatr, Hebr, Hira, Hluw, Hmng, Hrkt, Hung, Ital,
    398             Java, Kali, Kana, Khar, Khmr, Khoj, Knda, Kthi, Lana, Laoo,
    399             Latn, Lepc, Limb, Lina, Linb, Lisu, Lyci, Lydi, Mahj, Mand,
    400             Mani, Marc, Mend, Merc, Mero, Mlym, Modi, Mong, Mroo, Mtei,
    401             Mult, Mymr, Narb, Nbat, Newa, Nkoo, Ogam, Olck, Orkh, Orya,
    402             Osge, Osma, Palm, Pauc, Perm, Phag, Phli, Phlp, Phnx, Plrd,
    403             Prti, Rjng, Runr, Samr, Sarb, Saur, Sgnw, Shaw, Shrd, Sidd,
    404             Sind, Sinh, Sora, Sund, Sylo, Syrc, Tagb, Takr, Tale, Talu,
    405             Taml, Tang, Tavt, Telu, Tfng, Tglg, Thaa, Thai, Tibt, Tirh,
    406             Ugar, Vaii, Wara, Xpeo, Xsux, Yiii, Zinh, Zyyy, Zzzz};
    407         const static std::vector<std::string> enum_names = {
    408             "Adlm", "Aghb", "Ahom", "Arab", "Armi", "Armn", "Avst", "Bali",
    409             "Bamu", "Bass", "Batk", "Beng", "Bhks", "Bopo", "Brah", "Brai",
    410             "Bugi", "Buhd", "Cakm", "Cans", "Cari", "Cham", "Cher", "Copt",
    411             "Cprt", "Cyrl", "Deva", "Dsrt", "Dupl", "Egyp", "Elba", "Ethi",
    412             "Geor", "Glag", "Goth", "Gran", "Grek", "Gujr", "Guru", "Hang",
    413             "Hani", "Hano", "Hatr", "Hebr", "Hira", "Hluw", "Hmng", "Hrkt",
    414             "Hung", "Ital", "Java", "Kali", "Kana", "Khar", "Khmr", "Khoj",
    415             "Knda", "Kthi", "Lana", "Laoo", "Latn", "Lepc", "Limb", "Lina",
    416             "Linb", "Lisu", "Lyci", "Lydi", "Mahj", "Mand", "Mani", "Marc",
    417             "Mend", "Merc", "Mero", "Mlym", "Modi", "Mong", "Mroo", "Mtei",
    418             "Mult", "Mymr", "Narb", "Nbat", "Newa", "Nkoo", "Ogam", "Olck",
    419             "Orkh", "Orya", "Osge", "Osma", "Palm", "Pauc", "Perm", "Phag",
    420             "Phli", "Phlp", "Phnx", "Plrd", "Prti", "Rjng", "Runr", "Samr",
    421             "Sarb", "Saur", "Sgnw", "Shaw", "Shrd", "Sidd", "Sind", "Sinh",
    422             "Sora", "Sund", "Sylo", "Syrc", "Tagb", "Takr", "Tale", "Talu",
    423             "Taml", "Tang", "Tavt", "Telu", "Tfng", "Tglg", "Thaa", "Thai",
    424             "Tibt", "Tirh", "Ugar", "Vaii", "Wara", "Xpeo", "Xsux", "Yiii",
    425             "Zinh", "Zyyy", "Zzzz"};
    426         const static std::vector<std::string> value_names = {
    427             "Adlam", "Caucasian_Albanian", "Ahom", "Arabic",
    428             "Imperial_Aramaic", "Armenian", "Avestan", "Balinese", "Bamum",
    429             "Bassa_Vah", "Batak", "Bengali", "Bhaiksuki", "Bopomofo",
    430             "Brahmi", "Braille", "Buginese", "Buhid", "Chakma",
    431             "Canadian_Aboriginal", "Carian", "Cham", "Cherokee", "Coptic",
    432             "Cypriot", "Cyrillic", "Devanagari", "Deseret", "Duployan",
    433             "Egyptian_Hieroglyphs", "Elbasan", "Ethiopic", "Georgian",
    434             "Glagolitic", "Gothic", "Grantha", "Greek", "Gujarati",
    435             "Gurmukhi", "Hangul", "Han", "Hanunoo", "Hatran", "Hebrew",
    436             "Hiragana", "Anatolian_Hieroglyphs", "Pahawh_Hmong",
    437             "Katakana_Or_Hiragana", "Old_Hungarian", "Old_Italic",
    438             "Javanese", "Kayah_Li", "Katakana", "Kharoshthi", "Khmer",
    439             "Khojki", "Kannada", "Kaithi", "Tai_Tham", "Lao", "Latin",
    440             "Lepcha", "Limbu", "Linear_A", "Linear_B", "Lisu", "Lycian",
    441             "Lydian", "Mahajani", "Mandaic", "Manichaean", "Marchen",
    442             "Mende_Kikakui", "Meroitic_Cursive", "Meroitic_Hieroglyphs",
    443             "Malayalam", "Modi", "Mongolian", "Mro", "Meetei_Mayek",
    444             "Multani", "Myanmar", "Old_North_Arabian", "Nabataean", "Newa",
    445             "Nko", "Ogham", "Ol_Chiki", "Old_Turkic", "Oriya", "Osage",
    446             "Osmanya", "Palmyrene", "Pau_Cin_Hau", "Old_Permic", "Phags_Pa",
    447             "Inscriptional_Pahlavi", "Psalter_Pahlavi", "Phoenician",
    448             "Miao", "Inscriptional_Parthian", "Rejang", "Runic",
    449             "Samaritan", "Old_South_Arabian", "Saurashtra", "SignWriting",
    450             "Shavian", "Sharada", "Siddham", "Khudawadi", "Sinhala",
    451             "Sora_Sompeng", "Sundanese", "Syloti_Nagri", "Syriac",
    452             "Tagbanwa", "Takri", "Tai_Le", "New_Tai_Lue", "Tamil", "Tangut",
    453             "Tai_Viet", "Telugu", "Tifinagh", "Tagalog", "Thaana", "Thai",
    454             "Tibetan", "Tirhuta", "Ugaritic", "Vai", "Warang_Citi",
    455             "Old_Persian", "Cuneiform", "Yi", "Inherited", "Common",
    456             "Unknown"};
     389            Zzzz, Zyyy, Latn, Grek, Cyrl, Armn, Hebr, Arab, Syrc, Thaa,
     390            Deva, Beng, Guru, Gujr, Orya, Taml, Telu, Knda, Mlym, Sinh,
     391            Thai, Laoo, Tibt, Mymr, Geor, Hang, Ethi, Cher, Cans, Ogam,
     392            Runr, Khmr, Mong, Hira, Kana, Bopo, Hani, Yiii, Ital, Goth,
     393            Dsrt, Zinh, Tglg, Hano, Buhd, Tagb, Limb, Tale, Linb, Ugar,
     394            Shaw, Osma, Cprt, Brai, Bugi, Copt, Talu, Glag, Tfng, Sylo,
     395            Xpeo, Khar, Bali, Xsux, Phnx, Phag, Nkoo, Sund, Lepc, Olck,
     396            Vaii, Saur, Kali, Rjng, Lyci, Cari, Lydi, Cham, Lana, Tavt,
     397            Avst, Egyp, Samr, Lisu, Bamu, Java, Mtei, Armi, Sarb, Prti,
     398            Phli, Orkh, Kthi, Batk, Brah, Mand, Cakm, Merc, Mero, Plrd,
     399            Shrd, Sora, Takr, Aghb, Bass, Dupl, Elba, Gran, Hmng, Khoj,
     400            Lina, Mahj, Mani, Mend, Modi, Mroo, Narb, Nbat, Palm, Pauc,
     401            Perm, Phlp, Sidd, Sind, Tirh, Wara, Ahom, Hluw, Hatr, Mult,
     402            Hung, Sgnw, Adlm, Bhks, Marc, Newa, Osge, Tang, Hrkt};
     403        const static std::vector<std::string> enum_names = {
     404            "Zzzz", "Zyyy", "Latn", "Grek", "Cyrl", "Armn", "Hebr", "Arab",
     405            "Syrc", "Thaa", "Deva", "Beng", "Guru", "Gujr", "Orya", "Taml",
     406            "Telu", "Knda", "Mlym", "Sinh", "Thai", "Laoo", "Tibt", "Mymr",
     407            "Geor", "Hang", "Ethi", "Cher", "Cans", "Ogam", "Runr", "Khmr",
     408            "Mong", "Hira", "Kana", "Bopo", "Hani", "Yiii", "Ital", "Goth",
     409            "Dsrt", "Zinh", "Tglg", "Hano", "Buhd", "Tagb", "Limb", "Tale",
     410            "Linb", "Ugar", "Shaw", "Osma", "Cprt", "Brai", "Bugi", "Copt",
     411            "Talu", "Glag", "Tfng", "Sylo", "Xpeo", "Khar", "Bali", "Xsux",
     412            "Phnx", "Phag", "Nkoo", "Sund", "Lepc", "Olck", "Vaii", "Saur",
     413            "Kali", "Rjng", "Lyci", "Cari", "Lydi", "Cham", "Lana", "Tavt",
     414            "Avst", "Egyp", "Samr", "Lisu", "Bamu", "Java", "Mtei", "Armi",
     415            "Sarb", "Prti", "Phli", "Orkh", "Kthi", "Batk", "Brah", "Mand",
     416            "Cakm", "Merc", "Mero", "Plrd", "Shrd", "Sora", "Takr", "Aghb",
     417            "Bass", "Dupl", "Elba", "Gran", "Hmng", "Khoj", "Lina", "Mahj",
     418            "Mani", "Mend", "Modi", "Mroo", "Narb", "Nbat", "Palm", "Pauc",
     419            "Perm", "Phlp", "Sidd", "Sind", "Tirh", "Wara", "Ahom", "Hluw",
     420            "Hatr", "Mult", "Hung", "Sgnw", "Adlm", "Bhks", "Marc", "Newa",
     421            "Osge", "Tang", "Hrkt"};
     422        const static std::vector<std::string> value_names = {
     423            "Unknown", "Common", "Latin", "Greek", "Cyrillic", "Armenian",
     424            "Hebrew", "Arabic", "Syriac", "Thaana", "Devanagari", "Bengali",
     425            "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada",
     426            "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar",
     427            "Georgian", "Hangul", "Ethiopic", "Cherokee",
     428            "Canadian_Aboriginal", "Ogham", "Runic", "Khmer", "Mongolian",
     429            "Hiragana", "Katakana", "Bopomofo", "Han", "Yi", "Old_Italic",
     430            "Gothic", "Deseret", "Inherited", "Tagalog", "Hanunoo", "Buhid",
     431            "Tagbanwa", "Limbu", "Tai_Le", "Linear_B", "Ugaritic",
     432            "Shavian", "Osmanya", "Cypriot", "Braille", "Buginese",
     433            "Coptic", "New_Tai_Lue", "Glagolitic", "Tifinagh",
     434            "Syloti_Nagri", "Old_Persian", "Kharoshthi", "Balinese",
     435            "Cuneiform", "Phoenician", "Phags_Pa", "Nko", "Sundanese",
     436            "Lepcha", "Ol_Chiki", "Vai", "Saurashtra", "Kayah_Li", "Rejang",
     437            "Lycian", "Carian", "Lydian", "Cham", "Tai_Tham", "Tai_Viet",
     438            "Avestan", "Egyptian_Hieroglyphs", "Samaritan", "Lisu", "Bamum",
     439            "Javanese", "Meetei_Mayek", "Imperial_Aramaic",
     440            "Old_South_Arabian", "Inscriptional_Parthian",
     441            "Inscriptional_Pahlavi", "Old_Turkic", "Kaithi", "Batak",
     442            "Brahmi", "Mandaic", "Chakma", "Meroitic_Cursive",
     443            "Meroitic_Hieroglyphs", "Miao", "Sharada", "Sora_Sompeng",
     444            "Takri", "Caucasian_Albanian", "Bassa_Vah", "Duployan",
     445            "Elbasan", "Grantha", "Pahawh_Hmong", "Khojki", "Linear_A",
     446            "Mahajani", "Manichaean", "Mende_Kikakui", "Modi", "Mro",
     447            "Old_North_Arabian", "Nabataean", "Palmyrene", "Pau_Cin_Hau",
     448            "Old_Permic", "Psalter_Pahlavi", "Siddham", "Khudawadi",
     449            "Tirhuta", "Warang_Citi", "Ahom", "Anatolian_Hieroglyphs",
     450            "Hatran", "Multani", "Old_Hungarian", "SignWriting", "Adlam",
     451            "Bhaiksuki", "Marchen", "Newa", "Osage", "Tangut",
     452            "Katakana_Or_Hiragana"};
    457453        static std::unordered_map<std::string, int> aliases_only_map {{
    458454            {"qaac", SC_ns::Copt}, {"qaai", SC_ns::Zinh}}};
     
    461457    namespace BC_ns {
    462458        enum value_t {
    463             AL, AN, B, BN, CS, EN, ES, ET, FSI, L, LRE, LRI, LRO, NSM, ON,
    464             PDF, PDI, R, RLE, RLI, RLO, S, WS};
    465         const static std::vector<std::string> enum_names = {
    466             "AL", "AN", "B", "BN", "CS", "EN", "ES", "ET", "FSI", "L",
    467             "LRE", "LRI", "LRO", "NSM", "ON", "PDF", "PDI", "R", "RLE",
    468             "RLI", "RLO", "S", "WS"};
    469         const static std::vector<std::string> value_names = {
    470             "Arabic_Letter", "Arabic_Number", "Paragraph_Separator",
    471             "Boundary_Neutral", "Common_Separator", "European_Number",
    472             "European_Separator", "European_Terminator",
    473             "First_Strong_Isolate", "Left_To_Right",
    474             "Left_To_Right_Embedding", "Left_To_Right_Isolate",
    475             "Left_To_Right_Override", "Nonspacing_Mark", "Other_Neutral",
    476             "Pop_Directional_Format", "Pop_Directional_Isolate",
    477             "Right_To_Left", "Right_To_Left_Embedding",
    478             "Right_To_Left_Isolate", "Right_To_Left_Override",
    479             "Segment_Separator", "White_Space"};
     459            L, R, EN, ES, ET, AN, CS, B, S, WS, ON, BN, NSM, AL, LRO, RLO,
     460            LRE, RLE, PDF, LRI, RLI, FSI, PDI};
     461        const static std::vector<std::string> enum_names = {
     462            "L", "R", "EN", "ES", "ET", "AN", "CS", "B", "S", "WS", "ON",
     463            "BN", "NSM", "AL", "LRO", "RLO", "LRE", "RLE", "PDF", "LRI",
     464            "RLI", "FSI", "PDI"};
     465        const static std::vector<std::string> value_names = {
     466            "Left_To_Right", "Right_To_Left", "European_Number",
     467            "European_Separator", "European_Terminator", "Arabic_Number",
     468            "Common_Separator", "Paragraph_Separator", "Segment_Separator",
     469            "White_Space", "Other_Neutral", "Boundary_Neutral",
     470            "Nonspacing_Mark", "Arabic_Letter", "Left_To_Right_Override",
     471            "Right_To_Left_Override", "Left_To_Right_Embedding",
     472            "Right_To_Left_Embedding", "Pop_Directional_Format",
     473            "Left_To_Right_Isolate", "Right_To_Left_Isolate",
     474            "First_Strong_Isolate", "Pop_Directional_Isolate"};
    480475        static std::unordered_map<std::string, int> aliases_only_map {{
    481476            }};
     
    499494            CCC25, CCC26, CCC27, CCC28, CCC29, CCC30, CCC31, CCC32, CCC33,
    500495            CCC34, CCC35, CCC36, CCC84, CCC91, CCC103, CCC107, CCC118,
    501             CCC122, CCC129, CCC130, CCC132, CCC133, ATBL, ATB, ATA, ATAR,
    502             BL, B, BR, L, R, AL, A, AR, DB, DA, IS
     496            CCC122, CCC129, CCC130, CCC132, ATB, ATA, ATAR, BL, B, BR, L, R,
     497            AL, A, AR, DB, DA, IS, CCC133, ATBL
    503498        };
    504499        const uint16_t enum_val[] = {
    505500          0, 1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    506501            22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 84,
    507             91, 103, 107, 118, 122, 129, 130, 132, 133, 200, 202, 214, 216,
    508             218, 220, 222, 224, 226, 228, 230, 232, 233, 234, 240};
     502            91, 103, 107, 118, 122, 129, 130, 132, 202, 214, 216, 218, 220,
     503            222, 224, 226, 228, 230, 232, 233, 234, 240, 133, 200};
    509504        const static std::vector<std::string> enum_names = {
    510505            "NR", "OV", "NK", "KV", "VR", "CCC10", "CCC11", "CCC12",
     
    513508            "CCC27", "CCC28", "CCC29", "CCC30", "CCC31", "CCC32", "CCC33",
    514509            "CCC34", "CCC35", "CCC36", "CCC84", "CCC91", "CCC103", "CCC107",
    515             "CCC118", "CCC122", "CCC129", "CCC130", "CCC132", "CCC133",
    516             "ATBL", "ATB", "ATA", "ATAR", "BL", "B", "BR", "L", "R", "AL",
    517             "A", "AR", "DB", "DA", "IS"};
     510            "CCC118", "CCC122", "CCC129", "CCC130", "CCC132", "ATB", "ATA",
     511            "ATAR", "BL", "B", "BR", "L", "R", "AL", "A", "AR", "DB", "DA",
     512            "IS", "CCC133", "ATBL"};
    518513        const static std::vector<std::string> value_names = {
    519514            "Not_Reordered", "Overlay", "Nukta", "Kana_Voicing", "Virama",
     
    523518            "CCC31", "CCC32", "CCC33", "CCC34", "CCC35", "CCC36", "CCC84",
    524519            "CCC91", "CCC103", "CCC107", "CCC118", "CCC122", "CCC129",
    525             "CCC130", "CCC132", "CCC133", "Attached_Below_Left",
    526             "Attached_Below", "Attached_Above", "Attached_Above_Right",
    527             "Below_Left", "Below", "Below_Right", "Left", "Right",
    528             "Above_Left", "Above", "Above_Right", "Double_Below",
    529             "Double_Above", "Iota_Subscript"};
     520            "CCC130", "CCC132", "Attached_Below", "Attached_Above",
     521            "Attached_Above_Right", "Below_Left", "Below", "Below_Right",
     522            "Left", "Right", "Above_Left", "Above", "Above_Right",
     523            "Double_Below", "Double_Above", "Iota_Subscript", "CCC133",
     524            "Attached_Below_Left"};
    530525        static std::unordered_map<std::string, int> aliases_only_map {{
    531526            {"0", CCC_ns::NR}, {"1", CCC_ns::OV}, {"10", CCC_ns::CCC10},
     
    558553    namespace DT_ns {
    559554        enum value_t {
    560             Can, Com, Enc, Fin, Font, Fra, Init, Iso, Med, Nar, Nb, None,
    561             Sml, Sqr, Sub, Sup, Vert, Wide};
    562         const static std::vector<std::string> enum_names = {
    563             "Can", "Com", "Enc", "Fin", "Font", "Fra", "Init", "Iso", "Med",
    564             "Nar", "Nb", "None", "Sml", "Sqr", "Sub", "Sup", "Vert", "Wide"};
    565         const static std::vector<std::string> value_names = {
    566             "Canonical", "Compat", "Circle", "Final", "Font", "Fraction",
    567             "Initial", "Isolated", "Medial", "Narrow", "Nobreak", "None",
    568             "Small", "Square", "Sub", "Super", "Vertical", "Wide"};
     555            None, Can, Com, Font, Nb, Init, Med, Fin, Iso, Enc, Sup, Sub,
     556            Vert, Wide, Nar, Sml, Sqr, Fra};
     557        const static std::vector<std::string> enum_names = {
     558            "None", "Can", "Com", "Font", "Nb", "Init", "Med", "Fin", "Iso",
     559            "Enc", "Sup", "Sub", "Vert", "Wide", "Nar", "Sml", "Sqr", "Fra"};
     560        const static std::vector<std::string> value_names = {
     561            "None", "Canonical", "Compat", "Font", "Nobreak", "Initial",
     562            "Medial", "Final", "Isolated", "Circle", "Super", "Sub",
     563            "Vertical", "Wide", "Narrow", "Small", "Square", "Fraction"};
    569564        static std::unordered_map<std::string, int> aliases_only_map {{
    570565            }};
     
    573568    namespace EA_ns {
    574569        enum value_t {
    575             A, F, H, N, Na, W};
    576         const static std::vector<std::string> enum_names = {
    577             "A", "F", "H", "N", "Na", "W"};
    578         const static std::vector<std::string> value_names = {
    579             "Ambiguous", "Fullwidth", "Halfwidth", "Neutral", "Narrow",
    580             "Wide"};
     570            N, Na, A, W, H, F};
     571        const static std::vector<std::string> enum_names = {
     572            "N", "Na", "A", "W", "H", "F"};
     573        const static std::vector<std::string> value_names = {
     574            "Neutral", "Narrow", "Ambiguous", "Wide", "Halfwidth",
     575            "Fullwidth"};
    581576        static std::unordered_map<std::string, int> aliases_only_map {{
    582577            }};
     
    585580    namespace GC_ns {
    586581        enum value_t {
    587             C, Cc, Cf, Cn, Co, Cs, L, LC, Ll, Lm, Lo, Lt, Lu, M, Mc, Me, Mn,
    588             N, Nd, Nl, No, P, Pc, Pd, Pe, Pf, Pi, Po, Ps, S, Sc, Sk, Sm, So,
    589             Z, Zl, Zp, Zs};
    590         const static std::vector<std::string> enum_names = {
    591             "C", "Cc", "Cf", "Cn", "Co", "Cs", "L", "LC", "Ll", "Lm", "Lo",
    592             "Lt", "Lu", "M", "Mc", "Me", "Mn", "N", "Nd", "Nl", "No", "P",
    593             "Pc", "Pd", "Pe", "Pf", "Pi", "Po", "Ps", "S", "Sc", "Sk", "Sm",
    594             "So", "Z", "Zl", "Zp", "Zs"};
    595         const static std::vector<std::string> value_names = {
    596             "Other", "Control", "Format", "Unassigned", "Private_Use",
    597             "Surrogate", "Letter", "Cased_Letter", "Lowercase_Letter",
    598             "Modifier_Letter", "Other_Letter", "Titlecase_Letter",
    599             "Uppercase_Letter", "Mark", "Spacing_Mark", "Enclosing_Mark",
    600             "Nonspacing_Mark", "Number", "Decimal_Number", "Letter_Number",
    601             "Other_Number", "Punctuation", "Connector_Punctuation",
    602             "Dash_Punctuation", "Close_Punctuation", "Final_Punctuation",
    603             "Initial_Punctuation", "Other_Punctuation", "Open_Punctuation",
    604             "Symbol", "Currency_Symbol", "Modifier_Symbol", "Math_Symbol",
    605             "Other_Symbol", "Separator", "Line_Separator",
    606             "Paragraph_Separator", "Space_Separator"};
     582            Cn, Lu, Ll, Lt, Lm, Lo, Mn, Me, Mc, Nd, Nl, No, Zs, Zl, Zp, Cc,
     583            Cf, Co, Cs, Pd, Ps, Pe, Pc, Po, Sm, Sc, Sk, So, Pi, Pf, LC, L,
     584            M, N, P, S, Z, C};
     585        const static std::vector<std::string> enum_names = {
     586            "Cn", "Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Me", "Mc", "Nd",
     587            "Nl", "No", "Zs", "Zl", "Zp", "Cc", "Cf", "Co", "Cs", "Pd",
     588            "Ps", "Pe", "Pc", "Po", "Sm", "Sc", "Sk", "So", "Pi", "Pf",
     589            "LC", "L", "M", "N", "P", "S", "Z", "C"};
     590        const static std::vector<std::string> value_names = {
     591            "Unassigned", "Uppercase_Letter", "Lowercase_Letter",
     592            "Titlecase_Letter", "Modifier_Letter", "Other_Letter",
     593            "Nonspacing_Mark", "Enclosing_Mark", "Spacing_Mark",
     594            "Decimal_Number", "Letter_Number", "Other_Number",
     595            "Space_Separator", "Line_Separator", "Paragraph_Separator",
     596            "Control", "Format", "Private_Use", "Surrogate",
     597            "Dash_Punctuation", "Open_Punctuation", "Close_Punctuation",
     598            "Connector_Punctuation", "Other_Punctuation", "Math_Symbol",
     599            "Currency_Symbol", "Modifier_Symbol", "Other_Symbol",
     600            "Initial_Punctuation", "Final_Punctuation", "Cased_Letter",
     601            "Letter", "Mark", "Number", "Punctuation", "Symbol",
     602            "Separator", "Other"};
    607603        static std::unordered_map<std::string, int> aliases_only_map {{
    608604            {"cntrl", GC_ns::Cc}, {"combiningmark", GC_ns::M},
     
    612608    namespace GCB_ns {
    613609        enum value_t {
    614             CN, CR, EB, EBG, EM, EX, GAZ, L, LF, LV, LVT, PP, RI, SM, T, V,
    615             XX, ZWJ};
    616         const static std::vector<std::string> enum_names = {
    617             "CN", "CR", "EB", "EBG", "EM", "EX", "GAZ", "L", "LF", "LV",
    618             "LVT", "PP", "RI", "SM", "T", "V", "XX", "ZWJ"};
    619         const static std::vector<std::string> value_names = {
    620             "Control", "CR", "E_Base", "E_Base_GAZ", "E_Modifier", "Extend",
    621             "Glue_After_Zwj", "L", "LF", "LV", "LVT", "Prepend",
    622             "Regional_Indicator", "SpacingMark", "T", "V", "Other", "ZWJ"};
     610            XX, PP, CR, LF, CN, EX, RI, SM, L, V, T, LV, LVT, EB, EM, ZWJ,
     611            GAZ, EBG};
     612        const static std::vector<std::string> enum_names = {
     613            "XX", "PP", "CR", "LF", "CN", "EX", "RI", "SM", "L", "V", "T",
     614            "LV", "LVT", "EB", "EM", "ZWJ", "GAZ", "EBG"};
     615        const static std::vector<std::string> value_names = {
     616            "Other", "Prepend", "CR", "LF", "Control", "Extend",
     617            "Regional_Indicator", "SpacingMark", "L", "V", "T", "LV", "LVT",
     618            "E_Base", "E_Modifier", "ZWJ", "Glue_After_Zwj", "E_Base_GAZ"};
    623619        static std::unordered_map<std::string, int> aliases_only_map {{
    624620            }};
     
    627623    namespace HST_ns {
    628624        enum value_t {
    629             L, LV, LVT, NA, T, V};
    630         const static std::vector<std::string> enum_names = {
    631             "L", "LV", "LVT", "NA", "T", "V"};
    632         const static std::vector<std::string> value_names = {
    633             "Leading_Jamo", "LV_Syllable", "LVT_Syllable", "Not_Applicable",
    634             "Trailing_Jamo", "Vowel_Jamo"};
     625            NA, L, V, T, LV, LVT};
     626        const static std::vector<std::string> enum_names = {
     627            "NA", "L", "V", "T", "LV", "LVT"};
     628        const static std::vector<std::string> value_names = {
     629            "Not_Applicable", "Leading_Jamo", "Vowel_Jamo", "Trailing_Jamo",
     630            "LV_Syllable", "LVT_Syllable"};
    635631        static std::unordered_map<std::string, int> aliases_only_map {{
    636632            }};
     
    701697    namespace JG_ns {
    702698        enum value_t {
    703             African_Feh, African_Noon, African_Qaf, Ain, Alaph, Alef, Beh,
    704             Beth, Burushaski_Yeh_Barree, Dal, Dalath_Rish, E, Farsi_Yeh, Fe,
    705             Feh, Final_Semkath, Gaf, Gamal, Hah, He, Heh, Heh_Goal, Heth,
    706             Kaf, Kaph, Khaph, Knotted_Heh, Lam, Lamadh, Manichaean_Aleph,
    707             Manichaean_Ayin, Manichaean_Beth, Manichaean_Daleth,
    708             Manichaean_Dhamedh, Manichaean_Five, Manichaean_Gimel,
    709             Manichaean_Heth, Manichaean_Hundred, Manichaean_Kaph,
    710             Manichaean_Lamedh, Manichaean_Mem, Manichaean_Nun,
    711             Manichaean_One, Manichaean_Pe, Manichaean_Qoph, Manichaean_Resh,
    712             Manichaean_Sadhe, Manichaean_Samekh, Manichaean_Taw,
    713             Manichaean_Ten, Manichaean_Teth, Manichaean_Thamedh,
    714             Manichaean_Twenty, Manichaean_Waw, Manichaean_Yodh,
    715             Manichaean_Zayin, Meem, Mim, No_Joining_Group, Noon, Nun, Nya,
    716             Pe, Qaf, Qaph, Reh, Reversed_Pe, Rohingya_Yeh, Sad, Sadhe, Seen,
    717             Semkath, Shin, Straight_Waw, Swash_Kaf, Syriac_Waw, Tah, Taw,
    718             Teh_Marbuta, Teh_Marbuta_Goal, Teth, Waw, Yeh, Yeh_Barree,
    719             Yeh_With_Tail, Yudh, Yudh_He, Zain, Zhain};
    720         const static std::vector<std::string> enum_names = {
    721             "African_Feh", "African_Noon", "African_Qaf", "Ain", "Alaph",
    722             "Alef", "Beh", "Beth", "Burushaski_Yeh_Barree", "Dal",
    723             "Dalath_Rish", "E", "Farsi_Yeh", "Fe", "Feh", "Final_Semkath",
    724             "Gaf", "Gamal", "Hah", "He", "Heh", "Heh_Goal", "Heth", "Kaf",
    725             "Kaph", "Khaph", "Knotted_Heh", "Lam", "Lamadh",
    726             "Manichaean_Aleph", "Manichaean_Ayin", "Manichaean_Beth",
    727             "Manichaean_Daleth", "Manichaean_Dhamedh", "Manichaean_Five",
    728             "Manichaean_Gimel", "Manichaean_Heth", "Manichaean_Hundred",
    729             "Manichaean_Kaph", "Manichaean_Lamedh", "Manichaean_Mem",
    730             "Manichaean_Nun", "Manichaean_One", "Manichaean_Pe",
    731             "Manichaean_Qoph", "Manichaean_Resh", "Manichaean_Sadhe",
    732             "Manichaean_Samekh", "Manichaean_Taw", "Manichaean_Ten",
    733             "Manichaean_Teth", "Manichaean_Thamedh", "Manichaean_Twenty",
    734             "Manichaean_Waw", "Manichaean_Yodh", "Manichaean_Zayin", "Meem",
    735             "Mim", "No_Joining_Group", "Noon", "Nun", "Nya", "Pe", "Qaf",
    736             "Qaph", "Reh", "Reversed_Pe", "Rohingya_Yeh", "Sad", "Sadhe",
    737             "Seen", "Semkath", "Shin", "Straight_Waw", "Swash_Kaf",
    738             "Syriac_Waw", "Tah", "Taw", "Teh_Marbuta", "Teh_Marbuta_Goal",
    739             "Teth", "Waw", "Yeh", "Yeh_Barree", "Yeh_With_Tail", "Yudh",
    740             "Yudh_He", "Zain", "Zhain"};
    741         const static std::vector<std::string> value_names = {
    742             "African_Feh", "African_Noon", "African_Qaf", "Ain", "Alaph",
    743             "Alef", "Beh", "Beth", "Burushaski_Yeh_Barree", "Dal",
    744             "Dalath_Rish", "E", "Farsi_Yeh", "Fe", "Feh", "Final_Semkath",
    745             "Gaf", "Gamal", "Hah", "He", "Heh", "Heh_Goal", "Heth", "Kaf",
    746             "Kaph", "Khaph", "Knotted_Heh", "Lam", "Lamadh",
    747             "Manichaean_Aleph", "Manichaean_Ayin", "Manichaean_Beth",
    748             "Manichaean_Daleth", "Manichaean_Dhamedh", "Manichaean_Five",
    749             "Manichaean_Gimel", "Manichaean_Heth", "Manichaean_Hundred",
    750             "Manichaean_Kaph", "Manichaean_Lamedh", "Manichaean_Mem",
    751             "Manichaean_Nun", "Manichaean_One", "Manichaean_Pe",
    752             "Manichaean_Qoph", "Manichaean_Resh", "Manichaean_Sadhe",
    753             "Manichaean_Samekh", "Manichaean_Taw", "Manichaean_Ten",
    754             "Manichaean_Teth", "Manichaean_Thamedh", "Manichaean_Twenty",
    755             "Manichaean_Waw", "Manichaean_Yodh", "Manichaean_Zayin", "Meem",
    756             "Mim", "No_Joining_Group", "Noon", "Nun", "Nya", "Pe", "Qaf",
    757             "Qaph", "Reh", "Reversed_Pe", "Rohingya_Yeh", "Sad", "Sadhe",
    758             "Seen", "Semkath", "Shin", "Straight_Waw", "Swash_Kaf",
    759             "Syriac_Waw", "Tah", "Taw", "Teh_Marbuta", "Hamza_On_Heh_Goal",
    760             "Teth", "Waw", "Yeh", "Yeh_Barree", "Yeh_With_Tail", "Yudh",
    761             "Yudh_He", "Zain", "Zhain"};
     699            No_Joining_Group, Ain, Alaph, Alef, Beh, Beth, Dal, Dalath_Rish,
     700            E, Feh, Final_Semkath, Gaf, Gamal, Hah, Teh_Marbuta_Goal, He,
     701            Heh, Heh_Goal, Heth, Kaf, Kaph, Knotted_Heh, Lam, Lamadh, Meem,
     702            Mim, Noon, Nun, Pe, Qaf, Qaph, Reh, Reversed_Pe, Sad, Sadhe,
     703            Seen, Semkath, Shin, Swash_Kaf, Tah, Taw, Teh_Marbuta, Teth,
     704            Waw, Syriac_Waw, Yeh, Yeh_Barree, Yeh_With_Tail, Yudh, Yudh_He,
     705            Zain, Zhain, Khaph, Fe, Burushaski_Yeh_Barree, Farsi_Yeh, Nya,
     706            Rohingya_Yeh, Straight_Waw, Manichaean_Aleph, Manichaean_Ayin,
     707            Manichaean_Beth, Manichaean_Daleth, Manichaean_Dhamedh,
     708            Manichaean_Five, Manichaean_Gimel, Manichaean_Heth,
     709            Manichaean_Hundred, Manichaean_Kaph, Manichaean_Lamedh,
     710            Manichaean_Mem, Manichaean_Nun, Manichaean_One, Manichaean_Pe,
     711            Manichaean_Qoph, Manichaean_Resh, Manichaean_Sadhe,
     712            Manichaean_Samekh, Manichaean_Taw, Manichaean_Ten,
     713            Manichaean_Teth, Manichaean_Thamedh, Manichaean_Twenty,
     714            Manichaean_Waw, Manichaean_Yodh, Manichaean_Zayin, African_Feh,
     715            African_Qaf, African_Noon};
     716        const static std::vector<std::string> enum_names = {
     717            "No_Joining_Group", "Ain", "Alaph", "Alef", "Beh", "Beth",
     718            "Dal", "Dalath_Rish", "E", "Feh", "Final_Semkath", "Gaf",
     719            "Gamal", "Hah", "Teh_Marbuta_Goal", "He", "Heh", "Heh_Goal",
     720            "Heth", "Kaf", "Kaph", "Knotted_Heh", "Lam", "Lamadh", "Meem",
     721            "Mim", "Noon", "Nun", "Pe", "Qaf", "Qaph", "Reh", "Reversed_Pe",
     722            "Sad", "Sadhe", "Seen", "Semkath", "Shin", "Swash_Kaf", "Tah",
     723            "Taw", "Teh_Marbuta", "Teth", "Waw", "Syriac_Waw", "Yeh",
     724            "Yeh_Barree", "Yeh_With_Tail", "Yudh", "Yudh_He", "Zain",
     725            "Zhain", "Khaph", "Fe", "Burushaski_Yeh_Barree", "Farsi_Yeh",
     726            "Nya", "Rohingya_Yeh", "Straight_Waw", "Manichaean_Aleph",
     727            "Manichaean_Ayin", "Manichaean_Beth", "Manichaean_Daleth",
     728            "Manichaean_Dhamedh", "Manichaean_Five", "Manichaean_Gimel",
     729            "Manichaean_Heth", "Manichaean_Hundred", "Manichaean_Kaph",
     730            "Manichaean_Lamedh", "Manichaean_Mem", "Manichaean_Nun",
     731            "Manichaean_One", "Manichaean_Pe", "Manichaean_Qoph",
     732            "Manichaean_Resh", "Manichaean_Sadhe", "Manichaean_Samekh",
     733            "Manichaean_Taw", "Manichaean_Ten", "Manichaean_Teth",
     734            "Manichaean_Thamedh", "Manichaean_Twenty", "Manichaean_Waw",
     735            "Manichaean_Yodh", "Manichaean_Zayin", "African_Feh",
     736            "African_Qaf", "African_Noon"};
     737        const static std::vector<std::string> value_names = {
     738            "No_Joining_Group", "Ain", "Alaph", "Alef", "Beh", "Beth",
     739            "Dal", "Dalath_Rish", "E", "Feh", "Final_Semkath", "Gaf",
     740            "Gamal", "Hah", "Hamza_On_Heh_Goal", "He", "Heh", "Heh_Goal",
     741            "Heth", "Kaf", "Kaph", "Knotted_Heh", "Lam", "Lamadh", "Meem",
     742            "Mim", "Noon", "Nun", "Pe", "Qaf", "Qaph", "Reh", "Reversed_Pe",
     743            "Sad", "Sadhe", "Seen", "Semkath", "Shin", "Swash_Kaf", "Tah",
     744            "Taw", "Teh_Marbuta", "Teth", "Waw", "Syriac_Waw", "Yeh",
     745            "Yeh_Barree", "Yeh_With_Tail", "Yudh", "Yudh_He", "Zain",
     746            "Zhain", "Khaph", "Fe", "Burushaski_Yeh_Barree", "Farsi_Yeh",
     747            "Nya", "Rohingya_Yeh", "Straight_Waw", "Manichaean_Aleph",
     748            "Manichaean_Ayin", "Manichaean_Beth", "Manichaean_Daleth",
     749            "Manichaean_Dhamedh", "Manichaean_Five", "Manichaean_Gimel",
     750            "Manichaean_Heth", "Manichaean_Hundred", "Manichaean_Kaph",
     751            "Manichaean_Lamedh", "Manichaean_Mem", "Manichaean_Nun",
     752            "Manichaean_One", "Manichaean_Pe", "Manichaean_Qoph",
     753            "Manichaean_Resh", "Manichaean_Sadhe", "Manichaean_Samekh",
     754            "Manichaean_Taw", "Manichaean_Ten", "Manichaean_Teth",
     755            "Manichaean_Thamedh", "Manichaean_Twenty", "Manichaean_Waw",
     756            "Manichaean_Yodh", "Manichaean_Zayin", "African_Feh",
     757            "African_Qaf", "African_Noon"};
    762758        static std::unordered_map<std::string, int> aliases_only_map {{
    763759            }};
     
    766762    namespace JT_ns {
    767763        enum value_t {
    768             C, D, L, R, T, U};
    769         const static std::vector<std::string> enum_names = {
    770             "C", "D", "L", "R", "T", "U"};
    771         const static std::vector<std::string> value_names = {
    772             "Join_Causing", "Dual_Joining", "Left_Joining", "Right_Joining",
    773             "Transparent", "Non_Joining"};
     764            U, C, D, R, L, T};
     765        const static std::vector<std::string> enum_names = {
     766            "U", "C", "D", "R", "L", "T"};
     767        const static std::vector<std::string> value_names = {
     768            "Non_Joining", "Join_Causing", "Dual_Joining", "Right_Joining",
     769            "Left_Joining", "Transparent"};
    774770        static std::unordered_map<std::string, int> aliases_only_map {{
    775771            }};
     
    778774    namespace LB_ns {
    779775        enum value_t {
    780             AI, AL, B2, BA, BB, BK, CB, CJ, CL, CM, CP, CR, EB, EM, EX, GL,
    781             H2, H3, HL, HY, ID, IN, IS, JL, JT, JV, LF, NL, NS, NU, OP, PO,
    782             PR, QU, RI, SA, SG, SP, SY, WJ, XX, ZW, ZWJ};
    783         const static std::vector<std::string> enum_names = {
    784             "AI", "AL", "B2", "BA", "BB", "BK", "CB", "CJ", "CL", "CM",
    785             "CP", "CR", "EB", "EM", "EX", "GL", "H2", "H3", "HL", "HY",
    786             "ID", "IN", "IS", "JL", "JT", "JV", "LF", "NL", "NS", "NU",
    787             "OP", "PO", "PR", "QU", "RI", "SA", "SG", "SP", "SY", "WJ",
    788             "XX", "ZW", "ZWJ"};
    789         const static std::vector<std::string> value_names = {
    790             "Ambiguous", "Alphabetic", "Break_Both", "Break_After",
    791             "Break_Before", "Mandatory_Break", "Contingent_Break",
    792             "Conditional_Japanese_Starter", "Close_Punctuation",
    793             "Combining_Mark", "Close_Parenthesis", "Carriage_Return",
    794             "E_Base", "E_Modifier", "Exclamation", "Glue", "H2", "H3",
    795             "Hebrew_Letter", "Hyphen", "Ideographic", "Inseparable",
    796             "Infix_Numeric", "JL", "JT", "JV", "Line_Feed", "Next_Line",
    797             "Nonstarter", "Numeric", "Open_Punctuation", "Postfix_Numeric",
    798             "Prefix_Numeric", "Quotation", "Regional_Indicator",
    799             "Complex_Context", "Surrogate", "Space", "Break_Symbols",
    800             "Word_Joiner", "Unknown", "ZWSpace", "ZWJ"};
     776            XX, CM, BA, LF, BK, CR, SP, EX, QU, AL, PR, PO, OP, CP, IS, HY,
     777            SY, NU, CL, NL, GL, AI, BB, HL, SA, JL, JV, JT, NS, ZW, ZWJ, B2,
     778            IN, WJ, ID, EB, CJ, H2, H3, SG, CB, RI, EM};
     779        const static std::vector<std::string> enum_names = {
     780            "XX", "CM", "BA", "LF", "BK", "CR", "SP", "EX", "QU", "AL",
     781            "PR", "PO", "OP", "CP", "IS", "HY", "SY", "NU", "CL", "NL",
     782            "GL", "AI", "BB", "HL", "SA", "JL", "JV", "JT", "NS", "ZW",
     783            "ZWJ", "B2", "IN", "WJ", "ID", "EB", "CJ", "H2", "H3", "SG",
     784            "CB", "RI", "EM"};
     785        const static std::vector<std::string> value_names = {
     786            "Unknown", "Combining_Mark", "Break_After", "Line_Feed",
     787            "Mandatory_Break", "Carriage_Return", "Space", "Exclamation",
     788            "Quotation", "Alphabetic", "Prefix_Numeric", "Postfix_Numeric",
     789            "Open_Punctuation", "Close_Parenthesis", "Infix_Numeric",
     790            "Hyphen", "Break_Symbols", "Numeric", "Close_Punctuation",
     791            "Next_Line", "Glue", "Ambiguous", "Break_Before",
     792            "Hebrew_Letter", "Complex_Context", "JL", "JV", "JT",
     793            "Nonstarter", "ZWSpace", "ZWJ", "Break_Both", "Inseparable",
     794            "Word_Joiner", "Ideographic", "E_Base",
     795            "Conditional_Japanese_Starter", "H2", "H3", "Surrogate",
     796            "Contingent_Break", "Regional_Indicator", "E_Modifier"};
    801797        static std::unordered_map<std::string, int> aliases_only_map {{
    802798            {"inseperable", LB_ns::IN}}};
     
    849845    namespace NT_ns {
    850846        enum value_t {
    851             De, Di, None, Nu};
    852         const static std::vector<std::string> enum_names = {
    853             "De", "Di", "None", "Nu"};
    854         const static std::vector<std::string> value_names = {
    855             "Decimal", "Digit", "None", "Numeric"};
     847            None, Nu, Di, De};
     848        const static std::vector<std::string> enum_names = {
     849            "None", "Nu", "Di", "De"};
     850        const static std::vector<std::string> value_names = {
     851            "None", "Numeric", "Digit", "Decimal"};
    856852        static std::unordered_map<std::string, int> aliases_only_map {{
    857853            }};
     
    860856    namespace SB_ns {
    861857        enum value_t {
    862             AT, CL, CR, EX, FO, LE, LF, LO, NU, SC, SE, SP, ST, UP, XX};
    863         const static std::vector<std::string> enum_names = {
    864             "AT", "CL", "CR", "EX", "FO", "LE", "LF", "LO", "NU", "SC",
    865             "SE", "SP", "ST", "UP", "XX"};
    866         const static std::vector<std::string> value_names = {
    867             "ATerm", "Close", "CR", "Extend", "Format", "OLetter", "LF",
    868             "Lower", "Numeric", "SContinue", "Sep", "Sp", "STerm", "Upper",
    869             "Other"};
     858            XX, CR, LF, EX, SE, FO, SP, LO, UP, LE, NU, AT, ST, CL, SC};
     859        const static std::vector<std::string> enum_names = {
     860            "XX", "CR", "LF", "EX", "SE", "FO", "SP", "LO", "UP", "LE",
     861            "NU", "AT", "ST", "CL", "SC"};
     862        const static std::vector<std::string> value_names = {
     863            "Other", "CR", "LF", "Extend", "Sep", "Format", "Sp", "Lower",
     864            "Upper", "OLetter", "Numeric", "ATerm", "STerm", "Close",
     865            "SContinue"};
    870866        static std::unordered_map<std::string, int> aliases_only_map {{
    871867            }};
     
    874870    namespace WB_ns {
    875871        enum value_t {
    876             CR, DQ, EB, EBG, EM, EX, Extend, FO, GAZ, HL, KA, LE, LF, MB,
    877             ML, MN, NL, NU, RI, SQ, XX, ZWJ};
    878         const static std::vector<std::string> enum_names = {
    879             "CR", "DQ", "EB", "EBG", "EM", "EX", "Extend", "FO", "GAZ",
    880             "HL", "KA", "LE", "LF", "MB", "ML", "MN", "NL", "NU", "RI",
    881             "SQ", "XX", "ZWJ"};
    882         const static std::vector<std::string> value_names = {
    883             "CR", "Double_Quote", "E_Base", "E_Base_GAZ", "E_Modifier",
    884             "ExtendNumLet", "Extend", "Format", "Glue_After_Zwj",
    885             "Hebrew_Letter", "Katakana", "ALetter", "LF", "MidNumLet",
    886             "MidLetter", "MidNum", "Newline", "Numeric",
    887             "Regional_Indicator", "Single_Quote", "Other", "ZWJ"};
     872            XX, DQ, SQ, HL, CR, LF, NL, Extend, RI, FO, KA, LE, ML, MN, MB,
     873            NU, EX, EB, EM, ZWJ, GAZ, EBG};
     874        const static std::vector<std::string> enum_names = {
     875            "XX", "DQ", "SQ", "HL", "CR", "LF", "NL", "Extend", "RI", "FO",
     876            "KA", "LE", "ML", "MN", "MB", "NU", "EX", "EB", "EM", "ZWJ",
     877            "GAZ", "EBG"};
     878        const static std::vector<std::string> value_names = {
     879            "Other", "Double_Quote", "Single_Quote", "Hebrew_Letter", "CR",
     880            "LF", "Newline", "Extend", "Regional_Indicator", "Format",
     881            "Katakana", "ALetter", "MidLetter", "MidNum", "MidNumLet",
     882            "Numeric", "ExtendNumLet", "E_Base", "E_Modifier", "ZWJ",
     883            "Glue_After_Zwj", "E_Base_GAZ"};
    888884        static std::unordered_map<std::string, int> aliases_only_map {{
    889885            }};
Note: See TracChangeset for help on using the changeset viewer.