/**
 * Copyright (C) 2002-2013, International Business Machines Corporation and
 * others. All Rights Reserved.
 *
 * machine-generated by: icu/tools/unicode/py/preparseucd.py
 */

#define UNICODE_VERSION { 6, 3, 0, 0 }

static const Value VALUES_binprop[2] = {
    Value(0, "N No F False"),
    Value(1, "Y Yes T True"),
};

static const Value VALUES_bc[23] = {
    Value(U_LEFT_TO_RIGHT, "L Left_To_Right"),
    Value(U_RIGHT_TO_LEFT, "R Right_To_Left"),
    Value(U_EUROPEAN_NUMBER, "EN European_Number"),
    Value(U_EUROPEAN_NUMBER_SEPARATOR, "ES European_Separator"),
    Value(U_EUROPEAN_NUMBER_TERMINATOR, "ET European_Terminator"),
    Value(U_ARABIC_NUMBER, "AN Arabic_Number"),
    Value(U_COMMON_NUMBER_SEPARATOR, "CS Common_Separator"),
    Value(U_BLOCK_SEPARATOR, "B Paragraph_Separator"),
    Value(U_SEGMENT_SEPARATOR, "S Segment_Separator"),
    Value(U_WHITE_SPACE_NEUTRAL, "WS White_Space"),
    Value(U_OTHER_NEUTRAL, "ON Other_Neutral"),
    Value(U_LEFT_TO_RIGHT_EMBEDDING, "LRE Left_To_Right_Embedding"),
    Value(U_LEFT_TO_RIGHT_OVERRIDE, "LRO Left_To_Right_Override"),
    Value(U_RIGHT_TO_LEFT_ARABIC, "AL Arabic_Letter"),
    Value(U_RIGHT_TO_LEFT_EMBEDDING, "RLE Right_To_Left_Embedding"),
    Value(U_RIGHT_TO_LEFT_OVERRIDE, "RLO Right_To_Left_Override"),
    Value(U_POP_DIRECTIONAL_FORMAT, "PDF Pop_Directional_Format"),
    Value(U_DIR_NON_SPACING_MARK, "NSM Nonspacing_Mark"),
    Value(U_BOUNDARY_NEUTRAL, "BN Boundary_Neutral"),
    Value(U_FIRST_STRONG_ISOLATE, "FSI First_Strong_Isolate"),
    Value(U_LEFT_TO_RIGHT_ISOLATE, "LRI Left_To_Right_Isolate"),
    Value(U_RIGHT_TO_LEFT_ISOLATE, "RLI Right_To_Left_Isolate"),
    Value(U_POP_DIRECTIONAL_ISOLATE, "PDI Pop_Directional_Isolate"),
};

