source: icGREP/icgrep-devel/icgrep/UCD/PropertyAliases.h @ 6194

Last change on this file since 6194 was 6192, checked in by cameron, 7 months ago

Updates for Unicode 11.0 plus Emoji properties

File size: 12.2 KB
Line 
1#ifndef PROPERTYALIASES_H
2#define PROPERTYALIASES_H
3/*
4 *  Copyright (c) 2018 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 <vector>
14
15namespace UCD {
16    enum property_t {
17        cjkAccountingNumeric, cjkOtherNumeric, cjkPrimaryNumeric, nv, cf,
18        cjkCompatibilityVariant, dm, FC_NFKC, lc, NFKC_CF, scf, slc, stc,
19        suc, tc, uc, bmg, bpb, cjkIICore, cjkIRG_GSource, cjkIRG_HSource,
20        cjkIRG_JSource, cjkIRG_KPSource, cjkIRG_KSource, cjkIRG_MSource,
21        cjkIRG_TSource, cjkIRG_USource, cjkIRG_VSource, cjkRSUnicode,
22        EqUIdeo, isc, JSN, na, na1, Name_Alias, scx, age, blk, sc, bc, bpt,
23        ccc, dt, ea, gc, GCB, hst, InPC, InSC, jg, jt, lb, NFC_QC, NFD_QC,
24        NFKC_QC, NFKD_QC, nt, SB, vo, WB, AHex, Alpha, Bidi_C, Bidi_M,
25        Cased, CE, CI, Comp_Ex, CWCF, CWCM, CWKCF, CWL, CWT, CWU, Dash, Dep,
26        DI, Dia, Ext, Gr_Base, Gr_Ext, Gr_Link, Hex, Hyphen, IDC, Ideo, IDS,
27        IDSB, IDST, Join_C, LOE, Lower, Math, NChar, OAlpha, ODI, OGr_Ext,
28        OIDC, OIDS, OLower, OMath, OUpper, Pat_Syn, Pat_WS, PCM, QMark,
29        Radical, RI, SD, STerm, Term, UIdeo, Upper, VS, WSpace, XIDC, XIDS,
30        XO_NFC, XO_NFD, XO_NFKC, XO_NFKD, emoji, emojipresentation,
31        emojimodifier, emojimodifierbase, emojicomponent,
32        extendedpictographic};
33    const static std::vector<std::string> property_enum_name = {
34        "cjkAccountingNumeric", "cjkOtherNumeric", "cjkPrimaryNumeric",
35        "nv", "cf", "cjkCompatibilityVariant", "dm", "FC_NFKC", "lc",
36        "NFKC_CF", "scf", "slc", "stc", "suc", "tc", "uc", "bmg", "bpb",
37        "cjkIICore", "cjkIRG_GSource", "cjkIRG_HSource", "cjkIRG_JSource",
38        "cjkIRG_KPSource", "cjkIRG_KSource", "cjkIRG_MSource",
39        "cjkIRG_TSource", "cjkIRG_USource", "cjkIRG_VSource",
40        "cjkRSUnicode", "EqUIdeo", "isc", "JSN", "na", "na1", "Name_Alias",
41        "scx", "age", "blk", "sc", "bc", "bpt", "ccc", "dt", "ea", "gc",
42        "GCB", "hst", "InPC", "InSC", "jg", "jt", "lb", "NFC_QC", "NFD_QC",
43        "NFKC_QC", "NFKD_QC", "nt", "SB", "vo", "WB", "AHex", "Alpha",
44        "Bidi_C", "Bidi_M", "Cased", "CE", "CI", "Comp_Ex", "CWCF", "CWCM",
45        "CWKCF", "CWL", "CWT", "CWU", "Dash", "Dep", "DI", "Dia", "Ext",
46        "Gr_Base", "Gr_Ext", "Gr_Link", "Hex", "Hyphen", "IDC", "Ideo",
47        "IDS", "IDSB", "IDST", "Join_C", "LOE", "Lower", "Math", "NChar",
48        "OAlpha", "ODI", "OGr_Ext", "OIDC", "OIDS", "OLower", "OMath",
49        "OUpper", "Pat_Syn", "Pat_WS", "PCM", "QMark", "Radical", "RI",
50        "SD", "STerm", "Term", "UIdeo", "Upper", "VS", "WSpace", "XIDC",
51        "XIDS", "XO_NFC", "XO_NFD", "XO_NFKC", "XO_NFKD", "emoji",
52        "emojipresentation", "emojimodifier", "emojimodifierbase",
53        "emojicomponent", "extendedpictographic"};
54    const static std::vector<std::string> property_full_name = {
55        "kAccountingNumeric", "kOtherNumeric", "kPrimaryNumeric",
56        "Numeric_Value", "Case_Folding", "kCompatibilityVariant",
57        "Decomposition_Mapping", "FC_NFKC_Closure", "Lowercase_Mapping",
58        "NFKC_Casefold", "Simple_Case_Folding", "Simple_Lowercase_Mapping",
59        "Simple_Titlecase_Mapping", "Simple_Uppercase_Mapping",
60        "Titlecase_Mapping", "Uppercase_Mapping", "Bidi_Mirroring_Glyph",
61        "Bidi_Paired_Bracket", "kIICore", "kIRG_GSource", "kIRG_HSource",
62        "kIRG_JSource", "kIRG_KPSource", "kIRG_KSource", "kIRG_MSource",
63        "kIRG_TSource", "kIRG_USource", "kIRG_VSource", "kRSUnicode",
64        "Equivalent_Unified_Ideograph", "ISO_Comment", "Jamo_Short_Name",
65        "Name", "Unicode_1_Name", "Name_Alias", "Script_Extensions", "Age",
66        "Block", "Script", "Bidi_Class", "Bidi_Paired_Bracket_Type",
67        "Canonical_Combining_Class", "Decomposition_Type",
68        "East_Asian_Width", "General_Category", "Grapheme_Cluster_Break",
69        "Hangul_Syllable_Type", "Indic_Positional_Category",
70        "Indic_Syllabic_Category", "Joining_Group", "Joining_Type",
71        "Line_Break", "NFC_Quick_Check", "NFD_Quick_Check",
72        "NFKC_Quick_Check", "NFKD_Quick_Check", "Numeric_Type",
73        "Sentence_Break", "Vertical_Orientation", "Word_Break",
74        "ASCII_Hex_Digit", "Alphabetic", "Bidi_Control", "Bidi_Mirrored",
75        "Cased", "Composition_Exclusion", "Case_Ignorable",
76        "Full_Composition_Exclusion", "Changes_When_Casefolded",
77        "Changes_When_Casemapped", "Changes_When_NFKC_Casefolded",
78        "Changes_When_Lowercased", "Changes_When_Titlecased",
79        "Changes_When_Uppercased", "Dash", "Deprecated",
80        "Default_Ignorable_Code_Point", "Diacritic", "Extender",
81        "Grapheme_Base", "Grapheme_Extend", "Grapheme_Link", "Hex_Digit",
82        "Hyphen", "ID_Continue", "Ideographic", "ID_Start",
83        "IDS_Binary_Operator", "IDS_Trinary_Operator", "Join_Control",
84        "Logical_Order_Exception", "Lowercase", "Math",
85        "Noncharacter_Code_Point", "Other_Alphabetic",
86        "Other_Default_Ignorable_Code_Point", "Other_Grapheme_Extend",
87        "Other_ID_Continue", "Other_ID_Start", "Other_Lowercase",
88        "Other_Math", "Other_Uppercase", "Pattern_Syntax",
89        "Pattern_White_Space", "Prepended_Concatenation_Mark",
90        "Quotation_Mark", "Radical", "Regional_Indicator", "Soft_Dotted",
91        "Sentence_Terminal", "Terminal_Punctuation", "Unified_Ideograph",
92        "Uppercase", "Variation_Selector", "White_Space", "XID_Continue",
93        "XID_Start", "Expands_On_NFC", "Expands_On_NFD", "Expands_On_NFKC",
94        "Expands_On_NFKD", "Emoji", "Emoji_Presentation", "Emoji_Modifier",
95        "Emoji_Modifier_Base", "Emoji_Component", "Extended_Pictographic"};
96    static std::unordered_map<std::string, int> alias_map {{
97        {"age", age}, {"ahex", AHex}, {"alpha", Alpha},
98        {"alphabetic", Alpha}, {"asciihexdigit", AHex}, {"bc", bc},
99        {"bidic", Bidi_C}, {"bidiclass", bc}, {"bidicontrol", Bidi_C},
100        {"bidim", Bidi_M}, {"bidimirrored", Bidi_M},
101        {"bidimirroringglyph", bmg}, {"bidipairedbracket", bpb},
102        {"bidipairedbrackettype", bpt}, {"blk", blk}, {"block", blk},
103        {"bmg", bmg}, {"bpb", bpb}, {"bpt", bpt},
104        {"canonicalcombiningclass", ccc}, {"cased", Cased},
105        {"casefolding", cf}, {"caseignorable", CI}, {"ccc", ccc},
106        {"ce", CE}, {"cf", cf}, {"changeswhencasefolded", CWCF},
107        {"changeswhencasemapped", CWCM}, {"changeswhenlowercased", CWL},
108        {"changeswhennfkccasefolded", CWKCF},
109        {"changeswhentitlecased", CWT}, {"changeswhenuppercased", CWU},
110        {"ci", CI}, {"cjkaccountingnumeric", cjkAccountingNumeric},
111        {"cjkcompatibilityvariant", cjkCompatibilityVariant},
112        {"cjkiicore", cjkIICore}, {"cjkirggsource", cjkIRG_GSource},
113        {"cjkirghsource", cjkIRG_HSource},
114        {"cjkirgjsource", cjkIRG_JSource},
115        {"cjkirgkpsource", cjkIRG_KPSource},
116        {"cjkirgksource", cjkIRG_KSource},
117        {"cjkirgmsource", cjkIRG_MSource},
118        {"cjkirgtsource", cjkIRG_TSource},
119        {"cjkirgusource", cjkIRG_USource},
120        {"cjkirgvsource", cjkIRG_VSource},
121        {"cjkothernumeric", cjkOtherNumeric},
122        {"cjkprimarynumeric", cjkPrimaryNumeric},
123        {"cjkrsunicode", cjkRSUnicode}, {"compex", Comp_Ex},
124        {"compositionexclusion", CE}, {"cwcf", CWCF}, {"cwcm", CWCM},
125        {"cwkcf", CWKCF}, {"cwl", CWL}, {"cwt", CWT}, {"cwu", CWU},
126        {"dash", Dash}, {"decompositionmapping", dm},
127        {"decompositiontype", dt}, {"defaultignorablecodepoint", DI},
128        {"dep", Dep}, {"deprecated", Dep}, {"di", DI}, {"dia", Dia},
129        {"diacritic", Dia}, {"dm", dm}, {"dt", dt}, {"ea", ea},
130        {"eastasianwidth", ea}, {"emoji", emoji},
131        {"emojicomponent", emojicomponent},
132        {"emojimodifier", emojimodifier},
133        {"emojimodifierbase", emojimodifierbase},
134        {"emojipresentation", emojipresentation}, {"equideo", EqUIdeo},
135        {"equivalentunifiedideograph", EqUIdeo}, {"expandsonnfc", XO_NFC},
136        {"expandsonnfd", XO_NFD}, {"expandsonnfkc", XO_NFKC},
137        {"expandsonnfkd", XO_NFKD}, {"ext", Ext},
138        {"extendedpictographic", extendedpictographic}, {"extender", Ext},
139        {"fcnfkc", FC_NFKC}, {"fcnfkcclosure", FC_NFKC},
140        {"fullcompositionexclusion", Comp_Ex}, {"gc", gc}, {"gcb", GCB},
141        {"generalcategory", gc}, {"graphemebase", Gr_Base},
142        {"graphemeclusterbreak", GCB}, {"graphemeextend", Gr_Ext},
143        {"graphemelink", Gr_Link}, {"grbase", Gr_Base}, {"grext", Gr_Ext},
144        {"grlink", Gr_Link}, {"hangulsyllabletype", hst}, {"hex", Hex},
145        {"hexdigit", Hex}, {"hst", hst}, {"hyphen", Hyphen}, {"idc", IDC},
146        {"idcontinue", IDC}, {"ideo", Ideo}, {"ideographic", Ideo},
147        {"ids", IDS}, {"idsb", IDSB}, {"idsbinaryoperator", IDSB},
148        {"idst", IDST}, {"idstart", IDS}, {"idstrinaryoperator", IDST},
149        {"indicpositionalcategory", InPC}, {"indicsyllabiccategory", InSC},
150        {"inpc", InPC}, {"insc", InSC}, {"isc", isc}, {"isocomment", isc},
151        {"jamoshortname", JSN}, {"jg", jg}, {"joinc", Join_C},
152        {"joincontrol", Join_C}, {"joininggroup", jg}, {"joiningtype", jt},
153        {"jsn", JSN}, {"jt", jt},
154        {"kaccountingnumeric", cjkAccountingNumeric},
155        {"kcompatibilityvariant", cjkCompatibilityVariant},
156        {"kiicore", cjkIICore}, {"kirggsource", cjkIRG_GSource},
157        {"kirghsource", cjkIRG_HSource}, {"kirgjsource", cjkIRG_JSource},
158        {"kirgkpsource", cjkIRG_KPSource}, {"kirgksource", cjkIRG_KSource},
159        {"kirgmsource", cjkIRG_MSource}, {"kirgtsource", cjkIRG_TSource},
160        {"kirgusource", cjkIRG_USource}, {"kirgvsource", cjkIRG_VSource},
161        {"kothernumeric", cjkOtherNumeric},
162        {"kprimarynumeric", cjkPrimaryNumeric},
163        {"krsunicode", cjkRSUnicode}, {"lb", lb}, {"lc", lc},
164        {"linebreak", lb}, {"loe", LOE}, {"logicalorderexception", LOE},
165        {"lower", Lower}, {"lowercase", Lower}, {"lowercasemapping", lc},
166        {"math", Math}, {"na", na}, {"na1", na1}, {"name", na},
167        {"namealias", Name_Alias}, {"nchar", NChar}, {"nfcqc", NFC_QC},
168        {"nfcquickcheck", NFC_QC}, {"nfdqc", NFD_QC},
169        {"nfdquickcheck", NFD_QC}, {"nfkccasefold", NFKC_CF},
170        {"nfkccf", NFKC_CF}, {"nfkcqc", NFKC_QC},
171        {"nfkcquickcheck", NFKC_QC}, {"nfkdqc", NFKD_QC},
172        {"nfkdquickcheck", NFKD_QC}, {"noncharactercodepoint", NChar},
173        {"nt", nt}, {"numerictype", nt}, {"numericvalue", nv}, {"nv", nv},
174        {"oalpha", OAlpha}, {"odi", ODI}, {"ogrext", OGr_Ext},
175        {"oidc", OIDC}, {"oids", OIDS}, {"olower", OLower},
176        {"omath", OMath}, {"otheralphabetic", OAlpha},
177        {"otherdefaultignorablecodepoint", ODI},
178        {"othergraphemeextend", OGr_Ext}, {"otheridcontinue", OIDC},
179        {"otheridstart", OIDS}, {"otherlowercase", OLower},
180        {"othermath", OMath}, {"otheruppercase", OUpper},
181        {"oupper", OUpper}, {"patsyn", Pat_Syn}, {"patternsyntax", Pat_Syn},
182        {"patternwhitespace", Pat_WS}, {"patws", Pat_WS}, {"pcm", PCM},
183        {"prependedconcatenationmark", PCM}, {"qmark", QMark},
184        {"quotationmark", QMark}, {"radical", Radical},
185        {"regionalindicator", RI}, {"ri", RI}, {"sb", SB}, {"sc", sc},
186        {"scf", scf}, {"script", sc}, {"scriptextensions", scx},
187        {"scx", scx}, {"sd", SD}, {"sentencebreak", SB},
188        {"sentenceterminal", STerm}, {"sfc", scf},
189        {"simplecasefolding", scf}, {"simplelowercasemapping", slc},
190        {"simpletitlecasemapping", stc}, {"simpleuppercasemapping", suc},
191        {"slc", slc}, {"softdotted", SD}, {"space", WSpace}, {"stc", stc},
192        {"sterm", STerm}, {"suc", suc}, {"tc", tc}, {"term", Term},
193        {"terminalpunctuation", Term}, {"titlecasemapping", tc}, {"uc", uc},
194        {"uideo", UIdeo}, {"unicode1name", na1},
195        {"unicoderadicalstroke", cjkRSUnicode}, {"unifiedideograph", UIdeo},
196        {"upper", Upper}, {"uppercase", Upper}, {"uppercasemapping", uc},
197        {"urs", cjkRSUnicode}, {"variationselector", VS},
198        {"verticalorientation", vo}, {"vo", vo}, {"vs", VS}, {"wb", WB},
199        {"whitespace", WSpace}, {"wordbreak", WB}, {"wspace", WSpace},
200        {"xidc", XIDC}, {"xidcontinue", XIDC}, {"xids", XIDS},
201        {"xidstart", XIDS}, {"xonfc", XO_NFC}, {"xonfd", XO_NFD},
202        {"xonfkc", XO_NFKC}, {"xonfkd", XO_NFKD}}};
203}
204
205#endif
Note: See TracBrowser for help on using the repository browser.