source: icGREP/icgrep-devel/icgrep/UCD/PropertyValueAliases.h @ 4383

Last change on this file since 4383 was 4383, checked in by cameron, 4 years ago

Bug fix to resolve issue with empty maps

File size: 38.1 KB
Line 
1#ifndef PROPERTYVALUEALIASES_H
2#define PROPERTYVALUEALIASES_H
3/*
4 *  Copyright (c) 2014 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include <string>
12#include <unordered_map>
13#include "PropertyAliases.h"
14namespace UCD {
15
16  namespace Binary_ns {
17    enum value_t {
18      N, Y};
19    const std::vector<std::string> enum_names = {
20      "N", "Y"};
21    const std::vector<std::string> value_names = {
22      "No", "Yes"};
23    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
24      {"n", N}, {"y", Y}, {"no", N}, {"yes", Y}, {"f", N}, {"t", Y},
25      {"false", N}, {"true", Y}};
26  }
27
28  namespace JSN_ns {
29    enum value_t {
30      A, AE, B, BB, BS, C, D, DD, E, EO, EU, G, GG, GS, H, I, J, JJ, K, L,
31      LB, LG, LH, LM, LP, LS, LT, M, N, NG, NH, NJ, O, OE, P, R, S, SS, T,
32      U, WA, WAE, WE, WEO, WI, YA, YAE, YE, YEO, YI, YO, YU};
33    const std::vector<std::string> enum_names = {
34      "A", "AE", "B", "BB", "BS", "C", "D", "DD", "E", "EO", "EU", "G",
35      "GG", "GS", "H", "I", "J", "JJ", "K", "L", "LB", "LG", "LH", "LM",
36      "LP", "LS", "LT", "M", "N", "NG", "NH", "NJ", "O", "OE", "P", "R",
37      "S", "SS", "T", "U", "WA", "WAE", "WE", "WEO", "WI", "YA", "YAE",
38      "YE", "YEO", "YI", "YO", "YU"};
39    const std::vector<std::string> value_names = {
40      "A", "AE", "B", "BB", "BS", "C", "D", "DD", "E", "EO", "EU", "G",
41      "GG", "GS", "H", "I", "J", "JJ", "K", "L", "LB", "LG", "LH", "LM",
42      "LP", "LS", "LT", "M", "N", "NG", "NH", "NJ", "O", "OE", "P", "R",
43      "S", "SS", "T", "U", "WA", "WAE", "WE", "WEO", "WI", "YA", "YAE",
44      "YE", "YEO", "YI", "YO", "YU"};
45    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
46      };
47  }
48
49  namespace AGE_ns {
50    enum value_t {
51      V1_1, V2_0, V2_1, V3_0, V3_1, V3_2, V4_0, V4_1, V5_0, V5_1, V5_2,
52      V6_0, V6_1, V6_2, V6_3, V7_0, Unassigned};
53    const std::vector<std::string> enum_names = {
54      "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2", "V4_0", "V4_1",
55      "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2", "V6_3", "V7_0",
56      "Unassigned"};
57    const std::vector<std::string> value_names = {
58      "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2", "V4_0", "V4_1",
59      "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2", "V6_3", "V7_0",
60      "Unassigned"};
61    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
62      {"1.1", AGE_ns::V1_1}, {"2.0", AGE_ns::V2_0}, {"2.1", AGE_ns::V2_1},
63      {"3.0", AGE_ns::V3_0}, {"3.1", AGE_ns::V3_1}, {"3.2", AGE_ns::V3_2},
64      {"4.0", AGE_ns::V4_0}, {"4.1", AGE_ns::V4_1}, {"5.0", AGE_ns::V5_0},
65      {"5.1", AGE_ns::V5_1}, {"5.2", AGE_ns::V5_2}, {"6.0", AGE_ns::V6_0},
66      {"6.1", AGE_ns::V6_1}, {"6.2", AGE_ns::V6_2}, {"6.3", AGE_ns::V6_3},
67      {"7.0", AGE_ns::V7_0}, {"na", AGE_ns::Unassigned}};
68  }
69
70  namespace BLK_ns {
71    enum value_t {
72      Aegean_Numbers, Alchemical, Alphabetic_PF, Ancient_Greek_Music,
73      Ancient_Greek_Numbers, Ancient_Symbols, Arabic, Arabic_Ext_A,
74      Arabic_Math, Arabic_PF_A, Arabic_PF_B, Arabic_Sup, Armenian, Arrows,
75      ASCII, Avestan, Balinese, Bamum, Bamum_Sup, Bassa_Vah, Batak, Bengali,
76      Block_Elements, Bopomofo, Bopomofo_Ext, Box_Drawing, Brahmi, Braille,
77      Buginese, Buhid, Byzantine_Music, Carian, Caucasian_Albanian, Chakma,
78      Cham, Cherokee, CJK, CJK_Compat, CJK_Compat_Forms,
79      CJK_Compat_Ideographs, CJK_Compat_Ideographs_Sup, CJK_Ext_A,
80      CJK_Ext_B, CJK_Ext_C, CJK_Ext_D, CJK_Radicals_Sup, CJK_Strokes,
81      CJK_Symbols, Compat_Jamo, Control_Pictures, Coptic,
82      Coptic_Epact_Numbers, Counting_Rod, Cuneiform, Cuneiform_Numbers,
83      Currency_Symbols, Cypriot_Syllabary, Cyrillic, Cyrillic_Ext_A,
84      Cyrillic_Ext_B, Cyrillic_Sup, Deseret, Devanagari, Devanagari_Ext,
85      Diacriticals, Diacriticals_Ext, Diacriticals_For_Symbols,
86      Diacriticals_Sup, Dingbats, Domino, Duployan, Egyptian_Hieroglyphs,
87      Elbasan, Emoticons, Enclosed_Alphanum, Enclosed_Alphanum_Sup,
88      Enclosed_CJK, Enclosed_Ideographic_Sup, Ethiopic, Ethiopic_Ext,
89      Ethiopic_Ext_A, Ethiopic_Sup, Geometric_Shapes, Geometric_Shapes_Ext,
90      Georgian, Georgian_Sup, Glagolitic, Gothic, Grantha, Greek, Greek_Ext,
91      Gujarati, Gurmukhi, Half_And_Full_Forms, Half_Marks, Hangul, Hanunoo,
92      Hebrew, High_PU_Surrogates, High_Surrogates, Hiragana, IDC,
93      Imperial_Aramaic, Indic_Number_Forms, Inscriptional_Pahlavi,
94      Inscriptional_Parthian, IPA_Ext, Jamo, Jamo_Ext_A, Jamo_Ext_B,
95      Javanese, Kaithi, Kana_Sup, Kanbun, Kangxi, Kannada, Katakana,
96      Katakana_Ext, Kayah_Li, Kharoshthi, Khmer, Khmer_Symbols, Khojki,
97      Khudawadi, Lao, Latin_1_Sup, Latin_Ext_A, Latin_Ext_Additional,
98      Latin_Ext_B, Latin_Ext_C, Latin_Ext_D, Latin_Ext_E, Lepcha,
99      Letterlike_Symbols, Limbu, Linear_A, Linear_B_Ideograms,
100      Linear_B_Syllabary, Lisu, Low_Surrogates, Lycian, Lydian, Mahajani,
101      Mahjong, Malayalam, Mandaic, Manichaean, Math_Alphanum,
102      Math_Operators, Meetei_Mayek, Meetei_Mayek_Ext, Mende_Kikakui,
103      Meroitic_Cursive, Meroitic_Hieroglyphs, Miao, Misc_Arrows,
104      Misc_Math_Symbols_A, Misc_Math_Symbols_B, Misc_Pictographs,
105      Misc_Symbols, Misc_Technical, Modi, Modifier_Letters,
106      Modifier_Tone_Letters, Mongolian, Mro, Music, Myanmar, Myanmar_Ext_A,
107      Myanmar_Ext_B, Nabataean, NB, New_Tai_Lue, NKo, Number_Forms, OCR,
108      Ogham, Ol_Chiki, Old_Italic, Old_North_Arabian, Old_Permic,
109      Old_Persian, Old_South_Arabian, Old_Turkic, Oriya,
110      Ornamental_Dingbats, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau,
111      Phags_Pa, Phaistos, Phoenician, Phonetic_Ext, Phonetic_Ext_Sup,
112      Playing_Cards, Psalter_Pahlavi, PUA, Punctuation, Rejang, Rumi, Runic,
113      Samaritan, Saurashtra, Sharada, Shavian, Shorthand_Format_Controls,
114      Siddham, Sinhala, Sinhala_Archaic_Numbers, Small_Forms, Sora_Sompeng,
115      Specials, Sundanese, Sundanese_Sup, Sup_Arrows_A, Sup_Arrows_B,
116      Sup_Arrows_C, Sup_Math_Operators, Sup_PUA_A, Sup_PUA_B,
117      Sup_Punctuation, Super_And_Sub, Syloti_Nagri, Syriac, Tagalog,
118      Tagbanwa, Tags, Tai_Le, Tai_Tham, Tai_Viet, Tai_Xuan_Jing, Takri,
119      Tamil, Telugu, Thaana, Thai, Tibetan, Tifinagh, Tirhuta,
120      Transport_And_Map, UCAS, UCAS_Ext, Ugaritic, Vai, Vedic_Ext,
121      Vertical_Forms, VS, VS_Sup, Warang_Citi, Yi_Radicals, Yi_Syllables,
122      Yijing};
123    const std::vector<std::string> enum_names = {
124      "Aegean_Numbers", "Alchemical", "Alphabetic_PF",
125      "Ancient_Greek_Music", "Ancient_Greek_Numbers", "Ancient_Symbols",
126      "Arabic", "Arabic_Ext_A", "Arabic_Math", "Arabic_PF_A", "Arabic_PF_B",
127      "Arabic_Sup", "Armenian", "Arrows", "ASCII", "Avestan", "Balinese",
128      "Bamum", "Bamum_Sup", "Bassa_Vah", "Batak", "Bengali",
129      "Block_Elements", "Bopomofo", "Bopomofo_Ext", "Box_Drawing", "Brahmi",
130      "Braille", "Buginese", "Buhid", "Byzantine_Music", "Carian",
131      "Caucasian_Albanian", "Chakma", "Cham", "Cherokee", "CJK",
132      "CJK_Compat", "CJK_Compat_Forms", "CJK_Compat_Ideographs",
133      "CJK_Compat_Ideographs_Sup", "CJK_Ext_A", "CJK_Ext_B", "CJK_Ext_C",
134      "CJK_Ext_D", "CJK_Radicals_Sup", "CJK_Strokes", "CJK_Symbols",
135      "Compat_Jamo", "Control_Pictures", "Coptic", "Coptic_Epact_Numbers",
136      "Counting_Rod", "Cuneiform", "Cuneiform_Numbers", "Currency_Symbols",
137      "Cypriot_Syllabary", "Cyrillic", "Cyrillic_Ext_A", "Cyrillic_Ext_B",
138      "Cyrillic_Sup", "Deseret", "Devanagari", "Devanagari_Ext",
139      "Diacriticals", "Diacriticals_Ext", "Diacriticals_For_Symbols",
140      "Diacriticals_Sup", "Dingbats", "Domino", "Duployan",
141      "Egyptian_Hieroglyphs", "Elbasan", "Emoticons", "Enclosed_Alphanum",
142      "Enclosed_Alphanum_Sup", "Enclosed_CJK", "Enclosed_Ideographic_Sup",
143      "Ethiopic", "Ethiopic_Ext", "Ethiopic_Ext_A", "Ethiopic_Sup",
144      "Geometric_Shapes", "Geometric_Shapes_Ext", "Georgian",
145      "Georgian_Sup", "Glagolitic", "Gothic", "Grantha", "Greek",
146      "Greek_Ext", "Gujarati", "Gurmukhi", "Half_And_Full_Forms",
147      "Half_Marks", "Hangul", "Hanunoo", "Hebrew", "High_PU_Surrogates",
148      "High_Surrogates", "Hiragana", "IDC", "Imperial_Aramaic",
149      "Indic_Number_Forms", "Inscriptional_Pahlavi",
150      "Inscriptional_Parthian", "IPA_Ext", "Jamo", "Jamo_Ext_A",
151      "Jamo_Ext_B", "Javanese", "Kaithi", "Kana_Sup", "Kanbun", "Kangxi",
152      "Kannada", "Katakana", "Katakana_Ext", "Kayah_Li", "Kharoshthi",
153      "Khmer", "Khmer_Symbols", "Khojki", "Khudawadi", "Lao", "Latin_1_Sup",
154      "Latin_Ext_A", "Latin_Ext_Additional", "Latin_Ext_B", "Latin_Ext_C",
155      "Latin_Ext_D", "Latin_Ext_E", "Lepcha", "Letterlike_Symbols", "Limbu",
156      "Linear_A", "Linear_B_Ideograms", "Linear_B_Syllabary", "Lisu",
157      "Low_Surrogates", "Lycian", "Lydian", "Mahajani", "Mahjong",
158      "Malayalam", "Mandaic", "Manichaean", "Math_Alphanum",
159      "Math_Operators", "Meetei_Mayek", "Meetei_Mayek_Ext", "Mende_Kikakui",
160      "Meroitic_Cursive", "Meroitic_Hieroglyphs", "Miao", "Misc_Arrows",
161      "Misc_Math_Symbols_A", "Misc_Math_Symbols_B", "Misc_Pictographs",
162      "Misc_Symbols", "Misc_Technical", "Modi", "Modifier_Letters",
163      "Modifier_Tone_Letters", "Mongolian", "Mro", "Music", "Myanmar",
164      "Myanmar_Ext_A", "Myanmar_Ext_B", "Nabataean", "NB", "New_Tai_Lue",
165      "NKo", "Number_Forms", "OCR", "Ogham", "Ol_Chiki", "Old_Italic",
166      "Old_North_Arabian", "Old_Permic", "Old_Persian", "Old_South_Arabian",
167      "Old_Turkic", "Oriya", "Ornamental_Dingbats", "Osmanya",
168      "Pahawh_Hmong", "Palmyrene", "Pau_Cin_Hau", "Phags_Pa", "Phaistos",
169      "Phoenician", "Phonetic_Ext", "Phonetic_Ext_Sup", "Playing_Cards",
170      "Psalter_Pahlavi", "PUA", "Punctuation", "Rejang", "Rumi", "Runic",
171      "Samaritan", "Saurashtra", "Sharada", "Shavian",
172      "Shorthand_Format_Controls", "Siddham", "Sinhala",
173      "Sinhala_Archaic_Numbers", "Small_Forms", "Sora_Sompeng", "Specials",
174      "Sundanese", "Sundanese_Sup", "Sup_Arrows_A", "Sup_Arrows_B",
175      "Sup_Arrows_C", "Sup_Math_Operators", "Sup_PUA_A", "Sup_PUA_B",
176      "Sup_Punctuation", "Super_And_Sub", "Syloti_Nagri", "Syriac",
177      "Tagalog", "Tagbanwa", "Tags", "Tai_Le", "Tai_Tham", "Tai_Viet",
178      "Tai_Xuan_Jing", "Takri", "Tamil", "Telugu", "Thaana", "Thai",
179      "Tibetan", "Tifinagh", "Tirhuta", "Transport_And_Map", "UCAS",
180      "UCAS_Ext", "Ugaritic", "Vai", "Vedic_Ext", "Vertical_Forms", "VS",
181      "VS_Sup", "Warang_Citi", "Yi_Radicals", "Yi_Syllables", "Yijing"};
182    const std::vector<std::string> value_names = {
183      "Aegean_Numbers", "Alchemical_Symbols",
184      "Alphabetic_Presentation_Forms", "Ancient_Greek_Musical_Notation",
185      "Ancient_Greek_Numbers", "Ancient_Symbols", "Arabic",
186      "Arabic_Extended_A", "Arabic_Mathematical_Alphabetic_Symbols",
187      "Arabic_Presentation_Forms_A", "Arabic_Presentation_Forms_B",
188      "Arabic_Supplement", "Armenian", "Arrows", "Basic_Latin", "Avestan",
189      "Balinese", "Bamum", "Bamum_Supplement", "Bassa_Vah", "Batak",
190      "Bengali", "Block_Elements", "Bopomofo", "Bopomofo_Extended",
191      "Box_Drawing", "Brahmi", "Braille_Patterns", "Buginese", "Buhid",
192      "Byzantine_Musical_Symbols", "Carian", "Caucasian_Albanian", "Chakma",
193      "Cham", "Cherokee", "CJK_Unified_Ideographs", "CJK_Compatibility",
194      "CJK_Compatibility_Forms", "CJK_Compatibility_Ideographs",
195      "CJK_Compatibility_Ideographs_Supplement",
196      "CJK_Unified_Ideographs_Extension_A",
197      "CJK_Unified_Ideographs_Extension_B",
198      "CJK_Unified_Ideographs_Extension_C",
199      "CJK_Unified_Ideographs_Extension_D", "CJK_Radicals_Supplement",
200      "CJK_Strokes", "CJK_Symbols_And_Punctuation",
201      "Hangul_Compatibility_Jamo", "Control_Pictures", "Coptic",
202      "Coptic_Epact_Numbers", "Counting_Rod_Numerals", "Cuneiform",
203      "Cuneiform_Numbers_And_Punctuation", "Currency_Symbols",
204      "Cypriot_Syllabary", "Cyrillic", "Cyrillic_Extended_A",
205      "Cyrillic_Extended_B", "Cyrillic_Supplement", "Deseret", "Devanagari",
206      "Devanagari_Extended", "Combining_Diacritical_Marks",
207      "Combining_Diacritical_Marks_Extended",
208      "Combining_Diacritical_Marks_For_Symbols",
209      "Combining_Diacritical_Marks_Supplement", "Dingbats", "Domino_Tiles",
210      "Duployan", "Egyptian_Hieroglyphs", "Elbasan", "Emoticons",
211      "Enclosed_Alphanumerics", "Enclosed_Alphanumeric_Supplement",
212      "Enclosed_CJK_Letters_And_Months", "Enclosed_Ideographic_Supplement",
213      "Ethiopic", "Ethiopic_Extended", "Ethiopic_Extended_A",
214      "Ethiopic_Supplement", "Geometric_Shapes",
215      "Geometric_Shapes_Extended", "Georgian", "Georgian_Supplement",
216      "Glagolitic", "Gothic", "Grantha", "Greek_And_Coptic",
217      "Greek_Extended", "Gujarati", "Gurmukhi",
218      "Halfwidth_And_Fullwidth_Forms", "Combining_Half_Marks",
219      "Hangul_Syllables", "Hanunoo", "Hebrew",
220      "High_Private_Use_Surrogates", "High_Surrogates", "Hiragana",
221      "Ideographic_Description_Characters", "Imperial_Aramaic",
222      "Common_Indic_Number_Forms", "Inscriptional_Pahlavi",
223      "Inscriptional_Parthian", "IPA_Extensions", "Hangul_Jamo",
224      "Hangul_Jamo_Extended_A", "Hangul_Jamo_Extended_B", "Javanese",
225      "Kaithi", "Kana_Supplement", "Kanbun", "Kangxi_Radicals", "Kannada",
226      "Katakana", "Katakana_Phonetic_Extensions", "Kayah_Li", "Kharoshthi",
227      "Khmer", "Khmer_Symbols", "Khojki", "Khudawadi", "Lao",
228      "Latin_1_Supplement", "Latin_Extended_A", "Latin_Extended_Additional",
229      "Latin_Extended_B", "Latin_Extended_C", "Latin_Extended_D",
230      "Latin_Extended_E", "Lepcha", "Letterlike_Symbols", "Limbu",
231      "Linear_A", "Linear_B_Ideograms", "Linear_B_Syllabary", "Lisu",
232      "Low_Surrogates", "Lycian", "Lydian", "Mahajani", "Mahjong_Tiles",
233      "Malayalam", "Mandaic", "Manichaean",
234      "Mathematical_Alphanumeric_Symbols", "Mathematical_Operators",
235      "Meetei_Mayek", "Meetei_Mayek_Extensions", "Mende_Kikakui",
236      "Meroitic_Cursive", "Meroitic_Hieroglyphs", "Miao",
237      "Miscellaneous_Symbols_And_Arrows",
238      "Miscellaneous_Mathematical_Symbols_A",
239      "Miscellaneous_Mathematical_Symbols_B",
240      "Miscellaneous_Symbols_And_Pictographs", "Miscellaneous_Symbols",
241      "Miscellaneous_Technical", "Modi", "Spacing_Modifier_Letters",
242      "Modifier_Tone_Letters", "Mongolian", "Mro", "Musical_Symbols",
243      "Myanmar", "Myanmar_Extended_A", "Myanmar_Extended_B", "Nabataean",
244      "No_Block", "New_Tai_Lue", "NKo", "Number_Forms",
245      "Optical_Character_Recognition", "Ogham", "Ol_Chiki", "Old_Italic",
246      "Old_North_Arabian", "Old_Permic", "Old_Persian", "Old_South_Arabian",
247      "Old_Turkic", "Oriya", "Ornamental_Dingbats", "Osmanya",
248      "Pahawh_Hmong", "Palmyrene", "Pau_Cin_Hau", "Phags_Pa",
249      "Phaistos_Disc", "Phoenician", "Phonetic_Extensions",
250      "Phonetic_Extensions_Supplement", "Playing_Cards", "Psalter_Pahlavi",
251      "Private_Use_Area", "General_Punctuation", "Rejang",
252      "Rumi_Numeral_Symbols", "Runic", "Samaritan", "Saurashtra", "Sharada",
253      "Shavian", "Shorthand_Format_Controls", "Siddham", "Sinhala",
254      "Sinhala_Archaic_Numbers", "Small_Form_Variants", "Sora_Sompeng",
255      "Specials", "Sundanese", "Sundanese_Supplement",
256      "Supplemental_Arrows_A", "Supplemental_Arrows_B",
257      "Supplemental_Arrows_C", "Supplemental_Mathematical_Operators",
258      "Supplementary_Private_Use_Area_A",
259      "Supplementary_Private_Use_Area_B", "Supplemental_Punctuation",
260      "Superscripts_And_Subscripts", "Syloti_Nagri", "Syriac", "Tagalog",
261      "Tagbanwa", "Tags", "Tai_Le", "Tai_Tham", "Tai_Viet",
262      "Tai_Xuan_Jing_Symbols", "Takri", "Tamil", "Telugu", "Thaana", "Thai",
263      "Tibetan", "Tifinagh", "Tirhuta", "Transport_And_Map_Symbols",
264      "Unified_Canadian_Aboriginal_Syllabics",
265      "Unified_Canadian_Aboriginal_Syllabics_Extended", "Ugaritic", "Vai",
266      "Vedic_Extensions", "Vertical_Forms", "Variation_Selectors",
267      "Variation_Selectors_Supplement", "Warang_Citi", "Yi_Radicals",
268      "Yi_Syllables", "Yijing_Hexagram_Symbols"};
269    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
270      {"canadiansyllabics", BLK_ns::UCAS},
271      {"combiningmarksforsymbols", BLK_ns::Diacriticals_For_Symbols},
272      {"cyrillicsupplementary", BLK_ns::Cyrillic_Sup},
273      {"latin1", BLK_ns::Latin_1_Sup}, {"privateuse", BLK_ns::PUA}};
274  }
275
276  namespace SC_ns {
277    enum value_t {
278      Aghb, Arab, Armi, Armn, Avst, Bali, Bamu, Bass, Batk, Beng, Bopo,
279      Brah, Brai, Bugi, Buhd, Cakm, Cans, Cari, Cham, Cher, Copt, Cprt,
280      Cyrl, Deva, Dsrt, Dupl, Egyp, Elba, Ethi, Geor, Glag, Goth, Gran,
281      Grek, Gujr, Guru, Hang, Hani, Hano, Hebr, Hira, Hmng, Hrkt, Ital,
282      Java, Kali, Kana, Khar, Khmr, Khoj, Knda, Kthi, Lana, Laoo, Latn,
283      Lepc, Limb, Lina, Linb, Lisu, Lyci, Lydi, Mahj, Mand, Mani, Mend,
284      Merc, Mero, Mlym, Modi, Mong, Mroo, Mtei, Mymr, Narb, Nbat, Nkoo,
285      Ogam, Olck, Orkh, Orya, Osma, Palm, Pauc, Perm, Phag, Phli, Phlp,
286      Phnx, Plrd, Prti, Rjng, Runr, Samr, Sarb, Saur, Shaw, Shrd, Sidd,
287      Sind, Sinh, Sora, Sund, Sylo, Syrc, Tagb, Takr, Tale, Talu, Taml,
288      Tavt, Telu, Tfng, Tglg, Thaa, Thai, Tibt, Tirh, Ugar, Vaii, Wara,
289      Xpeo, Xsux, Yiii, Zinh, Zyyy, Zzzz};
290    const std::vector<std::string> enum_names = {
291      "Aghb", "Arab", "Armi", "Armn", "Avst", "Bali", "Bamu", "Bass",
292      "Batk", "Beng", "Bopo", "Brah", "Brai", "Bugi", "Buhd", "Cakm",
293      "Cans", "Cari", "Cham", "Cher", "Copt", "Cprt", "Cyrl", "Deva",
294      "Dsrt", "Dupl", "Egyp", "Elba", "Ethi", "Geor", "Glag", "Goth",
295      "Gran", "Grek", "Gujr", "Guru", "Hang", "Hani", "Hano", "Hebr",
296      "Hira", "Hmng", "Hrkt", "Ital", "Java", "Kali", "Kana", "Khar",
297      "Khmr", "Khoj", "Knda", "Kthi", "Lana", "Laoo", "Latn", "Lepc",
298      "Limb", "Lina", "Linb", "Lisu", "Lyci", "Lydi", "Mahj", "Mand",
299      "Mani", "Mend", "Merc", "Mero", "Mlym", "Modi", "Mong", "Mroo",
300      "Mtei", "Mymr", "Narb", "Nbat", "Nkoo", "Ogam", "Olck", "Orkh",
301      "Orya", "Osma", "Palm", "Pauc", "Perm", "Phag", "Phli", "Phlp",
302      "Phnx", "Plrd", "Prti", "Rjng", "Runr", "Samr", "Sarb", "Saur",
303      "Shaw", "Shrd", "Sidd", "Sind", "Sinh", "Sora", "Sund", "Sylo",
304      "Syrc", "Tagb", "Takr", "Tale", "Talu", "Taml", "Tavt", "Telu",
305      "Tfng", "Tglg", "Thaa", "Thai", "Tibt", "Tirh", "Ugar", "Vaii",
306      "Wara", "Xpeo", "Xsux", "Yiii", "Zinh", "Zyyy", "Zzzz"};
307    const std::vector<std::string> value_names = {
308      "Caucasian_Albanian", "Arabic", "Imperial_Aramaic", "Armenian",
309      "Avestan", "Balinese", "Bamum", "Bassa_Vah", "Batak", "Bengali",
310      "Bopomofo", "Brahmi", "Braille", "Buginese", "Buhid", "Chakma",
311      "Canadian_Aboriginal", "Carian", "Cham", "Cherokee", "Coptic",
312      "Cypriot", "Cyrillic", "Devanagari", "Deseret", "Duployan",
313      "Egyptian_Hieroglyphs", "Elbasan", "Ethiopic", "Georgian",
314      "Glagolitic", "Gothic", "Grantha", "Greek", "Gujarati", "Gurmukhi",
315      "Hangul", "Han", "Hanunoo", "Hebrew", "Hiragana", "Pahawh_Hmong",
316      "Katakana_Or_Hiragana", "Old_Italic", "Javanese", "Kayah_Li",
317      "Katakana", "Kharoshthi", "Khmer", "Khojki", "Kannada", "Kaithi",
318      "Tai_Tham", "Lao", "Latin", "Lepcha", "Limbu", "Linear_A", "Linear_B",
319      "Lisu", "Lycian", "Lydian", "Mahajani", "Mandaic", "Manichaean",
320      "Mende_Kikakui", "Meroitic_Cursive", "Meroitic_Hieroglyphs",
321      "Malayalam", "Modi", "Mongolian", "Mro", "Meetei_Mayek", "Myanmar",
322      "Old_North_Arabian", "Nabataean", "Nko", "Ogham", "Ol_Chiki",
323      "Old_Turkic", "Oriya", "Osmanya", "Palmyrene", "Pau_Cin_Hau",
324      "Old_Permic", "Phags_Pa", "Inscriptional_Pahlavi", "Psalter_Pahlavi",
325      "Phoenician", "Miao", "Inscriptional_Parthian", "Rejang", "Runic",
326      "Samaritan", "Old_South_Arabian", "Saurashtra", "Shavian", "Sharada",
327      "Siddham", "Khudawadi", "Sinhala", "Sora_Sompeng", "Sundanese",
328      "Syloti_Nagri", "Syriac", "Tagbanwa", "Takri", "Tai_Le",
329      "New_Tai_Lue", "Tamil", "Tai_Viet", "Telugu", "Tifinagh", "Tagalog",
330      "Thaana", "Thai", "Tibetan", "Tirhuta", "Ugaritic", "Vai",
331      "Warang_Citi", "Old_Persian", "Cuneiform", "Yi", "Inherited",
332      "Common", "Unknown"};
333    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
334      {"qaac", SC_ns::Copt}, {"qaai", SC_ns::Zinh}};
335  }
336
337  namespace BC_ns {
338    enum value_t {
339      AL, AN, B, BN, CS, EN, ES, ET, FSI, L, LRE, LRI, LRO, NSM, ON, PDF,
340      PDI, R, RLE, RLI, RLO, S, WS};
341    const std::vector<std::string> enum_names = {
342      "AL", "AN", "B", "BN", "CS", "EN", "ES", "ET", "FSI", "L", "LRE",
343      "LRI", "LRO", "NSM", "ON", "PDF", "PDI", "R", "RLE", "RLI", "RLO",
344      "S", "WS"};
345    const std::vector<std::string> value_names = {
346      "Arabic_Letter", "Arabic_Number", "Paragraph_Separator",
347      "Boundary_Neutral", "Common_Separator", "European_Number",
348      "European_Separator", "European_Terminator", "First_Strong_Isolate",
349      "Left_To_Right", "Left_To_Right_Embedding", "Left_To_Right_Isolate",
350      "Left_To_Right_Override", "Nonspacing_Mark", "Other_Neutral",
351      "Pop_Directional_Format", "Pop_Directional_Isolate", "Right_To_Left",
352      "Right_To_Left_Embedding", "Right_To_Left_Isolate",
353      "Right_To_Left_Override", "Segment_Separator", "White_Space"};
354    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
355      };
356  }
357
358  namespace BPT_ns {
359    enum value_t {
360      c, n, o};
361    const std::vector<std::string> enum_names = {
362      "c", "n", "o"};
363    const std::vector<std::string> value_names = {
364      "Close", "None", "Open"};
365    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
366      };
367  }
368
369  namespace CCC_ns {
370    enum value_t {
371      NR, OV, NK, KV, VR, CCC10, CCC11, CCC12, CCC13, CCC14, CCC15, CCC16,
372      CCC17, CCC18, CCC19, CCC20, CCC21, CCC22, CCC23, CCC24, CCC25, CCC26,
373      CCC27, CCC28, CCC29, CCC30, CCC31, CCC32, CCC33, CCC34, CCC35, CCC36,
374      CCC84, CCC91, CCC103, CCC107, CCC118, CCC122, CCC129, CCC130, CCC132,
375      CCC133, ATBL, ATB, ATA, ATAR, BL, B, BR, L, R, AL, A, AR, DB, DA, IS
376        };
377        const uint8_t enum_val[] = {
378          0, 1, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
379      24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 84, 91, 103, 107,
380      118, 122, 129, 130, 132, 133, 200, 202, 214, 216, 218, 220, 222, 224,
381      226, 228, 230, 232, 233, 234, 240};
382    const std::vector<std::string> enum_names = {
383      "NR", "OV", "NK", "KV", "VR", "CCC10", "CCC11", "CCC12", "CCC13",
384      "CCC14", "CCC15", "CCC16", "CCC17", "CCC18", "CCC19", "CCC20",
385      "CCC21", "CCC22", "CCC23", "CCC24", "CCC25", "CCC26", "CCC27",
386      "CCC28", "CCC29", "CCC30", "CCC31", "CCC32", "CCC33", "CCC34",
387      "CCC35", "CCC36", "CCC84", "CCC91", "CCC103", "CCC107", "CCC118",
388      "CCC122", "CCC129", "CCC130", "CCC132", "CCC133", "ATBL", "ATB",
389      "ATA", "ATAR", "BL", "B", "BR", "L", "R", "AL", "A", "AR", "DB", "DA",
390      "IS"};
391    const std::vector<std::string> value_names = {
392      "Not_Reordered", "Overlay", "Nukta", "Kana_Voicing", "Virama",
393      "CCC10", "CCC11", "CCC12", "CCC13", "CCC14", "CCC15", "CCC16",
394      "CCC17", "CCC18", "CCC19", "CCC20", "CCC21", "CCC22", "CCC23",
395      "CCC24", "CCC25", "CCC26", "CCC27", "CCC28", "CCC29", "CCC30",
396      "CCC31", "CCC32", "CCC33", "CCC34", "CCC35", "CCC36", "CCC84",
397      "CCC91", "CCC103", "CCC107", "CCC118", "CCC122", "CCC129", "CCC130",
398      "CCC132", "CCC133", "Attached_Below_Left", "Attached_Below",
399      "Attached_Above", "Attached_Above_Right", "Below_Left", "Below",
400      "Below_Right", "Left", "Right", "Above_Left", "Above", "Above_Right",
401      "Double_Below", "Double_Above", "Iota_Subscript"};
402    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
403      };
404  }
405
406  namespace DT_ns {
407    enum value_t {
408      Can, Com, Enc, Fin, Font, Fra, Init, Iso, Med, Nar, Nb, None, Sml,
409      Sqr, Sub, Sup, Vert, Wide};
410    const std::vector<std::string> enum_names = {
411      "Can", "Com", "Enc", "Fin", "Font", "Fra", "Init", "Iso", "Med",
412      "Nar", "Nb", "None", "Sml", "Sqr", "Sub", "Sup", "Vert", "Wide"};
413    const std::vector<std::string> value_names = {
414      "Canonical", "Compat", "Circle", "Final", "Font", "Fraction",
415      "Initial", "Isolated", "Medial", "Narrow", "Nobreak", "None", "Small",
416      "Square", "Sub", "Super", "Vertical", "Wide"};
417    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
418      };
419  }
420
421  namespace EA_ns {
422    enum value_t {
423      A, F, H, N, Na, W};
424    const std::vector<std::string> enum_names = {
425      "A", "F", "H", "N", "Na", "W"};
426    const std::vector<std::string> value_names = {
427      "Ambiguous", "Fullwidth", "Halfwidth", "Neutral", "Narrow", "Wide"};
428    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
429      };
430  }
431
432  namespace GC_ns {
433    enum value_t {
434      C, Cc, Cf, Cn, Co, Cs, L, LC, Ll, Lm, Lo, Lt, Lu, M, Mc, Me, Mn, N,
435      Nd, Nl, No, P, Pc, Pd, Pe, Pf, Pi, Po, Ps, S, Sc, Sk, Sm, So, Z, Zl,
436      Zp, Zs};
437    const std::vector<std::string> enum_names = {
438      "C", "Cc", "Cf", "Cn", "Co", "Cs", "L", "LC", "Ll", "Lm", "Lo", "Lt",
439      "Lu", "M", "Mc", "Me", "Mn", "N", "Nd", "Nl", "No", "P", "Pc", "Pd",
440      "Pe", "Pf", "Pi", "Po", "Ps", "S", "Sc", "Sk", "Sm", "So", "Z", "Zl",
441      "Zp", "Zs"};
442    const std::vector<std::string> value_names = {
443      "Other", "Control", "Format", "Unassigned", "Private_Use",
444      "Surrogate", "Letter", "Cased_Letter", "Lowercase_Letter",
445      "Modifier_Letter", "Other_Letter", "Titlecase_Letter",
446      "Uppercase_Letter", "Mark", "Spacing_Mark", "Enclosing_Mark",
447      "Nonspacing_Mark", "Number", "Decimal_Number", "Letter_Number",
448      "Other_Number", "Punctuation", "Connector_Punctuation",
449      "Dash_Punctuation", "Close_Punctuation", "Final_Punctuation",
450      "Initial_Punctuation", "Other_Punctuation", "Open_Punctuation",
451      "Symbol", "Currency_Symbol", "Modifier_Symbol", "Math_Symbol",
452      "Other_Symbol", "Separator", "Line_Separator", "Paragraph_Separator",
453      "Space_Separator"};
454    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
455      {"cntrl", GC_ns::Cc}, {"combiningmark", GC_ns::M},
456      {"digit", GC_ns::Nd}, {"punct", GC_ns::P}};
457  }
458
459  namespace GCB_ns {
460    enum value_t {
461      CN, CR, EX, L, LF, LV, LVT, PP, RI, SM, T, V, XX};
462    const std::vector<std::string> enum_names = {
463      "CN", "CR", "EX", "L", "LF", "LV", "LVT", "PP", "RI", "SM", "T", "V",
464      "XX"};
465    const std::vector<std::string> value_names = {
466      "Control", "CR", "Extend", "L", "LF", "LV", "LVT", "Prepend",
467      "Regional_Indicator", "SpacingMark", "T", "V", "Other"};
468    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
469      };
470  }
471
472  namespace HST_ns {
473    enum value_t {
474      L, LV, LVT, NA, T, V};
475    const std::vector<std::string> enum_names = {
476      "L", "LV", "LVT", "NA", "T", "V"};
477    const std::vector<std::string> value_names = {
478      "Leading_Jamo", "LV_Syllable", "LVT_Syllable", "Not_Applicable",
479      "Trailing_Jamo", "Vowel_Jamo"};
480    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
481      };
482  }
483
484  namespace INMC_ns {
485    enum value_t {
486      Bottom, Bottom_And_Right, Left, Left_And_Right, NA, Overstruck, Right,
487      Top, Top_And_Bottom, Top_And_Bottom_And_Right, Top_And_Left,
488      Top_And_Left_And_Right, Top_And_Right, Visual_Order_Left};
489    const std::vector<std::string> enum_names = {
490      "Bottom", "Bottom_And_Right", "Left", "Left_And_Right", "NA",
491      "Overstruck", "Right", "Top", "Top_And_Bottom",
492      "Top_And_Bottom_And_Right", "Top_And_Left", "Top_And_Left_And_Right",
493      "Top_And_Right", "Visual_Order_Left"};
494    const std::vector<std::string> value_names = {
495      "Bottom", "Bottom_And_Right", "Left", "Left_And_Right", "NA",
496      "Overstruck", "Right", "Top", "Top_And_Bottom",
497      "Top_And_Bottom_And_Right", "Top_And_Left", "Top_And_Left_And_Right",
498      "Top_And_Right", "Visual_Order_Left"};
499    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
500      };
501  }
502
503  namespace INSC_ns {
504    enum value_t {
505      Avagraha, Bindu, Brahmi_Joining_Number, Cantillation_Mark, Consonant,
506      Consonant_Dead, Consonant_Final, Consonant_Head_Letter,
507      Consonant_Medial, Consonant_Placeholder, Consonant_Preceding_Repha,
508      Consonant_Subjoined, Consonant_Succeeding_Repha, Gemination_Mark,
509      Invisible_Stacker, Joiner, Modifying_Letter, Non_Joiner, Nukta,
510      Number, Number_Joiner, Other, Pure_Killer, Register_Shifter,
511      Tone_Letter, Tone_Mark, Virama, Visarga, Vowel, Vowel_Dependent,
512      Vowel_Independent};
513    const std::vector<std::string> enum_names = {
514      "Avagraha", "Bindu", "Brahmi_Joining_Number", "Cantillation_Mark",
515      "Consonant", "Consonant_Dead", "Consonant_Final",
516      "Consonant_Head_Letter", "Consonant_Medial", "Consonant_Placeholder",
517      "Consonant_Preceding_Repha", "Consonant_Subjoined",
518      "Consonant_Succeeding_Repha", "Gemination_Mark", "Invisible_Stacker",
519      "Joiner", "Modifying_Letter", "Non_Joiner", "Nukta", "Number",
520      "Number_Joiner", "Other", "Pure_Killer", "Register_Shifter",
521      "Tone_Letter", "Tone_Mark", "Virama", "Visarga", "Vowel",
522      "Vowel_Dependent", "Vowel_Independent"};
523    const std::vector<std::string> value_names = {
524      "Avagraha", "Bindu", "Brahmi_Joining_Number", "Cantillation_Mark",
525      "Consonant", "Consonant_Dead", "Consonant_Final",
526      "Consonant_Head_Letter", "Consonant_Medial", "Consonant_Placeholder",
527      "Consonant_Preceding_Repha", "Consonant_Subjoined",
528      "Consonant_Succeeding_Repha", "Gemination_Mark", "Invisible_Stacker",
529      "Joiner", "Modifying_Letter", "Non_Joiner", "Nukta", "Number",
530      "Number_Joiner", "Other", "Pure_Killer", "Register_Shifter",
531      "Tone_Letter", "Tone_Mark", "Virama", "Visarga", "Vowel",
532      "Vowel_Dependent", "Vowel_Independent"};
533    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
534      };
535  }
536
537  namespace JG_ns {
538    enum value_t {
539      Ain, Alaph, Alef, Beh, Beth, Burushaski_Yeh_Barree, Dal, Dalath_Rish,
540      E, Farsi_Yeh, Fe, Feh, Final_Semkath, Gaf, Gamal, Hah, He, Heh,
541      Heh_Goal, Heth, Kaf, Kaph, Khaph, Knotted_Heh, Lam, Lamadh,
542      Manichaean_Aleph, Manichaean_Ayin, Manichaean_Beth, Manichaean_Daleth,
543      Manichaean_Dhamedh, Manichaean_Five, Manichaean_Gimel,
544      Manichaean_Heth, Manichaean_Hundred, Manichaean_Kaph,
545      Manichaean_Lamedh, Manichaean_Mem, Manichaean_Nun, Manichaean_One,
546      Manichaean_Pe, Manichaean_Qoph, Manichaean_Resh, Manichaean_Sadhe,
547      Manichaean_Samekh, Manichaean_Taw, Manichaean_Ten, Manichaean_Teth,
548      Manichaean_Thamedh, Manichaean_Twenty, Manichaean_Waw,
549      Manichaean_Yodh, Manichaean_Zayin, Meem, Mim, No_Joining_Group, Noon,
550      Nun, Nya, Pe, Qaf, Qaph, Reh, Reversed_Pe, Rohingya_Yeh, Sad, Sadhe,
551      Seen, Semkath, Shin, Straight_Waw, Swash_Kaf, Syriac_Waw, Tah, Taw,
552      Teh_Marbuta, Teh_Marbuta_Goal, Teth, Waw, Yeh, Yeh_Barree,
553      Yeh_With_Tail, Yudh, Yudh_He, Zain, Zhain};
554    const std::vector<std::string> enum_names = {
555      "Ain", "Alaph", "Alef", "Beh", "Beth", "Burushaski_Yeh_Barree", "Dal",
556      "Dalath_Rish", "E", "Farsi_Yeh", "Fe", "Feh", "Final_Semkath", "Gaf",
557      "Gamal", "Hah", "He", "Heh", "Heh_Goal", "Heth", "Kaf", "Kaph",
558      "Khaph", "Knotted_Heh", "Lam", "Lamadh", "Manichaean_Aleph",
559      "Manichaean_Ayin", "Manichaean_Beth", "Manichaean_Daleth",
560      "Manichaean_Dhamedh", "Manichaean_Five", "Manichaean_Gimel",
561      "Manichaean_Heth", "Manichaean_Hundred", "Manichaean_Kaph",
562      "Manichaean_Lamedh", "Manichaean_Mem", "Manichaean_Nun",
563      "Manichaean_One", "Manichaean_Pe", "Manichaean_Qoph",
564      "Manichaean_Resh", "Manichaean_Sadhe", "Manichaean_Samekh",
565      "Manichaean_Taw", "Manichaean_Ten", "Manichaean_Teth",
566      "Manichaean_Thamedh", "Manichaean_Twenty", "Manichaean_Waw",
567      "Manichaean_Yodh", "Manichaean_Zayin", "Meem", "Mim",
568      "No_Joining_Group", "Noon", "Nun", "Nya", "Pe", "Qaf", "Qaph", "Reh",
569      "Reversed_Pe", "Rohingya_Yeh", "Sad", "Sadhe", "Seen", "Semkath",
570      "Shin", "Straight_Waw", "Swash_Kaf", "Syriac_Waw", "Tah", "Taw",
571      "Teh_Marbuta", "Teh_Marbuta_Goal", "Teth", "Waw", "Yeh", "Yeh_Barree",
572      "Yeh_With_Tail", "Yudh", "Yudh_He", "Zain", "Zhain"};
573    const std::vector<std::string> value_names = {
574      "Ain", "Alaph", "Alef", "Beh", "Beth", "Burushaski_Yeh_Barree", "Dal",
575      "Dalath_Rish", "E", "Farsi_Yeh", "Fe", "Feh", "Final_Semkath", "Gaf",
576      "Gamal", "Hah", "He", "Heh", "Heh_Goal", "Heth", "Kaf", "Kaph",
577      "Khaph", "Knotted_Heh", "Lam", "Lamadh", "Manichaean_Aleph",
578      "Manichaean_Ayin", "Manichaean_Beth", "Manichaean_Daleth",
579      "Manichaean_Dhamedh", "Manichaean_Five", "Manichaean_Gimel",
580      "Manichaean_Heth", "Manichaean_Hundred", "Manichaean_Kaph",
581      "Manichaean_Lamedh", "Manichaean_Mem", "Manichaean_Nun",
582      "Manichaean_One", "Manichaean_Pe", "Manichaean_Qoph",
583      "Manichaean_Resh", "Manichaean_Sadhe", "Manichaean_Samekh",
584      "Manichaean_Taw", "Manichaean_Ten", "Manichaean_Teth",
585      "Manichaean_Thamedh", "Manichaean_Twenty", "Manichaean_Waw",
586      "Manichaean_Yodh", "Manichaean_Zayin", "Meem", "Mim",
587      "No_Joining_Group", "Noon", "Nun", "Nya", "Pe", "Qaf", "Qaph", "Reh",
588      "Reversed_Pe", "Rohingya_Yeh", "Sad", "Sadhe", "Seen", "Semkath",
589      "Shin", "Straight_Waw", "Swash_Kaf", "Syriac_Waw", "Tah", "Taw",
590      "Teh_Marbuta", "Hamza_On_Heh_Goal", "Teth", "Waw", "Yeh",
591      "Yeh_Barree", "Yeh_With_Tail", "Yudh", "Yudh_He", "Zain", "Zhain"};
592    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
593      };
594  }
595
596  namespace JT_ns {
597    enum value_t {
598      C, D, L, R, T, U};
599    const std::vector<std::string> enum_names = {
600      "C", "D", "L", "R", "T", "U"};
601    const std::vector<std::string> value_names = {
602      "Join_Causing", "Dual_Joining", "Left_Joining", "Right_Joining",
603      "Transparent", "Non_Joining"};
604    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
605      };
606  }
607
608  namespace LB_ns {
609    enum value_t {
610      AI, AL, B2, BA, BB, BK, CB, CJ, CL, CM, CP, CR, EX, GL, H2, H3, HL,
611      HY, ID, IN, IS, JL, JT, JV, LF, NL, NS, NU, OP, PO, PR, QU, RI, SA,
612      SG, SP, SY, WJ, XX, ZW};
613    const std::vector<std::string> enum_names = {
614      "AI", "AL", "B2", "BA", "BB", "BK", "CB", "CJ", "CL", "CM", "CP",
615      "CR", "EX", "GL", "H2", "H3", "HL", "HY", "ID", "IN", "IS", "JL",
616      "JT", "JV", "LF", "NL", "NS", "NU", "OP", "PO", "PR", "QU", "RI",
617      "SA", "SG", "SP", "SY", "WJ", "XX", "ZW"};
618    const std::vector<std::string> value_names = {
619      "Ambiguous", "Alphabetic", "Break_Both", "Break_After",
620      "Break_Before", "Mandatory_Break", "Contingent_Break",
621      "Conditional_Japanese_Starter", "Close_Punctuation", "Combining_Mark",
622      "Close_Parenthesis", "Carriage_Return", "Exclamation", "Glue", "H2",
623      "H3", "Hebrew_Letter", "Hyphen", "Ideographic", "Inseparable",
624      "Infix_Numeric", "JL", "JT", "JV", "Line_Feed", "Next_Line",
625      "Nonstarter", "Numeric", "Open_Punctuation", "Postfix_Numeric",
626      "Prefix_Numeric", "Quotation", "Regional_Indicator",
627      "Complex_Context", "Surrogate", "Space", "Break_Symbols",
628      "Word_Joiner", "Unknown", "ZWSpace"};
629    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
630      {"inseperable", LB_ns::IN}};
631  }
632
633  namespace NFC_QC_ns {
634    enum value_t {
635      M, N, Y};
636    const std::vector<std::string> enum_names = {
637      "M", "N", "Y"};
638    const std::vector<std::string> value_names = {
639      "Maybe", "No", "Yes"};
640    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
641      };
642  }
643
644  namespace NFD_QC_ns {
645    enum value_t {
646      N, Y};
647    const std::vector<std::string> enum_names = {
648      "N", "Y"};
649    const std::vector<std::string> value_names = {
650      "No", "Yes"};
651    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
652      };
653  }
654
655  namespace NFKC_QC_ns {
656    enum value_t {
657      M, N, Y};
658    const std::vector<std::string> enum_names = {
659      "M", "N", "Y"};
660    const std::vector<std::string> value_names = {
661      "Maybe", "No", "Yes"};
662    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
663      };
664  }
665
666  namespace NFKD_QC_ns {
667    enum value_t {
668      N, Y};
669    const std::vector<std::string> enum_names = {
670      "N", "Y"};
671    const std::vector<std::string> value_names = {
672      "No", "Yes"};
673    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
674      };
675  }
676
677  namespace NT_ns {
678    enum value_t {
679      De, Di, None, Nu};
680    const std::vector<std::string> enum_names = {
681      "De", "Di", "None", "Nu"};
682    const std::vector<std::string> value_names = {
683      "Decimal", "Digit", "None", "Numeric"};
684    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
685      };
686  }
687
688  namespace SB_ns {
689    enum value_t {
690      AT, CL, CR, EX, FO, LE, LF, LO, NU, SC, SE, SP, ST, UP, XX};
691    const std::vector<std::string> enum_names = {
692      "AT", "CL", "CR", "EX", "FO", "LE", "LF", "LO", "NU", "SC", "SE",
693      "SP", "ST", "UP", "XX"};
694    const std::vector<std::string> value_names = {
695      "ATerm", "Close", "CR", "Extend", "Format", "OLetter", "LF", "Lower",
696      "Numeric", "SContinue", "Sep", "Sp", "STerm", "Upper", "Other"};
697    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
698      };
699  }
700
701  namespace WB_ns {
702    enum value_t {
703      CR, DQ, EX, Extend, FO, HL, KA, LE, LF, MB, ML, MN, NL, NU, RI, SQ,
704      XX};
705    const std::vector<std::string> enum_names = {
706      "CR", "DQ", "EX", "Extend", "FO", "HL", "KA", "LE", "LF", "MB", "ML",
707      "MN", "NL", "NU", "RI", "SQ", "XX"};
708    const std::vector<std::string> value_names = {
709      "CR", "Double_Quote", "ExtendNumLet", "Extend", "Format",
710      "Hebrew_Letter", "Katakana", "ALetter", "LF", "MidNumLet",
711      "MidLetter", "MidNum", "Newline", "Numeric", "Regional_Indicator",
712      "Single_Quote", "Other"};
713    const std::unordered_map<std::string, int> aliases_only_map = std::unordered_map<std::string, int> {
714      };
715  }
716}
717
718#endif
Note: See TracBrowser for help on using the repository browser.