static const Value VALUES_blk[221] = {
    Value(UBLOCK_NO_BLOCK, "NB No_Block"),
    Value(UBLOCK_BASIC_LATIN, "ASCII Basic_Latin"),
    Value(UBLOCK_LATIN_1_SUPPLEMENT, "Latin_1_Sup Latin_1_Supplement Latin_1"),
    Value(UBLOCK_LATIN_EXTENDED_A, "Latin_Ext_A Latin_Extended_A"),
    Value(UBLOCK_LATIN_EXTENDED_B, "Latin_Ext_B Latin_Extended_B"),
    Value(UBLOCK_IPA_EXTENSIONS, "IPA_Ext IPA_Extensions"),
    Value(UBLOCK_SPACING_MODIFIER_LETTERS, "Modifier_Letters Spacing_Modifier_Letters"),
    Value(UBLOCK_COMBINING_DIACRITICAL_MARKS, "Diacriticals Combining_Diacritical_Marks"),
    Value(UBLOCK_GREEK, "Greek Greek_And_Coptic"),
    Value(UBLOCK_CYRILLIC, "Cyrillic Cyrillic"),
    Value(UBLOCK_ARMENIAN, "Armenian Armenian"),
    Value(UBLOCK_HEBREW, "Hebrew Hebrew"),
    Value(UBLOCK_ARABIC, "Arabic Arabic"),
    Value(UBLOCK_SYRIAC, "Syriac Syriac"),
    Value(UBLOCK_THAANA, "Thaana Thaana"),
    Value(UBLOCK_DEVANAGARI, "Devanagari Devanagari"),
    Value(UBLOCK_BENGALI, "Bengali Bengali"),
    Value(UBLOCK_GURMUKHI, "Gurmukhi Gurmukhi"),
    Value(UBLOCK_GUJARATI, "Gujarati Gujarati"),
    Value(UBLOCK_ORIYA, "Oriya Oriya"),
    Value(UBLOCK_TAMIL, "Tamil Tamil"),
    Value(UBLOCK_TELUGU, "Telugu Telugu"),
    Value(UBLOCK_KANNADA, "Kannada Kannada"),
    Value(UBLOCK_MALAYALAM, "Malayalam Malayalam"),
    Value(UBLOCK_SINHALA, "Sinhala Sinhala"),
    Value(UBLOCK_THAI, "Thai Thai"),
    Value(UBLOCK_LAO, "Lao Lao"),
    Value(UBLOCK_TIBETAN, "Tibetan Tibetan"),
    Value(UBLOCK_MYANMAR, "Myanmar Myanmar"),
    Value(UBLOCK_GEORGIAN, "Georgian Georgian"),
    Value(UBLOCK_HANGUL_JAMO, "Jamo Hangul_Jamo"),
    Value(UBLOCK_ETHIOPIC, "Ethiopic Ethiopic"),
    Value(UBLOCK_CHEROKEE, "Cherokee Cherokee"),
    Value(UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS, "UCAS Unified_Canadian_Aboriginal_Syllabics Canadian_Syllabics"),
    Value(UBLOCK_OGHAM, "Ogham Ogham"),
    Value(UBLOCK_RUNIC, "Runic Runic"),
    Value(UBLOCK_KHMER, "Khmer Khmer"),
    Value(UBLOCK_MONGOLIAN, "Mongolian Mongolian"),
    Value(UBLOCK_LATIN_EXTENDED_ADDITIONAL, "Latin_Ext_Additional Latin_Extended_Additional"),
    Value(UBLOCK_GREEK_EXTENDED, "Greek_Ext Greek_Extended"),
    Value(UBLOCK_GENERAL_PUNCTUATION, "Punctuation General_Punctuation"),
    Value(UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS, "Super_And_Sub Superscripts_And_Subscripts"),
    Value(UBLOCK_CURRENCY_SYMBOLS, "Currency_Symbols Currency_Symbols"),
    Value(UBLOCK_COMBINING_MARKS_FOR_SYMBOLS, "Diacriticals_For_Symbols Combining_Diacritical_Marks_For_Symbols Combining_Marks_For_Symbols"),
    Value(UBLOCK_LETTERLIKE_SYMBOLS, "Letterlike_Symbols Letterlike_Symbols"),
    Value(UBLOCK_NUMBER_FORMS, "Number_Forms Number_Forms"),
    Value(UBLOCK_ARROWS, "Arrows Arrows"),
    Value(UBLOCK_MATHEMATICAL_OPERATORS, "Math_Operators Mathematical_Operators"),
    Value(UBLOCK_MISCELLANEOUS_TECHNICAL, "Misc_Technical Miscellaneous_Technical"),
    Value(UBLOCK_CONTROL_PICTURES, "Control_Pictures Control_Pictures"),
    Value(UBLOCK_OPTICAL_CHARACTER_RECOGNITION, "OCR Optical_Character_Recognition"),
    Value(UBLOCK_ENCLOSED_ALPHANUMERICS, "Enclosed_Alphanum Enclosed_Alphanumerics"),
    Value(UBLOCK_BOX_DRAWING, "Box_Drawing Box_Drawing"),
    Value(UBLOCK_BLOCK_ELEMENTS, "Block_Elements Block_Elements"),
    Value(UBLOCK_GEOMETRIC_SHAPES, "Geometric_Shapes Geometric_Shapes"),
    Value(UBLOCK_MISCELLANEOUS_SYMBOLS, "Misc_Symbols Miscellaneous_Symbols"),
    Value(UBLOCK_DINGBATS, "Dingbats Dingbats"),
    Value(UBLOCK_BRAILLE_PATTERNS, "Braille Braille_Patterns"),
    Value(UBLOCK_CJK_RADICALS_SUPPLEMENT, "CJK_Radicals_Sup CJK_Radicals_Supplement"),
    Value(UBLOCK_KANGXI_RADICALS, "Kangxi Kangxi_Radicals"),
    Value(UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS, "IDC Ideographic_Description_Characters"),
    Value(UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION, "CJK_Symbols CJK_Symbols_And_Punctuation"),
    Value(UBLOCK_HIRAGANA, "Hiragana Hiragana"),
    Value(UBLOCK_KATAKANA, "Katakana Katakana"),
    Value(UBLOCK_BOPOMOFO, "Bopomofo Bopomofo"),
    Value(UBLOCK_HANGUL_COMPATIBILITY_JAMO, "Compat_Jamo Hangul_Compatibility_Jamo"),
    Value(UBLOCK_KANBUN, "Kanbun Kanbun"),
    Value(UBLOCK_BOPOMOFO_EXTENDED, "Bopomofo_Ext Bopomofo_Extended"),
    Value(UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS, "Enclosed_CJK Enclosed_CJK_Letters_And_Months"),
    Value(UBLOCK_CJK_COMPATIBILITY, "CJK_Compat CJK_Compatibility"),
    Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A, "CJK_Ext_A CJK_Unified_Ideographs_Extension_A"),
    Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS, "CJK CJK_Unified_Ideographs"),
    Value(UBLOCK_YI_SYLLABLES, "Yi_Syllables Yi_Syllables"),
    Value(UBLOCK_YI_RADICALS, "Yi_Radicals Yi_Radicals"),
    Value(UBLOCK_HANGUL_SYLLABLES, "Hangul Hangul_Syllables"),
    Value(UBLOCK_HIGH_SURROGATES, "High_Surrogates High_Surrogates"),
    Value(UBLOCK_HIGH_PRIVATE_USE_SURROGATES, "High_PU_Surrogates High_Private_Use_Surrogates"),
    Value(UBLOCK_LOW_SURROGATES, "Low_Surrogates Low_Surrogates"),
    Value(UBLOCK_PRIVATE_USE_AREA, "PUA Private_Use_Area Private_Use"),
    Value(UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS, "CJK_Compat_Ideographs CJK_Compatibility_Ideographs"),
    Value(UBLOCK_ALPHABETIC_PRESENTATION_FORMS, "Alphabetic_PF Alphabetic_Presentation_Forms"),
    Value(UBLOCK_ARABIC_PRESENTATION_FORMS_A, "Arabic_PF_A Arabic_Presentation_Forms_A Arabic_Presentation_Forms-A"),
    Value(UBLOCK_COMBINING_HALF_MARKS, "Half_Marks Combining_Half_Marks"),
    Value(UBLOCK_CJK_COMPATIBILITY_FORMS, "CJK_Compat_Forms CJK_Compatibility_Forms"),
    Value(UBLOCK_SMALL_FORM_VARIANTS, "Small_Forms Small_Form_Variants"),
    Value(UBLOCK_ARABIC_PRESENTATION_FORMS_B, "Arabic_PF_B Arabic_Presentation_Forms_B"),
    Value(UBLOCK_SPECIALS, "Specials Specials"),
    Value(UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS, "Half_And_Full_Forms Halfwidth_And_Fullwidth_Forms"),
    Value(UBLOCK_OLD_ITALIC, "Old_Italic Old_Italic"),
    Value(UBLOCK_GOTHIC, "Gothic Gothic"),
    Value(UBLOCK_DESERET, "Deseret Deseret"),
    Value(UBLOCK_BYZANTINE_MUSICAL_SYMBOLS, "Byzantine_Music Byzantine_Musical_Symbols"),
    Value(UBLOCK_MUSICAL_SYMBOLS, "Music Musical_Symbols"),
    Value(UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS, "Math_Alphanum Mathematical_Alphanumeric_Symbols"),
    Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B, "CJK_Ext_B CJK_Unified_Ideographs_Extension_B"),
    Value(UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT, "CJK_Compat_Ideographs_Sup CJK_Compatibility_Ideographs_Supplement"),
    Value(UBLOCK_TAGS, "Tags Tags"),
    Value(UBLOCK_CYRILLIC_SUPPLEMENT, "Cyrillic_Sup Cyrillic_Supplement Cyrillic_Supplementary"),
    Value(UBLOCK_TAGALOG, "Tagalog Tagalog"),
    Value(UBLOCK_HANUNOO, "Hanunoo Hanunoo"),
    Value(UBLOCK_BUHID, "Buhid Buhid"),
    Value(UBLOCK_TAGBANWA, "Tagbanwa Tagbanwa"),
    Value(UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A, "Misc_Math_Symbols_A Miscellaneous_Mathematical_Symbols_A"),
    Value(UBLOCK_SUPPLEMENTAL_ARROWS_A, "Sup_Arrows_A Supplemental_Arrows_A"),
    Value(UBLOCK_SUPPLEMENTAL_ARROWS_B, "Sup_Arrows_B Supplemental_Arrows_B"),
    Value(UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B, "Misc_Math_Symbols_B Miscellaneous_Mathematical_Symbols_B"),
    Value(UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS, "Sup_Math_Operators Supplemental_Mathematical_Operators"),
    Value(UBLOCK_KATAKANA_PHONETIC_EXTENSIONS, "Katakana_Ext Katakana_Phonetic_Extensions"),
    Value(UBLOCK_VARIATION_SELECTORS, "VS Variation_Selectors"),
    Value(UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A, "Sup_PUA_A Supplementary_Private_Use_Area_A"),
    Value(UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B, "Sup_PUA_B Supplementary_Private_Use_Area_B"),
    Value(UBLOCK_LIMBU, "Limbu Limbu"),
    Value(UBLOCK_TAI_LE, "Tai_Le Tai_Le"),
    Value(UBLOCK_KHMER_SYMBOLS, "Khmer_Symbols Khmer_Symbols"),
    Value(UBLOCK_PHONETIC_EXTENSIONS, "Phonetic_Ext Phonetic_Extensions"),
    Value(UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS, "Misc_Arrows Miscellaneous_Symbols_And_Arrows"),
    Value(UBLOCK_YIJING_HEXAGRAM_SYMBOLS, "Yijing Yijing_Hexagram_Symbols"),
    Value(UBLOCK_LINEAR_B_SYLLABARY, "Linear_B_Syllabary Linear_B_Syllabary"),
    Value(UBLOCK_LINEAR_B_IDEOGRAMS, "Linear_B_Ideograms Linear_B_Ideograms"),
    Value(UBLOCK_AEGEAN_NUMBERS, "Aegean_Numbers Aegean_Numbers"),
    Value(UBLOCK_UGARITIC, "Ugaritic Ugaritic"),
    Value(UBLOCK_SHAVIAN, "Shavian Shavian"),
    Value(UBLOCK_OSMANYA, "Osmanya Osmanya"),
    Value(UBLOCK_CYPRIOT_SYLLABARY, "Cypriot_Syllabary Cypriot_Syllabary"),
    Value(UBLOCK_TAI_XUAN_JING_SYMBOLS, "Tai_Xuan_Jing Tai_Xuan_Jing_Symbols"),
    Value(UBLOCK_VARIATION_SELECTORS_SUPPLEMENT, "VS_Sup Variation_Selectors_Supplement"),
    Value(UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION, "Ancient_Greek_Music Ancient_Greek_Musical_Notation"),
    Value(UBLOCK_ANCIENT_GREEK_NUMBERS, "Ancient_Greek_Numbers Ancient_Greek_Numbers"),
    Value(UBLOCK_ARABIC_SUPPLEMENT, "Arabic_Sup Arabic_Supplement"),
    Value(UBLOCK_BUGINESE, "Buginese Buginese"),
    Value(UBLOCK_CJK_STROKES, "CJK_Strokes CJK_Strokes"),
    Value(UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT, "Diacriticals_Sup Combining_Diacritical_Marks_Supplement"),
    Value(UBLOCK_COPTIC, "Coptic Coptic"),
    Value(UBLOCK_ETHIOPIC_EXTENDED, "Ethiopic_Ext Ethiopic_Extended"),
    Value(UBLOCK_ETHIOPIC_SUPPLEMENT, "Ethiopic_Sup Ethiopic_Supplement"),
    Value(UBLOCK_GEORGIAN_SUPPLEMENT, "Georgian_Sup Georgian_Supplement"),
    Value(UBLOCK_GLAGOLITIC, "Glagolitic Glagolitic"),
    Value(UBLOCK_KHAROSHTHI, "Kharoshthi Kharoshthi"),
    Value(UBLOCK_MODIFIER_TONE_LETTERS, "Modifier_Tone_Letters Modifier_Tone_Letters"),
    Value(UBLOCK_NEW_TAI_LUE, "New_Tai_Lue New_Tai_Lue"),
    Value(UBLOCK_OLD_PERSIAN, "Old_Persian Old_Persian"),
    Value(UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT, "Phonetic_Ext_Sup Phonetic_Extensions_Supplement"),
    Value(UBLOCK_SUPPLEMENTAL_PUNCTUATION, "Sup_Punctuation Supplemental_Punctuation"),
    Value(UBLOCK_SYLOTI_NAGRI, "Syloti_Nagri Syloti_Nagri"),
    Value(UBLOCK_TIFINAGH, "Tifinagh Tifinagh"),
    Value(UBLOCK_VERTICAL_FORMS, "Vertical_Forms Vertical_Forms"),
    Value(UBLOCK_NKO, "NKo NKo"),
    Value(UBLOCK_BALINESE, "Balinese Balinese"),
    Value(UBLOCK_LATIN_EXTENDED_C, "Latin_Ext_C Latin_Extended_C"),
    Value(UBLOCK_LATIN_EXTENDED_D, "Latin_Ext_D Latin_Extended_D"),
    Value(UBLOCK_PHAGS_PA, "Phags_Pa Phags_Pa"),
    Value(UBLOCK_PHOENICIAN, "Phoenician Phoenician"),
    Value(UBLOCK_CUNEIFORM, "Cuneiform Cuneiform"),
    Value(UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION, "Cuneiform_Numbers Cuneiform_Numbers_And_Punctuation"),
    Value(UBLOCK_COUNTING_ROD_NUMERALS, "Counting_Rod Counting_Rod_Numerals"),
    Value(UBLOCK_SUNDANESE, "Sundanese Sundanese"),
    Value(UBLOCK_LEPCHA, "Lepcha Lepcha"),
    Value(UBLOCK_OL_CHIKI, "Ol_Chiki Ol_Chiki"),
    Value(UBLOCK_CYRILLIC_EXTENDED_A, "Cyrillic_Ext_A Cyrillic_Extended_A"),
    Value(UBLOCK_VAI, "Vai Vai"),
    Value(UBLOCK_CYRILLIC_EXTENDED_B, "Cyrillic_Ext_B Cyrillic_Extended_B"),
    Value(UBLOCK_SAURASHTRA, "Saurashtra Saurashtra"),
    Value(UBLOCK_KAYAH_LI, "Kayah_Li Kayah_Li"),
    Value(UBLOCK_REJANG, "Rejang Rejang"),
    Value(UBLOCK_CHAM, "Cham Cham"),
    Value(UBLOCK_ANCIENT_SYMBOLS, "Ancient_Symbols Ancient_Symbols"),
    Value(UBLOCK_PHAISTOS_DISC, "Phaistos Phaistos_Disc"),
    Value(UBLOCK_LYCIAN, "Lycian Lycian"),
    Value(UBLOCK_CARIAN, "Carian Carian"),
    Value(UBLOCK_LYDIAN, "Lydian Lydian"),
    Value(UBLOCK_MAHJONG_TILES, "Mahjong Mahjong_Tiles"),
    Value(UBLOCK_DOMINO_TILES, "Domino Domino_Tiles"),
    Value(UBLOCK_SAMARITAN, "Samaritan Samaritan"),
    Value(UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED, "UCAS_Ext Unified_Canadian_Aboriginal_Syllabics_Extended"),
    Value(UBLOCK_TAI_THAM, "Tai_Tham Tai_Tham"),
    Value(UBLOCK_VEDIC_EXTENSIONS, "Vedic_Ext Vedic_Extensions"),
    Value(UBLOCK_LISU, "Lisu Lisu"),
    Value(UBLOCK_BAMUM, "Bamum Bamum"),
    Value(UBLOCK_COMMON_INDIC_NUMBER_FORMS, "Indic_Number_Forms Common_Indic_Number_Forms"),
    Value(UBLOCK_DEVANAGARI_EXTENDED, "Devanagari_Ext Devanagari_Extended"),
    Value(UBLOCK_HANGUL_JAMO_EXTENDED_A, "Jamo_Ext_A Hangul_Jamo_Extended_A"),
    Value(UBLOCK_JAVANESE, "Javanese Javanese"),
    Value(UBLOCK_MYANMAR_EXTENDED_A, "Myanmar_Ext_A Myanmar_Extended_A"),
    Value(UBLOCK_TAI_VIET, "Tai_Viet Tai_Viet"),
    Value(UBLOCK_MEETEI_MAYEK, "Meetei_Mayek Meetei_Mayek"),
    Value(UBLOCK_HANGUL_JAMO_EXTENDED_B, "Jamo_Ext_B Hangul_Jamo_Extended_B"),
    Value(UBLOCK_IMPERIAL_ARAMAIC, "Imperial_Aramaic Imperial_Aramaic"),
    Value(UBLOCK_OLD_SOUTH_ARABIAN, "Old_South_Arabian Old_South_Arabian"),
    Value(UBLOCK_AVESTAN, "Avestan Avestan"),
    Value(UBLOCK_INSCRIPTIONAL_PARTHIAN, "Inscriptional_Parthian Inscriptional_Parthian"),
    Value(UBLOCK_INSCRIPTIONAL_PAHLAVI, "Inscriptional_Pahlavi Inscriptional_Pahlavi"),
    Value(UBLOCK_OLD_TURKIC, "Old_Turkic Old_Turkic"),
    Value(UBLOCK_RUMI_NUMERAL_SYMBOLS, "Rumi Rumi_Numeral_Symbols"),
    Value(UBLOCK_KAITHI, "Kaithi Kaithi"),
    Value(UBLOCK_EGYPTIAN_HIEROGLYPHS, "Egyptian_Hieroglyphs Egyptian_Hieroglyphs"),
    Value(UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT, "Enclosed_Alphanum_Sup Enclosed_Alphanumeric_Supplement"),
    Value(UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT, "Enclosed_Ideographic_Sup Enclosed_Ideographic_Supplement"),
    Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C, "CJK_Ext_C CJK_Unified_Ideographs_Extension_C"),
    Value(UBLOCK_MANDAIC, "Mandaic Mandaic"),
    Value(UBLOCK_BATAK, "Batak Batak"),
    Value(UBLOCK_ETHIOPIC_EXTENDED_A, "Ethiopic_Ext_A Ethiopic_Extended_A"),
    Value(UBLOCK_BRAHMI, "Brahmi Brahmi"),
    Value(UBLOCK_BAMUM_SUPPLEMENT, "Bamum_Sup Bamum_Supplement"),
    Value(UBLOCK_KANA_SUPPLEMENT, "Kana_Sup Kana_Supplement"),
    Value(UBLOCK_PLAYING_CARDS, "Playing_Cards Playing_Cards"),
    Value(UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS, "Misc_Pictographs Miscellaneous_Symbols_And_Pictographs"),
    Value(UBLOCK_EMOTICONS, "Emoticons Emoticons"),
    Value(UBLOCK_TRANSPORT_AND_MAP_SYMBOLS, "Transport_And_Map Transport_And_Map_Symbols"),
    Value(UBLOCK_ALCHEMICAL_SYMBOLS, "Alchemical Alchemical_Symbols"),
    Value(UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D, "CJK_Ext_D CJK_Unified_Ideographs_Extension_D"),
    Value(UBLOCK_ARABIC_EXTENDED_A, "Arabic_Ext_A Arabic_Extended_A"),
    Value(UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS, "Arabic_Math Arabic_Mathematical_Alphabetic_Symbols"),
    Value(UBLOCK_CHAKMA, "Chakma Chakma"),
    Value(UBLOCK_MEETEI_MAYEK_EXTENSIONS, "Meetei_Mayek_Ext Meetei_Mayek_Extensions"),
    Value(UBLOCK_MEROITIC_CURSIVE, "Meroitic_Cursive Meroitic_Cursive"),
    Value(UBLOCK_MEROITIC_HIEROGLYPHS, "Meroitic_Hieroglyphs Meroitic_Hieroglyphs"),
    Value(UBLOCK_MIAO, "Miao Miao"),
    Value(UBLOCK_SHARADA, "Sharada Sharada"),
    Value(UBLOCK_SORA_SOMPENG, "Sora_Sompeng Sora_Sompeng"),
    Value(UBLOCK_SUNDANESE_SUPPLEMENT, "Sundanese_Sup Sundanese_Supplement"),
    Value(UBLOCK_TAKRI, "Takri Takri"),
};

