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

Last change on this file since 5235 was 5159, checked in by cameron, 3 years ago

Support for enumeration basis sets

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