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

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

Add derived core properties such as math, alpha; refine the property resolver

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