static const Value VALUES_ccc[57] = {
    Value(0, "NR Not_Reordered"),
    Value(1, "OV Overlay"),
    Value(7, "NK Nukta"),
    Value(8, "KV Kana_Voicing"),
    Value(9, "VR Virama"),
    Value(10, "CCC10 CCC10"),
    Value(11, "CCC11 CCC11"),
    Value(12, "CCC12 CCC12"),
    Value(13, "CCC13 CCC13"),
    Value(14, "CCC14 CCC14"),
    Value(15, "CCC15 CCC15"),
    Value(16, "CCC16 CCC16"),
    Value(17, "CCC17 CCC17"),
    Value(18, "CCC18 CCC18"),
    Value(19, "CCC19 CCC19"),
    Value(20, "CCC20 CCC20"),
    Value(21, "CCC21 CCC21"),
    Value(22, "CCC22 CCC22"),
    Value(23, "CCC23 CCC23"),
    Value(24, "CCC24 CCC24"),
    Value(25, "CCC25 CCC25"),
    Value(26, "CCC26 CCC26"),
    Value(27, "CCC27 CCC27"),
    Value(28, "CCC28 CCC28"),
    Value(29, "CCC29 CCC29"),
    Value(30, "CCC30 CCC30"),
    Value(31, "CCC31 CCC31"),
    Value(32, "CCC32 CCC32"),
    Value(33, "CCC33 CCC33"),
    Value(34, "CCC34 CCC34"),
    Value(35, "CCC35 CCC35"),
    Value(36, "CCC36 CCC36"),
    Value(84, "CCC84 CCC84"),
    Value(91, "CCC91 CCC91"),
    Value(103, "CCC103 CCC103"),
    Value(107, "CCC107 CCC107"),
    Value(118, "CCC118 CCC118"),
    Value(122, "CCC122 CCC122"),
    Value(129, "CCC129 CCC129"),
    Value(130, "CCC130 CCC130"),
    Value(132, "CCC132 CCC132"),
    Value(133, "CCC133 CCC133"),
    Value(200, "ATBL Attached_Below_Left"),
    Value(202, "ATB Attached_Below"),
    Value(214, "ATA Attached_Above"),
    Value(216, "ATAR Attached_Above_Right"),
    Value(218, "BL Below_Left"),
    Value(220, "B Below"),
    Value(222, "BR Below_Right"),
    Value(224, "L Left"),
    Value(226, "R Right"),
    Value(228, "AL Above_Left"),
    Value(230, "A Above"),
    Value(232, "AR Above_Right"),
    Value(233, "DB Double_Below"),
    Value(234, "DA Double_Above"),
    Value(240, "IS Iota_Subscript"),
};

