• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /**
4  * Copyright (C) 2002-2016, International Business Machines Corporation and
5  * others. All Rights Reserved.
6  *
7  * machine-generated by: icu/tools/unicode/py/preparseucd.py
8  */
9 
10 #define UNICODE_VERSION { 15, 0, 0, 0 }
11 
12 static const Value VALUES_binprop[2] = {
13     Value(0, "N No F False"),
14     Value(1, "Y Yes T True"),
15 };
16 
17 static const Value VALUES_bc[23] = {
18     Value(U_LEFT_TO_RIGHT, "L Left_To_Right"),
19     Value(U_RIGHT_TO_LEFT, "R Right_To_Left"),
20     Value(U_EUROPEAN_NUMBER, "EN European_Number"),
21     Value(U_EUROPEAN_NUMBER_SEPARATOR, "ES European_Separator"),
22     Value(U_EUROPEAN_NUMBER_TERMINATOR, "ET European_Terminator"),
23     Value(U_ARABIC_NUMBER, "AN Arabic_Number"),
24     Value(U_COMMON_NUMBER_SEPARATOR, "CS Common_Separator"),
25     Value(U_BLOCK_SEPARATOR, "B Paragraph_Separator"),
26     Value(U_SEGMENT_SEPARATOR, "S Segment_Separator"),
27     Value(U_WHITE_SPACE_NEUTRAL, "WS White_Space"),
28     Value(U_OTHER_NEUTRAL, "ON Other_Neutral"),
29     Value(U_LEFT_TO_RIGHT_EMBEDDING, "LRE Left_To_Right_Embedding"),
30     Value(U_LEFT_TO_RIGHT_OVERRIDE, "LRO Left_To_Right_Override"),
31     Value(U_RIGHT_TO_LEFT_ARABIC, "AL Arabic_Letter"),
32     Value(U_RIGHT_TO_LEFT_EMBEDDING, "RLE Right_To_Left_Embedding"),
33     Value(U_RIGHT_TO_LEFT_OVERRIDE, "RLO Right_To_Left_Override"),
34     Value(U_POP_DIRECTIONAL_FORMAT, "PDF Pop_Directional_Format"),
35     Value(U_DIR_NON_SPACING_MARK, "NSM Nonspacing_Mark"),
36     Value(U_BOUNDARY_NEUTRAL, "BN Boundary_Neutral"),
37     Value(U_FIRST_STRONG_ISOLATE, "FSI First_Strong_Isolate"),
38     Value(U_LEFT_TO_RIGHT_ISOLATE, "LRI Left_To_Right_Isolate"),
39     Value(U_RIGHT_TO_LEFT_ISOLATE, "RLI Right_To_Left_Isolate"),
40     Value(U_POP_DIRECTIONAL_ISOLATE, "PDI Pop_Directional_Isolate"),
41 };
42 
43 static const Value VALUES_blk[328] = {
44     Value(UBLOCK_NO_BLOCK, "NB No_Block"),
45     Value(UBLOCK_BASIC_LATIN, "ASCII Basic_Latin"),
46     Value(UBLOCK_LATIN_1_SUPPLEMENT, "Latin_1_Sup Latin_1_Supplement Latin_1"),
47     Value(UBLOCK_LATIN_EXTENDED_A, "Latin_Ext_A Latin_Extended_A"),
48     Value(UBLOCK_LATIN_EXTENDED_B, "Latin_Ext_B Latin_Extended_B"),
49     Value(UBLOCK_IPA_EXTENSIONS, "IPA_Ext IPA_Extensions"),
50     Value(UBLOCK_SPACING_MODIFIER_LETTERS, "Modifier_Letters Spacing_Modifier_Letters"),
51     Value(UBLOCK_COMBINING_DIACRITICAL_MARKS, "Diacriticals Combining_Diacritical_Marks"),
52     Value(UBLOCK_GREEK, "Greek Greek_And_Coptic"),
53     Value(UBLOCK_CYRILLIC, "Cyrillic Cyrillic"),
54     Value(UBLOCK_ARMENIAN, "Armenian Armenian"),
55     Value(UBLOCK_HEBREW, "Hebrew Hebrew"),
56     Value(UBLOCK_ARABIC, "Arabic Arabic"),
57     Value(UBLOCK_SYRIAC, "Syriac Syriac"),
58     Value(UBLOCK_THAANA, "Thaana Thaana"),
59     Value(UBLOCK_DEVANAGARI, "Devanagari Devanagari"),
60     Value(UBLOCK_BENGALI, "Bengali Bengali"),
61     Value(UBLOCK_GURMUKHI, "Gurmukhi Gurmukhi"),
62     Value(UBLOCK_GUJARATI, "Gujarati Gujarati"),
63     Value(UBLOCK_ORIYA, "Oriya Oriya"),
64     Value(UBLOCK_TAMIL, "Tamil Tamil"),
65     Value(UBLOCK_TELUGU, "Telugu Telugu"),
66     Value(UBLOCK_KANNADA, "Kannada Kannada"),
67     Value(UBLOCK_MALAYALAM, "Malayalam Malayalam"),
68     Value(UBLOCK_SINHALA, "Sinhala Sinhala"),
69     Value(UBLOCK_THAI, "Thai Thai"),
70     Value(UBLOCK_LAO, "Lao Lao"),
71     Value(UBLOCK_TIBETAN, "Tibetan Tibetan"),
72     Value(UBLOCK_MYANMAR, "Myanmar Myanmar"),
73     Value(UBLOCK_GEORGIAN, "Georgian Georgian"),
74     Value(UBLOCK_HANGUL_JAMO, "Jamo Hangul_Jamo"),
75     Value(UBLOCK_ETHIOPIC, "Ethiopic Ethiopic"),
76     Value(UBLOCK_CHEROKEE, "Cherokee Cherokee"),
77     Value(UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS, "UCAS Unified_Canadian_Aboriginal_Syllabics Canadian_Syllabics"),
78     Value(UBLOCK_OGHAM, "Ogham Ogham"),
79     Value(UBLOCK_RUNIC, "Runic Runic"),
80     Value(UBLOCK_KHMER, "Khmer Khmer"),
81     Value(UBLOCK_MONGOLIAN, "Mongolian Mongolian"),
82     Value(UBLOCK_LATIN_EXTENDED_ADDITIONAL, "Latin_Ext_Additional Latin_Extended_Additional"),
83     Value(UBLOCK_GREEK_EXTENDED, "Greek_Ext Greek_Extended"),
84     Value(UBLOCK_GENERAL_PUNCTUATION, "Punctuation General_Punctuation"),
85     Value(UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS, "Super_And_Sub Superscripts_And_Subscripts"),
86     Value(UBLOCK_CURRENCY_SYMBOLS, "Currency_Symbols Currency_Symbols"),
87     Value(UBLOCK_COMBINING_MARKS_FOR_SYMBOLS, "Diacriticals_For_Symbols Combining_Diacritical_Marks_For_Symbols Combining_Marks_For_Symbols"),
88     Value(UBLOCK_LETTERLIKE_SYMBOLS, "Letterlike_Symbols Letterlike_Symbols"),
89     Value(UBLOCK_NUMBER_FORMS, "Number_Forms Number_Forms"),
90     Value(UBLOCK_ARROWS, "Arrows Arrows"),
91     Value(UBLOCK_MATHEMATICAL_OPERATORS, "Math_Operators Mathematical_Operators"),
92     Value(UBLOCK_MISCELLANEOUS_TECHNICAL, "Misc_Technical Miscellaneous_Technical"),
93     Value(UBLOCK_CONTROL_PICTURES, "Control_Pictures Control_Pictures"),
94     Value(UBLOCK_OPTICAL_CHARACTER_RECOGNITION, "OCR Optical_Character_Recognition"),
95     Value(UBLOCK_ENCLOSED_ALPHANUMERICS, "Enclosed_Alphanum Enclosed_Alphanumerics"),
96     Value(UBLOCK_BOX_DRAWING, "Box_Drawing Box_Drawing"),
97     Value(UBLOCK_BLOCK_ELEMENTS, "Block_Elements Block_Elements"),
98     Value(UBLOCK_GEOMETRIC_SHAPES, "Geometric_Shapes Geometric_Shapes"),
99     Value(UBLOCK_MISCELLANEOUS_SYMBOLS, "Misc_Symbols Miscellaneous_Symbols"),
100     Value(UBLOCK_DINGBATS, "Dingbats Dingbats"),
101     Value(UBLOCK_BRAILLE_PATTERNS, "Braille Braille_Patterns"),
102     Value(UBLOCK_CJK_RADICALS_SUPPLEMENT, "CJK_Radicals_Sup CJK_Radicals_Supplement"),
103     Value(UBLOCK_KANGXI_RADICALS, "Kangxi Kangxi_Radicals"),
104     Value(UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS, "IDC Ideographic_Description_Characters"),
105     Value(UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION, "CJK_Symbols CJK_Symbols_And_Punctuation"),
106     Value(UBLOCK_HIRAGANA, "Hiragana Hiragana"),
107     Value(UBLOCK_KATAKANA, "Katakana Katakana"),
108     Value(UBLOCK_BOPOMOFO, "Bopomofo Bopomofo"),
109     Value(UBLOCK_HANGUL_COMPATIBILITY_JAMO, "Compat_Jamo Hangul_Compatibility_Jamo"),
110     Value(UBLOCK_KANBUN, "Kanbun Kanbun"),
111     Value(UBLOCK_BOPOMOFO_EXTENDED, "Bopomofo_Ext Bopomofo_Extended"),
112     Value(UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS, "Enclosed_CJK Enclosed_CJK_Letters_And_Months"),
113     Value(UBLOCK_CJK_COMPATIBILITY, "CJK_Compat CJK_Compatibility"),
114     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A, "CJK_Ext_A CJK_Unified_Ideographs_Extension_A"),
115     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS, "CJK CJK_Unified_Ideographs"),
116     Value(UBLOCK_YI_SYLLABLES, "Yi_Syllables Yi_Syllables"),
117     Value(UBLOCK_YI_RADICALS, "Yi_Radicals Yi_Radicals"),
118     Value(UBLOCK_HANGUL_SYLLABLES, "Hangul Hangul_Syllables"),
119     Value(UBLOCK_HIGH_SURROGATES, "High_Surrogates High_Surrogates"),
120     Value(UBLOCK_HIGH_PRIVATE_USE_SURROGATES, "High_PU_Surrogates High_Private_Use_Surrogates"),
121     Value(UBLOCK_LOW_SURROGATES, "Low_Surrogates Low_Surrogates"),
122     Value(UBLOCK_PRIVATE_USE_AREA, "PUA Private_Use_Area Private_Use"),
123     Value(UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS, "CJK_Compat_Ideographs CJK_Compatibility_Ideographs"),
124     Value(UBLOCK_ALPHABETIC_PRESENTATION_FORMS, "Alphabetic_PF Alphabetic_Presentation_Forms"),
125     Value(UBLOCK_ARABIC_PRESENTATION_FORMS_A, "Arabic_PF_A Arabic_Presentation_Forms_A Arabic_Presentation_Forms-A"),
126     Value(UBLOCK_COMBINING_HALF_MARKS, "Half_Marks Combining_Half_Marks"),
127     Value(UBLOCK_CJK_COMPATIBILITY_FORMS, "CJK_Compat_Forms CJK_Compatibility_Forms"),
128     Value(UBLOCK_SMALL_FORM_VARIANTS, "Small_Forms Small_Form_Variants"),
129     Value(UBLOCK_ARABIC_PRESENTATION_FORMS_B, "Arabic_PF_B Arabic_Presentation_Forms_B"),
130     Value(UBLOCK_SPECIALS, "Specials Specials"),
131     Value(UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS, "Half_And_Full_Forms Halfwidth_And_Fullwidth_Forms"),
132     Value(UBLOCK_OLD_ITALIC, "Old_Italic Old_Italic"),
133     Value(UBLOCK_GOTHIC, "Gothic Gothic"),
134     Value(UBLOCK_DESERET, "Deseret Deseret"),
135     Value(UBLOCK_BYZANTINE_MUSICAL_SYMBOLS, "Byzantine_Music Byzantine_Musical_Symbols"),
136     Value(UBLOCK_MUSICAL_SYMBOLS, "Music Musical_Symbols"),
137     Value(UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS, "Math_Alphanum Mathematical_Alphanumeric_Symbols"),
138     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B, "CJK_Ext_B CJK_Unified_Ideographs_Extension_B"),
139     Value(UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT, "CJK_Compat_Ideographs_Sup CJK_Compatibility_Ideographs_Supplement"),
140     Value(UBLOCK_TAGS, "Tags Tags"),
141     Value(UBLOCK_CYRILLIC_SUPPLEMENT, "Cyrillic_Sup Cyrillic_Supplement Cyrillic_Supplementary"),
142     Value(UBLOCK_TAGALOG, "Tagalog Tagalog"),
143     Value(UBLOCK_HANUNOO, "Hanunoo Hanunoo"),
144     Value(UBLOCK_BUHID, "Buhid Buhid"),
145     Value(UBLOCK_TAGBANWA, "Tagbanwa Tagbanwa"),
146     Value(UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A, "Misc_Math_Symbols_A Miscellaneous_Mathematical_Symbols_A"),
147     Value(UBLOCK_SUPPLEMENTAL_ARROWS_A, "Sup_Arrows_A Supplemental_Arrows_A"),
148     Value(UBLOCK_SUPPLEMENTAL_ARROWS_B, "Sup_Arrows_B Supplemental_Arrows_B"),
149     Value(UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B, "Misc_Math_Symbols_B Miscellaneous_Mathematical_Symbols_B"),
150     Value(UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS, "Sup_Math_Operators Supplemental_Mathematical_Operators"),
151     Value(UBLOCK_KATAKANA_PHONETIC_EXTENSIONS, "Katakana_Ext Katakana_Phonetic_Extensions"),
152     Value(UBLOCK_VARIATION_SELECTORS, "VS Variation_Selectors"),
153     Value(UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A, "Sup_PUA_A Supplementary_Private_Use_Area_A"),
154     Value(UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B, "Sup_PUA_B Supplementary_Private_Use_Area_B"),
155     Value(UBLOCK_LIMBU, "Limbu Limbu"),
156     Value(UBLOCK_TAI_LE, "Tai_Le Tai_Le"),
157     Value(UBLOCK_KHMER_SYMBOLS, "Khmer_Symbols Khmer_Symbols"),
158     Value(UBLOCK_PHONETIC_EXTENSIONS, "Phonetic_Ext Phonetic_Extensions"),
159     Value(UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS, "Misc_Arrows Miscellaneous_Symbols_And_Arrows"),
160     Value(UBLOCK_YIJING_HEXAGRAM_SYMBOLS, "Yijing Yijing_Hexagram_Symbols"),
161     Value(UBLOCK_LINEAR_B_SYLLABARY, "Linear_B_Syllabary Linear_B_Syllabary"),
162     Value(UBLOCK_LINEAR_B_IDEOGRAMS, "Linear_B_Ideograms Linear_B_Ideograms"),
163     Value(UBLOCK_AEGEAN_NUMBERS, "Aegean_Numbers Aegean_Numbers"),
164     Value(UBLOCK_UGARITIC, "Ugaritic Ugaritic"),
165     Value(UBLOCK_SHAVIAN, "Shavian Shavian"),
166     Value(UBLOCK_OSMANYA, "Osmanya Osmanya"),
167     Value(UBLOCK_CYPRIOT_SYLLABARY, "Cypriot_Syllabary Cypriot_Syllabary"),
168     Value(UBLOCK_TAI_XUAN_JING_SYMBOLS, "Tai_Xuan_Jing Tai_Xuan_Jing_Symbols"),
169     Value(UBLOCK_VARIATION_SELECTORS_SUPPLEMENT, "VS_Sup Variation_Selectors_Supplement"),
170     Value(UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION, "Ancient_Greek_Music Ancient_Greek_Musical_Notation"),
171     Value(UBLOCK_ANCIENT_GREEK_NUMBERS, "Ancient_Greek_Numbers Ancient_Greek_Numbers"),
172     Value(UBLOCK_ARABIC_SUPPLEMENT, "Arabic_Sup Arabic_Supplement"),
173     Value(UBLOCK_BUGINESE, "Buginese Buginese"),
174     Value(UBLOCK_CJK_STROKES, "CJK_Strokes CJK_Strokes"),
175     Value(UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT, "Diacriticals_Sup Combining_Diacritical_Marks_Supplement"),
176     Value(UBLOCK_COPTIC, "Coptic Coptic"),
177     Value(UBLOCK_ETHIOPIC_EXTENDED, "Ethiopic_Ext Ethiopic_Extended"),
178     Value(UBLOCK_ETHIOPIC_SUPPLEMENT, "Ethiopic_Sup Ethiopic_Supplement"),
179     Value(UBLOCK_GEORGIAN_SUPPLEMENT, "Georgian_Sup Georgian_Supplement"),
180     Value(UBLOCK_GLAGOLITIC, "Glagolitic Glagolitic"),
181     Value(UBLOCK_KHAROSHTHI, "Kharoshthi Kharoshthi"),
182     Value(UBLOCK_MODIFIER_TONE_LETTERS, "Modifier_Tone_Letters Modifier_Tone_Letters"),
183     Value(UBLOCK_NEW_TAI_LUE, "New_Tai_Lue New_Tai_Lue"),
184     Value(UBLOCK_OLD_PERSIAN, "Old_Persian Old_Persian"),
185     Value(UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT, "Phonetic_Ext_Sup Phonetic_Extensions_Supplement"),
186     Value(UBLOCK_SUPPLEMENTAL_PUNCTUATION, "Sup_Punctuation Supplemental_Punctuation"),
187     Value(UBLOCK_SYLOTI_NAGRI, "Syloti_Nagri Syloti_Nagri"),
188     Value(UBLOCK_TIFINAGH, "Tifinagh Tifinagh"),
189     Value(UBLOCK_VERTICAL_FORMS, "Vertical_Forms Vertical_Forms"),
190     Value(UBLOCK_NKO, "NKo NKo"),
191     Value(UBLOCK_BALINESE, "Balinese Balinese"),
192     Value(UBLOCK_LATIN_EXTENDED_C, "Latin_Ext_C Latin_Extended_C"),
193     Value(UBLOCK_LATIN_EXTENDED_D, "Latin_Ext_D Latin_Extended_D"),
194     Value(UBLOCK_PHAGS_PA, "Phags_Pa Phags_Pa"),
195     Value(UBLOCK_PHOENICIAN, "Phoenician Phoenician"),
196     Value(UBLOCK_CUNEIFORM, "Cuneiform Cuneiform"),
197     Value(UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION, "Cuneiform_Numbers Cuneiform_Numbers_And_Punctuation"),
198     Value(UBLOCK_COUNTING_ROD_NUMERALS, "Counting_Rod Counting_Rod_Numerals"),
199     Value(UBLOCK_SUNDANESE, "Sundanese Sundanese"),
200     Value(UBLOCK_LEPCHA, "Lepcha Lepcha"),
201     Value(UBLOCK_OL_CHIKI, "Ol_Chiki Ol_Chiki"),
202     Value(UBLOCK_CYRILLIC_EXTENDED_A, "Cyrillic_Ext_A Cyrillic_Extended_A"),
203     Value(UBLOCK_VAI, "Vai Vai"),
204     Value(UBLOCK_CYRILLIC_EXTENDED_B, "Cyrillic_Ext_B Cyrillic_Extended_B"),
205     Value(UBLOCK_SAURASHTRA, "Saurashtra Saurashtra"),
206     Value(UBLOCK_KAYAH_LI, "Kayah_Li Kayah_Li"),
207     Value(UBLOCK_REJANG, "Rejang Rejang"),
208     Value(UBLOCK_CHAM, "Cham Cham"),
209     Value(UBLOCK_ANCIENT_SYMBOLS, "Ancient_Symbols Ancient_Symbols"),
210     Value(UBLOCK_PHAISTOS_DISC, "Phaistos Phaistos_Disc"),
211     Value(UBLOCK_LYCIAN, "Lycian Lycian"),
212     Value(UBLOCK_CARIAN, "Carian Carian"),
213     Value(UBLOCK_LYDIAN, "Lydian Lydian"),
214     Value(UBLOCK_MAHJONG_TILES, "Mahjong Mahjong_Tiles"),
215     Value(UBLOCK_DOMINO_TILES, "Domino Domino_Tiles"),
216     Value(UBLOCK_SAMARITAN, "Samaritan Samaritan"),
217     Value(UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED, "UCAS_Ext Unified_Canadian_Aboriginal_Syllabics_Extended"),
218     Value(UBLOCK_TAI_THAM, "Tai_Tham Tai_Tham"),
219     Value(UBLOCK_VEDIC_EXTENSIONS, "Vedic_Ext Vedic_Extensions"),
220     Value(UBLOCK_LISU, "Lisu Lisu"),
221     Value(UBLOCK_BAMUM, "Bamum Bamum"),
222     Value(UBLOCK_COMMON_INDIC_NUMBER_FORMS, "Indic_Number_Forms Common_Indic_Number_Forms"),
223     Value(UBLOCK_DEVANAGARI_EXTENDED, "Devanagari_Ext Devanagari_Extended"),
224     Value(UBLOCK_HANGUL_JAMO_EXTENDED_A, "Jamo_Ext_A Hangul_Jamo_Extended_A"),
225     Value(UBLOCK_JAVANESE, "Javanese Javanese"),
226     Value(UBLOCK_MYANMAR_EXTENDED_A, "Myanmar_Ext_A Myanmar_Extended_A"),
227     Value(UBLOCK_TAI_VIET, "Tai_Viet Tai_Viet"),
228     Value(UBLOCK_MEETEI_MAYEK, "Meetei_Mayek Meetei_Mayek"),
229     Value(UBLOCK_HANGUL_JAMO_EXTENDED_B, "Jamo_Ext_B Hangul_Jamo_Extended_B"),
230     Value(UBLOCK_IMPERIAL_ARAMAIC, "Imperial_Aramaic Imperial_Aramaic"),
231     Value(UBLOCK_OLD_SOUTH_ARABIAN, "Old_South_Arabian Old_South_Arabian"),
232     Value(UBLOCK_AVESTAN, "Avestan Avestan"),
233     Value(UBLOCK_INSCRIPTIONAL_PARTHIAN, "Inscriptional_Parthian Inscriptional_Parthian"),
234     Value(UBLOCK_INSCRIPTIONAL_PAHLAVI, "Inscriptional_Pahlavi Inscriptional_Pahlavi"),
235     Value(UBLOCK_OLD_TURKIC, "Old_Turkic Old_Turkic"),
236     Value(UBLOCK_RUMI_NUMERAL_SYMBOLS, "Rumi Rumi_Numeral_Symbols"),
237     Value(UBLOCK_KAITHI, "Kaithi Kaithi"),
238     Value(UBLOCK_EGYPTIAN_HIEROGLYPHS, "Egyptian_Hieroglyphs Egyptian_Hieroglyphs"),
239     Value(UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT, "Enclosed_Alphanum_Sup Enclosed_Alphanumeric_Supplement"),
240     Value(UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT, "Enclosed_Ideographic_Sup Enclosed_Ideographic_Supplement"),
241     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C, "CJK_Ext_C CJK_Unified_Ideographs_Extension_C"),
242     Value(UBLOCK_MANDAIC, "Mandaic Mandaic"),
243     Value(UBLOCK_BATAK, "Batak Batak"),
244     Value(UBLOCK_ETHIOPIC_EXTENDED_A, "Ethiopic_Ext_A Ethiopic_Extended_A"),
245     Value(UBLOCK_BRAHMI, "Brahmi Brahmi"),
246     Value(UBLOCK_BAMUM_SUPPLEMENT, "Bamum_Sup Bamum_Supplement"),
247     Value(UBLOCK_KANA_SUPPLEMENT, "Kana_Sup Kana_Supplement"),
248     Value(UBLOCK_PLAYING_CARDS, "Playing_Cards Playing_Cards"),
249     Value(UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS, "Misc_Pictographs Miscellaneous_Symbols_And_Pictographs"),
250     Value(UBLOCK_EMOTICONS, "Emoticons Emoticons"),
251     Value(UBLOCK_TRANSPORT_AND_MAP_SYMBOLS, "Transport_And_Map Transport_And_Map_Symbols"),
252     Value(UBLOCK_ALCHEMICAL_SYMBOLS, "Alchemical Alchemical_Symbols"),
253     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D, "CJK_Ext_D CJK_Unified_Ideographs_Extension_D"),
254     Value(UBLOCK_ARABIC_EXTENDED_A, "Arabic_Ext_A Arabic_Extended_A"),
255     Value(UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS, "Arabic_Math Arabic_Mathematical_Alphabetic_Symbols"),
256     Value(UBLOCK_CHAKMA, "Chakma Chakma"),
257     Value(UBLOCK_MEETEI_MAYEK_EXTENSIONS, "Meetei_Mayek_Ext Meetei_Mayek_Extensions"),
258     Value(UBLOCK_MEROITIC_CURSIVE, "Meroitic_Cursive Meroitic_Cursive"),
259     Value(UBLOCK_MEROITIC_HIEROGLYPHS, "Meroitic_Hieroglyphs Meroitic_Hieroglyphs"),
260     Value(UBLOCK_MIAO, "Miao Miao"),
261     Value(UBLOCK_SHARADA, "Sharada Sharada"),
262     Value(UBLOCK_SORA_SOMPENG, "Sora_Sompeng Sora_Sompeng"),
263     Value(UBLOCK_SUNDANESE_SUPPLEMENT, "Sundanese_Sup Sundanese_Supplement"),
264     Value(UBLOCK_TAKRI, "Takri Takri"),
265     Value(UBLOCK_BASSA_VAH, "Bassa_Vah Bassa_Vah"),
266     Value(UBLOCK_CAUCASIAN_ALBANIAN, "Caucasian_Albanian Caucasian_Albanian"),
267     Value(UBLOCK_COPTIC_EPACT_NUMBERS, "Coptic_Epact_Numbers Coptic_Epact_Numbers"),
268     Value(UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED, "Diacriticals_Ext Combining_Diacritical_Marks_Extended"),
269     Value(UBLOCK_DUPLOYAN, "Duployan Duployan"),
270     Value(UBLOCK_ELBASAN, "Elbasan Elbasan"),
271     Value(UBLOCK_GEOMETRIC_SHAPES_EXTENDED, "Geometric_Shapes_Ext Geometric_Shapes_Extended"),
272     Value(UBLOCK_GRANTHA, "Grantha Grantha"),
273     Value(UBLOCK_KHOJKI, "Khojki Khojki"),
274     Value(UBLOCK_KHUDAWADI, "Khudawadi Khudawadi"),
275     Value(UBLOCK_LATIN_EXTENDED_E, "Latin_Ext_E Latin_Extended_E"),
276     Value(UBLOCK_LINEAR_A, "Linear_A Linear_A"),
277     Value(UBLOCK_MAHAJANI, "Mahajani Mahajani"),
278     Value(UBLOCK_MANICHAEAN, "Manichaean Manichaean"),
279     Value(UBLOCK_MENDE_KIKAKUI, "Mende_Kikakui Mende_Kikakui"),
280     Value(UBLOCK_MODI, "Modi Modi"),
281     Value(UBLOCK_MRO, "Mro Mro"),
282     Value(UBLOCK_MYANMAR_EXTENDED_B, "Myanmar_Ext_B Myanmar_Extended_B"),
283     Value(UBLOCK_NABATAEAN, "Nabataean Nabataean"),
284     Value(UBLOCK_OLD_NORTH_ARABIAN, "Old_North_Arabian Old_North_Arabian"),
285     Value(UBLOCK_OLD_PERMIC, "Old_Permic Old_Permic"),
286     Value(UBLOCK_ORNAMENTAL_DINGBATS, "Ornamental_Dingbats Ornamental_Dingbats"),
287     Value(UBLOCK_PAHAWH_HMONG, "Pahawh_Hmong Pahawh_Hmong"),
288     Value(UBLOCK_PALMYRENE, "Palmyrene Palmyrene"),
289     Value(UBLOCK_PAU_CIN_HAU, "Pau_Cin_Hau Pau_Cin_Hau"),
290     Value(UBLOCK_PSALTER_PAHLAVI, "Psalter_Pahlavi Psalter_Pahlavi"),
291     Value(UBLOCK_SHORTHAND_FORMAT_CONTROLS, "Shorthand_Format_Controls Shorthand_Format_Controls"),
292     Value(UBLOCK_SIDDHAM, "Siddham Siddham"),
293     Value(UBLOCK_SINHALA_ARCHAIC_NUMBERS, "Sinhala_Archaic_Numbers Sinhala_Archaic_Numbers"),
294     Value(UBLOCK_SUPPLEMENTAL_ARROWS_C, "Sup_Arrows_C Supplemental_Arrows_C"),
295     Value(UBLOCK_TIRHUTA, "Tirhuta Tirhuta"),
296     Value(UBLOCK_WARANG_CITI, "Warang_Citi Warang_Citi"),
297     Value(UBLOCK_AHOM, "Ahom Ahom"),
298     Value(UBLOCK_ANATOLIAN_HIEROGLYPHS, "Anatolian_Hieroglyphs Anatolian_Hieroglyphs"),
299     Value(UBLOCK_CHEROKEE_SUPPLEMENT, "Cherokee_Sup Cherokee_Supplement"),
300     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E, "CJK_Ext_E CJK_Unified_Ideographs_Extension_E"),
301     Value(UBLOCK_EARLY_DYNASTIC_CUNEIFORM, "Early_Dynastic_Cuneiform Early_Dynastic_Cuneiform"),
302     Value(UBLOCK_HATRAN, "Hatran Hatran"),
303     Value(UBLOCK_MULTANI, "Multani Multani"),
304     Value(UBLOCK_OLD_HUNGARIAN, "Old_Hungarian Old_Hungarian"),
305     Value(UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS, "Sup_Symbols_And_Pictographs Supplemental_Symbols_And_Pictographs"),
306     Value(UBLOCK_SUTTON_SIGNWRITING, "Sutton_SignWriting Sutton_SignWriting"),
307     Value(UBLOCK_ADLAM, "Adlam Adlam"),
308     Value(UBLOCK_BHAIKSUKI, "Bhaiksuki Bhaiksuki"),
309     Value(UBLOCK_CYRILLIC_EXTENDED_C, "Cyrillic_Ext_C Cyrillic_Extended_C"),
310     Value(UBLOCK_GLAGOLITIC_SUPPLEMENT, "Glagolitic_Sup Glagolitic_Supplement"),
311     Value(UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION, "Ideographic_Symbols Ideographic_Symbols_And_Punctuation"),
312     Value(UBLOCK_MARCHEN, "Marchen Marchen"),
313     Value(UBLOCK_MONGOLIAN_SUPPLEMENT, "Mongolian_Sup Mongolian_Supplement"),
314     Value(UBLOCK_NEWA, "Newa Newa"),
315     Value(UBLOCK_OSAGE, "Osage Osage"),
316     Value(UBLOCK_TANGUT, "Tangut Tangut"),
317     Value(UBLOCK_TANGUT_COMPONENTS, "Tangut_Components Tangut_Components"),
318     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F, "CJK_Ext_F CJK_Unified_Ideographs_Extension_F"),
319     Value(UBLOCK_KANA_EXTENDED_A, "Kana_Ext_A Kana_Extended_A"),
320     Value(UBLOCK_MASARAM_GONDI, "Masaram_Gondi Masaram_Gondi"),
321     Value(UBLOCK_NUSHU, "Nushu Nushu"),
322     Value(UBLOCK_SOYOMBO, "Soyombo Soyombo"),
323     Value(UBLOCK_SYRIAC_SUPPLEMENT, "Syriac_Sup Syriac_Supplement"),
324     Value(UBLOCK_ZANABAZAR_SQUARE, "Zanabazar_Square Zanabazar_Square"),
325     Value(UBLOCK_CHESS_SYMBOLS, "Chess_Symbols Chess_Symbols"),
326     Value(UBLOCK_DOGRA, "Dogra Dogra"),
327     Value(UBLOCK_GEORGIAN_EXTENDED, "Georgian_Ext Georgian_Extended"),
328     Value(UBLOCK_GUNJALA_GONDI, "Gunjala_Gondi Gunjala_Gondi"),
329     Value(UBLOCK_HANIFI_ROHINGYA, "Hanifi_Rohingya Hanifi_Rohingya"),
330     Value(UBLOCK_INDIC_SIYAQ_NUMBERS, "Indic_Siyaq_Numbers Indic_Siyaq_Numbers"),
331     Value(UBLOCK_MAKASAR, "Makasar Makasar"),
332     Value(UBLOCK_MAYAN_NUMERALS, "Mayan_Numerals Mayan_Numerals"),
333     Value(UBLOCK_MEDEFAIDRIN, "Medefaidrin Medefaidrin"),
334     Value(UBLOCK_OLD_SOGDIAN, "Old_Sogdian Old_Sogdian"),
335     Value(UBLOCK_SOGDIAN, "Sogdian Sogdian"),
336     Value(UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS, "Egyptian_Hieroglyph_Format_Controls Egyptian_Hieroglyph_Format_Controls"),
337     Value(UBLOCK_ELYMAIC, "Elymaic Elymaic"),
338     Value(UBLOCK_NANDINAGARI, "Nandinagari Nandinagari"),
339     Value(UBLOCK_NYIAKENG_PUACHUE_HMONG, "Nyiakeng_Puachue_Hmong Nyiakeng_Puachue_Hmong"),
340     Value(UBLOCK_OTTOMAN_SIYAQ_NUMBERS, "Ottoman_Siyaq_Numbers Ottoman_Siyaq_Numbers"),
341     Value(UBLOCK_SMALL_KANA_EXTENSION, "Small_Kana_Ext Small_Kana_Extension"),
342     Value(UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A, "Symbols_And_Pictographs_Ext_A Symbols_And_Pictographs_Extended_A"),
343     Value(UBLOCK_TAMIL_SUPPLEMENT, "Tamil_Sup Tamil_Supplement"),
344     Value(UBLOCK_WANCHO, "Wancho Wancho"),
345     Value(UBLOCK_CHORASMIAN, "Chorasmian Chorasmian"),
346     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G, "CJK_Ext_G CJK_Unified_Ideographs_Extension_G"),
347     Value(UBLOCK_DIVES_AKURU, "Dives_Akuru Dives_Akuru"),
348     Value(UBLOCK_KHITAN_SMALL_SCRIPT, "Khitan_Small_Script Khitan_Small_Script"),
349     Value(UBLOCK_LISU_SUPPLEMENT, "Lisu_Sup Lisu_Supplement"),
350     Value(UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING, "Symbols_For_Legacy_Computing Symbols_For_Legacy_Computing"),
351     Value(UBLOCK_TANGUT_SUPPLEMENT, "Tangut_Sup Tangut_Supplement"),
352     Value(UBLOCK_YEZIDI, "Yezidi Yezidi"),
353     Value(UBLOCK_ARABIC_EXTENDED_B, "Arabic_Ext_B Arabic_Extended_B"),
354     Value(UBLOCK_CYPRO_MINOAN, "Cypro_Minoan Cypro_Minoan"),
355     Value(UBLOCK_ETHIOPIC_EXTENDED_B, "Ethiopic_Ext_B Ethiopic_Extended_B"),
356     Value(UBLOCK_KANA_EXTENDED_B, "Kana_Ext_B Kana_Extended_B"),
357     Value(UBLOCK_LATIN_EXTENDED_F, "Latin_Ext_F Latin_Extended_F"),
358     Value(UBLOCK_LATIN_EXTENDED_G, "Latin_Ext_G Latin_Extended_G"),
359     Value(UBLOCK_OLD_UYGHUR, "Old_Uyghur Old_Uyghur"),
360     Value(UBLOCK_TANGSA, "Tangsa Tangsa"),
361     Value(UBLOCK_TOTO, "Toto Toto"),
362     Value(UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A, "UCAS_Ext_A Unified_Canadian_Aboriginal_Syllabics_Extended_A"),
363     Value(UBLOCK_VITHKUQI, "Vithkuqi Vithkuqi"),
364     Value(UBLOCK_ZNAMENNY_MUSICAL_NOTATION, "Znamenny_Music Znamenny_Musical_Notation"),
365     Value(UBLOCK_ARABIC_EXTENDED_C, "Arabic_Ext_C Arabic_Extended_C"),
366     Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H, "CJK_Ext_H CJK_Unified_Ideographs_Extension_H"),
367     Value(UBLOCK_CYRILLIC_EXTENDED_D, "Cyrillic_Ext_D Cyrillic_Extended_D"),
368     Value(UBLOCK_DEVANAGARI_EXTENDED_A, "Devanagari_Ext_A Devanagari_Extended_A"),
369     Value(UBLOCK_KAKTOVIK_NUMERALS, "Kaktovik_Numerals Kaktovik_Numerals"),
370     Value(UBLOCK_KAWI, "Kawi Kawi"),
371     Value(UBLOCK_NAG_MUNDARI, "Nag_Mundari Nag_Mundari"),
372 };
373 
374 static const Value VALUES_ccc[58] = {
375     Value(0, "NR Not_Reordered"),
376     Value(1, "OV Overlay"),
377     Value(6, "HANR Han_Reading"),
378     Value(7, "NK Nukta"),
379     Value(8, "KV Kana_Voicing"),
380     Value(9, "VR Virama"),
381     Value(10, "CCC10 CCC10"),
382     Value(11, "CCC11 CCC11"),
383     Value(12, "CCC12 CCC12"),
384     Value(13, "CCC13 CCC13"),
385     Value(14, "CCC14 CCC14"),
386     Value(15, "CCC15 CCC15"),
387     Value(16, "CCC16 CCC16"),
388     Value(17, "CCC17 CCC17"),
389     Value(18, "CCC18 CCC18"),
390     Value(19, "CCC19 CCC19"),
391     Value(20, "CCC20 CCC20"),
392     Value(21, "CCC21 CCC21"),
393     Value(22, "CCC22 CCC22"),
394     Value(23, "CCC23 CCC23"),
395     Value(24, "CCC24 CCC24"),
396     Value(25, "CCC25 CCC25"),
397     Value(26, "CCC26 CCC26"),
398     Value(27, "CCC27 CCC27"),
399     Value(28, "CCC28 CCC28"),
400     Value(29, "CCC29 CCC29"),
401     Value(30, "CCC30 CCC30"),
402     Value(31, "CCC31 CCC31"),
403     Value(32, "CCC32 CCC32"),
404     Value(33, "CCC33 CCC33"),
405     Value(34, "CCC34 CCC34"),
406     Value(35, "CCC35 CCC35"),
407     Value(36, "CCC36 CCC36"),
408     Value(84, "CCC84 CCC84"),
409     Value(91, "CCC91 CCC91"),
410     Value(103, "CCC103 CCC103"),
411     Value(107, "CCC107 CCC107"),
412     Value(118, "CCC118 CCC118"),
413     Value(122, "CCC122 CCC122"),
414     Value(129, "CCC129 CCC129"),
415     Value(130, "CCC130 CCC130"),
416     Value(132, "CCC132 CCC132"),
417     Value(133, "CCC133 CCC133"),
418     Value(200, "ATBL Attached_Below_Left"),
419     Value(202, "ATB Attached_Below"),
420     Value(214, "ATA Attached_Above"),
421     Value(216, "ATAR Attached_Above_Right"),
422     Value(218, "BL Below_Left"),
423     Value(220, "B Below"),
424     Value(222, "BR Below_Right"),
425     Value(224, "L Left"),
426     Value(226, "R Right"),
427     Value(228, "AL Above_Left"),
428     Value(230, "A Above"),
429     Value(232, "AR Above_Right"),
430     Value(233, "DB Double_Below"),
431     Value(234, "DA Double_Above"),
432     Value(240, "IS Iota_Subscript"),
433 };
434 
435 static const Value VALUES_dt[18] = {
436     Value(U_DT_NONE, "None None none"),
437     Value(U_DT_CANONICAL, "Can Canonical can"),
438     Value(U_DT_COMPAT, "Com Compat com"),
439     Value(U_DT_CIRCLE, "Enc Circle enc"),
440     Value(U_DT_FINAL, "Fin Final fin"),
441     Value(U_DT_FONT, "Font Font font"),
442     Value(U_DT_FRACTION, "Fra Fraction fra"),
443     Value(U_DT_INITIAL, "Init Initial init"),
444     Value(U_DT_ISOLATED, "Iso Isolated iso"),
445     Value(U_DT_MEDIAL, "Med Medial med"),
446     Value(U_DT_NARROW, "Nar Narrow nar"),
447     Value(U_DT_NOBREAK, "Nb Nobreak nb"),
448     Value(U_DT_SMALL, "Sml Small sml"),
449     Value(U_DT_SQUARE, "Sqr Square sqr"),
450     Value(U_DT_SUB, "Sub Sub sub"),
451     Value(U_DT_SUPER, "Sup Super sup"),
452     Value(U_DT_VERTICAL, "Vert Vertical vert"),
453     Value(U_DT_WIDE, "Wide Wide wide"),
454 };
455 
456 static const Value VALUES_ea[6] = {
457     Value(U_EA_NEUTRAL, "N Neutral"),
458     Value(U_EA_AMBIGUOUS, "A Ambiguous"),
459     Value(U_EA_HALFWIDTH, "H Halfwidth"),
460     Value(U_EA_FULLWIDTH, "F Fullwidth"),
461     Value(U_EA_NARROW, "Na Narrow"),
462     Value(U_EA_WIDE, "W Wide"),
463 };
464 
465 static const Value VALUES_gc[30] = {
466     Value(U_GENERAL_OTHER_TYPES, "Cn Unassigned"),
467     Value(U_UPPERCASE_LETTER, "Lu Uppercase_Letter"),
468     Value(U_LOWERCASE_LETTER, "Ll Lowercase_Letter"),
469     Value(U_TITLECASE_LETTER, "Lt Titlecase_Letter"),
470     Value(U_MODIFIER_LETTER, "Lm Modifier_Letter"),
471     Value(U_OTHER_LETTER, "Lo Other_Letter"),
472     Value(U_NON_SPACING_MARK, "Mn Nonspacing_Mark"),
473     Value(U_ENCLOSING_MARK, "Me Enclosing_Mark"),
474     Value(U_COMBINING_SPACING_MARK, "Mc Spacing_Mark"),
475     Value(U_DECIMAL_DIGIT_NUMBER, "Nd Decimal_Number digit"),
476     Value(U_LETTER_NUMBER, "Nl Letter_Number"),
477     Value(U_OTHER_NUMBER, "No Other_Number"),
478     Value(U_SPACE_SEPARATOR, "Zs Space_Separator"),
479     Value(U_LINE_SEPARATOR, "Zl Line_Separator"),
480     Value(U_PARAGRAPH_SEPARATOR, "Zp Paragraph_Separator"),
481     Value(U_CONTROL_CHAR, "Cc Control cntrl"),
482     Value(U_FORMAT_CHAR, "Cf Format"),
483     Value(U_PRIVATE_USE_CHAR, "Co Private_Use"),
484     Value(U_SURROGATE, "Cs Surrogate"),
485     Value(U_DASH_PUNCTUATION, "Pd Dash_Punctuation"),
486     Value(U_START_PUNCTUATION, "Ps Open_Punctuation"),
487     Value(U_END_PUNCTUATION, "Pe Close_Punctuation"),
488     Value(U_CONNECTOR_PUNCTUATION, "Pc Connector_Punctuation"),
489     Value(U_OTHER_PUNCTUATION, "Po Other_Punctuation"),
490     Value(U_MATH_SYMBOL, "Sm Math_Symbol"),
491     Value(U_CURRENCY_SYMBOL, "Sc Currency_Symbol"),
492     Value(U_MODIFIER_SYMBOL, "Sk Modifier_Symbol"),
493     Value(U_OTHER_SYMBOL, "So Other_Symbol"),
494     Value(U_INITIAL_PUNCTUATION, "Pi Initial_Punctuation"),
495     Value(U_FINAL_PUNCTUATION, "Pf Final_Punctuation"),
496 };
497 
498 static const Value VALUES_jg[104] = {
499     Value(U_JG_NO_JOINING_GROUP, "No_Joining_Group No_Joining_Group"),
500     Value(U_JG_AIN, "Ain Ain"),
501     Value(U_JG_ALAPH, "Alaph Alaph"),
502     Value(U_JG_ALEF, "Alef Alef"),
503     Value(U_JG_BEH, "Beh Beh"),
504     Value(U_JG_BETH, "Beth Beth"),
505     Value(U_JG_DAL, "Dal Dal"),
506     Value(U_JG_DALATH_RISH, "Dalath_Rish Dalath_Rish"),
507     Value(U_JG_E, "E E"),
508     Value(U_JG_FEH, "Feh Feh"),
509     Value(U_JG_FINAL_SEMKATH, "Final_Semkath Final_Semkath"),
510     Value(U_JG_GAF, "Gaf Gaf"),
511     Value(U_JG_GAMAL, "Gamal Gamal"),
512     Value(U_JG_HAH, "Hah Hah"),
513     Value(U_JG_TEH_MARBUTA_GOAL, "Teh_Marbuta_Goal Hamza_On_Heh_Goal"),
514     Value(U_JG_HE, "He He"),
515     Value(U_JG_HEH, "Heh Heh"),
516     Value(U_JG_HEH_GOAL, "Heh_Goal Heh_Goal"),
517     Value(U_JG_HETH, "Heth Heth"),
518     Value(U_JG_KAF, "Kaf Kaf"),
519     Value(U_JG_KAPH, "Kaph Kaph"),
520     Value(U_JG_KNOTTED_HEH, "Knotted_Heh Knotted_Heh"),
521     Value(U_JG_LAM, "Lam Lam"),
522     Value(U_JG_LAMADH, "Lamadh Lamadh"),
523     Value(U_JG_MEEM, "Meem Meem"),
524     Value(U_JG_MIM, "Mim Mim"),
525     Value(U_JG_NOON, "Noon Noon"),
526     Value(U_JG_NUN, "Nun Nun"),
527     Value(U_JG_PE, "Pe Pe"),
528     Value(U_JG_QAF, "Qaf Qaf"),
529     Value(U_JG_QAPH, "Qaph Qaph"),
530     Value(U_JG_REH, "Reh Reh"),
531     Value(U_JG_REVERSED_PE, "Reversed_Pe Reversed_Pe"),
532     Value(U_JG_SAD, "Sad Sad"),
533     Value(U_JG_SADHE, "Sadhe Sadhe"),
534     Value(U_JG_SEEN, "Seen Seen"),
535     Value(U_JG_SEMKATH, "Semkath Semkath"),
536     Value(U_JG_SHIN, "Shin Shin"),
537     Value(U_JG_SWASH_KAF, "Swash_Kaf Swash_Kaf"),
538     Value(U_JG_SYRIAC_WAW, "Syriac_Waw Syriac_Waw"),
539     Value(U_JG_TAH, "Tah Tah"),
540     Value(U_JG_TAW, "Taw Taw"),
541     Value(U_JG_TEH_MARBUTA, "Teh_Marbuta Teh_Marbuta"),
542     Value(U_JG_TETH, "Teth Teth"),
543     Value(U_JG_WAW, "Waw Waw"),
544     Value(U_JG_YEH, "Yeh Yeh"),
545     Value(U_JG_YEH_BARREE, "Yeh_Barree Yeh_Barree"),
546     Value(U_JG_YEH_WITH_TAIL, "Yeh_With_Tail Yeh_With_Tail"),
547     Value(U_JG_YUDH, "Yudh Yudh"),
548     Value(U_JG_YUDH_HE, "Yudh_He Yudh_He"),
549     Value(U_JG_ZAIN, "Zain Zain"),
550     Value(U_JG_FE, "Fe Fe"),
551     Value(U_JG_KHAPH, "Khaph Khaph"),
552     Value(U_JG_ZHAIN, "Zhain Zhain"),
553     Value(U_JG_BURUSHASKI_YEH_BARREE, "Burushaski_Yeh_Barree Burushaski_Yeh_Barree"),
554     Value(U_JG_FARSI_YEH, "Farsi_Yeh Farsi_Yeh"),
555     Value(U_JG_NYA, "Nya Nya"),
556     Value(U_JG_ROHINGYA_YEH, "Rohingya_Yeh Rohingya_Yeh"),
557     Value(U_JG_MANICHAEAN_ALEPH, "Manichaean_Aleph Manichaean_Aleph"),
558     Value(U_JG_MANICHAEAN_AYIN, "Manichaean_Ayin Manichaean_Ayin"),
559     Value(U_JG_MANICHAEAN_BETH, "Manichaean_Beth Manichaean_Beth"),
560     Value(U_JG_MANICHAEAN_DALETH, "Manichaean_Daleth Manichaean_Daleth"),
561     Value(U_JG_MANICHAEAN_DHAMEDH, "Manichaean_Dhamedh Manichaean_Dhamedh"),
562     Value(U_JG_MANICHAEAN_FIVE, "Manichaean_Five Manichaean_Five"),
563     Value(U_JG_MANICHAEAN_GIMEL, "Manichaean_Gimel Manichaean_Gimel"),
564     Value(U_JG_MANICHAEAN_HETH, "Manichaean_Heth Manichaean_Heth"),
565     Value(U_JG_MANICHAEAN_HUNDRED, "Manichaean_Hundred Manichaean_Hundred"),
566     Value(U_JG_MANICHAEAN_KAPH, "Manichaean_Kaph Manichaean_Kaph"),
567     Value(U_JG_MANICHAEAN_LAMEDH, "Manichaean_Lamedh Manichaean_Lamedh"),
568     Value(U_JG_MANICHAEAN_MEM, "Manichaean_Mem Manichaean_Mem"),
569     Value(U_JG_MANICHAEAN_NUN, "Manichaean_Nun Manichaean_Nun"),
570     Value(U_JG_MANICHAEAN_ONE, "Manichaean_One Manichaean_One"),
571     Value(U_JG_MANICHAEAN_PE, "Manichaean_Pe Manichaean_Pe"),
572     Value(U_JG_MANICHAEAN_QOPH, "Manichaean_Qoph Manichaean_Qoph"),
573     Value(U_JG_MANICHAEAN_RESH, "Manichaean_Resh Manichaean_Resh"),
574     Value(U_JG_MANICHAEAN_SADHE, "Manichaean_Sadhe Manichaean_Sadhe"),
575     Value(U_JG_MANICHAEAN_SAMEKH, "Manichaean_Samekh Manichaean_Samekh"),
576     Value(U_JG_MANICHAEAN_TAW, "Manichaean_Taw Manichaean_Taw"),
577     Value(U_JG_MANICHAEAN_TEN, "Manichaean_Ten Manichaean_Ten"),
578     Value(U_JG_MANICHAEAN_TETH, "Manichaean_Teth Manichaean_Teth"),
579     Value(U_JG_MANICHAEAN_THAMEDH, "Manichaean_Thamedh Manichaean_Thamedh"),
580     Value(U_JG_MANICHAEAN_TWENTY, "Manichaean_Twenty Manichaean_Twenty"),
581     Value(U_JG_MANICHAEAN_WAW, "Manichaean_Waw Manichaean_Waw"),
582     Value(U_JG_MANICHAEAN_YODH, "Manichaean_Yodh Manichaean_Yodh"),
583     Value(U_JG_MANICHAEAN_ZAYIN, "Manichaean_Zayin Manichaean_Zayin"),
584     Value(U_JG_STRAIGHT_WAW, "Straight_Waw Straight_Waw"),
585     Value(U_JG_AFRICAN_FEH, "African_Feh African_Feh"),
586     Value(U_JG_AFRICAN_NOON, "African_Noon African_Noon"),
587     Value(U_JG_AFRICAN_QAF, "African_Qaf African_Qaf"),
588     Value(U_JG_MALAYALAM_BHA, "Malayalam_Bha Malayalam_Bha"),
589     Value(U_JG_MALAYALAM_JA, "Malayalam_Ja Malayalam_Ja"),
590     Value(U_JG_MALAYALAM_LLA, "Malayalam_Lla Malayalam_Lla"),
591     Value(U_JG_MALAYALAM_LLLA, "Malayalam_Llla Malayalam_Llla"),
592     Value(U_JG_MALAYALAM_NGA, "Malayalam_Nga Malayalam_Nga"),
593     Value(U_JG_MALAYALAM_NNA, "Malayalam_Nna Malayalam_Nna"),
594     Value(U_JG_MALAYALAM_NNNA, "Malayalam_Nnna Malayalam_Nnna"),
595     Value(U_JG_MALAYALAM_NYA, "Malayalam_Nya Malayalam_Nya"),
596     Value(U_JG_MALAYALAM_RA, "Malayalam_Ra Malayalam_Ra"),
597     Value(U_JG_MALAYALAM_SSA, "Malayalam_Ssa Malayalam_Ssa"),
598     Value(U_JG_MALAYALAM_TTA, "Malayalam_Tta Malayalam_Tta"),
599     Value(U_JG_HANIFI_ROHINGYA_KINNA_YA, "Hanifi_Rohingya_Kinna_Ya Hanifi_Rohingya_Kinna_Ya"),
600     Value(U_JG_HANIFI_ROHINGYA_PA, "Hanifi_Rohingya_Pa Hanifi_Rohingya_Pa"),
601     Value(U_JG_THIN_YEH, "Thin_Yeh Thin_Yeh"),
602     Value(U_JG_VERTICAL_TAIL, "Vertical_Tail Vertical_Tail"),
603 };
604 
605 static const Value VALUES_jt[6] = {
606     Value(U_JT_NON_JOINING, "U Non_Joining"),
607     Value(U_JT_JOIN_CAUSING, "C Join_Causing"),
608     Value(U_JT_DUAL_JOINING, "D Dual_Joining"),
609     Value(U_JT_LEFT_JOINING, "L Left_Joining"),
610     Value(U_JT_RIGHT_JOINING, "R Right_Joining"),
611     Value(U_JT_TRANSPARENT, "T Transparent"),
612 };
613 
614 static const Value VALUES_lb[43] = {
615     Value(U_LB_UNKNOWN, "XX Unknown"),
616     Value(U_LB_AMBIGUOUS, "AI Ambiguous"),
617     Value(U_LB_ALPHABETIC, "AL Alphabetic"),
618     Value(U_LB_BREAK_BOTH, "B2 Break_Both"),
619     Value(U_LB_BREAK_AFTER, "BA Break_After"),
620     Value(U_LB_BREAK_BEFORE, "BB Break_Before"),
621     Value(U_LB_MANDATORY_BREAK, "BK Mandatory_Break"),
622     Value(U_LB_CONTINGENT_BREAK, "CB Contingent_Break"),
623     Value(U_LB_CLOSE_PUNCTUATION, "CL Close_Punctuation"),
624     Value(U_LB_COMBINING_MARK, "CM Combining_Mark"),
625     Value(U_LB_CARRIAGE_RETURN, "CR Carriage_Return"),
626     Value(U_LB_EXCLAMATION, "EX Exclamation"),
627     Value(U_LB_GLUE, "GL Glue"),
628     Value(U_LB_HYPHEN, "HY Hyphen"),
629     Value(U_LB_IDEOGRAPHIC, "ID Ideographic"),
630     Value(U_LB_INSEPARABLE, "IN Inseparable Inseperable"),
631     Value(U_LB_INFIX_NUMERIC, "IS Infix_Numeric"),
632     Value(U_LB_LINE_FEED, "LF Line_Feed"),
633     Value(U_LB_NONSTARTER, "NS Nonstarter"),
634     Value(U_LB_NUMERIC, "NU Numeric"),
635     Value(U_LB_OPEN_PUNCTUATION, "OP Open_Punctuation"),
636     Value(U_LB_POSTFIX_NUMERIC, "PO Postfix_Numeric"),
637     Value(U_LB_PREFIX_NUMERIC, "PR Prefix_Numeric"),
638     Value(U_LB_QUOTATION, "QU Quotation"),
639     Value(U_LB_COMPLEX_CONTEXT, "SA Complex_Context"),
640     Value(U_LB_SURROGATE, "SG Surrogate"),
641     Value(U_LB_SPACE, "SP Space"),
642     Value(U_LB_BREAK_SYMBOLS, "SY Break_Symbols"),
643     Value(U_LB_ZWSPACE, "ZW ZWSpace"),
644     Value(U_LB_NEXT_LINE, "NL Next_Line"),
645     Value(U_LB_WORD_JOINER, "WJ Word_Joiner"),
646     Value(U_LB_H2, "H2 H2"),
647     Value(U_LB_H3, "H3 H3"),
648     Value(U_LB_JL, "JL JL"),
649     Value(U_LB_JT, "JT JT"),
650     Value(U_LB_JV, "JV JV"),
651     Value(U_LB_CLOSE_PARENTHESIS, "CP Close_Parenthesis"),
652     Value(U_LB_CONDITIONAL_JAPANESE_STARTER, "CJ Conditional_Japanese_Starter"),
653     Value(U_LB_HEBREW_LETTER, "HL Hebrew_Letter"),
654     Value(U_LB_REGIONAL_INDICATOR, "RI Regional_Indicator"),
655     Value(U_LB_E_BASE, "EB E_Base"),
656     Value(U_LB_E_MODIFIER, "EM E_Modifier"),
657     Value(U_LB_ZWJ, "ZWJ ZWJ"),
658 };
659 
660 static const Value VALUES_nt[4] = {
661     Value(U_NT_NONE, "None None"),
662     Value(U_NT_DECIMAL, "De Decimal"),
663     Value(U_NT_DIGIT, "Di Digit"),
664     Value(U_NT_NUMERIC, "Nu Numeric"),
665 };
666 
667 static const Value VALUES_sc[200] = {
668     Value(USCRIPT_COMMON, "Zyyy Common"),
669     Value(USCRIPT_INHERITED, "Zinh Inherited Qaai"),
670     Value(USCRIPT_ARABIC, "Arab Arabic"),
671     Value(USCRIPT_ARMENIAN, "Armn Armenian"),
672     Value(USCRIPT_BENGALI, "Beng Bengali"),
673     Value(USCRIPT_BOPOMOFO, "Bopo Bopomofo"),
674     Value(USCRIPT_CHEROKEE, "Cher Cherokee"),
675     Value(USCRIPT_COPTIC, "Copt Coptic Qaac"),
676     Value(USCRIPT_CYRILLIC, "Cyrl Cyrillic"),
677     Value(USCRIPT_DESERET, "Dsrt Deseret"),
678     Value(USCRIPT_DEVANAGARI, "Deva Devanagari"),
679     Value(USCRIPT_ETHIOPIC, "Ethi Ethiopic"),
680     Value(USCRIPT_GEORGIAN, "Geor Georgian"),
681     Value(USCRIPT_GOTHIC, "Goth Gothic"),
682     Value(USCRIPT_GREEK, "Grek Greek"),
683     Value(USCRIPT_GUJARATI, "Gujr Gujarati"),
684     Value(USCRIPT_GURMUKHI, "Guru Gurmukhi"),
685     Value(USCRIPT_HAN, "Hani Han"),
686     Value(USCRIPT_HANGUL, "Hang Hangul"),
687     Value(USCRIPT_HEBREW, "Hebr Hebrew"),
688     Value(USCRIPT_HIRAGANA, "Hira Hiragana"),
689     Value(USCRIPT_KANNADA, "Knda Kannada"),
690     Value(USCRIPT_KATAKANA, "Kana Katakana"),
691     Value(USCRIPT_KHMER, "Khmr Khmer"),
692     Value(USCRIPT_LAO, "Laoo Lao"),
693     Value(USCRIPT_LATIN, "Latn Latin"),
694     Value(USCRIPT_MALAYALAM, "Mlym Malayalam"),
695     Value(USCRIPT_MONGOLIAN, "Mong Mongolian"),
696     Value(USCRIPT_MYANMAR, "Mymr Myanmar"),
697     Value(USCRIPT_OGHAM, "Ogam Ogham"),
698     Value(USCRIPT_OLD_ITALIC, "Ital Old_Italic"),
699     Value(USCRIPT_ORIYA, "Orya Oriya"),
700     Value(USCRIPT_RUNIC, "Runr Runic"),
701     Value(USCRIPT_SINHALA, "Sinh Sinhala"),
702     Value(USCRIPT_SYRIAC, "Syrc Syriac"),
703     Value(USCRIPT_TAMIL, "Taml Tamil"),
704     Value(USCRIPT_TELUGU, "Telu Telugu"),
705     Value(USCRIPT_THAANA, "Thaa Thaana"),
706     Value(USCRIPT_THAI, "Thai Thai"),
707     Value(USCRIPT_TIBETAN, "Tibt Tibetan"),
708     Value(USCRIPT_CANADIAN_ABORIGINAL, "Cans Canadian_Aboriginal"),
709     Value(USCRIPT_YI, "Yiii Yi"),
710     Value(USCRIPT_TAGALOG, "Tglg Tagalog"),
711     Value(USCRIPT_HANUNOO, "Hano Hanunoo"),
712     Value(USCRIPT_BUHID, "Buhd Buhid"),
713     Value(USCRIPT_TAGBANWA, "Tagb Tagbanwa"),
714     Value(USCRIPT_BRAILLE, "Brai Braille"),
715     Value(USCRIPT_CYPRIOT, "Cprt Cypriot"),
716     Value(USCRIPT_LIMBU, "Limb Limbu"),
717     Value(USCRIPT_LINEAR_B, "Linb Linear_B"),
718     Value(USCRIPT_OSMANYA, "Osma Osmanya"),
719     Value(USCRIPT_SHAVIAN, "Shaw Shavian"),
720     Value(USCRIPT_TAI_LE, "Tale Tai_Le"),
721     Value(USCRIPT_UGARITIC, "Ugar Ugaritic"),
722     Value(USCRIPT_KATAKANA_OR_HIRAGANA, "Hrkt Katakana_Or_Hiragana"),
723     Value(USCRIPT_BUGINESE, "Bugi Buginese"),
724     Value(USCRIPT_GLAGOLITIC, "Glag Glagolitic"),
725     Value(USCRIPT_KHAROSHTHI, "Khar Kharoshthi"),
726     Value(USCRIPT_SYLOTI_NAGRI, "Sylo Syloti_Nagri"),
727     Value(USCRIPT_NEW_TAI_LUE, "Talu New_Tai_Lue"),
728     Value(USCRIPT_TIFINAGH, "Tfng Tifinagh"),
729     Value(USCRIPT_OLD_PERSIAN, "Xpeo Old_Persian"),
730     Value(USCRIPT_BALINESE, "Bali Balinese"),
731     Value(USCRIPT_BATAK, "Batk Batak"),
732     Value(USCRIPT_BLISSYMBOLS, "Blis Blis"),
733     Value(USCRIPT_BRAHMI, "Brah Brahmi"),
734     Value(USCRIPT_CHAM, "Cham Cham"),
735     Value(USCRIPT_CIRTH, "Cirt Cirt"),
736     Value(USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC, "Cyrs Cyrs"),
737     Value(USCRIPT_DEMOTIC_EGYPTIAN, "Egyd Egyd"),
738     Value(USCRIPT_HIERATIC_EGYPTIAN, "Egyh Egyh"),
739     Value(USCRIPT_EGYPTIAN_HIEROGLYPHS, "Egyp Egyptian_Hieroglyphs"),
740     Value(USCRIPT_KHUTSURI, "Geok Geok"),
741     Value(USCRIPT_SIMPLIFIED_HAN, "Hans Hans"),
742     Value(USCRIPT_TRADITIONAL_HAN, "Hant Hant"),
743     Value(USCRIPT_PAHAWH_HMONG, "Hmng Pahawh_Hmong"),
744     Value(USCRIPT_OLD_HUNGARIAN, "Hung Old_Hungarian"),
745     Value(USCRIPT_HARAPPAN_INDUS, "Inds Inds"),
746     Value(USCRIPT_JAVANESE, "Java Javanese"),
747     Value(USCRIPT_KAYAH_LI, "Kali Kayah_Li"),
748     Value(USCRIPT_LATIN_FRAKTUR, "Latf Latf"),
749     Value(USCRIPT_LATIN_GAELIC, "Latg Latg"),
750     Value(USCRIPT_LEPCHA, "Lepc Lepcha"),
751     Value(USCRIPT_LINEAR_A, "Lina Linear_A"),
752     Value(USCRIPT_MANDAIC, "Mand Mandaic"),
753     Value(USCRIPT_MAYAN_HIEROGLYPHS, "Maya Maya"),
754     Value(USCRIPT_MEROITIC_HIEROGLYPHS, "Mero Meroitic_Hieroglyphs"),
755     Value(USCRIPT_NKO, "Nkoo Nko"),
756     Value(USCRIPT_ORKHON, "Orkh Old_Turkic"),
757     Value(USCRIPT_OLD_PERMIC, "Perm Old_Permic"),
758     Value(USCRIPT_PHAGS_PA, "Phag Phags_Pa"),
759     Value(USCRIPT_PHOENICIAN, "Phnx Phoenician"),
760     Value(USCRIPT_MIAO, "Plrd Miao"),
761     Value(USCRIPT_RONGORONGO, "Roro Roro"),
762     Value(USCRIPT_SARATI, "Sara Sara"),
763     Value(USCRIPT_ESTRANGELO_SYRIAC, "Syre Syre"),
764     Value(USCRIPT_WESTERN_SYRIAC, "Syrj Syrj"),
765     Value(USCRIPT_EASTERN_SYRIAC, "Syrn Syrn"),
766     Value(USCRIPT_TENGWAR, "Teng Teng"),
767     Value(USCRIPT_VAI, "Vaii Vai"),
768     Value(USCRIPT_VISIBLE_SPEECH, "Visp Visp"),
769     Value(USCRIPT_CUNEIFORM, "Xsux Cuneiform"),
770     Value(USCRIPT_UNWRITTEN_LANGUAGES, "Zxxx Zxxx"),
771     Value(USCRIPT_UNKNOWN, "Zzzz Unknown"),
772     Value(USCRIPT_CARIAN, "Cari Carian"),
773     Value(USCRIPT_JAPANESE, "Jpan Jpan"),
774     Value(USCRIPT_LANNA, "Lana Tai_Tham"),
775     Value(USCRIPT_LYCIAN, "Lyci Lycian"),
776     Value(USCRIPT_LYDIAN, "Lydi Lydian"),
777     Value(USCRIPT_OL_CHIKI, "Olck Ol_Chiki"),
778     Value(USCRIPT_REJANG, "Rjng Rejang"),
779     Value(USCRIPT_SAURASHTRA, "Saur Saurashtra"),
780     Value(USCRIPT_SIGN_WRITING, "Sgnw SignWriting"),
781     Value(USCRIPT_SUNDANESE, "Sund Sundanese"),
782     Value(USCRIPT_MOON, "Moon Moon"),
783     Value(USCRIPT_MEITEI_MAYEK, "Mtei Meetei_Mayek"),
784     Value(USCRIPT_IMPERIAL_ARAMAIC, "Armi Imperial_Aramaic"),
785     Value(USCRIPT_AVESTAN, "Avst Avestan"),
786     Value(USCRIPT_CHAKMA, "Cakm Chakma"),
787     Value(USCRIPT_KOREAN, "Kore Kore"),
788     Value(USCRIPT_KAITHI, "Kthi Kaithi"),
789     Value(USCRIPT_MANICHAEAN, "Mani Manichaean"),
790     Value(USCRIPT_INSCRIPTIONAL_PAHLAVI, "Phli Inscriptional_Pahlavi"),
791     Value(USCRIPT_PSALTER_PAHLAVI, "Phlp Psalter_Pahlavi"),
792     Value(USCRIPT_BOOK_PAHLAVI, "Phlv Phlv"),
793     Value(USCRIPT_INSCRIPTIONAL_PARTHIAN, "Prti Inscriptional_Parthian"),
794     Value(USCRIPT_SAMARITAN, "Samr Samaritan"),
795     Value(USCRIPT_TAI_VIET, "Tavt Tai_Viet"),
796     Value(USCRIPT_MATHEMATICAL_NOTATION, "Zmth Zmth"),
797     Value(USCRIPT_SYMBOLS, "Zsym Zsym"),
798     Value(USCRIPT_BAMUM, "Bamu Bamum"),
799     Value(USCRIPT_LISU, "Lisu Lisu"),
800     Value(USCRIPT_NAKHI_GEBA, "Nkgb Nkgb"),
801     Value(USCRIPT_OLD_SOUTH_ARABIAN, "Sarb Old_South_Arabian"),
802     Value(USCRIPT_BASSA_VAH, "Bass Bassa_Vah"),
803     Value(USCRIPT_DUPLOYAN, "Dupl Duployan"),
804     Value(USCRIPT_ELBASAN, "Elba Elbasan"),
805     Value(USCRIPT_GRANTHA, "Gran Grantha"),
806     Value(USCRIPT_KPELLE, "Kpel Kpel"),
807     Value(USCRIPT_LOMA, "Loma Loma"),
808     Value(USCRIPT_MENDE, "Mend Mende_Kikakui"),
809     Value(USCRIPT_MEROITIC_CURSIVE, "Merc Meroitic_Cursive"),
810     Value(USCRIPT_OLD_NORTH_ARABIAN, "Narb Old_North_Arabian"),
811     Value(USCRIPT_NABATAEAN, "Nbat Nabataean"),
812     Value(USCRIPT_PALMYRENE, "Palm Palmyrene"),
813     Value(USCRIPT_KHUDAWADI, "Sind Khudawadi"),
814     Value(USCRIPT_WARANG_CITI, "Wara Warang_Citi"),
815     Value(USCRIPT_AFAKA, "Afak Afak"),
816     Value(USCRIPT_JURCHEN, "Jurc Jurc"),
817     Value(USCRIPT_MRO, "Mroo Mro"),
818     Value(USCRIPT_NUSHU, "Nshu Nushu"),
819     Value(USCRIPT_SHARADA, "Shrd Sharada"),
820     Value(USCRIPT_SORA_SOMPENG, "Sora Sora_Sompeng"),
821     Value(USCRIPT_TAKRI, "Takr Takri"),
822     Value(USCRIPT_TANGUT, "Tang Tangut"),
823     Value(USCRIPT_WOLEAI, "Wole Wole"),
824     Value(USCRIPT_ANATOLIAN_HIEROGLYPHS, "Hluw Anatolian_Hieroglyphs"),
825     Value(USCRIPT_KHOJKI, "Khoj Khojki"),
826     Value(USCRIPT_TIRHUTA, "Tirh Tirhuta"),
827     Value(USCRIPT_CAUCASIAN_ALBANIAN, "Aghb Caucasian_Albanian"),
828     Value(USCRIPT_MAHAJANI, "Mahj Mahajani"),
829     Value(USCRIPT_AHOM, "Ahom Ahom"),
830     Value(USCRIPT_HATRAN, "Hatr Hatran"),
831     Value(USCRIPT_MODI, "Modi Modi"),
832     Value(USCRIPT_MULTANI, "Mult Multani"),
833     Value(USCRIPT_PAU_CIN_HAU, "Pauc Pau_Cin_Hau"),
834     Value(USCRIPT_SIDDHAM, "Sidd Siddham"),
835     Value(USCRIPT_ADLAM, "Adlm Adlam"),
836     Value(USCRIPT_BHAIKSUKI, "Bhks Bhaiksuki"),
837     Value(USCRIPT_MARCHEN, "Marc Marchen"),
838     Value(USCRIPT_NEWA, "Newa Newa"),
839     Value(USCRIPT_OSAGE, "Osge Osage"),
840     Value(USCRIPT_HAN_WITH_BOPOMOFO, "Hanb Hanb"),
841     Value(USCRIPT_JAMO, "Jamo Jamo"),
842     Value(USCRIPT_SYMBOLS_EMOJI, "Zsye Zsye"),
843     Value(USCRIPT_MASARAM_GONDI, "Gonm Masaram_Gondi"),
844     Value(USCRIPT_SOYOMBO, "Soyo Soyombo"),
845     Value(USCRIPT_ZANABAZAR_SQUARE, "Zanb Zanabazar_Square"),
846     Value(USCRIPT_DOGRA, "Dogr Dogra"),
847     Value(USCRIPT_GUNJALA_GONDI, "Gong Gunjala_Gondi"),
848     Value(USCRIPT_MAKASAR, "Maka Makasar"),
849     Value(USCRIPT_MEDEFAIDRIN, "Medf Medefaidrin"),
850     Value(USCRIPT_HANIFI_ROHINGYA, "Rohg Hanifi_Rohingya"),
851     Value(USCRIPT_SOGDIAN, "Sogd Sogdian"),
852     Value(USCRIPT_OLD_SOGDIAN, "Sogo Old_Sogdian"),
853     Value(USCRIPT_ELYMAIC, "Elym Elymaic"),
854     Value(USCRIPT_NYIAKENG_PUACHUE_HMONG, "Hmnp Nyiakeng_Puachue_Hmong"),
855     Value(USCRIPT_NANDINAGARI, "Nand Nandinagari"),
856     Value(USCRIPT_WANCHO, "Wcho Wancho"),
857     Value(USCRIPT_CHORASMIAN, "Chrs Chorasmian"),
858     Value(USCRIPT_DIVES_AKURU, "Diak Dives_Akuru"),
859     Value(USCRIPT_KHITAN_SMALL_SCRIPT, "Kits Khitan_Small_Script"),
860     Value(USCRIPT_YEZIDI, "Yezi Yezidi"),
861     Value(USCRIPT_CYPRO_MINOAN, "Cpmn Cypro_Minoan"),
862     Value(USCRIPT_OLD_UYGHUR, "Ougr Old_Uyghur"),
863     Value(USCRIPT_TANGSA, "Tnsa Tangsa"),
864     Value(USCRIPT_TOTO, "Toto Toto"),
865     Value(USCRIPT_VITHKUQI, "Vith Vithkuqi"),
866     Value(USCRIPT_KAWI, "Kawi Kawi"),
867     Value(USCRIPT_NAG_MUNDARI, "Nagm Nag_Mundari"),
868 };
869 
870 static const Value VALUES_hst[6] = {
871     Value(U_HST_NOT_APPLICABLE, "NA Not_Applicable"),
872     Value(U_HST_LEADING_JAMO, "L Leading_Jamo"),
873     Value(U_HST_VOWEL_JAMO, "V Vowel_Jamo"),
874     Value(U_HST_TRAILING_JAMO, "T Trailing_Jamo"),
875     Value(U_HST_LV_SYLLABLE, "LV LV_Syllable"),
876     Value(U_HST_LVT_SYLLABLE, "LVT LVT_Syllable"),
877 };
878 
879 static const Value VALUES_NFD_QC[2] = {
880     Value(UNORM_NO, "N No"),
881     Value(UNORM_YES, "Y Yes"),
882 };
883 
884 static const Value VALUES_NFKD_QC[2] = {
885     Value(UNORM_NO, "N No"),
886     Value(UNORM_YES, "Y Yes"),
887 };
888 
889 static const Value VALUES_NFC_QC[3] = {
890     Value(UNORM_NO, "N No"),
891     Value(UNORM_YES, "Y Yes"),
892     Value(UNORM_MAYBE, "M Maybe"),
893 };
894 
895 static const Value VALUES_NFKC_QC[3] = {
896     Value(UNORM_NO, "N No"),
897     Value(UNORM_YES, "Y Yes"),
898     Value(UNORM_MAYBE, "M Maybe"),
899 };
900 
901 static const Value VALUES_lccc[58] = {
902     Value(0, "NR Not_Reordered"),
903     Value(1, "OV Overlay"),
904     Value(6, "HANR Han_Reading"),
905     Value(7, "NK Nukta"),
906     Value(8, "KV Kana_Voicing"),
907     Value(9, "VR Virama"),
908     Value(10, "CCC10 CCC10"),
909     Value(11, "CCC11 CCC11"),
910     Value(12, "CCC12 CCC12"),
911     Value(13, "CCC13 CCC13"),
912     Value(14, "CCC14 CCC14"),
913     Value(15, "CCC15 CCC15"),
914     Value(16, "CCC16 CCC16"),
915     Value(17, "CCC17 CCC17"),
916     Value(18, "CCC18 CCC18"),
917     Value(19, "CCC19 CCC19"),
918     Value(20, "CCC20 CCC20"),
919     Value(21, "CCC21 CCC21"),
920     Value(22, "CCC22 CCC22"),
921     Value(23, "CCC23 CCC23"),
922     Value(24, "CCC24 CCC24"),
923     Value(25, "CCC25 CCC25"),
924     Value(26, "CCC26 CCC26"),
925     Value(27, "CCC27 CCC27"),
926     Value(28, "CCC28 CCC28"),
927     Value(29, "CCC29 CCC29"),
928     Value(30, "CCC30 CCC30"),
929     Value(31, "CCC31 CCC31"),
930     Value(32, "CCC32 CCC32"),
931     Value(33, "CCC33 CCC33"),
932     Value(34, "CCC34 CCC34"),
933     Value(35, "CCC35 CCC35"),
934     Value(36, "CCC36 CCC36"),
935     Value(84, "CCC84 CCC84"),
936     Value(91, "CCC91 CCC91"),
937     Value(103, "CCC103 CCC103"),
938     Value(107, "CCC107 CCC107"),
939     Value(118, "CCC118 CCC118"),
940     Value(122, "CCC122 CCC122"),
941     Value(129, "CCC129 CCC129"),
942     Value(130, "CCC130 CCC130"),
943     Value(132, "CCC132 CCC132"),
944     Value(133, "CCC133 CCC133"),
945     Value(200, "ATBL Attached_Below_Left"),
946     Value(202, "ATB Attached_Below"),
947     Value(214, "ATA Attached_Above"),
948     Value(216, "ATAR Attached_Above_Right"),
949     Value(218, "BL Below_Left"),
950     Value(220, "B Below"),
951     Value(222, "BR Below_Right"),
952     Value(224, "L Left"),
953     Value(226, "R Right"),
954     Value(228, "AL Above_Left"),
955     Value(230, "A Above"),
956     Value(232, "AR Above_Right"),
957     Value(233, "DB Double_Below"),
958     Value(234, "DA Double_Above"),
959     Value(240, "IS Iota_Subscript"),
960 };
961 
962 static const Value VALUES_tccc[58] = {
963     Value(0, "NR Not_Reordered"),
964     Value(1, "OV Overlay"),
965     Value(6, "HANR Han_Reading"),
966     Value(7, "NK Nukta"),
967     Value(8, "KV Kana_Voicing"),
968     Value(9, "VR Virama"),
969     Value(10, "CCC10 CCC10"),
970     Value(11, "CCC11 CCC11"),
971     Value(12, "CCC12 CCC12"),
972     Value(13, "CCC13 CCC13"),
973     Value(14, "CCC14 CCC14"),
974     Value(15, "CCC15 CCC15"),
975     Value(16, "CCC16 CCC16"),
976     Value(17, "CCC17 CCC17"),
977     Value(18, "CCC18 CCC18"),
978     Value(19, "CCC19 CCC19"),
979     Value(20, "CCC20 CCC20"),
980     Value(21, "CCC21 CCC21"),
981     Value(22, "CCC22 CCC22"),
982     Value(23, "CCC23 CCC23"),
983     Value(24, "CCC24 CCC24"),
984     Value(25, "CCC25 CCC25"),
985     Value(26, "CCC26 CCC26"),
986     Value(27, "CCC27 CCC27"),
987     Value(28, "CCC28 CCC28"),
988     Value(29, "CCC29 CCC29"),
989     Value(30, "CCC30 CCC30"),
990     Value(31, "CCC31 CCC31"),
991     Value(32, "CCC32 CCC32"),
992     Value(33, "CCC33 CCC33"),
993     Value(34, "CCC34 CCC34"),
994     Value(35, "CCC35 CCC35"),
995     Value(36, "CCC36 CCC36"),
996     Value(84, "CCC84 CCC84"),
997     Value(91, "CCC91 CCC91"),
998     Value(103, "CCC103 CCC103"),
999     Value(107, "CCC107 CCC107"),
1000     Value(118, "CCC118 CCC118"),
1001     Value(122, "CCC122 CCC122"),
1002     Value(129, "CCC129 CCC129"),
1003     Value(130, "CCC130 CCC130"),
1004     Value(132, "CCC132 CCC132"),
1005     Value(133, "CCC133 CCC133"),
1006     Value(200, "ATBL Attached_Below_Left"),
1007     Value(202, "ATB Attached_Below"),
1008     Value(214, "ATA Attached_Above"),
1009     Value(216, "ATAR Attached_Above_Right"),
1010     Value(218, "BL Below_Left"),
1011     Value(220, "B Below"),
1012     Value(222, "BR Below_Right"),
1013     Value(224, "L Left"),
1014     Value(226, "R Right"),
1015     Value(228, "AL Above_Left"),
1016     Value(230, "A Above"),
1017     Value(232, "AR Above_Right"),
1018     Value(233, "DB Double_Below"),
1019     Value(234, "DA Double_Above"),
1020     Value(240, "IS Iota_Subscript"),
1021 };
1022 
1023 static const Value VALUES_GCB[18] = {
1024     Value(U_GCB_OTHER, "XX Other"),
1025     Value(U_GCB_CONTROL, "CN Control"),
1026     Value(U_GCB_CR, "CR CR"),
1027     Value(U_GCB_EXTEND, "EX Extend"),
1028     Value(U_GCB_L, "L L"),
1029     Value(U_GCB_LF, "LF LF"),
1030     Value(U_GCB_LV, "LV LV"),
1031     Value(U_GCB_LVT, "LVT LVT"),
1032     Value(U_GCB_T, "T T"),
1033     Value(U_GCB_V, "V V"),
1034     Value(U_GCB_SPACING_MARK, "SM SpacingMark"),
1035     Value(U_GCB_PREPEND, "PP Prepend"),
1036     Value(U_GCB_REGIONAL_INDICATOR, "RI Regional_Indicator"),
1037     Value(U_GCB_E_BASE, "EB E_Base"),
1038     Value(U_GCB_E_BASE_GAZ, "EBG E_Base_GAZ"),
1039     Value(U_GCB_E_MODIFIER, "EM E_Modifier"),
1040     Value(U_GCB_GLUE_AFTER_ZWJ, "GAZ Glue_After_Zwj"),
1041     Value(U_GCB_ZWJ, "ZWJ ZWJ"),
1042 };
1043 
1044 static const Value VALUES_SB[15] = {
1045     Value(U_SB_OTHER, "XX Other"),
1046     Value(U_SB_ATERM, "AT ATerm"),
1047     Value(U_SB_CLOSE, "CL Close"),
1048     Value(U_SB_FORMAT, "FO Format"),
1049     Value(U_SB_LOWER, "LO Lower"),
1050     Value(U_SB_NUMERIC, "NU Numeric"),
1051     Value(U_SB_OLETTER, "LE OLetter"),
1052     Value(U_SB_SEP, "SE Sep"),
1053     Value(U_SB_SP, "SP Sp"),
1054     Value(U_SB_STERM, "ST STerm"),
1055     Value(U_SB_UPPER, "UP Upper"),
1056     Value(U_SB_CR, "CR CR"),
1057     Value(U_SB_EXTEND, "EX Extend"),
1058     Value(U_SB_LF, "LF LF"),
1059     Value(U_SB_SCONTINUE, "SC SContinue"),
1060 };
1061 
1062 static const Value VALUES_WB[23] = {
1063     Value(U_WB_OTHER, "XX Other"),
1064     Value(U_WB_ALETTER, "LE ALetter"),
1065     Value(U_WB_FORMAT, "FO Format"),
1066     Value(U_WB_KATAKANA, "KA Katakana"),
1067     Value(U_WB_MIDLETTER, "ML MidLetter"),
1068     Value(U_WB_MIDNUM, "MN MidNum"),
1069     Value(U_WB_NUMERIC, "NU Numeric"),
1070     Value(U_WB_EXTENDNUMLET, "EX ExtendNumLet"),
1071     Value(U_WB_CR, "CR CR"),
1072     Value(U_WB_EXTEND, "Extend Extend"),
1073     Value(U_WB_LF, "LF LF"),
1074     Value(U_WB_MIDNUMLET, "MB MidNumLet"),
1075     Value(U_WB_NEWLINE, "NL Newline"),
1076     Value(U_WB_REGIONAL_INDICATOR, "RI Regional_Indicator"),
1077     Value(U_WB_HEBREW_LETTER, "HL Hebrew_Letter"),
1078     Value(U_WB_SINGLE_QUOTE, "SQ Single_Quote"),
1079     Value(U_WB_DOUBLE_QUOTE, "DQ Double_Quote"),
1080     Value(U_WB_E_BASE, "EB E_Base"),
1081     Value(U_WB_E_BASE_GAZ, "EBG E_Base_GAZ"),
1082     Value(U_WB_E_MODIFIER, "EM E_Modifier"),
1083     Value(U_WB_GLUE_AFTER_ZWJ, "GAZ Glue_After_Zwj"),
1084     Value(U_WB_ZWJ, "ZWJ ZWJ"),
1085     Value(U_WB_WSEGSPACE, "WSegSpace WSegSpace"),
1086 };
1087 
1088 static const Value VALUES_bpt[3] = {
1089     Value(U_BPT_NONE, "n None"),
1090     Value(U_BPT_OPEN, "o Open"),
1091     Value(U_BPT_CLOSE, "c Close"),
1092 };
1093 
1094 static const Value VALUES_InPC[16] = {
1095     Value(U_INPC_NA, "NA NA"),
1096     Value(U_INPC_BOTTOM, "Bottom Bottom"),
1097     Value(U_INPC_BOTTOM_AND_LEFT, "Bottom_And_Left Bottom_And_Left"),
1098     Value(U_INPC_BOTTOM_AND_RIGHT, "Bottom_And_Right Bottom_And_Right"),
1099     Value(U_INPC_LEFT, "Left Left"),
1100     Value(U_INPC_LEFT_AND_RIGHT, "Left_And_Right Left_And_Right"),
1101     Value(U_INPC_OVERSTRUCK, "Overstruck Overstruck"),
1102     Value(U_INPC_RIGHT, "Right Right"),
1103     Value(U_INPC_TOP, "Top Top"),
1104     Value(U_INPC_TOP_AND_BOTTOM, "Top_And_Bottom Top_And_Bottom"),
1105     Value(U_INPC_TOP_AND_BOTTOM_AND_RIGHT, "Top_And_Bottom_And_Right Top_And_Bottom_And_Right"),
1106     Value(U_INPC_TOP_AND_LEFT, "Top_And_Left Top_And_Left"),
1107     Value(U_INPC_TOP_AND_LEFT_AND_RIGHT, "Top_And_Left_And_Right Top_And_Left_And_Right"),
1108     Value(U_INPC_TOP_AND_RIGHT, "Top_And_Right Top_And_Right"),
1109     Value(U_INPC_VISUAL_ORDER_LEFT, "Visual_Order_Left Visual_Order_Left"),
1110     Value(U_INPC_TOP_AND_BOTTOM_AND_LEFT, "Top_And_Bottom_And_Left Top_And_Bottom_And_Left"),
1111 };
1112 
1113 static const Value VALUES_InSC[36] = {
1114     Value(U_INSC_OTHER, "Other Other"),
1115     Value(U_INSC_AVAGRAHA, "Avagraha Avagraha"),
1116     Value(U_INSC_BINDU, "Bindu Bindu"),
1117     Value(U_INSC_BRAHMI_JOINING_NUMBER, "Brahmi_Joining_Number Brahmi_Joining_Number"),
1118     Value(U_INSC_CANTILLATION_MARK, "Cantillation_Mark Cantillation_Mark"),
1119     Value(U_INSC_CONSONANT, "Consonant Consonant"),
1120     Value(U_INSC_CONSONANT_DEAD, "Consonant_Dead Consonant_Dead"),
1121     Value(U_INSC_CONSONANT_FINAL, "Consonant_Final Consonant_Final"),
1122     Value(U_INSC_CONSONANT_HEAD_LETTER, "Consonant_Head_Letter Consonant_Head_Letter"),
1123     Value(U_INSC_CONSONANT_INITIAL_POSTFIXED, "Consonant_Initial_Postfixed Consonant_Initial_Postfixed"),
1124     Value(U_INSC_CONSONANT_KILLER, "Consonant_Killer Consonant_Killer"),
1125     Value(U_INSC_CONSONANT_MEDIAL, "Consonant_Medial Consonant_Medial"),
1126     Value(U_INSC_CONSONANT_PLACEHOLDER, "Consonant_Placeholder Consonant_Placeholder"),
1127     Value(U_INSC_CONSONANT_PRECEDING_REPHA, "Consonant_Preceding_Repha Consonant_Preceding_Repha"),
1128     Value(U_INSC_CONSONANT_PREFIXED, "Consonant_Prefixed Consonant_Prefixed"),
1129     Value(U_INSC_CONSONANT_SUBJOINED, "Consonant_Subjoined Consonant_Subjoined"),
1130     Value(U_INSC_CONSONANT_SUCCEEDING_REPHA, "Consonant_Succeeding_Repha Consonant_Succeeding_Repha"),
1131     Value(U_INSC_CONSONANT_WITH_STACKER, "Consonant_With_Stacker Consonant_With_Stacker"),
1132     Value(U_INSC_GEMINATION_MARK, "Gemination_Mark Gemination_Mark"),
1133     Value(U_INSC_INVISIBLE_STACKER, "Invisible_Stacker Invisible_Stacker"),
1134     Value(U_INSC_JOINER, "Joiner Joiner"),
1135     Value(U_INSC_MODIFYING_LETTER, "Modifying_Letter Modifying_Letter"),
1136     Value(U_INSC_NON_JOINER, "Non_Joiner Non_Joiner"),
1137     Value(U_INSC_NUKTA, "Nukta Nukta"),
1138     Value(U_INSC_NUMBER, "Number Number"),
1139     Value(U_INSC_NUMBER_JOINER, "Number_Joiner Number_Joiner"),
1140     Value(U_INSC_PURE_KILLER, "Pure_Killer Pure_Killer"),
1141     Value(U_INSC_REGISTER_SHIFTER, "Register_Shifter Register_Shifter"),
1142     Value(U_INSC_SYLLABLE_MODIFIER, "Syllable_Modifier Syllable_Modifier"),
1143     Value(U_INSC_TONE_LETTER, "Tone_Letter Tone_Letter"),
1144     Value(U_INSC_TONE_MARK, "Tone_Mark Tone_Mark"),
1145     Value(U_INSC_VIRAMA, "Virama Virama"),
1146     Value(U_INSC_VISARGA, "Visarga Visarga"),
1147     Value(U_INSC_VOWEL, "Vowel Vowel"),
1148     Value(U_INSC_VOWEL_DEPENDENT, "Vowel_Dependent Vowel_Dependent"),
1149     Value(U_INSC_VOWEL_INDEPENDENT, "Vowel_Independent Vowel_Independent"),
1150 };
1151 
1152 static const Value VALUES_vo[4] = {
1153     Value(U_VO_ROTATED, "R Rotated"),
1154     Value(U_VO_TRANSFORMED_ROTATED, "Tr Transformed_Rotated"),
1155     Value(U_VO_TRANSFORMED_UPRIGHT, "Tu Transformed_Upright"),
1156     Value(U_VO_UPRIGHT, "U Upright"),
1157 };
1158 
1159 static const Value VALUES_gcm[38] = {
1160     Value((int32_t)U_GC_C_MASK, "C Other"),
1161     Value((int32_t)U_GC_CC_MASK, "Cc Control cntrl"),
1162     Value((int32_t)U_GC_CF_MASK, "Cf Format"),
1163     Value((int32_t)U_GC_CN_MASK, "Cn Unassigned"),
1164     Value((int32_t)U_GC_CO_MASK, "Co Private_Use"),
1165     Value((int32_t)U_GC_CS_MASK, "Cs Surrogate"),
1166     Value((int32_t)U_GC_L_MASK, "L Letter"),
1167     Value((int32_t)U_GC_LC_MASK, "LC Cased_Letter"),
1168     Value((int32_t)U_GC_LL_MASK, "Ll Lowercase_Letter"),
1169     Value((int32_t)U_GC_LM_MASK, "Lm Modifier_Letter"),
1170     Value((int32_t)U_GC_LO_MASK, "Lo Other_Letter"),
1171     Value((int32_t)U_GC_LT_MASK, "Lt Titlecase_Letter"),
1172     Value((int32_t)U_GC_LU_MASK, "Lu Uppercase_Letter"),
1173     Value((int32_t)U_GC_M_MASK, "M Mark Combining_Mark"),
1174     Value((int32_t)U_GC_MC_MASK, "Mc Spacing_Mark"),
1175     Value((int32_t)U_GC_ME_MASK, "Me Enclosing_Mark"),
1176     Value((int32_t)U_GC_MN_MASK, "Mn Nonspacing_Mark"),
1177     Value((int32_t)U_GC_N_MASK, "N Number"),
1178     Value((int32_t)U_GC_ND_MASK, "Nd Decimal_Number digit"),
1179     Value((int32_t)U_GC_NL_MASK, "Nl Letter_Number"),
1180     Value((int32_t)U_GC_NO_MASK, "No Other_Number"),
1181     Value((int32_t)U_GC_P_MASK, "P Punctuation punct"),
1182     Value((int32_t)U_GC_PC_MASK, "Pc Connector_Punctuation"),
1183     Value((int32_t)U_GC_PD_MASK, "Pd Dash_Punctuation"),
1184     Value((int32_t)U_GC_PE_MASK, "Pe Close_Punctuation"),
1185     Value((int32_t)U_GC_PF_MASK, "Pf Final_Punctuation"),
1186     Value((int32_t)U_GC_PI_MASK, "Pi Initial_Punctuation"),
1187     Value((int32_t)U_GC_PO_MASK, "Po Other_Punctuation"),
1188     Value((int32_t)U_GC_PS_MASK, "Ps Open_Punctuation"),
1189     Value((int32_t)U_GC_S_MASK, "S Symbol"),
1190     Value((int32_t)U_GC_SC_MASK, "Sc Currency_Symbol"),
1191     Value((int32_t)U_GC_SK_MASK, "Sk Modifier_Symbol"),
1192     Value((int32_t)U_GC_SM_MASK, "Sm Math_Symbol"),
1193     Value((int32_t)U_GC_SO_MASK, "So Other_Symbol"),
1194     Value((int32_t)U_GC_Z_MASK, "Z Separator"),
1195     Value((int32_t)U_GC_ZL_MASK, "Zl Line_Separator"),
1196     Value((int32_t)U_GC_ZP_MASK, "Zp Paragraph_Separator"),
1197     Value((int32_t)U_GC_ZS_MASK, "Zs Space_Separator"),
1198 };
1199 
1200 static const Property PROPERTIES[114] = {
1201     Property(UCHAR_ALPHABETIC, "Alpha Alphabetic"),
1202     Property(UCHAR_ASCII_HEX_DIGIT, "AHex ASCII_Hex_Digit"),
1203     Property(UCHAR_BIDI_CONTROL, "Bidi_C Bidi_Control"),
1204     Property(UCHAR_BIDI_MIRRORED, "Bidi_M Bidi_Mirrored"),
1205     Property(UCHAR_DASH, "Dash Dash"),
1206     Property(UCHAR_DEFAULT_IGNORABLE_CODE_POINT, "DI Default_Ignorable_Code_Point"),
1207     Property(UCHAR_DEPRECATED, "Dep Deprecated"),
1208     Property(UCHAR_DIACRITIC, "Dia Diacritic"),
1209     Property(UCHAR_EXTENDER, "Ext Extender"),
1210     Property(UCHAR_FULL_COMPOSITION_EXCLUSION, "Comp_Ex Full_Composition_Exclusion"),
1211     Property(UCHAR_GRAPHEME_BASE, "Gr_Base Grapheme_Base"),
1212     Property(UCHAR_GRAPHEME_EXTEND, "Gr_Ext Grapheme_Extend"),
1213     Property(UCHAR_GRAPHEME_LINK, "Gr_Link Grapheme_Link"),
1214     Property(UCHAR_HEX_DIGIT, "Hex Hex_Digit"),
1215     Property(UCHAR_HYPHEN, "Hyphen Hyphen"),
1216     Property(UCHAR_ID_CONTINUE, "IDC ID_Continue"),
1217     Property(UCHAR_ID_START, "IDS ID_Start"),
1218     Property(UCHAR_IDEOGRAPHIC, "Ideo Ideographic"),
1219     Property(UCHAR_IDS_BINARY_OPERATOR, "IDSB IDS_Binary_Operator"),
1220     Property(UCHAR_IDS_TRINARY_OPERATOR, "IDST IDS_Trinary_Operator"),
1221     Property(UCHAR_JOIN_CONTROL, "Join_C Join_Control"),
1222     Property(UCHAR_LOGICAL_ORDER_EXCEPTION, "LOE Logical_Order_Exception"),
1223     Property(UCHAR_LOWERCASE, "Lower Lowercase"),
1224     Property(UCHAR_MATH, "Math Math"),
1225     Property(UCHAR_NONCHARACTER_CODE_POINT, "NChar Noncharacter_Code_Point"),
1226     Property(UCHAR_QUOTATION_MARK, "QMark Quotation_Mark"),
1227     Property(UCHAR_RADICAL, "Radical Radical"),
1228     Property(UCHAR_SOFT_DOTTED, "SD Soft_Dotted"),
1229     Property(UCHAR_TERMINAL_PUNCTUATION, "Term Terminal_Punctuation"),
1230     Property(UCHAR_UNIFIED_IDEOGRAPH, "UIdeo Unified_Ideograph"),
1231     Property(UCHAR_UPPERCASE, "Upper Uppercase"),
1232     Property(UCHAR_WHITE_SPACE, "WSpace White_Space space"),
1233     Property(UCHAR_XID_CONTINUE, "XIDC XID_Continue"),
1234     Property(UCHAR_XID_START, "XIDS XID_Start"),
1235     Property(UCHAR_CASE_SENSITIVE, "Sensitive Case_Sensitive"),
1236     Property(UCHAR_S_TERM, "STerm Sentence_Terminal"),
1237     Property(UCHAR_VARIATION_SELECTOR, "VS Variation_Selector"),
1238     Property(UCHAR_NFD_INERT, "nfdinert NFD_Inert"),
1239     Property(UCHAR_NFKD_INERT, "nfkdinert NFKD_Inert"),
1240     Property(UCHAR_NFC_INERT, "nfcinert NFC_Inert"),
1241     Property(UCHAR_NFKC_INERT, "nfkcinert NFKC_Inert"),
1242     Property(UCHAR_SEGMENT_STARTER, "segstart Segment_Starter"),
1243     Property(UCHAR_PATTERN_SYNTAX, "Pat_Syn Pattern_Syntax"),
1244     Property(UCHAR_PATTERN_WHITE_SPACE, "Pat_WS Pattern_White_Space"),
1245     Property(UCHAR_POSIX_ALNUM, " alnum"),
1246     Property(UCHAR_POSIX_BLANK, " blank"),
1247     Property(UCHAR_POSIX_GRAPH, " graph"),
1248     Property(UCHAR_POSIX_PRINT, " print"),
1249     Property(UCHAR_POSIX_XDIGIT, " xdigit"),
1250     Property(UCHAR_CASED, "Cased Cased"),
1251     Property(UCHAR_CASE_IGNORABLE, "CI Case_Ignorable"),
1252     Property(UCHAR_CHANGES_WHEN_LOWERCASED, "CWL Changes_When_Lowercased"),
1253     Property(UCHAR_CHANGES_WHEN_UPPERCASED, "CWU Changes_When_Uppercased"),
1254     Property(UCHAR_CHANGES_WHEN_TITLECASED, "CWT Changes_When_Titlecased"),
1255     Property(UCHAR_CHANGES_WHEN_CASEFOLDED, "CWCF Changes_When_Casefolded"),
1256     Property(UCHAR_CHANGES_WHEN_CASEMAPPED, "CWCM Changes_When_Casemapped"),
1257     Property(UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED, "CWKCF Changes_When_NFKC_Casefolded"),
1258     Property(UCHAR_EMOJI, "Emoji Emoji"),
1259     Property(UCHAR_EMOJI_PRESENTATION, "EPres Emoji_Presentation"),
1260     Property(UCHAR_EMOJI_MODIFIER, "EMod Emoji_Modifier"),
1261     Property(UCHAR_EMOJI_MODIFIER_BASE, "EBase Emoji_Modifier_Base"),
1262     Property(UCHAR_EMOJI_COMPONENT, "EComp Emoji_Component"),
1263     Property(UCHAR_REGIONAL_INDICATOR, "RI Regional_Indicator"),
1264     Property(UCHAR_PREPENDED_CONCATENATION_MARK, "PCM Prepended_Concatenation_Mark"),
1265     Property(UCHAR_EXTENDED_PICTOGRAPHIC, "ExtPict Extended_Pictographic"),
1266     Property(UCHAR_BASIC_EMOJI, "Basic_Emoji Basic_Emoji"),
1267     Property(UCHAR_EMOJI_KEYCAP_SEQUENCE, "Emoji_Keycap_Sequence Emoji_Keycap_Sequence"),
1268     Property(UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE, "RGI_Emoji_Modifier_Sequence RGI_Emoji_Modifier_Sequence"),
1269     Property(UCHAR_RGI_EMOJI_FLAG_SEQUENCE, "RGI_Emoji_Flag_Sequence RGI_Emoji_Flag_Sequence"),
1270     Property(UCHAR_RGI_EMOJI_TAG_SEQUENCE, "RGI_Emoji_Tag_Sequence RGI_Emoji_Tag_Sequence"),
1271     Property(UCHAR_RGI_EMOJI_ZWJ_SEQUENCE, "RGI_Emoji_ZWJ_Sequence RGI_Emoji_ZWJ_Sequence"),
1272     Property(UCHAR_RGI_EMOJI, "RGI_Emoji RGI_Emoji"),
1273     Property(UCHAR_BIDI_CLASS, "bc Bidi_Class", VALUES_bc, 23),
1274     Property(UCHAR_BLOCK, "blk Block", VALUES_blk, 328),
1275     Property(UCHAR_CANONICAL_COMBINING_CLASS, "ccc Canonical_Combining_Class", VALUES_ccc, 58),
1276     Property(UCHAR_DECOMPOSITION_TYPE, "dt Decomposition_Type", VALUES_dt, 18),
1277     Property(UCHAR_EAST_ASIAN_WIDTH, "ea East_Asian_Width", VALUES_ea, 6),
1278     Property(UCHAR_GENERAL_CATEGORY, "gc General_Category", VALUES_gc, 30),
1279     Property(UCHAR_JOINING_GROUP, "jg Joining_Group", VALUES_jg, 104),
1280     Property(UCHAR_JOINING_TYPE, "jt Joining_Type", VALUES_jt, 6),
1281     Property(UCHAR_LINE_BREAK, "lb Line_Break", VALUES_lb, 43),
1282     Property(UCHAR_NUMERIC_TYPE, "nt Numeric_Type", VALUES_nt, 4),
1283     Property(UCHAR_SCRIPT, "sc Script", VALUES_sc, 200),
1284     Property(UCHAR_HANGUL_SYLLABLE_TYPE, "hst Hangul_Syllable_Type", VALUES_hst, 6),
1285     Property(UCHAR_NFD_QUICK_CHECK, "NFD_QC NFD_Quick_Check", VALUES_NFD_QC, 2),
1286     Property(UCHAR_NFKD_QUICK_CHECK, "NFKD_QC NFKD_Quick_Check", VALUES_NFKD_QC, 2),
1287     Property(UCHAR_NFC_QUICK_CHECK, "NFC_QC NFC_Quick_Check", VALUES_NFC_QC, 3),
1288     Property(UCHAR_NFKC_QUICK_CHECK, "NFKC_QC NFKC_Quick_Check", VALUES_NFKC_QC, 3),
1289     Property(UCHAR_LEAD_CANONICAL_COMBINING_CLASS, "lccc Lead_Canonical_Combining_Class", VALUES_lccc, 58),
1290     Property(UCHAR_TRAIL_CANONICAL_COMBINING_CLASS, "tccc Trail_Canonical_Combining_Class", VALUES_tccc, 58),
1291     Property(UCHAR_GRAPHEME_CLUSTER_BREAK, "GCB Grapheme_Cluster_Break", VALUES_GCB, 18),
1292     Property(UCHAR_SENTENCE_BREAK, "SB Sentence_Break", VALUES_SB, 15),
1293     Property(UCHAR_WORD_BREAK, "WB Word_Break", VALUES_WB, 23),
1294     Property(UCHAR_BIDI_PAIRED_BRACKET_TYPE, "bpt Bidi_Paired_Bracket_Type", VALUES_bpt, 3),
1295     Property(UCHAR_INDIC_POSITIONAL_CATEGORY, "InPC Indic_Positional_Category", VALUES_InPC, 16),
1296     Property(UCHAR_INDIC_SYLLABIC_CATEGORY, "InSC Indic_Syllabic_Category", VALUES_InSC, 36),
1297     Property(UCHAR_VERTICAL_ORIENTATION, "vo Vertical_Orientation", VALUES_vo, 4),
1298     Property(UCHAR_GENERAL_CATEGORY_MASK, "gcm General_Category_Mask", VALUES_gcm, 38),
1299     Property(UCHAR_NUMERIC_VALUE, "nv Numeric_Value"),
1300     Property(UCHAR_AGE, "age Age"),
1301     Property(UCHAR_BIDI_MIRRORING_GLYPH, "bmg Bidi_Mirroring_Glyph"),
1302     Property(UCHAR_CASE_FOLDING, "cf Case_Folding"),
1303     Property(UCHAR_ISO_COMMENT, "isc ISO_Comment"),
1304     Property(UCHAR_LOWERCASE_MAPPING, "lc Lowercase_Mapping"),
1305     Property(UCHAR_NAME, "na Name"),
1306     Property(UCHAR_SIMPLE_CASE_FOLDING, "scf Simple_Case_Folding sfc"),
1307     Property(UCHAR_SIMPLE_LOWERCASE_MAPPING, "slc Simple_Lowercase_Mapping"),
1308     Property(UCHAR_SIMPLE_TITLECASE_MAPPING, "stc Simple_Titlecase_Mapping"),
1309     Property(UCHAR_SIMPLE_UPPERCASE_MAPPING, "suc Simple_Uppercase_Mapping"),
1310     Property(UCHAR_TITLECASE_MAPPING, "tc Titlecase_Mapping"),
1311     Property(UCHAR_UNICODE_1_NAME, "na1 Unicode_1_Name"),
1312     Property(UCHAR_UPPERCASE_MAPPING, "uc Uppercase_Mapping"),
1313     Property(UCHAR_BIDI_PAIRED_BRACKET, "bpb Bidi_Paired_Bracket"),
1314     Property(UCHAR_SCRIPT_EXTENSIONS, "scx Script_Extensions"),
1315 };
1316 
1317 const int32_t MAX_ALIASES = 4;
1318