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

Last change on this file since 5755 was 5686, checked in by cameron, 23 months ago

Update to UCD 10.0.0

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