static const Value VALUES_dt[18] = {
    Value(U_DT_NONE, "None None none"),
    Value(U_DT_CANONICAL, "Can Canonical can"),
    Value(U_DT_COMPAT, "Com Compat com"),
    Value(U_DT_CIRCLE, "Enc Circle enc"),
    Value(U_DT_FINAL, "Fin Final fin"),
    Value(U_DT_FONT, "Font Font font"),
    Value(U_DT_FRACTION, "Fra Fraction fra"),
    Value(U_DT_INITIAL, "Init Initial init"),
    Value(U_DT_ISOLATED, "Iso Isolated iso"),
    Value(U_DT_MEDIAL, "Med Medial med"),
    Value(U_DT_NARROW, "Nar Narrow nar"),
    Value(U_DT_NOBREAK, "Nb Nobreak nb"),
    Value(U_DT_SMALL, "Sml Small sml"),
    Value(U_DT_SQUARE, "Sqr Square sqr"),
    Value(U_DT_SUB, "Sub Sub sub"),
    Value(U_DT_SUPER, "Sup Super sup"),
    Value(U_DT_VERTICAL, "Vert Vertical vert"),
    Value(U_DT_WIDE, "Wide Wide wide"),
};

static const Value VALUES_ea[6] = {
    Value(U_EA_NEUTRAL, "N Neutral"),
    Value(U_EA_AMBIGUOUS, "A Ambiguous"),
    Value(U_EA_HALFWIDTH, "H Halfwidth"),
    Value(U_EA_FULLWIDTH, "F Fullwidth"),
    Value(U_EA_NARROW, "Na Narrow"),
    Value(U_EA_WIDE, "W Wide"),
};

static const Value VALUES_gc[30] = {
    Value(U_GENERAL_OTHER_TYPES, "Cn Unassigned"),
    Value(U_UPPERCASE_LETTER, "Lu Uppercase_Letter"),
    Value(U_LOWERCASE_LETTER, "Ll Lowercase_Letter"),
    Value(U_TITLECASE_LETTER, "Lt Titlecase_Letter"),
    Value(U_MODIFIER_LETTER, "Lm Modifier_Letter"),
    Value(U_OTHER_LETTER, "Lo Other_Letter"),
    Value(U_NON_SPACING_MARK, "Mn Nonspacing_Mark"),
    Value(U_ENCLOSING_MARK, "Me Enclosing_Mark"),
    Value(U_COMBINING_SPACING_MARK, "Mc Spacing_Mark"),
    Value(U_DECIMAL_DIGIT_NUMBER, "Nd Decimal_Number digit"),
    Value(U_LETTER_NUMBER, "Nl Letter_Number"),
    Value(U_OTHER_NUMBER, "No Other_Number"),
    Value(U_SPACE_SEPARATOR, "Zs Space_Separator"),
    Value(U_LINE_SEPARATOR, "Zl Line_Separator"),
    Value(U_PARAGRAPH_SEPARATOR, "Zp Paragraph_Separator"),
    Value(U_CONTROL_CHAR, "Cc Control cntrl"),
    Value(U_FORMAT_CHAR, "Cf Format"),
    Value(U_PRIVATE_USE_CHAR, "Co Private_Use"),
    Value(U_SURROGATE, "Cs Surrogate"),
    Value(U_DASH_PUNCTUATION, "Pd Dash_Punctuation"),
    Value(U_START_PUNCTUATION, "Ps Open_Punctuation"),
    Value(U_END_PUNCTUATION, "Pe Close_Punctuation"),
    Value(U_CONNECTOR_PUNCTUATION, "Pc Connector_Punctuation"),
    Value(U_OTHER_PUNCTUATION, "Po Other_Punctuation"),
    Value(U_MATH_SYMBOL, "Sm Math_Symbol"),
    Value(U_CURRENCY_SYMBOL, "Sc Currency_Symbol"),
    Value(U_MODIFIER_SYMBOL, "Sk Modifier_Symbol"),
    Value(U_OTHER_SYMBOL, "So Other_Symbol"),
    Value(U_INITIAL_PUNCTUATION, "Pi Initial_Punctuation"),
    Value(U_FINAL_PUNCTUATION, "Pf Final_Punctuation"),
};

static const Value VALUES_jg[58] = {
    Value(U_JG_NO_JOINING_GROUP, "No_Joining_Group No_Joining_Group"),
    Value(U_JG_AIN, "Ain Ain"),
    Value(U_JG_ALAPH, "Alaph Alaph"),
    Value(U_JG_ALEF, "Alef Alef"),
    Value(U_JG_BEH, "Beh Beh"),
    Value(U_JG_BETH, "Beth Beth"),
    Value(U_JG_DAL, "Dal Dal"),
    Value(U_JG_DALATH_RISH, "Dalath_Rish Dalath_Rish"),
    Value(U_JG_E, "E E"),
    Value(U_JG_FEH, "Feh Feh"),
    Value(U_JG_FINAL_SEMKATH, "Final_Semkath Final_Semkath"),
    Value(U_JG_GAF, "Gaf Gaf"),
    Value(U_JG_GAMAL, "Gamal Gamal"),
    Value(U_JG_HAH, "Hah Hah"),
    Value(U_JG_TEH_MARBUTA_GOAL, "Teh_Marbuta_Goal Hamza_On_Heh_Goal"),
    Value(U_JG_HE, "He He"),
    Value(U_JG_HEH, "Heh Heh"),
    Value(U_JG_HEH_GOAL, "Heh_Goal Heh_Goal"),
    Value(U_JG_HETH, "Heth Heth"),
    Value(U_JG_KAF, "Kaf Kaf"),
    Value(U_JG_KAPH, "Kaph Kaph"),
    Value(U_JG_KNOTTED_HEH, "Knotted_Heh Knotted_Heh"),
    Value(U_JG_LAM, "Lam Lam"),
    Value(U_JG_LAMADH, "Lamadh Lamadh"),
    Value(U_JG_MEEM, "Meem Meem"),
    Value(U_JG_MIM, "Mim Mim"),
    Value(U_JG_NOON, "Noon Noon"),
    Value(U_JG_NUN, "Nun Nun"),
    Value(U_JG_PE, "Pe Pe"),
    Value(U_JG_QAF, "Qaf Qaf"),
    Value(U_JG_QAPH, "Qaph Qaph"),
    Value(U_JG_REH, "Reh Reh"),
    Value(U_JG_REVERSED_PE, "Reversed_Pe Reversed_Pe"),
    Value(U_JG_SAD, "Sad Sad"),
    Value(U_JG_SADHE, "Sadhe Sadhe"),
    Value(U_JG_SEEN, "Seen Seen"),
    Value(U_JG_SEMKATH, "Semkath Semkath"),
    Value(U_JG_SHIN, "Shin Shin"),
    Value(U_JG_SWASH_KAF, "Swash_Kaf Swash_Kaf"),
    Value(U_JG_SYRIAC_WAW, "Syriac_Waw Syriac_Waw"),
    Value(U_JG_TAH, "Tah Tah"),
    Value(U_JG_TAW, "Taw Taw"),
    Value(U_JG_TEH_MARBUTA, "Teh_Marbuta Teh_Marbuta"),
    Value(U_JG_TETH, "Teth Teth"),
    Value(U_JG_WAW, "Waw Waw"),
    Value(U_JG_YEH, "Yeh Yeh"),
    Value(U_JG_YEH_BARREE, "Yeh_Barree Yeh_Barree"),
    Value(U_JG_YEH_WITH_TAIL, "Yeh_With_Tail Yeh_With_Tail"),
    Value(U_JG_YUDH, "Yudh Yudh"),
    Value(U_JG_YUDH_HE, "Yudh_He Yudh_He"),
    Value(U_JG_ZAIN, "Zain Zain"),
    Value(U_JG_FE, "Fe Fe"),
    Value(U_JG_KHAPH, "Khaph Khaph"),
    Value(U_JG_ZHAIN, "Zhain Zhain"),
    Value(U_JG_BURUSHASKI_YEH_BARREE, "Burushaski_Yeh_Barree Burushaski_Yeh_Barree"),
    Value(U_JG_FARSI_YEH, "Farsi_Yeh Farsi_Yeh"),
    Value(U_JG_NYA, "Nya Nya"),
    Value(U_JG_ROHINGYA_YEH, "Rohingya_Yeh Rohingya_Yeh"),
};

static const Value VALUES_jt[6] = {
    Value(U_JT_NON_JOINING, "U Non_Joining"),
    Value(U_JT_JOIN_CAUSING, "C Join_Causing"),
    Value(U_JT_DUAL_JOINING, "D Dual_Joining"),
    Value(U_JT_LEFT_JOINING, "L Left_Joining"),
    Value(U_JT_RIGHT_JOINING, "R Right_Joining"),
    Value(U_JT_TRANSPARENT, "T Transparent"),
};

static const Value VALUES_lb[40] = {
    Value(U_LB_UNKNOWN, "XX Unknown"),
    Value(U_LB_AMBIGUOUS, "AI Ambiguous"),
    Value(U_LB_ALPHABETIC, "AL Alphabetic"),
    Value(U_LB_BREAK_BOTH, "B2 Break_Both"),
    Value(U_LB_BREAK_AFTER, "BA Break_After"),
    Value(U_LB_BREAK_BEFORE, "BB Break_Before"),
    Value(U_LB_MANDATORY_BREAK, "BK Mandatory_Break"),
    Value(U_LB_CONTINGENT_BREAK, "CB Contingent_Break"),
    Value(U_LB_CLOSE_PUNCTUATION, "CL Close_Punctuation"),
    Value(U_LB_COMBINING_MARK, "CM Combining_Mark"),
    Value(U_LB_CARRIAGE_RETURN, "CR Carriage_Return"),
    Value(U_LB_EXCLAMATION, "EX Exclamation"),
    Value(U_LB_GLUE, "GL Glue"),
    Value(U_LB_HYPHEN, "HY Hyphen"),
    Value(U_LB_IDEOGRAPHIC, "ID Ideographic"),
    Value(U_LB_INSEPARABLE, "IN Inseparable Inseperable"),
    Value(U_LB_INFIX_NUMERIC, "IS Infix_Numeric"),
    Value(U_LB_LINE_FEED, "LF Line_Feed"),
    Value(U_LB_NONSTARTER, "NS Nonstarter"),
    Value(U_LB_NUMERIC, "NU Numeric"),
    Value(U_LB_OPEN_PUNCTUATION, "OP Open_Punctuation"),
    Value(U_LB_POSTFIX_NUMERIC, "PO Postfix_Numeric"),
    Value(U_LB_PREFIX_NUMERIC, "PR Prefix_Numeric"),
    Value(U_LB_QUOTATION, "QU Quotation"),
    Value(U_LB_COMPLEX_CONTEXT, "SA Complex_Context"),
    Value(U_LB_SURROGATE, "SG Surrogate"),
    Value(U_LB_SPACE, "SP Space"),
    Value(U_LB_BREAK_SYMBOLS, "SY Break_Symbols"),
    Value(U_LB_ZWSPACE, "ZW ZWSpace"),
    Value(U_LB_NEXT_LINE, "NL Next_Line"),
    Value(U_LB_WORD_JOINER, "WJ Word_Joiner"),
    Value(U_LB_H2, "H2 H2"),
    Value(U_LB_H3, "H3 H3"),
    Value(U_LB_JL, "JL JL"),
    Value(U_LB_JT, "JT JT"),
    Value(U_LB_JV, "JV JV"),
    Value(U_LB_CLOSE_PARENTHESIS, "CP Close_Parenthesis"),
    Value(U_LB_CONDITIONAL_JAPANESE_STARTER, "CJ Conditional_Japanese_Starter"),
    Value(U_LB_HEBREW_LETTER, "HL Hebrew_Letter"),
    Value(U_LB_REGIONAL_INDICATOR, "RI Regional_Indicator"),
};

static const Value VALUES_nt[4] = {
    Value(U_NT_NONE, "None None"),
    Value(U_NT_DECIMAL, "De Decimal"),
    Value(U_NT_DIGIT, "Di Digit"),
    Value(U_NT_NUMERIC, "Nu Numeric"),
};

static const Value VALUES_sc[161] = {
    Value(USCRIPT_COMMON, "Zyyy Common"),
    Value(USCRIPT_INHERITED, "Zinh Inherited Qaai"),
    Value(USCRIPT_ARABIC, "Arab Arabic"),
    Value(USCRIPT_ARMENIAN, "Armn Armenian"),
    Value(USCRIPT_BENGALI, "Beng Bengali"),
    Value(USCRIPT_BOPOMOFO, "Bopo Bopomofo"),
    Value(USCRIPT_CHEROKEE, "Cher Cherokee"),
    Value(USCRIPT_COPTIC, "Copt Coptic Qaac"),
    Value(USCRIPT_CYRILLIC, "Cyrl Cyrillic"),
    Value(USCRIPT_DESERET, "Dsrt Deseret"),
    Value(USCRIPT_DEVANAGARI, "Deva Devanagari"),
    Value(USCRIPT_ETHIOPIC, "Ethi Ethiopic"),
    Value(USCRIPT_GEORGIAN, "Geor Georgian"),
    Value(USCRIPT_GOTHIC, "Goth Gothic"),
    Value(USCRIPT_GREEK, "Grek Greek"),
    Value(USCRIPT_GUJARATI, "Gujr Gujarati"),
    Value(USCRIPT_GURMUKHI, "Guru Gurmukhi"),
    Value(USCRIPT_HAN, "Hani Han"),
    Value(USCRIPT_HANGUL, "Hang Hangul"),
    Value(USCRIPT_HEBREW, "Hebr Hebrew"),
    Value(USCRIPT_HIRAGANA, "Hira Hiragana"),
    Value(USCRIPT_KANNADA, "Knda Kannada"),
    Value(USCRIPT_KATAKANA, "Kana Katakana"),
    Value(USCRIPT_KHMER, "Khmr Khmer"),
    Value(USCRIPT_LAO, "Laoo Lao"),
    Value(USCRIPT_LATIN, "Latn Latin"),
    Value(USCRIPT_MALAYALAM, "Mlym Malayalam"),
    Value(USCRIPT_MONGOLIAN, "Mong Mongolian"),
    Value(USCRIPT_MYANMAR, "Mymr Myanmar"),
    Value(USCRIPT_OGHAM, "Ogam Ogham"),
    Value(USCRIPT_OLD_ITALIC, "Ital Old_Italic"),
    Value(USCRIPT_ORIYA, "Orya Oriya"),
    Value(USCRIPT_RUNIC, "Runr Runic"),
    Value(USCRIPT_SINHALA, "Sinh Sinhala"),
    Value(USCRIPT_SYRIAC, "Syrc Syriac"),
    Value(USCRIPT_TAMIL, "Taml Tamil"),
    Value(USCRIPT_TELUGU, "Telu Telugu"),
    Value(USCRIPT_THAANA, "Thaa Thaana"),
    Value(USCRIPT_THAI, "Thai Thai"),
    Value(USCRIPT_TIBETAN, "Tibt Tibetan"),
    Value(USCRIPT_CANADIAN_ABORIGINAL, "Cans Canadian_Aboriginal"),
    Value(USCRIPT_YI, "Yiii Yi"),
    Value(USCRIPT_TAGALOG, "Tglg Tagalog"),
    Value(USCRIPT_HANUNOO, "Hano Hanunoo"),
    Value(USCRIPT_BUHID, "Buhd Buhid"),
    Value(USCRIPT_TAGBANWA, "Tagb Tagbanwa"),
    Value(USCRIPT_BRAILLE, "Brai Braille"),
    Value(USCRIPT_CYPRIOT, "Cprt Cypriot"),
    Value(USCRIPT_LIMBU, "Limb Limbu"),
    Value(USCRIPT_LINEAR_B, "Linb Linear_B"),
    Value(USCRIPT_OSMANYA, "Osma Osmanya"),
    Value(USCRIPT_SHAVIAN, "Shaw Shavian"),
    Value(USCRIPT_TAI_LE, "Tale Tai_Le"),
    Value(USCRIPT_UGARITIC, "Ugar Ugaritic"),
    Value(USCRIPT_KATAKANA_OR_HIRAGANA, "Hrkt Katakana_Or_Hiragana"),
    Value(USCRIPT_BUGINESE, "Bugi Buginese"),
    Value(USCRIPT_GLAGOLITIC, "Glag Glagolitic"),
    Value(USCRIPT_KHAROSHTHI, "Khar Kharoshthi"),
    Value(USCRIPT_SYLOTI_NAGRI, "Sylo Syloti_Nagri"),
    Value(USCRIPT_NEW_TAI_LUE, "Talu New_Tai_Lue"),
    Value(USCRIPT_TIFINAGH, "Tfng Tifinagh"),
    Value(USCRIPT_OLD_PERSIAN, "Xpeo Old_Persian"),
    Value(USCRIPT_BALINESE, "Bali Balinese"),
    Value(USCRIPT_BATAK, "Batk Batak"),
    Value(USCRIPT_BLISSYMBOLS, "Blis Blis"),
    Value(USCRIPT_BRAHMI, "Brah Brahmi"),
    Value(USCRIPT_CHAM, "Cham Cham"),
    Value(USCRIPT_CIRTH, "Cirt Cirt"),
    Value(USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC, "Cyrs Cyrs"),
    Value(USCRIPT_DEMOTIC_EGYPTIAN, "Egyd Egyd"),
    Value(USCRIPT_HIERATIC_EGYPTIAN, "Egyh Egyh"),
    Value(USCRIPT_EGYPTIAN_HIEROGLYPHS, "Egyp Egyptian_Hieroglyphs"),
    Value(USCRIPT_KHUTSURI, "Geok Geok"),
    Value(USCRIPT_SIMPLIFIED_HAN, "Hans Hans"),
    Value(USCRIPT_TRADITIONAL_HAN, "Hant Hant"),
    Value(USCRIPT_PAHAWH_HMONG, "Hmng Hmng"),
    Value(USCRIPT_OLD_HUNGARIAN, "Hung Hung"),
    Value(USCRIPT_HARAPPAN_INDUS, "Inds Inds"),
    Value(USCRIPT_JAVANESE, "Java Javanese"),
    Value(USCRIPT_KAYAH_LI, "Kali Kayah_Li"),
    Value(USCRIPT_LATIN_FRAKTUR, "Latf Latf"),
    Value(USCRIPT_LATIN_GAELIC, "Latg Latg"),
    Value(USCRIPT_LEPCHA, "Lepc Lepcha"),
    Value(USCRIPT_LINEAR_A, "Lina Lina"),
    Value(USCRIPT_MANDAIC, "Mand Mandaic"),
    Value(USCRIPT_MAYAN_HIEROGLYPHS, "Maya Maya"),
    Value(USCRIPT_MEROITIC_HIEROGLYPHS, "Mero Meroitic_Hieroglyphs"),
    Value(USCRIPT_NKO, "Nkoo Nko"),
    Value(USCRIPT_ORKHON, "Orkh Old_Turkic"),
    Value(USCRIPT_OLD_PERMIC, "Perm Perm"),
    Value(USCRIPT_PHAGS_PA, "Phag Phags_Pa"),
    Value(USCRIPT_PHOENICIAN, "Phnx Phoenician"),
    Value(USCRIPT_MIAO, "Plrd Miao"),
    Value(USCRIPT_RONGORONGO, "Roro Roro"),
    Value(USCRIPT_SARATI, "Sara Sara"),
    Value(USCRIPT_ESTRANGELO_SYRIAC, "Syre Syre"),
    Value(USCRIPT_WESTERN_SYRIAC, "Syrj Syrj"),
    Value(USCRIPT_EASTERN_SYRIAC, "Syrn Syrn"),
    Value(USCRIPT_TENGWAR, "Teng Teng"),
    Value(USCRIPT_VAI, "Vaii Vai"),
    Value(USCRIPT_VISIBLE_SPEECH, "Visp Visp"),
    Value(USCRIPT_CUNEIFORM, "Xsux Cuneiform"),
    Value(USCRIPT_UNWRITTEN_LANGUAGES, "Zxxx Zxxx"),
    Value(USCRIPT_UNKNOWN, "Zzzz Unknown"),
    Value(USCRIPT_CARIAN, "Cari Carian"),
    Value(USCRIPT_JAPANESE, "Jpan Jpan"),
    Value(USCRIPT_LANNA, "Lana Tai_Tham"),
    Value(USCRIPT_LYCIAN, "Lyci Lycian"),
    Value(USCRIPT_LYDIAN, "Lydi Lydian"),
    Value(USCRIPT_OL_CHIKI, "Olck Ol_Chiki"),
    Value(USCRIPT_REJANG, "Rjng Rejang"),
    Value(USCRIPT_SAURASHTRA, "Saur Saurashtra"),
    Value(USCRIPT_SIGN_WRITING, "Sgnw Sgnw"),
    Value(USCRIPT_SUNDANESE, "Sund Sundanese"),
    Value(USCRIPT_MOON, "Moon Moon"),
    Value(USCRIPT_MEITEI_MAYEK, "Mtei Meetei_Mayek"),
    Value(USCRIPT_IMPERIAL_ARAMAIC, "Armi Imperial_Aramaic"),
    Value(USCRIPT_AVESTAN, "Avst Avestan"),
    Value(USCRIPT_CHAKMA, "Cakm Chakma"),
    Value(USCRIPT_KOREAN, "Kore Kore"),
    Value(USCRIPT_KAITHI, "Kthi Kaithi"),
    Value(USCRIPT_MANICHAEAN, "Mani Mani"),
    Value(USCRIPT_INSCRIPTIONAL_PAHLAVI, "Phli Inscriptional_Pahlavi"),
    Value(USCRIPT_PSALTER_PAHLAVI, "Phlp Phlp"),
    Value(USCRIPT_BOOK_PAHLAVI, "Phlv Phlv"),
    Value(USCRIPT_INSCRIPTIONAL_PARTHIAN, "Prti Inscriptional_Parthian"),
    Value(USCRIPT_SAMARITAN, "Samr Samaritan"),
    Value(USCRIPT_TAI_VIET, "Tavt Tai_Viet"),
    Value(USCRIPT_MATHEMATICAL_NOTATION, "Zmth Zmth"),
    Value(USCRIPT_SYMBOLS, "Zsym Zsym"),
    Value(USCRIPT_BAMUM, "Bamu Bamum"),
    Value(USCRIPT_LISU, "Lisu Lisu"),
    Value(USCRIPT_NAKHI_GEBA, "Nkgb Nkgb"),
    Value(USCRIPT_OLD_SOUTH_ARABIAN, "Sarb Old_South_Arabian"),
    Value(USCRIPT_BASSA_VAH, "Bass Bass"),
    Value(USCRIPT_DUPLOYAN_SHORTAND, "Dupl Dupl"),
    Value(USCRIPT_ELBASAN, "Elba Elba"),
    Value(USCRIPT_GRANTHA, "Gran Gran"),
    Value(USCRIPT_KPELLE, "Kpel Kpel"),
    Value(USCRIPT_LOMA, "Loma Loma"),
    Value(USCRIPT_MENDE, "Mend Mend"),
    Value(USCRIPT_MEROITIC_CURSIVE, "Merc Meroitic_Cursive"),
    Value(USCRIPT_OLD_NORTH_ARABIAN, "Narb Narb"),
    Value(USCRIPT_NABATAEAN, "Nbat Nbat"),
    Value(USCRIPT_PALMYRENE, "Palm Palm"),
    Value(USCRIPT_SINDHI, "Sind Sind"),
    Value(USCRIPT_WARANG_CITI, "Wara Wara"),
    Value(USCRIPT_AFAKA, "Afak Afak"),
    Value(USCRIPT_JURCHEN, "Jurc Jurc"),
    Value(USCRIPT_MRO, "Mroo Mroo"),
    Value(USCRIPT_NUSHU, "Nshu Nshu"),
    Value(USCRIPT_SHARADA, "Shrd Sharada"),
    Value(USCRIPT_SORA_SOMPENG, "Sora Sora_Sompeng"),
    Value(USCRIPT_TAKRI, "Takr Takri"),
    Value(USCRIPT_TANGUT, "Tang Tang"),
    Value(USCRIPT_WOLEAI, "Wole Wole"),
    Value(USCRIPT_ANATOLIAN_HIEROGLYPHS, "Hluw Hluw"),
    Value(USCRIPT_KHOJKI, "Khoj Khoj"),
    Value(USCRIPT_TIRHUTA, "Tirh Tirh"),
    Value(USCRIPT_CAUCASIAN_ALBANIAN, "Aghb Aghb"),
    Value(USCRIPT_MAHAJANI, "Mahj Mahj"),
};

static const Value VALUES_hst[6] = {
    Value(U_HST_NOT_APPLICABLE, "NA Not_Applicable"),
    Value(U_HST_LEADING_JAMO, "L Leading_Jamo"),
    Value(U_HST_VOWEL_JAMO, "V Vowel_Jamo"),
    Value(U_HST_TRAILING_JAMO, "T Trailing_Jamo"),
    Value(U_HST_LV_SYLLABLE, "LV LV_Syllable"),
    Value(U_HST_LVT_SYLLABLE, "LVT LVT_Syllable"),
};

static const Value VALUES_NFD_QC[2] = {
    Value(UNORM_NO, "N No"),
    Value(UNORM_YES, "Y Yes"),
};

static const Value VALUES_NFKD_QC[2] = {
    Value(UNORM_NO, "N No"),
    Value(UNORM_YES, "Y Yes"),
};

static const Value VALUES_NFC_QC[3] = {
    Value(UNORM_NO, "N No"),
    Value(UNORM_YES, "Y Yes"),
    Value(UNORM_MAYBE, "M Maybe"),
};

static const Value VALUES_NFKC_QC[3] = {
    Value(UNORM_NO, "N No"),
    Value(UNORM_YES, "Y Yes"),
    Value(UNORM_MAYBE, "M Maybe"),
};

static const Value VALUES_lccc[57] = {
    Value(0, "NR Not_Reordered"),
    Value(1, "OV Overlay"),
    Value(7, "NK Nukta"),
    Value(8, "KV Kana_Voicing"),
    Value(9, "VR Virama"),
    Value(10, "CCC10 CCC10"),
    Value(11, "CCC11 CCC11"),
    Value(12, "CCC12 CCC12"),
    Value(13, "CCC13 CCC13"),
    Value(14, "CCC14 CCC14"),
    Value(15, "CCC15 CCC15"),
    Value(16, "CCC16 CCC16"),
    Value(17, "CCC17 CCC17"),
    Value(18, "CCC18 CCC18"),
    Value(19, "CCC19 CCC19"),
    Value(20, "CCC20 CCC20"),
    Value(21, "CCC21 CCC21"),
    Value(22, "CCC22 CCC22"),
    Value(23, "CCC23 CCC23"),
    Value(24, "CCC24 CCC24"),
    Value(25, "CCC25 CCC25"),
    Value(26, "CCC26 CCC26"),
    Value(27, "CCC27 CCC27"),
    Value(28, "CCC28 CCC28"),
    Value(29, "CCC29 CCC29"),
    Value(30, "CCC30 CCC30"),
    Value(31, "CCC31 CCC31"),
    Value(32, "CCC32 CCC32"),
    Value(33, "CCC33 CCC33"),
    Value(34, "CCC34 CCC34"),
    Value(35, "CCC35 CCC35"),
    Value(36, "CCC36 CCC36"),
    Value(84, "CCC84 CCC84"),
    Value(91, "CCC91 CCC91"),
    Value(103, "CCC103 CCC103"),
    Value(107, "CCC107 CCC107"),
    Value(118, "CCC118 CCC118"),
    Value(122, "CCC122 CCC122"),
    Value(129, "CCC129 CCC129"),
    Value(130, "CCC130 CCC130"),
    Value(132, "CCC132 CCC132"),
    Value(133, "CCC133 CCC133"),
    Value(200, "ATBL Attached_Below_Left"),
    Value(202, "ATB Attached_Below"),
    Value(214, "ATA Attached_Above"),
    Value(216, "ATAR Attached_Above_Right"),
    Value(218, "BL Below_Left"),
    Value(220, "B Below"),
    Value(222, "BR Below_Right"),
    Value(224, "L Left"),
    Value(226, "R Right"),
    Value(228, "AL Above_Left"),
    Value(230, "A Above"),
    Value(232, "AR Above_Right"),
    Value(233, "DB Double_Below"),
    Value(234, "DA Double_Above"),
    Value(240, "IS Iota_Subscript"),
};

static const Value VALUES_tccc[57] = {
    Value(0, "NR Not_Reordered"),
    Value(1, "OV Overlay"),
    Value(7, "NK Nukta"),
    Value(8, "KV Kana_Voicing"),
    Value(9, "VR Virama"),
    Value(10, "CCC10 CCC10"),
    Value(11, "CCC11 CCC11"),
    Value(12, "CCC12 CCC12"),
    Value(13, "CCC13 CCC13"),
    Value(14, "CCC14 CCC14"),
    Value(15, "CCC15 CCC15"),
    Value(16, "CCC16 CCC16"),
    Value(17, "CCC17 CCC17"),
    Value(18, "CCC18 CCC18"),
    Value(19, "CCC19 CCC19"),
    Value(20, "CCC20 CCC20"),
    Value(21, "CCC21 CCC21"),
    Value(22, "CCC22 CCC22"),
    Value(23, "CCC23 CCC23"),
    Value(24, "CCC24 CCC24"),
    Value(25, "CCC25 CCC25"),
    Value(26, "CCC26 CCC26"),
    Value(27, "CCC27 CCC27"),
    Value(28, "CCC28 CCC28"),
    Value(29, "CCC29 CCC29"),
    Value(30, "CCC30 CCC30"),
    Value(31, "CCC31 CCC31"),
    Value(32, "CCC32 CCC32"),
    Value(33, "CCC33 CCC33"),
    Value(34, "CCC34 CCC34"),
    Value(35, "CCC35 CCC35"),
    Value(36, "CCC36 CCC36"),
    Value(84, "CCC84 CCC84"),
    Value(91, "CCC91 CCC91"),
    Value(103, "CCC103 CCC103"),
    Value(107, "CCC107 CCC107"),
    Value(118, "CCC118 CCC118"),
    Value(122, "CCC122 CCC122"),
    Value(129, "CCC129 CCC129"),
    Value(130, "CCC130 CCC130"),
    Value(132, "CCC132 CCC132"),
    Value(133, "CCC133 CCC133"),
    Value(200, "ATBL Attached_Below_Left"),
    Value(202, "ATB Attached_Below"),
    Value(214, "ATA Attached_Above"),
    Value(216, "ATAR Attached_Above_Right"),
    Value(218, "BL Below_Left"),
    Value(220, "B Below"),
    Value(222, "BR Below_Right"),
    Value(224, "L Left"),
    Value(226, "R Right"),
    Value(228, "AL Above_Left"),
    Value(230, "A Above"),
    Value(232, "AR Above_Right"),
    Value(233, "DB Double_Below"),
    Value(234, "DA Double_Above"),
    Value(240, "IS Iota_Subscript"),
};

static const Value VALUES_GCB[13] = {
    Value(U_GCB_OTHER, "XX Other"),
    Value(U_GCB_CONTROL, "CN Control"),
    Value(U_GCB_CR, "CR CR"),
    Value(U_GCB_EXTEND, "EX Extend"),
    Value(U_GCB_L, "L L"),
    Value(U_GCB_LF, "LF LF"),
    Value(U_GCB_LV, "LV LV"),
    Value(U_GCB_LVT, "LVT LVT"),
    Value(U_GCB_T, "T T"),
    Value(U_GCB_V, "V V"),
    Value(U_GCB_SPACING_MARK, "SM SpacingMark"),
    Value(U_GCB_PREPEND, "PP Prepend"),
    Value(U_GCB_REGIONAL_INDICATOR, "RI Regional_Indicator"),
};

static const Value VALUES_SB[15] = {
    Value(U_SB_OTHER, "XX Other"),
    Value(U_SB_ATERM, "AT ATerm"),
    Value(U_SB_CLOSE, "CL Close"),
    Value(U_SB_FORMAT, "FO Format"),
    Value(U_SB_LOWER, "LO Lower"),
    Value(U_SB_NUMERIC, "NU Numeric"),
    Value(U_SB_OLETTER, "LE OLetter"),
    Value(U_SB_SEP, "SE Sep"),
    Value(U_SB_SP, "SP Sp"),
    Value(U_SB_STERM, "ST STerm"),
    Value(U_SB_UPPER, "UP Upper"),
    Value(U_SB_CR, "CR CR"),
    Value(U_SB_EXTEND, "EX Extend"),
    Value(U_SB_LF, "LF LF"),
    Value(U_SB_SCONTINUE, "SC SContinue"),
};

static const Value VALUES_WB[17] = {
    Value(U_WB_OTHER, "XX Other"),
    Value(U_WB_ALETTER, "LE ALetter"),
    Value(U_WB_FORMAT, "FO Format"),
    Value(U_WB_KATAKANA, "KA Katakana"),
    Value(U_WB_MIDLETTER, "ML MidLetter"),
    Value(U_WB_MIDNUM, "MN MidNum"),
    Value(U_WB_NUMERIC, "NU Numeric"),
    Value(U_WB_EXTENDNUMLET, "EX ExtendNumLet"),
    Value(U_WB_CR, "CR CR"),
    Value(U_WB_EXTEND, "Extend Extend"),
    Value(U_WB_LF, "LF LF"),
    Value(U_WB_MIDNUMLET, "MB MidNumLet"),
    Value(U_WB_NEWLINE, "NL Newline"),
    Value(U_WB_REGIONAL_INDICATOR, "RI Regional_Indicator"),
    Value(U_WB_HEBREW_LETTER, "HL Hebrew_Letter"),
    Value(U_WB_SINGLE_QUOTE, "SQ Single_Quote"),
    Value(U_WB_DOUBLE_QUOTE, "DQ Double_Quote"),
};

static const Value VALUES_bpt[3] = {
    Value(U_BPT_NONE, "n None"),
    Value(U_BPT_OPEN, "o Open"),
    Value(U_BPT_CLOSE, "c Close"),
};

static const Value VALUES_gcm[38] = {
    Value((int32_t)U_GC_C_MASK, "C Other"),
    Value((int32_t)U_GC_CC_MASK, "Cc Control cntrl"),
    Value((int32_t)U_GC_CF_MASK, "Cf Format"),
    Value((int32_t)U_GC_CN_MASK, "Cn Unassigned"),
    Value((int32_t)U_GC_CO_MASK, "Co Private_Use"),
    Value((int32_t)U_GC_CS_MASK, "Cs Surrogate"),
    Value((int32_t)U_GC_L_MASK, "L Letter"),
    Value((int32_t)U_GC_LC_MASK, "LC Cased_Letter"),
    Value((int32_t)U_GC_LL_MASK, "Ll Lowercase_Letter"),
    Value((int32_t)U_GC_LM_MASK, "Lm Modifier_Letter"),
    Value((int32_t)U_GC_LO_MASK, "Lo Other_Letter"),
    Value((int32_t)U_GC_LT_MASK, "Lt Titlecase_Letter"),
    Value((int32_t)U_GC_LU_MASK, "Lu Uppercase_Letter"),
    Value((int32_t)U_GC_M_MASK, "M Mark Combining_Mark"),
    Value((int32_t)U_GC_MC_MASK, "Mc Spacing_Mark"),
    Value((int32_t)U_GC_ME_MASK, "Me Enclosing_Mark"),
    Value((int32_t)U_GC_MN_MASK, "Mn Nonspacing_Mark"),
    Value((int32_t)U_GC_N_MASK, "N Number"),
    Value((int32_t)U_GC_ND_MASK, "Nd Decimal_Number digit"),
    Value((int32_t)U_GC_NL_MASK, "Nl Letter_Number"),
    Value((int32_t)U_GC_NO_MASK, "No Other_Number"),
    Value((int32_t)U_GC_P_MASK, "P Punctuation punct"),
    Value((int32_t)U_GC_PC_MASK, "Pc Connector_Punctuation"),
    Value((int32_t)U_GC_PD_MASK, "Pd Dash_Punctuation"),
    Value((int32_t)U_GC_PE_MASK, "Pe Close_Punctuation"),
    Value((int32_t)U_GC_PF_MASK, "Pf Final_Punctuation"),
    Value((int32_t)U_GC_PI_MASK, "Pi Initial_Punctuation"),
    Value((int32_t)U_GC_PO_MASK, "Po Other_Punctuation"),
    Value((int32_t)U_GC_PS_MASK, "Ps Open_Punctuation"),
    Value((int32_t)U_GC_S_MASK, "S Symbol"),
    Value((int32_t)U_GC_SC_MASK, "Sc Currency_Symbol"),
    Value((int32_t)U_GC_SK_MASK, "Sk Modifier_Symbol"),
    Value((int32_t)U_GC_SM_MASK, "Sm Math_Symbol"),
    Value((int32_t)U_GC_SO_MASK, "So Other_Symbol"),
    Value((int32_t)U_GC_Z_MASK, "Z Separator"),
    Value((int32_t)U_GC_ZL_MASK, "Zl Line_Separator"),
    Value((int32_t)U_GC_ZP_MASK, "Zp Paragraph_Separator"),
    Value((int32_t)U_GC_ZS_MASK, "Zs Space_Separator"),
};

static const Property PROPERTIES[96] = {
    Property(UCHAR_ALPHABETIC, "Alpha Alphabetic"),
    Property(UCHAR_ASCII_HEX_DIGIT, "AHex ASCII_Hex_Digit"),
    Property(UCHAR_BIDI_CONTROL, "Bidi_C Bidi_Control"),
    Property(UCHAR_BIDI_MIRRORED, "Bidi_M Bidi_Mirrored"),
    Property(UCHAR_DASH, "Dash Dash"),
    Property(UCHAR_DEFAULT_IGNORABLE_CODE_POINT, "DI Default_Ignorable_Code_Point"),
    Property(UCHAR_DEPRECATED, "Dep Deprecated"),
    Property(UCHAR_DIACRITIC, "Dia Diacritic"),
    Property(UCHAR_EXTENDER, "Ext Extender"),
    Property(UCHAR_FULL_COMPOSITION_EXCLUSION, "Comp_Ex Full_Composition_Exclusion"),
    Property(UCHAR_GRAPHEME_BASE, "Gr_Base Grapheme_Base"),
    Property(UCHAR_GRAPHEME_EXTEND, "Gr_Ext Grapheme_Extend"),
    Property(UCHAR_GRAPHEME_LINK, "Gr_Link Grapheme_Link"),
    Property(UCHAR_HEX_DIGIT, "Hex Hex_Digit"),
    Property(UCHAR_HYPHEN, "Hyphen Hyphen"),
    Property(UCHAR_ID_CONTINUE, "IDC ID_Continue"),
    Property(UCHAR_ID_START, "IDS ID_Start"),
    Property(UCHAR_IDEOGRAPHIC, "Ideo Ideographic"),
    Property(UCHAR_IDS_BINARY_OPERATOR, "IDSB IDS_Binary_Operator"),
    Property(UCHAR_IDS_TRINARY_OPERATOR, "IDST IDS_Trinary_Operator"),
    Property(UCHAR_JOIN_CONTROL, "Join_C Join_Control"),
    Property(UCHAR_LOGICAL_ORDER_EXCEPTION, "LOE Logical_Order_Exception"),
    Property(UCHAR_LOWERCASE, "Lower Lowercase"),
    Property(UCHAR_MATH, "Math Math"),
    Property(UCHAR_NONCHARACTER_CODE_POINT, "NChar Noncharacter_Code_Point"),
    Property(UCHAR_QUOTATION_MARK, "QMark Quotation_Mark"),
    Property(UCHAR_RADICAL, "Radical Radical"),
    Property(UCHAR_SOFT_DOTTED, "SD Soft_Dotted"),
    Property(UCHAR_TERMINAL_PUNCTUATION, "Term Terminal_Punctuation"),
    Property(UCHAR_UNIFIED_IDEOGRAPH, "UIdeo Unified_Ideograph"),
    Property(UCHAR_UPPERCASE, "Upper Uppercase"),
    Property(UCHAR_WHITE_SPACE, "WSpace White_Space space"),
    Property(UCHAR_XID_CONTINUE, "XIDC XID_Continue"),
    Property(UCHAR_XID_START, "XIDS XID_Start"),
    Property(UCHAR_CASE_SENSITIVE, "Sensitive Case_Sensitive"),
    Property(UCHAR_S_TERM, "STerm STerm"),
    Property(UCHAR_VARIATION_SELECTOR, "VS Variation_Selector"),
    Property(UCHAR_NFD_INERT, "nfdinert NFD_Inert"),
    Property(UCHAR_NFKD_INERT, "nfkdinert NFKD_Inert"),
    Property(UCHAR_NFC_INERT, "nfcinert NFC_Inert"),
    Property(UCHAR_NFKC_INERT, "nfkcinert NFKC_Inert"),
    Property(UCHAR_SEGMENT_STARTER, "segstart Segment_Starter"),
    Property(UCHAR_PATTERN_SYNTAX, "Pat_Syn Pattern_Syntax"),
    Property(UCHAR_PATTERN_WHITE_SPACE, "Pat_WS Pattern_White_Space"),
    Property(UCHAR_POSIX_ALNUM, " alnum"),
    Property(UCHAR_POSIX_BLANK, " blank"),
    Property(UCHAR_POSIX_GRAPH, " graph"),
    Property(UCHAR_POSIX_PRINT, " print"),
    Property(UCHAR_POSIX_XDIGIT, " xdigit"),
    Property(UCHAR_CASED, "Cased Cased"),
    Property(UCHAR_CASE_IGNORABLE, "CI Case_Ignorable"),
    Property(UCHAR_CHANGES_WHEN_LOWERCASED, "CWL Changes_When_Lowercased"),
    Property(UCHAR_CHANGES_WHEN_UPPERCASED, "CWU Changes_When_Uppercased"),
    Property(UCHAR_CHANGES_WHEN_TITLECASED, "CWT Changes_When_Titlecased"),
    Property(UCHAR_CHANGES_WHEN_CASEFOLDED, "CWCF Changes_When_Casefolded"),
    Property(UCHAR_CHANGES_WHEN_CASEMAPPED, "CWCM Changes_When_Casemapped"),
    Property(UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED, "CWKCF Changes_When_NFKC_Casefolded"),
    Property(UCHAR_BIDI_CLASS, "bc Bidi_Class", VALUES_bc, 23),
    Property(UCHAR_BLOCK, "blk Block", VALUES_blk, 221),
    Property(UCHAR_CANONICAL_COMBINING_CLASS, "ccc Canonical_Combining_Class", VALUES_ccc, 57),
    Property(UCHAR_DECOMPOSITION_TYPE, "dt Decomposition_Type", VALUES_dt, 18),
    Property(UCHAR_EAST_ASIAN_WIDTH, "ea East_Asian_Width", VALUES_ea, 6),
    Property(UCHAR_GENERAL_CATEGORY, "gc General_Category", VALUES_gc, 30),
    Property(UCHAR_JOINING_GROUP, "jg Joining_Group", VALUES_jg, 58),
    Property(UCHAR_JOINING_TYPE, "jt Joining_Type", VALUES_jt, 6),
    Property(UCHAR_LINE_BREAK, "lb Line_Break", VALUES_lb, 40),
    Property(UCHAR_NUMERIC_TYPE, "nt Numeric_Type", VALUES_nt, 4),
    Property(UCHAR_SCRIPT, "sc Script", VALUES_sc, 161),
    Property(UCHAR_HANGUL_SYLLABLE_TYPE, "hst Hangul_Syllable_Type", VALUES_hst, 6),
    Property(UCHAR_NFD_QUICK_CHECK, "NFD_QC NFD_Quick_Check", VALUES_NFD_QC, 2),
    Property(UCHAR_NFKD_QUICK_CHECK, "NFKD_QC NFKD_Quick_Check", VALUES_NFKD_QC, 2),
    Property(UCHAR_NFC_QUICK_CHECK, "NFC_QC NFC_Quick_Check", VALUES_NFC_QC, 3),
    Property(UCHAR_NFKC_QUICK_CHECK, "NFKC_QC NFKC_Quick_Check", VALUES_NFKC_QC, 3),
    Property(UCHAR_LEAD_CANONICAL_COMBINING_CLASS, "lccc Lead_Canonical_Combining_Class", VALUES_lccc, 57),
    Property(UCHAR_TRAIL_CANONICAL_COMBINING_CLASS, "tccc Trail_Canonical_Combining_Class", VALUES_tccc, 57),
    Property(UCHAR_GRAPHEME_CLUSTER_BREAK, "GCB Grapheme_Cluster_Break", VALUES_GCB, 13),
    Property(UCHAR_SENTENCE_BREAK, "SB Sentence_Break", VALUES_SB, 15),
    Property(UCHAR_WORD_BREAK, "WB Word_Break", VALUES_WB, 17),
    Property(UCHAR_BIDI_PAIRED_BRACKET_TYPE, "bpt Bidi_Paired_Bracket_Type", VALUES_bpt, 3),
    Property(UCHAR_GENERAL_CATEGORY_MASK, "gcm General_Category_Mask", VALUES_gcm, 38),
    Property(UCHAR_NUMERIC_VALUE, "nv Numeric_Value"),
    Property(UCHAR_AGE, "age Age"),
    Property(UCHAR_BIDI_MIRRORING_GLYPH, "bmg Bidi_Mirroring_Glyph"),
    Property(UCHAR_CASE_FOLDING, "cf Case_Folding"),
    Property(UCHAR_ISO_COMMENT, "isc ISO_Comment"),
    Property(UCHAR_LOWERCASE_MAPPING, "lc Lowercase_Mapping"),
    Property(UCHAR_NAME, "na Name"),
    Property(UCHAR_SIMPLE_CASE_FOLDING, "scf Simple_Case_Folding sfc"),
    Property(UCHAR_SIMPLE_LOWERCASE_MAPPING, "slc Simple_Lowercase_Mapping"),
    Property(UCHAR_SIMPLE_TITLECASE_MAPPING, "stc Simple_Titlecase_Mapping"),
    Property(UCHAR_SIMPLE_UPPERCASE_MAPPING, "suc Simple_Uppercase_Mapping"),
    Property(UCHAR_TITLECASE_MAPPING, "tc Titlecase_Mapping"),
    Property(UCHAR_UNICODE_1_NAME, "na1 Unicode_1_Name"),
    Property(UCHAR_UPPERCASE_MAPPING, "uc Uppercase_Mapping"),
    Property(UCHAR_BIDI_PAIRED_BRACKET, "bpb Bidi_Paired_Bracket"),
    Property(UCHAR_SCRIPT_EXTENSIONS, "scx Script_Extensions"),
};

const int32_t MAX_ALIASES = 4;
