+static const char * const UNI_age_values[] = {
+ "1.1",
+ "2.0",
+ "2.1",
+ "3.0",
+ "3.1",
+ "3.2",
+ "4.0",
+ "4.1",
+ "5.0",
+ "5.1",
+ "5.2",
+ "6.0",
+ "6.1",
+ "6.2",
+ "6.3",
+ "7.0",
+ "8.0",
+ "9.0",
+ "10.0",
+ "11.0",
+ "12.0",
+ "12.1",
+ "NA",
+ "na",
+ "Unassigned",
+ "unassigned",
+ "V10_0",
+ "V11_0",
+ "V12_0",
+ "V12_1",
+ "V1_1",
+ "V2_0",
+ "V2_1",
+ "V3_0",
+ "V3_1",
+ "V3_2",
+ "V4_0",
+ "V4_1",
+ "V5_0",
+ "V5_1",
+ "V5_2",
+ "V6_0",
+ "V6_1",
+ "V6_2",
+ "V6_3",
+ "V7_0",
+ "V8_0",
+ "V9_0",
+ "v100",
+ "v11",
+ "v110",
+ "v120",
+ "v121",
+ "v20",
+ "v21",
+ "v30",
+ "v31",
+ "v32",
+ "v40",
+ "v41",
+ "v50",
+ "v51",
+ "v52",
+ "v60",
+ "v61",
+ "v62",
+ "v63",
+ "v70",
+ "v80",
+ "v90",
+ NULL
+};
+
+static const char * const UNI_ahex_values[] = {
+ "F",
+ "f",
+ "False",
+ "false",
+ "N",
+ "n",
+ "No",
+ "no",
+ "T",
+ "t",
+ "True",
+ "true",
+ "Y",
+ "y",
+ "Yes",
+ "yes",
+ NULL
+};
+
+static const char * const UNI_bc_values[] = {
+ "AL",
+ "al",
+ "AN",
+ "an",
+ "Arabic_Letter",
+ "arabicletter",
+ "Arabic_Number",
+ "arabicnumber",
+ "B",
+ "b",
+ "BN",
+ "bn",
+ "Boundary_Neutral",
+ "boundaryneutral",
+ "Common_Separator",
+ "commonseparator",
+ "CS",
+ "cs",
+ "EN",
+ "en",
+ "ES",
+ "es",
+ "ET",
+ "et",
+ "European_Number",
+ "europeannumber",
+ "European_Separator",
+ "europeanseparator",
+ "European_Terminator",
+ "europeanterminator",
+ "First_Strong_Isolate",
+ "firststrongisolate",
+ "FSI",
+ "fsi",
+ "L",
+ "l",
+ "Left_To_Right",
+ "lefttoright",
+ "Left_To_Right_Embedding",
+ "lefttorightembedding",
+ "Left_To_Right_Isolate",
+ "lefttorightisolate",
+ "Left_To_Right_Override",
+ "lefttorightoverride",
+ "LRE",
+ "lre",
+ "LRI",
+ "lri",
+ "LRO",
+ "lro",
+ "Nonspacing_Mark",
+ "nonspacingmark",
+ "NSM",
+ "nsm",
+ "ON",
+ "on",
+ "Other_Neutral",
+ "otherneutral",
+ "Paragraph_Separator",
+ "paragraphseparator",
+ "PDF",
+ "pdf",
+ "PDI",
+ "pdi",
+ "Pop_Directional_Format",
+ "popdirectionalformat",
+ "Pop_Directional_Isolate",
+ "popdirectionalisolate",
+ "R",
+ "r",
+ "Right_To_Left",
+ "righttoleft",
+ "Right_To_Left_Embedding",
+ "righttoleftembedding",
+ "Right_To_Left_Isolate",
+ "righttoleftisolate",
+ "Right_To_Left_Override",
+ "righttoleftoverride",
+ "RLE",
+ "rle",
+ "RLI",
+ "rli",
+ "RLO",
+ "rlo",
+ "S",
+ "s",
+ "Segment_Separator",
+ "segmentseparator",
+ "White_Space",
+ "whitespace",
+ "WS",
+ "ws",
+ NULL
+};
+
+static const char * const UNI_blk_values[] = {
+ "Adlam",
+ "adlam",
+ "Aegean Numbers",
+ "Aegean_Numbers",
+ "aegeannumbers",
+ "Ahom",
+ "ahom",
+ "Alchemical",
+ "alchemical",
+ "Alchemical Symbols",
+ "Alchemical_Symbols",
+ "alchemicalsymbols",
+ "Alphabetic_PF",
+ "alphabeticpf",
+ "Alphabetic Presentation Forms",
+ "Alphabetic_Presentation_Forms",
+ "alphabeticpresentationforms",
+ "Anatolian Hieroglyphs",
+ "Anatolian_Hieroglyphs",
+ "anatolianhieroglyphs",
+ "Ancient_Greek_Music",
+ "ancientgreekmusic",
+ "Ancient Greek Musical Notation",
+ "Ancient_Greek_Musical_Notation",
+ "ancientgreekmusicalnotation",
+ "Ancient Greek Numbers",
+ "Ancient_Greek_Numbers",
+ "ancientgreeknumbers",
+ "Ancient Symbols",
+ "Ancient_Symbols",
+ "ancientsymbols",
+ "Arabic",
+ "arabic",
+ "Arabic_Ext_A",
+ "arabicexta",
+ "Arabic Extended-A",
+ "Arabic_Extended_A",
+ "arabicextendeda",
+ "Arabic_Math",
+ "arabicmath",
+ "Arabic Mathematical Alphabetic Symbols",
+ "Arabic_Mathematical_Alphabetic_Symbols",
+ "arabicmathematicalalphabeticsymbols",
+ "Arabic_PF_A",
+ "arabicpfa",
+ "Arabic_PF_B",
+ "arabicpfb",
+ "Arabic Presentation Forms-A",
+ "Arabic_Presentation_Forms_A",
+ "arabicpresentationformsa",
+ "Arabic Presentation Forms-B",
+ "Arabic_Presentation_Forms_B",
+ "arabicpresentationformsb",
+ "Arabic_Sup",
+ "arabicsup",
+ "Arabic Supplement",
+ "Arabic_Supplement",
+ "arabicsupplement",
+ "Armenian",
+ "armenian",
+ "Arrows",
+ "arrows",
+ "ASCII",
+ "ascii",
+ "Avestan",
+ "avestan",
+ "Balinese",
+ "balinese",
+ "Bamum",
+ "bamum",
+ "Bamum_Sup",
+ "bamumsup",
+ "Bamum Supplement",
+ "Bamum_Supplement",
+ "bamumsupplement",
+ "Basic Latin",
+ "Basic_Latin",
+ "basiclatin",
+ "Bassa Vah",
+ "Bassa_Vah",
+ "bassavah",
+ "Batak",
+ "batak",
+ "Bengali",
+ "bengali",
+ "Bhaiksuki",
+ "bhaiksuki",
+ "Block Elements",
+ "Block_Elements",
+ "blockelements",
+ "Bopomofo",
+ "bopomofo",
+ "Bopomofo_Ext",
+ "bopomofoext",
+ "Bopomofo Extended",
+ "Bopomofo_Extended",
+ "bopomofoextended",
+ "Box Drawing",
+ "Box_Drawing",
+ "boxdrawing",
+ "Brahmi",
+ "brahmi",
+ "Braille",
+ "braille",
+ "Braille Patterns",
+ "Braille_Patterns",
+ "braillepatterns",
+ "Buginese",
+ "buginese",
+ "Buhid",
+ "buhid",
+ "Byzantine_Music",
+ "byzantinemusic",
+ "Byzantine Musical Symbols",
+ "Byzantine_Musical_Symbols",
+ "byzantinemusicalsymbols",
+ "Canadian_Syllabics",
+ "canadiansyllabics",
+ "Carian",
+ "carian",
+ "Caucasian Albanian",
+ "Caucasian_Albanian",
+ "caucasianalbanian",
+ "Chakma",
+ "chakma",
+ "Cham",
+ "cham",
+ "Cherokee",
+ "cherokee",
+ "Cherokee_Sup",
+ "cherokeesup",
+ "Cherokee Supplement",
+ "Cherokee_Supplement",
+ "cherokeesupplement",
+ "Chess Symbols",
+ "Chess_Symbols",
+ "chesssymbols",
+ "CJK",
+ "cjk",
+ "CJK_Compat",
+ "cjkcompat",
+ "CJK_Compat_Forms",
+ "cjkcompatforms",
+ "CJK Compatibility",
+ "CJK_Compatibility",
+ "cjkcompatibility",
+ "CJK Compatibility Forms",
+ "CJK_Compatibility_Forms",
+ "cjkcompatibilityforms",
+ "CJK Compatibility Ideographs",
+ "CJK_Compatibility_Ideographs",
+ "cjkcompatibilityideographs",
+ "CJK Compatibility Ideographs Supplement",
+ "CJK_Compatibility_Ideographs_Supplement",
+ "cjkcompatibilityideographssupplement",
+ "CJK_Compat_Ideographs",
+ "cjkcompatideographs",
+ "CJK_Compat_Ideographs_Sup",
+ "cjkcompatideographssup",
+ "CJK_Ext_A",
+ "cjkexta",
+ "CJK_Ext_B",
+ "cjkextb",
+ "CJK_Ext_C",
+ "cjkextc",
+ "CJK_Ext_D",
+ "cjkextd",
+ "CJK_Ext_E",
+ "cjkexte",
+ "CJK_Ext_F",
+ "cjkextf",
+ "CJK_Radicals_Sup",
+ "cjkradicalssup",
+ "CJK Radicals Supplement",
+ "CJK_Radicals_Supplement",
+ "cjkradicalssupplement",
+ "CJK Strokes",
+ "CJK_Strokes",
+ "cjkstrokes",
+ "CJK_Symbols",
+ "cjksymbols",
+ "CJK Symbols and Punctuation",
+ "CJK_Symbols_And_Punctuation",
+ "cjksymbolsandpunctuation",
+ "CJK Unified Ideographs",
+ "CJK_Unified_Ideographs",
+ "cjkunifiedideographs",
+ "CJK Unified Ideographs Extension A",
+ "CJK_Unified_Ideographs_Extension_A",
+ "cjkunifiedideographsextensiona",
+ "CJK Unified Ideographs Extension B",
+ "CJK_Unified_Ideographs_Extension_B",
+ "cjkunifiedideographsextensionb",
+ "CJK Unified Ideographs Extension C",
+ "CJK_Unified_Ideographs_Extension_C",
+ "cjkunifiedideographsextensionc",
+ "CJK Unified Ideographs Extension D",
+ "CJK_Unified_Ideographs_Extension_D",
+ "cjkunifiedideographsextensiond",
+ "CJK Unified Ideographs Extension E",
+ "CJK_Unified_Ideographs_Extension_E",
+ "cjkunifiedideographsextensione",
+ "CJK Unified Ideographs Extension F",
+ "CJK_Unified_Ideographs_Extension_F",
+ "cjkunifiedideographsextensionf",
+ "Combining Diacritical Marks",
+ "Combining_Diacritical_Marks",
+ "combiningdiacriticalmarks",
+ "Combining Diacritical Marks Extended",
+ "Combining_Diacritical_Marks_Extended",
+ "combiningdiacriticalmarksextended",
+ "Combining Diacritical Marks for Symbols",
+ "Combining_Diacritical_Marks_For_Symbols",
+ "combiningdiacriticalmarksforsymbols",
+ "Combining Diacritical Marks Supplement",
+ "Combining_Diacritical_Marks_Supplement",
+ "combiningdiacriticalmarkssupplement",
+ "Combining Half Marks",
+ "Combining_Half_Marks",
+ "combininghalfmarks",
+ "Combining_Marks_For_Symbols",
+ "combiningmarksforsymbols",
+ "Common Indic Number Forms",
+ "Common_Indic_Number_Forms",
+ "commonindicnumberforms",
+ "Compat_Jamo",
+ "compatjamo",
+ "Control Pictures",
+ "Control_Pictures",
+ "controlpictures",
+ "Coptic",
+ "coptic",
+ "Coptic Epact Numbers",
+ "Coptic_Epact_Numbers",
+ "copticepactnumbers",
+ "Counting_Rod",
+ "countingrod",
+ "Counting Rod Numerals",
+ "Counting_Rod_Numerals",
+ "countingrodnumerals",
+ "Cuneiform",
+ "cuneiform",
+ "Cuneiform_Numbers",
+ "cuneiformnumbers",
+ "Cuneiform Numbers and Punctuation",
+ "Cuneiform_Numbers_And_Punctuation",
+ "cuneiformnumbersandpunctuation",
+ "Currency Symbols",
+ "Currency_Symbols",
+ "currencysymbols",
+ "Cypriot Syllabary",
+ "Cypriot_Syllabary",
+ "cypriotsyllabary",
+ "Cyrillic",
+ "cyrillic",
+ "Cyrillic_Ext_A",
+ "cyrillicexta",
+ "Cyrillic_Ext_B",
+ "cyrillicextb",
+ "Cyrillic_Ext_C",
+ "cyrillicextc",
+ "Cyrillic Extended-A",
+ "Cyrillic_Extended_A",
+ "cyrillicextendeda",
+ "Cyrillic Extended-B",
+ "Cyrillic_Extended_B",
+ "cyrillicextendedb",
+ "Cyrillic Extended-C",
+ "Cyrillic_Extended_C",
+ "cyrillicextendedc",
+ "Cyrillic_Sup",
+ "cyrillicsup",
+ "Cyrillic Supplement",
+ "Cyrillic_Supplement",
+ "cyrillicsupplement",
+ "Cyrillic_Supplementary",
+ "cyrillicsupplementary",
+ "Deseret",
+ "deseret",
+ "Devanagari",
+ "devanagari",
+ "Devanagari_Ext",
+ "devanagariext",
+ "Devanagari Extended",
+ "Devanagari_Extended",
+ "devanagariextended",
+ "Diacriticals",
+ "diacriticals",
+ "Diacriticals_Ext",
+ "diacriticalsext",
+ "Diacriticals_For_Symbols",
+ "diacriticalsforsymbols",
+ "Diacriticals_Sup",
+ "diacriticalssup",
+ "Dingbats",
+ "dingbats",
+ "Dogra",
+ "dogra",
+ "Domino",
+ "domino",
+ "Domino Tiles",
+ "Domino_Tiles",
+ "dominotiles",
+ "Duployan",
+ "duployan",
+ "Early Dynastic Cuneiform",
+ "Early_Dynastic_Cuneiform",
+ "earlydynasticcuneiform",
+ "Egyptian Hieroglyph Format Controls",
+ "Egyptian_Hieroglyph_Format_Controls",
+ "egyptianhieroglyphformatcontrols",
+ "Egyptian Hieroglyphs",
+ "Egyptian_Hieroglyphs",
+ "egyptianhieroglyphs",
+ "Elbasan",
+ "elbasan",
+ "Elymaic",
+ "elymaic",
+ "Emoticons",
+ "emoticons",
+ "Enclosed_Alphanum",
+ "enclosedalphanum",
+ "Enclosed Alphanumerics",
+ "Enclosed_Alphanumerics",
+ "enclosedalphanumerics",
+ "Enclosed Alphanumeric Supplement",
+ "Enclosed_Alphanumeric_Supplement",
+ "enclosedalphanumericsupplement",
+ "Enclosed_Alphanum_Sup",
+ "enclosedalphanumsup",
+ "Enclosed_CJK",
+ "enclosedcjk",
+ "Enclosed CJK Letters and Months",
+ "Enclosed_CJK_Letters_And_Months",
+ "enclosedcjklettersandmonths",
+ "Enclosed_Ideographic_Sup",
+ "enclosedideographicsup",
+ "Enclosed Ideographic Supplement",
+ "Enclosed_Ideographic_Supplement",
+ "enclosedideographicsupplement",
+ "Ethiopic",
+ "ethiopic",
+ "Ethiopic_Ext",
+ "ethiopicext",
+ "Ethiopic_Ext_A",
+ "ethiopicexta",
+ "Ethiopic Extended",
+ "Ethiopic_Extended",
+ "ethiopicextended",
+ "Ethiopic Extended-A",
+ "Ethiopic_Extended_A",
+ "ethiopicextendeda",
+ "Ethiopic_Sup",
+ "ethiopicsup",
+ "Ethiopic Supplement",
+ "Ethiopic_Supplement",
+ "ethiopicsupplement",
+ "General Punctuation",
+ "General_Punctuation",
+ "generalpunctuation",
+ "Geometric Shapes",
+ "Geometric_Shapes",
+ "geometricshapes",
+ "Geometric_Shapes_Ext",
+ "geometricshapesext",
+ "Geometric Shapes Extended",
+ "Geometric_Shapes_Extended",
+ "geometricshapesextended",
+ "Georgian",
+ "georgian",
+ "Georgian_Ext",
+ "georgianext",
+ "Georgian Extended",
+ "Georgian_Extended",
+ "georgianextended",
+ "Georgian_Sup",
+ "georgiansup",
+ "Georgian Supplement",
+ "Georgian_Supplement",
+ "georgiansupplement",
+ "Glagolitic",
+ "glagolitic",
+ "Glagolitic_Sup",
+ "glagoliticsup",
+ "Glagolitic Supplement",
+ "Glagolitic_Supplement",
+ "glagoliticsupplement",
+ "Gothic",
+ "gothic",
+ "Grantha",
+ "grantha",
+ "Greek",
+ "greek",
+ "Greek and Coptic",
+ "Greek_And_Coptic",
+ "greekandcoptic",
+ "Greek_Ext",
+ "greekext",
+ "Greek Extended",
+ "Greek_Extended",
+ "greekextended",
+ "Gujarati",
+ "gujarati",
+ "Gunjala Gondi",
+ "Gunjala_Gondi",
+ "gunjalagondi",
+ "Gurmukhi",
+ "gurmukhi",
+ "Half_And_Full_Forms",
+ "halfandfullforms",
+ "Half_Marks",
+ "halfmarks",
+ "Halfwidth and Fullwidth Forms",
+ "Halfwidth_And_Fullwidth_Forms",
+ "halfwidthandfullwidthforms",
+ "Hangul",
+ "hangul",
+ "Hangul Compatibility Jamo",
+ "Hangul_Compatibility_Jamo",
+ "hangulcompatibilityjamo",
+ "Hangul Jamo",
+ "Hangul_Jamo",
+ "hanguljamo",
+ "Hangul Jamo Extended-A",
+ "Hangul_Jamo_Extended_A",
+ "hanguljamoextendeda",
+ "Hangul Jamo Extended-B",
+ "Hangul_Jamo_Extended_B",
+ "hanguljamoextendedb",
+ "Hangul Syllables",
+ "Hangul_Syllables",
+ "hangulsyllables",
+ "Hanifi Rohingya",
+ "Hanifi_Rohingya",
+ "hanifirohingya",
+ "Hanunoo",
+ "hanunoo",
+ "Hatran",
+ "hatran",
+ "Hebrew",
+ "hebrew",
+ "High Private Use Surrogates",
+ "High_Private_Use_Surrogates",
+ "highprivateusesurrogates",
+ "High_PU_Surrogates",
+ "highpusurrogates",
+ "High Surrogates",
+ "High_Surrogates",
+ "highsurrogates",
+ "Hiragana",
+ "hiragana",
+ "IDC",
+ "idc",
+ "Ideographic Description Characters",
+ "Ideographic_Description_Characters",
+ "ideographicdescriptioncharacters",
+ "Ideographic_Symbols",
+ "ideographicsymbols",
+ "Ideographic Symbols and Punctuation",
+ "Ideographic_Symbols_And_Punctuation",
+ "ideographicsymbolsandpunctuation",
+ "Imperial Aramaic",
+ "Imperial_Aramaic",
+ "imperialaramaic",
+ "Indic_Number_Forms",
+ "indicnumberforms",
+ "Indic Siyaq Numbers",
+ "Indic_Siyaq_Numbers",
+ "indicsiyaqnumbers",
+ "Inscriptional Pahlavi",
+ "Inscriptional_Pahlavi",
+ "inscriptionalpahlavi",
+ "Inscriptional Parthian",
+ "Inscriptional_Parthian",
+ "inscriptionalparthian",
+ "IPA_Ext",
+ "ipaext",
+ "IPA Extensions",
+ "IPA_Extensions",
+ "ipaextensions",
+ "Jamo",
+ "jamo",
+ "Jamo_Ext_A",
+ "jamoexta",
+ "Jamo_Ext_B",
+ "jamoextb",
+ "Javanese",
+ "javanese",
+ "Kaithi",
+ "kaithi",
+ "Kana_Ext_A",
+ "kanaexta",
+ "Kana Extended-A",
+ "Kana_Extended_A",
+ "kanaextendeda",
+ "Kana_Sup",
+ "kanasup",
+ "Kana Supplement",
+ "Kana_Supplement",
+ "kanasupplement",
+ "Kanbun",
+ "kanbun",
+ "Kangxi",
+ "kangxi",
+ "Kangxi Radicals",
+ "Kangxi_Radicals",
+ "kangxiradicals",
+ "Kannada",
+ "kannada",
+ "Katakana",
+ "katakana",
+ "Katakana_Ext",
+ "katakanaext",
+ "Katakana Phonetic Extensions",
+ "Katakana_Phonetic_Extensions",
+ "katakanaphoneticextensions",
+ "Kayah Li",
+ "Kayah_Li",
+ "kayahli",
+ "Kharoshthi",
+ "kharoshthi",
+ "Khmer",
+ "khmer",
+ "Khmer Symbols",
+ "Khmer_Symbols",
+ "khmersymbols",
+ "Khojki",
+ "khojki",
+ "Khudawadi",
+ "khudawadi",
+ "Lao",
+ "lao",
+ "Latin_1",
+ "latin1",
+ "Latin_Ext_A",
+ "latinexta",
+ "Latin_Ext_Additional",
+ "latinextadditional",
+ "Latin_Ext_B",
+ "latinextb",
+ "Latin_Ext_C",
+ "latinextc",
+ "Latin_Ext_D",
+ "latinextd",
+ "Latin_Ext_E",
+ "latinexte",
+ "Latin Extended-A",
+ "Latin_Extended_A",
+ "latinextendeda",
+ "Latin Extended Additional",
+ "Latin_Extended_Additional",
+ "latinextendedadditional",
+ "Latin Extended-B",
+ "Latin_Extended_B",
+ "latinextendedb",
+ "Latin Extended-C",
+ "Latin_Extended_C",
+ "latinextendedc",
+ "Latin Extended-D",
+ "Latin_Extended_D",
+ "latinextendedd",
+ "Latin Extended-E",
+ "Latin_Extended_E",
+ "latinextendede",
+ "Latin_1_Sup",
+ "latin1sup",
+ "Latin-1 Supplement",
+ "Latin_1_Supplement",
+ "latin1supplement",
+ "Lepcha",
+ "lepcha",
+ "Letterlike Symbols",
+ "Letterlike_Symbols",
+ "letterlikesymbols",
+ "Limbu",
+ "limbu",
+ "Linear A",
+ "Linear_A",
+ "lineara",
+ "Linear B Ideograms",
+ "Linear_B_Ideograms",
+ "linearbideograms",
+ "Linear B Syllabary",
+ "Linear_B_Syllabary",
+ "linearbsyllabary",
+ "Lisu",
+ "lisu",
+ "Low Surrogates",
+ "Low_Surrogates",
+ "lowsurrogates",
+ "Lycian",
+ "lycian",
+ "Lydian",
+ "lydian",
+ "Mahajani",
+ "mahajani",
+ "Mahjong",
+ "mahjong",
+ "Mahjong Tiles",
+ "Mahjong_Tiles",
+ "mahjongtiles",
+ "Makasar",
+ "makasar",
+ "Malayalam",
+ "malayalam",
+ "Mandaic",
+ "mandaic",
+ "Manichaean",
+ "manichaean",
+ "Marchen",
+ "marchen",
+ "Masaram Gondi",
+ "Masaram_Gondi",
+ "masaramgondi",
+ "Math_Alphanum",
+ "mathalphanum",
+ "Mathematical Alphanumeric Symbols",
+ "Mathematical_Alphanumeric_Symbols",
+ "mathematicalalphanumericsymbols",
+ "Mathematical Operators",
+ "Mathematical_Operators",
+ "mathematicaloperators",
+ "Math_Operators",
+ "mathoperators",
+ "Mayan Numerals",
+ "Mayan_Numerals",
+ "mayannumerals",
+ "Medefaidrin",
+ "medefaidrin",
+ "Meetei Mayek",
+ "Meetei_Mayek",
+ "meeteimayek",
+ "Meetei_Mayek_Ext",
+ "meeteimayekext",
+ "Meetei Mayek Extensions",
+ "Meetei_Mayek_Extensions",
+ "meeteimayekextensions",
+ "Mende Kikakui",
+ "Mende_Kikakui",
+ "mendekikakui",
+ "Meroitic Cursive",
+ "Meroitic_Cursive",
+ "meroiticcursive",
+ "Meroitic Hieroglyphs",
+ "Meroitic_Hieroglyphs",
+ "meroitichieroglyphs",
+ "Miao",
+ "miao",
+ "Misc_Arrows",
+ "miscarrows",
+ "Miscellaneous Mathematical Symbols-A",
+ "Miscellaneous_Mathematical_Symbols_A",
+ "miscellaneousmathematicalsymbolsa",
+ "Miscellaneous Mathematical Symbols-B",
+ "Miscellaneous_Mathematical_Symbols_B",
+ "miscellaneousmathematicalsymbolsb",
+ "Miscellaneous Symbols",
+ "Miscellaneous_Symbols",
+ "miscellaneoussymbols",
+ "Miscellaneous Symbols and Arrows",
+ "Miscellaneous_Symbols_And_Arrows",
+ "miscellaneoussymbolsandarrows",
+ "Miscellaneous Symbols and Pictographs",
+ "Miscellaneous_Symbols_And_Pictographs",
+ "miscellaneoussymbolsandpictographs",
+ "Miscellaneous Technical",
+ "Miscellaneous_Technical",
+ "miscellaneoustechnical",
+ "Misc_Math_Symbols_A",
+ "miscmathsymbolsa",
+ "Misc_Math_Symbols_B",
+ "miscmathsymbolsb",
+ "Misc_Pictographs",
+ "miscpictographs",
+ "Misc_Symbols",
+ "miscsymbols",
+ "Misc_Technical",
+ "misctechnical",
+ "Modi",
+ "modi",
+ "Modifier_Letters",
+ "modifierletters",
+ "Modifier Tone Letters",
+ "Modifier_Tone_Letters",
+ "modifiertoneletters",
+ "Mongolian",
+ "mongolian",
+ "Mongolian_Sup",
+ "mongoliansup",
+ "Mongolian Supplement",
+ "Mongolian_Supplement",
+ "mongoliansupplement",
+ "Mro",
+ "mro",
+ "Multani",
+ "multani",
+ "Music",
+ "music",
+ "Musical Symbols",
+ "Musical_Symbols",
+ "musicalsymbols",
+ "Myanmar",
+ "myanmar",
+ "Myanmar_Ext_A",
+ "myanmarexta",
+ "Myanmar_Ext_B",
+ "myanmarextb",
+ "Myanmar Extended-A",
+ "Myanmar_Extended_A",
+ "myanmarextendeda",
+ "Myanmar Extended-B",
+ "Myanmar_Extended_B",
+ "myanmarextendedb",
+ "Nabataean",
+ "nabataean",
+ "Nandinagari",
+ "nandinagari",
+ "NB",
+ "nb",
+ "Newa",
+ "newa",
+ "New Tai Lue",
+ "New_Tai_Lue",
+ "newtailue",
+ "NKo",
+ "nko",
+ "No_Block",
+ "noblock",
+ "Number Forms",
+ "Number_Forms",
+ "numberforms",
+ "Nushu",
+ "nushu",
+ "Nyiakeng Puachue Hmong",
+ "Nyiakeng_Puachue_Hmong",
+ "nyiakengpuachuehmong",
+ "OCR",
+ "ocr",
+ "Ogham",
+ "ogham",
+ "Ol Chiki",
+ "Ol_Chiki",
+ "olchiki",
+ "Old Hungarian",
+ "Old_Hungarian",
+ "oldhungarian",
+ "Old Italic",
+ "Old_Italic",
+ "olditalic",
+ "Old North Arabian",
+ "Old_North_Arabian",
+ "oldnortharabian",
+ "Old Permic",
+ "Old_Permic",
+ "oldpermic",
+ "Old Persian",
+ "Old_Persian",
+ "oldpersian",
+ "Old Sogdian",
+ "Old_Sogdian",
+ "oldsogdian",
+ "Old South Arabian",
+ "Old_South_Arabian",
+ "oldsoutharabian",
+ "Old Turkic",
+ "Old_Turkic",
+ "oldturkic",
+ "Optical Character Recognition",
+ "Optical_Character_Recognition",
+ "opticalcharacterrecognition",
+ "Oriya",
+ "oriya",
+ "Ornamental Dingbats",
+ "Ornamental_Dingbats",
+ "ornamentaldingbats",
+ "Osage",
+ "osage",
+ "Osmanya",
+ "osmanya",
+ "Ottoman Siyaq Numbers",
+ "Ottoman_Siyaq_Numbers",
+ "ottomansiyaqnumbers",
+ "Pahawh Hmong",
+ "Pahawh_Hmong",
+ "pahawhhmong",
+ "Palmyrene",
+ "palmyrene",
+ "Pau Cin Hau",
+ "Pau_Cin_Hau",
+ "paucinhau",
+ "Phags-pa",
+ "Phags_Pa",
+ "phagspa",
+ "Phaistos",
+ "phaistos",
+ "Phaistos Disc",
+ "Phaistos_Disc",
+ "phaistosdisc",
+ "Phoenician",
+ "phoenician",
+ "Phonetic_Ext",
+ "phoneticext",
+ "Phonetic Extensions",
+ "Phonetic_Extensions",
+ "phoneticextensions",
+ "Phonetic Extensions Supplement",
+ "Phonetic_Extensions_Supplement",
+ "phoneticextensionssupplement",
+ "Phonetic_Ext_Sup",
+ "phoneticextsup",
+ "Playing Cards",
+ "Playing_Cards",
+ "playingcards",
+ "Private_Use",
+ "privateuse",
+ "Private Use Area",
+ "Private_Use_Area",
+ "privateusearea",
+ "Psalter Pahlavi",
+ "Psalter_Pahlavi",
+ "psalterpahlavi",
+ "PUA",
+ "pua",
+ "Punctuation",
+ "punctuation",
+ "Rejang",
+ "rejang",
+ "Rumi",
+ "rumi",
+ "Rumi Numeral Symbols",
+ "Rumi_Numeral_Symbols",
+ "ruminumeralsymbols",
+ "Runic",
+ "runic",
+ "Samaritan",
+ "samaritan",
+ "Saurashtra",
+ "saurashtra",
+ "Sharada",
+ "sharada",
+ "Shavian",
+ "shavian",
+ "Shorthand Format Controls",
+ "Shorthand_Format_Controls",
+ "shorthandformatcontrols",
+ "Siddham",
+ "siddham",
+ "Sinhala",
+ "sinhala",
+ "Sinhala Archaic Numbers",
+ "Sinhala_Archaic_Numbers",
+ "sinhalaarchaicnumbers",
+ "Small_Forms",
+ "smallforms",
+ "Small Form Variants",
+ "Small_Form_Variants",
+ "smallformvariants",
+ "Small_Kana_Ext",
+ "smallkanaext",
+ "Small Kana Extension",
+ "Small_Kana_Extension",
+ "smallkanaextension",
+ "Sogdian",
+ "sogdian",
+ "Sora Sompeng",
+ "Sora_Sompeng",
+ "sorasompeng",
+ "Soyombo",
+ "soyombo",
+ "Spacing Modifier Letters",
+ "Spacing_Modifier_Letters",
+ "spacingmodifierletters",
+ "Specials",
+ "specials",
+ "Sundanese",
+ "sundanese",
+ "Sundanese_Sup",
+ "sundanesesup",
+ "Sundanese Supplement",
+ "Sundanese_Supplement",
+ "sundanesesupplement",
+ "Sup_Arrows_A",
+ "suparrowsa",
+ "Sup_Arrows_B",
+ "suparrowsb",
+ "Sup_Arrows_C",
+ "suparrowsc",
+ "Super_And_Sub",
+ "superandsub",
+ "Superscripts and Subscripts",
+ "Superscripts_And_Subscripts",
+ "superscriptsandsubscripts",
+ "Sup_Math_Operators",
+ "supmathoperators",
+ "Supplemental Arrows-A",
+ "Supplemental_Arrows_A",
+ "supplementalarrowsa",
+ "Supplemental Arrows-B",
+ "Supplemental_Arrows_B",
+ "supplementalarrowsb",
+ "Supplemental Arrows-C",
+ "Supplemental_Arrows_C",
+ "supplementalarrowsc",
+ "Supplemental Mathematical Operators",
+ "Supplemental_Mathematical_Operators",
+ "supplementalmathematicaloperators",
+ "Supplemental Punctuation",
+ "Supplemental_Punctuation",
+ "supplementalpunctuation",
+ "Supplemental Symbols and Pictographs",
+ "Supplemental_Symbols_And_Pictographs",
+ "supplementalsymbolsandpictographs",
+ "Supplementary Private Use Area-A",
+ "Supplementary_Private_Use_Area_A",
+ "supplementaryprivateuseareaa",
+ "Supplementary Private Use Area-B",
+ "Supplementary_Private_Use_Area_B",
+ "supplementaryprivateuseareab",
+ "Sup_PUA_A",
+ "suppuaa",
+ "Sup_PUA_B",
+ "suppuab",
+ "Sup_Punctuation",
+ "suppunctuation",
+ "Sup_Symbols_And_Pictographs",
+ "supsymbolsandpictographs",
+ "Sutton SignWriting",
+ "Sutton_SignWriting",
+ "suttonsignwriting",
+ "Syloti Nagri",
+ "Syloti_Nagri",
+ "sylotinagri",
+ "Symbols_And_Pictographs_Ext_A",
+ "symbolsandpictographsexta",
+ "Symbols and Pictographs Extended-A",
+ "Symbols_And_Pictographs_Extended_A",
+ "symbolsandpictographsextendeda",
+ "Syriac",
+ "syriac",
+ "Syriac_Sup",
+ "syriacsup",
+ "Syriac Supplement",
+ "Syriac_Supplement",
+ "syriacsupplement",
+ "Tagalog",
+ "tagalog",
+ "Tagbanwa",
+ "tagbanwa",
+ "Tags",
+ "tags",
+ "Tai Le",
+ "Tai_Le",
+ "taile",
+ "Tai Tham",
+ "Tai_Tham",
+ "taitham",
+ "Tai Viet",
+ "Tai_Viet",
+ "taiviet",
+ "Tai_Xuan_Jing",
+ "taixuanjing",
+ "Tai Xuan Jing Symbols",
+ "Tai_Xuan_Jing_Symbols",
+ "taixuanjingsymbols",
+ "Takri",
+ "takri",
+ "Tamil",
+ "tamil",
+ "Tamil_Sup",
+ "tamilsup",
+ "Tamil Supplement",
+ "Tamil_Supplement",
+ "tamilsupplement",
+ "Tangut",
+ "tangut",
+ "Tangut Components",
+ "Tangut_Components",
+ "tangutcomponents",
+ "Telugu",
+ "telugu",
+ "Thaana",
+ "thaana",
+ "Thai",
+ "thai",
+ "Tibetan",
+ "tibetan",
+ "Tifinagh",
+ "tifinagh",
+ "Tirhuta",
+ "tirhuta",
+ "Transport_And_Map",
+ "transportandmap",
+ "Transport and Map Symbols",
+ "Transport_And_Map_Symbols",
+ "transportandmapsymbols",
+ "UCAS",
+ "ucas",
+ "UCAS_Ext",
+ "ucasext",
+ "Ugaritic",
+ "ugaritic",
+ "Unified Canadian Aboriginal Syllabics",
+ "Unified_Canadian_Aboriginal_Syllabics",
+ "unifiedcanadianaboriginalsyllabics",
+ "Unified Canadian Aboriginal Syllabics Extended",
+ "Unified_Canadian_Aboriginal_Syllabics_Extended",
+ "unifiedcanadianaboriginalsyllabicsextended",
+ "Vai",
+ "vai",
+ "Variation Selectors",
+ "Variation_Selectors",
+ "variationselectors",
+ "Variation Selectors Supplement",
+ "Variation_Selectors_Supplement",
+ "variationselectorssupplement",
+ "Vedic_Ext",
+ "vedicext",
+ "Vedic Extensions",
+ "Vedic_Extensions",
+ "vedicextensions",
+ "Vertical Forms",
+ "Vertical_Forms",
+ "verticalforms",
+ "VS",
+ "vs",
+ "VS_Sup",
+ "vssup",
+ "Wancho",
+ "wancho",
+ "Warang Citi",
+ "Warang_Citi",
+ "warangciti",
+ "Yijing",
+ "yijing",
+ "Yijing Hexagram Symbols",
+ "Yijing_Hexagram_Symbols",
+ "yijinghexagramsymbols",
+ "Yi Radicals",
+ "Yi_Radicals",
+ "yiradicals",
+ "Yi Syllables",
+ "Yi_Syllables",
+ "yisyllables",
+ "Zanabazar Square",
+ "Zanabazar_Square",
+ "zanabazarsquare",
+ NULL
+};
+
+static const char * const UNI_bpt_values[] = {
+ "c",
+ "Close",
+ "close",
+ "n",
+ "None",
+ "none",
+ "o",
+ "Open",
+ "open",
+ NULL
+};
+
+static const char * const UNI_ccc_values[] = {
+ "0",
+ "1",
+ "7",
+ "8",
+ "9",
+ "10",
+ "11",
+ "12",
+ "13",
+ "14",
+ "15",
+ "16",
+ "17",
+ "18",
+ "19",
+ "20",
+ "21",
+ "22",
+ "23",
+ "24",
+ "25",
+ "26",
+ "27",
+ "28",
+ "29",
+ "30",
+ "31",
+ "32",
+ "33",
+ "34",
+ "35",
+ "36",
+ "84",
+ "91",
+ "103",
+ "107",
+ "118",
+ "122",
+ "129",
+ "130",
+ "132",
+ "133",
+ "200",
+ "202",
+ "214",
+ "216",
+ "218",
+ "220",
+ "222",
+ "224",
+ "226",
+ "228",
+ "230",
+ "232",
+ "233",
+ "234",
+ "240",
+ "A",
+ "a",
+ "Above",
+ "above",
+ "Above_Left",
+ "aboveleft",
+ "Above_Right",
+ "aboveright",
+ "AL",
+ "al",
+ "AR",
+ "ar",
+ "ATA",
+ "ata",
+ "ATAR",
+ "atar",
+ "ATB",
+ "atb",
+ "ATBL",
+ "atbl",
+ "Attached_Above",
+ "attachedabove",
+ "Attached_Above_Right",
+ "attachedaboveright",
+ "Attached_Below",
+ "attachedbelow",
+ "Attached_Below_Left",
+ "attachedbelowleft",
+ "B",
+ "b",
+ "Below",
+ "below",
+ "Below_Left",
+ "belowleft",
+ "Below_Right",
+ "belowright",
+ "BL",
+ "bl",
+ "BR",
+ "br",
+ "CCC10",
+ "CCC103",
+ "CCC107",
+ "CCC11",
+ "CCC118",
+ "CCC12",
+ "CCC122",
+ "CCC129",
+ "CCC13",
+ "CCC130",
+ "CCC132",
+ "CCC133",
+ "CCC14",
+ "CCC15",
+ "CCC16",
+ "CCC17",
+ "CCC18",
+ "CCC19",
+ "CCC20",
+ "CCC21",
+ "CCC22",
+ "CCC23",
+ "CCC24",
+ "CCC25",
+ "CCC26",
+ "CCC27",
+ "CCC28",
+ "CCC29",
+ "CCC30",
+ "CCC31",
+ "CCC32",
+ "CCC33",
+ "CCC34",
+ "CCC35",
+ "CCC36",
+ "CCC84",
+ "CCC91",
+ "ccc10",
+ "ccc103",
+ "ccc107",
+ "ccc11",
+ "ccc118",
+ "ccc12",
+ "ccc122",
+ "ccc129",
+ "ccc13",
+ "ccc130",
+ "ccc132",
+ "ccc133",
+ "ccc14",
+ "ccc15",
+ "ccc16",
+ "ccc17",
+ "ccc18",
+ "ccc19",
+ "ccc20",
+ "ccc21",
+ "ccc22",
+ "ccc23",
+ "ccc24",
+ "ccc25",
+ "ccc26",
+ "ccc27",
+ "ccc28",
+ "ccc29",
+ "ccc30",
+ "ccc31",
+ "ccc32",
+ "ccc33",
+ "ccc34",
+ "ccc35",
+ "ccc36",
+ "ccc84",
+ "ccc91",
+ "DA",
+ "da",
+ "DB",
+ "db",
+ "Double_Above",
+ "doubleabove",
+ "Double_Below",
+ "doublebelow",
+ "Iota_Subscript",
+ "iotasubscript",
+ "IS",
+ "is",
+ "Kana_Voicing",
+ "kanavoicing",
+ "KV",
+ "kv",
+ "L",
+ "l",
+ "Left",
+ "left",
+ "NK",
+ "nk",
+ "Not_Reordered",
+ "notreordered",
+ "NR",
+ "nr",
+ "Nukta",
+ "nukta",
+ "OV",
+ "ov",
+ "Overlay",
+ "overlay",
+ "R",
+ "r",
+ "Right",
+ "right",
+ "Virama",
+ "virama",
+ "VR",
+ "vr",
+ NULL
+};
+
+static const char * const UNI_dt_values[] = {
+ "Can",
+ "can",
+ "Canonical",
+ "canonical",
+ "Circle",
+ "circle",
+ "Com",
+ "com",
+ "Compat",
+ "compat",
+ "Enc",
+ "enc",
+ "Fin",
+ "fin",
+ "Final",
+ "final",
+ "Font",
+ "font",
+ "Fra",
+ "fra",
+ "Fraction",
+ "fraction",
+ "Init",
+ "init",
+ "Initial",
+ "initial",
+ "Iso",
+ "iso",
+ "Isolated",
+ "isolated",
+ "Med",
+ "med",
+ "Medial",
+ "medial",
+ "Nar",
+ "nar",
+ "Narrow",
+ "narrow",
+ "Nb",
+ "nb",
+ "Nobreak",
+ "nobreak",
+ "Non_Canon",
+ "noncanon",
+ "Non_Canonical",
+ "noncanonical",
+ "None",
+ "none",
+ "Small",
+ "small",
+ "Sml",
+ "sml",
+ "Sqr",
+ "sqr",
+ "Square",
+ "square",
+ "Sub",
+ "sub",
+ "Sup",
+ "sup",
+ "Super",
+ "super",
+ "Vert",
+ "vert",
+ "Vertical",
+ "vertical",
+ "Wide",
+ "wide",
+ NULL
+};
+
+static const char * const UNI_ea_values[] = {
+ "A",
+ "a",
+ "Ambiguous",
+ "ambiguous",
+ "F",
+ "f",
+ "Fullwidth",
+ "fullwidth",
+ "H",
+ "h",
+ "Halfwidth",
+ "halfwidth",
+ "N",
+ "n",
+ "Na",
+ "na",
+ "Narrow",
+ "narrow",
+ "Neutral",
+ "neutral",
+ "W",
+ "w",
+ "Wide",
+ "wide",
+ NULL
+};
+
+static const char * const UNI_gc_values[] = {
+ "C",
+ "c",
+ "Cased_Letter",
+ "casedletter",
+ "Cc",
+ "cc",
+ "Cf",
+ "cf",
+ "Close_Punctuation",
+ "closepunctuation",
+ "Cn",
+ "cn",
+ "Cntrl",
+ "cntrl",
+ "Co",
+ "co",
+ "Combining_Mark",
+ "combiningmark",
+ "Connector_Punctuation",
+ "connectorpunctuation",
+ "Control",
+ "control",
+ "Cs",
+ "cs",
+ "Currency_Symbol",
+ "currencysymbol",
+ "Dash_Punctuation",
+ "dashpunctuation",
+ "Decimal_Number",
+ "decimalnumber",
+ "Digit",
+ "digit",
+ "Enclosing_Mark",
+ "enclosingmark",
+ "Final_Punctuation",
+ "finalpunctuation",
+ "Format",
+ "format",
+ "Initial_Punctuation",
+ "initialpunctuation",
+ "L",
+ "l",
+ "LC",
+ "lc",
+ "Letter",
+ "letter",
+ "Letter_Number",
+ "letternumber",
+ "Line_Separator",
+ "lineseparator",
+ "Ll",
+ "ll",
+ "Lm",
+ "lm",
+ "Lo",
+ "lo",
+ "Lowercase_Letter",
+ "lowercaseletter",
+ "Lt",
+ "lt",
+ "Lu",
+ "lu",
+ "M",
+ "m",
+ "Mark",
+ "mark",
+ "Math_Symbol",
+ "mathsymbol",
+ "Mc",
+ "mc",
+ "Me",
+ "me",
+ "Mn",
+ "mn",
+ "Modifier_Letter",
+ "modifierletter",
+ "Modifier_Symbol",
+ "modifiersymbol",
+ "N",
+ "n",
+ "Nd",
+ "nd",
+ "Nl",
+ "nl",
+ "No",
+ "no",
+ "Nonspacing_Mark",
+ "nonspacingmark",
+ "Number",
+ "number",
+ "Open_Punctuation",
+ "openpunctuation",
+ "Other",
+ "other",
+ "Other_Letter",
+ "otherletter",
+ "Other_Number",
+ "othernumber",
+ "Other_Punctuation",
+ "otherpunctuation",
+ "Other_Symbol",
+ "othersymbol",
+ "P",
+ "p",
+ "Paragraph_Separator",
+ "paragraphseparator",
+ "Pc",
+ "pc",
+ "Pd",
+ "pd",
+ "Pe",
+ "pe",
+ "Pf",
+ "pf",
+ "Pi",
+ "pi",
+ "Po",
+ "po",
+ "Private_Use",
+ "privateuse",
+ "Ps",
+ "ps",
+ "Punct",
+ "punct",
+ "Punctuation",
+ "punctuation",
+ "S",
+ "s",
+ "Sc",
+ "sc",
+ "Separator",
+ "separator",
+ "Sk",
+ "sk",
+ "Sm",
+ "sm",
+ "So",
+ "so",
+ "Space_Separator",
+ "spaceseparator",
+ "Spacing_Mark",
+ "spacingmark",
+ "Surrogate",
+ "surrogate",
+ "Symbol",
+ "symbol",
+ "Titlecase_Letter",
+ "titlecaseletter",
+ "Unassigned",
+ "unassigned",
+ "Uppercase_Letter",
+ "uppercaseletter",
+ "Z",
+ "z",
+ "Zl",
+ "zl",
+ "Zp",
+ "zp",
+ "Zs",
+ "zs",
+ NULL
+};
+
+static const char * const UNI_gcb_values[] = {
+ "CN",
+ "cn",
+ "Control",
+ "control",
+ "CR",
+ "cr",
+ "EB",
+ "eb",
+ "E_Base",
+ "ebase",
+ "E_Base_GAZ",
+ "ebasegaz",
+ "EBG",
+ "ebg",
+ "EM",
+ "em",
+ "E_Modifier",
+ "emodifier",
+ "EX",
+ "ex",
+ "Extend",
+ "extend",
+ "GAZ",
+ "gaz",
+ "Glue_After_Zwj",
+ "glueafterzwj",
+ "L",
+ "l",
+ "LF",
+ "lf",
+ "LV",
+ "lv",
+ "LVT",
+ "lvt",
+ "Other",
+ "other",
+ "PP",
+ "pp",
+ "Prepend",
+ "prepend",
+ "Regional_Indicator",
+ "regionalindicator",
+ "RI",
+ "ri",
+ "SM",
+ "sm",
+ "SpacingMark",
+ "spacingmark",
+ "T",
+ "t",
+ "V",
+ "v",
+ "XX",
+ "xx",
+ "ZWJ",
+ "zwj",
+ NULL
+};
+
+static const char * const UNI_hst_values[] = {
+ "L",
+ "l",
+ "Leading_Jamo",
+ "leadingjamo",
+ "LV",
+ "lv",
+ "LV_Syllable",
+ "lvsyllable",
+ "LVT",
+ "lvt",
+ "LVT_Syllable",
+ "lvtsyllable",
+ "NA",
+ "na",
+ "Not_Applicable",
+ "notapplicable",
+ "T",
+ "t",
+ "Trailing_Jamo",
+ "trailingjamo",
+ "V",
+ "v",
+ "Vowel_Jamo",
+ "voweljamo",
+ NULL
+};
+
+static const char * const UNI_in_values[] = {
+ "1.1",
+ "2.0",
+ "2.1",
+ "3.0",
+ "3.1",
+ "3.2",
+ "4.0",
+ "4.1",
+ "5.0",
+ "5.1",
+ "5.2",
+ "6.0",
+ "6.1",
+ "6.2",
+ "6.3",
+ "7.0",
+ "8.0",
+ "9.0",
+ "10.0",
+ "11.0",
+ "12.0",
+ "12.1",
+ "Unassigned",
+ "unassigned",
+ "V10_0",
+ "V11_0",
+ "V12_0",
+ "V12_1",
+ "V2_0",
+ "V2_1",
+ "V3_0",
+ "V3_1",
+ "V3_2",
+ "V4_0",
+ "V4_1",
+ "V5_0",
+ "V5_1",
+ "V5_2",
+ "V6_0",
+ "V6_1",
+ "V6_2",
+ "V6_3",
+ "V7_0",
+ "V8_0",
+ "V9_0",
+ "v100",
+ "v110",
+ "v120",
+ "v121",
+ "v20",
+ "v21",
+ "v30",
+ "v31",
+ "v32",
+ "v40",
+ "v41",
+ "v50",
+ "v51",
+ "v52",
+ "v60",
+ "v61",
+ "v62",
+ "v63",
+ "v70",
+ "v80",
+ "v90",
+ NULL
+};
+
+static const char * const UNI_inpc_values[] = {
+ "Bottom",
+ "bottom",
+ "Bottom_And_Left",
+ "bottomandleft",
+ "Bottom_And_Right",
+ "bottomandright",
+ "Left",
+ "left",
+ "Left_And_Right",
+ "leftandright",
+ "NA",
+ "na",
+ "Overstruck",
+ "overstruck",
+ "Right",
+ "right",
+ "Top",
+ "top",
+ "Top_And_Bottom",
+ "topandbottom",
+ "Top_And_Bottom_And_Right",
+ "topandbottomandright",
+ "Top_And_Left",
+ "topandleft",
+ "Top_And_Left_And_Right",
+ "topandleftandright",
+ "Top_And_Right",
+ "topandright",
+ "Visual_Order_Left",
+ "visualorderleft",
+ NULL
+};
+
+static const char * const UNI_insc_values[] = {
+ "Avagraha",
+ "avagraha",
+ "Bindu",
+ "bindu",
+ "Brahmi_Joining_Number",
+ "brahmijoiningnumber",
+ "Cantillation_Mark",
+ "cantillationmark",
+ "Consonant",
+ "consonant",
+ "Consonant_Dead",
+ "consonantdead",
+ "Consonant_Final",
+ "consonantfinal",
+ "Consonant_Head_Letter",
+ "consonantheadletter",
+ "Consonant_Initial_Postfixed",
+ "consonantinitialpostfixed",
+ "Consonant_Killer",
+ "consonantkiller",
+ "Consonant_Medial",
+ "consonantmedial",
+ "Consonant_Placeholder",
+ "consonantplaceholder",
+ "Consonant_Preceding_Repha",
+ "consonantprecedingrepha",
+ "Consonant_Prefixed",
+ "consonantprefixed",
+ "Consonant_Subjoined",
+ "consonantsubjoined",
+ "Consonant_Succeeding_Repha",
+ "consonantsucceedingrepha",
+ "Consonant_With_Stacker",
+ "consonantwithstacker",
+ "Gemination_Mark",
+ "geminationmark",
+ "Invisible_Stacker",
+ "invisiblestacker",
+ "Joiner",
+ "joiner",
+ "Modifying_Letter",
+ "modifyingletter",
+ "Non_Joiner",
+ "nonjoiner",
+ "Nukta",
+ "nukta",
+ "Number",
+ "number",
+ "Number_Joiner",
+ "numberjoiner",
+ "Other",
+ "other",
+ "Pure_Killer",
+ "purekiller",
+ "Register_Shifter",
+ "registershifter",
+ "Syllable_Modifier",
+ "syllablemodifier",
+ "Tone_Letter",
+ "toneletter",
+ "Tone_Mark",
+ "tonemark",
+ "Virama",
+ "virama",
+ "Visarga",
+ "visarga",
+ "Vowel",
+ "vowel",
+ "Vowel_Dependent",
+ "voweldependent",
+ "Vowel_Independent",
+ "vowelindependent",
+ NULL
+};
+
+static const char * const UNI_jg_values[] = {
+ "African_Feh",
+ "africanfeh",
+ "African_Noon",
+ "africannoon",
+ "African_Qaf",
+ "africanqaf",
+ "Ain",
+ "ain",
+ "Alaph",
+ "alaph",
+ "Alef",
+ "alef",
+ "Beh",
+ "beh",
+ "Beth",
+ "beth",
+ "Burushaski_Yeh_Barree",
+ "burushaskiyehbarree",
+ "Dal",
+ "dal",
+ "Dalath_Rish",
+ "dalathrish",
+ "E",
+ "e",
+ "Farsi_Yeh",
+ "farsiyeh",
+ "Fe",
+ "fe",
+ "Feh",
+ "feh",
+ "Final_Semkath",
+ "finalsemkath",
+ "Gaf",
+ "gaf",
+ "Gamal",
+ "gamal",
+ "Hah",
+ "hah",
+ "Hamza_On_Heh_Goal",
+ "hamzaonhehgoal",
+ "Hanifi_Rohingya_Kinna_Ya",
+ "hanifirohingyakinnaya",
+ "Hanifi_Rohingya_Pa",
+ "hanifirohingyapa",
+ "He",
+ "he",
+ "Heh",
+ "heh",
+ "Heh_Goal",
+ "hehgoal",
+ "Heth",
+ "heth",
+ "Kaf",
+ "kaf",
+ "Kaph",
+ "kaph",
+ "Khaph",
+ "khaph",
+ "Knotted_Heh",
+ "knottedheh",
+ "Lam",
+ "lam",
+ "Lamadh",
+ "lamadh",
+ "Malayalam_Bha",
+ "malayalambha",
+ "Malayalam_Ja",
+ "malayalamja",
+ "Malayalam_Lla",
+ "malayalamlla",
+ "Malayalam_Llla",
+ "malayalamllla",
+ "Malayalam_Nga",
+ "malayalamnga",
+ "Malayalam_Nna",
+ "malayalamnna",
+ "Malayalam_Nnna",
+ "malayalamnnna",
+ "Malayalam_Nya",
+ "malayalamnya",
+ "Malayalam_Ra",
+ "malayalamra",
+ "Malayalam_Ssa",
+ "malayalamssa",
+ "Malayalam_Tta",
+ "malayalamtta",
+ "Manichaean_Aleph",
+ "manichaeanaleph",
+ "Manichaean_Ayin",
+ "manichaeanayin",
+ "Manichaean_Beth",
+ "manichaeanbeth",
+ "Manichaean_Daleth",
+ "manichaeandaleth",
+ "Manichaean_Dhamedh",
+ "manichaeandhamedh",
+ "Manichaean_Five",
+ "manichaeanfive",
+ "Manichaean_Gimel",
+ "manichaeangimel",
+ "Manichaean_Heth",
+ "manichaeanheth",
+ "Manichaean_Hundred",
+ "manichaeanhundred",
+ "Manichaean_Kaph",
+ "manichaeankaph",
+ "Manichaean_Lamedh",
+ "manichaeanlamedh",
+ "Manichaean_Mem",
+ "manichaeanmem",
+ "Manichaean_Nun",
+ "manichaeannun",
+ "Manichaean_One",
+ "manichaeanone",
+ "Manichaean_Pe",
+ "manichaeanpe",
+ "Manichaean_Qoph",
+ "manichaeanqoph",
+ "Manichaean_Resh",
+ "manichaeanresh",
+ "Manichaean_Sadhe",
+ "manichaeansadhe",
+ "Manichaean_Samekh",
+ "manichaeansamekh",
+ "Manichaean_Taw",
+ "manichaeantaw",
+ "Manichaean_Ten",
+ "manichaeanten",
+ "Manichaean_Teth",
+ "manichaeanteth",
+ "Manichaean_Thamedh",
+ "manichaeanthamedh",
+ "Manichaean_Twenty",
+ "manichaeantwenty",
+ "Manichaean_Waw",
+ "manichaeanwaw",
+ "Manichaean_Yodh",
+ "manichaeanyodh",
+ "Manichaean_Zayin",
+ "manichaeanzayin",
+ "Meem",
+ "meem",
+ "Mim",
+ "mim",
+ "No_Joining_Group",
+ "nojoininggroup",
+ "Noon",
+ "noon",
+ "Nun",
+ "nun",
+ "Nya",
+ "nya",
+ "Pe",
+ "pe",
+ "Qaf",
+ "qaf",
+ "Qaph",
+ "qaph",
+ "Reh",
+ "reh",
+ "Reversed_Pe",
+ "reversedpe",
+ "Rohingya_Yeh",
+ "rohingyayeh",
+ "Sad",
+ "sad",
+ "Sadhe",
+ "sadhe",
+ "Seen",
+ "seen",
+ "Semkath",
+ "semkath",
+ "Shin",
+ "shin",
+ "Straight_Waw",
+ "straightwaw",
+ "Swash_Kaf",
+ "swashkaf",
+ "Syriac_Waw",
+ "syriacwaw",
+ "Tah",
+ "tah",
+ "Taw",
+ "taw",
+ "Teh_Marbuta",
+ "tehmarbuta",
+ "Teh_Marbuta_Goal",
+ "tehmarbutagoal",
+ "Teth",
+ "teth",
+ "Waw",
+ "waw",
+ "Yeh",
+ "yeh",
+ "Yeh_Barree",
+ "yehbarree",
+ "Yeh_With_Tail",
+ "yehwithtail",
+ "Yudh",
+ "yudh",
+ "Yudh_He",
+ "yudhhe",
+ "Zain",
+ "zain",
+ "Zhain",
+ "zhain",
+ NULL
+};
+
+static const char * const UNI_jt_values[] = {
+ "C",
+ "c",
+ "D",
+ "d",
+ "Dual_Joining",
+ "dualjoining",
+ "Join_Causing",
+ "joincausing",
+ "L",
+ "l",
+ "Left_Joining",
+ "leftjoining",
+ "Non_Joining",
+ "nonjoining",
+ "R",
+ "r",
+ "Right_Joining",
+ "rightjoining",
+ "T",
+ "t",
+ "Transparent",
+ "transparent",
+ "U",
+ "u",
+ NULL
+};
+
+static const char * const UNI_lb_values[] = {
+ "AI",
+ "ai",
+ "AL",
+ "al",
+ "Alphabetic",
+ "alphabetic",
+ "Ambiguous",
+ "ambiguous",
+ "B2",
+ "b2",
+ "BA",
+ "ba",
+ "BB",
+ "bb",
+ "BK",
+ "bk",
+ "Break_After",
+ "breakafter",
+ "Break_Before",
+ "breakbefore",
+ "Break_Both",
+ "breakboth",
+ "Break_Symbols",
+ "breaksymbols",
+ "Carriage_Return",
+ "carriagereturn",
+ "CB",
+ "cb",
+ "CJ",
+ "cj",
+ "CL",
+ "cl",
+ "Close_Parenthesis",
+ "closeparenthesis",
+ "Close_Punctuation",
+ "closepunctuation",
+ "CM",
+ "cm",
+ "Combining_Mark",
+ "combiningmark",
+ "Complex_Context",
+ "complexcontext",
+ "Conditional_Japanese_Starter",
+ "conditionaljapanesestarter",
+ "Contingent_Break",
+ "contingentbreak",
+ "CP",
+ "cp",
+ "CR",
+ "cr",
+ "EB",
+ "eb",
+ "E_Base",
+ "ebase",
+ "EM",
+ "em",
+ "E_Modifier",
+ "emodifier",
+ "EX",
+ "ex",
+ "Exclamation",
+ "exclamation",
+ "GL",
+ "gl",
+ "Glue",
+ "glue",
+ "H2",
+ "H3",
+ "h2",
+ "h3",
+ "Hebrew_Letter",
+ "hebrewletter",
+ "HL",
+ "hl",
+ "HY",
+ "hy",
+ "Hyphen",
+ "hyphen",
+ "ID",
+ "id",
+ "Ideographic",
+ "ideographic",
+ "IN",
+ "in",
+ "Infix_Numeric",
+ "infixnumeric",
+ "Inseparable",
+ "inseparable",
+ "Inseperable",
+ "inseperable",
+ "IS",
+ "is",
+ "JL",
+ "jl",
+ "JT",
+ "jt",
+ "JV",
+ "jv",
+ "LF",
+ "lf",
+ "Line_Feed",
+ "linefeed",
+ "Mandatory_Break",
+ "mandatorybreak",
+ "Next_Line",
+ "nextline",
+ "NL",
+ "nl",
+ "Nonstarter",
+ "nonstarter",
+ "NS",
+ "ns",
+ "NU",
+ "nu",
+ "Numeric",
+ "numeric",
+ "OP",
+ "op",
+ "Open_Punctuation",
+ "openpunctuation",
+ "PO",
+ "po",
+ "Postfix_Numeric",
+ "postfixnumeric",
+ "PR",
+ "pr",
+ "Prefix_Numeric",
+ "prefixnumeric",
+ "QU",
+ "qu",
+ "Quotation",
+ "quotation",
+ "Regional_Indicator",
+ "regionalindicator",
+ "RI",
+ "ri",
+ "SA",
+ "sa",
+ "SG",
+ "sg",
+ "SP",
+ "sp",
+ "Space",
+ "space",
+ "Surrogate",
+ "surrogate",
+ "SY",
+ "sy",
+ "Unknown",
+ "unknown",
+ "WJ",
+ "wj",
+ "Word_Joiner",
+ "wordjoiner",
+ "XX",
+ "xx",
+ "ZW",
+ "zw",
+ "ZWJ",
+ "zwj",
+ "ZWSpace",
+ "zwspace",
+ NULL
+};
+
+static const char * const UNI_nfcqc_values[] = {
+ "M",
+ "m",
+ "Maybe",
+ "maybe",
+ "N",
+ "n",
+ "No",
+ "no",
+ "Y",
+ "y",
+ "Yes",
+ "yes",
+ NULL
+};
+
+static const char * const UNI_nfdqc_values[] = {
+ "N",
+ "n",
+ "No",
+ "no",
+ "Y",
+ "y",
+ "Yes",
+ "yes",
+ NULL
+};
+
+static const char * const UNI_nt_values[] = {
+ "De",
+ "de",
+ "Decimal",
+ "decimal",
+ "Di",
+ "di",
+ "Digit",
+ "digit",
+ "None",
+ "none",
+ "Nu",
+ "nu",
+ "Numeric",
+ "numeric",
+ NULL
+};
+
+static const char * const UNI_nv_values[] = {
+ "-1/2",
+ "0",
+ "1/320",
+ "1/160",
+ "1/80",
+ "1/64",
+ "1/40",
+ "1/32",
+ "3/80",
+ "3/64",
+ "1/20",
+ "1/16",
+ "1/12",
+ "1/10",
+ "1/9",
+ "1/8",
+ "1/7",
+ "3/20",
+ "1/6",
+ "3/16",
+ "1/5",
+ "1/4",
+ "1/3",
+ "3/8",
+ "2/5",
+ "5/12",
+ "1/2",
+ "7/12",
+ "3/5",
+ "5/8",
+ "2/3",
+ "3/4",
+ "4/5",
+ "5/6",
+ "7/8",
+ "11/12",
+ "1",
+ "3/2",
+ "2",
+ "5/2",
+ "3",
+ "7/2",
+ "4",
+ "9/2",
+ "5",
+ "11/2",
+ "6",
+ "13/2",
+ "7",
+ "15/2",
+ "8",
+ "17/2",
+ "9",
+ "10",
+ "11",
+ "12",
+ "13",
+ "14",
+ "15",
+ "16",
+ "17",
+ "18",
+ "19",
+ "20",
+ "21",
+ "22",
+ "23",
+ "24",
+ "25",
+ "26",
+ "27",
+ "28",
+ "29",
+ "30",
+ "31",
+ "32",
+ "33",
+ "34",
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41",
+ "42",
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49",
+ "50",
+ "60",
+ "70",
+ "80",
+ "90",
+ "100",
+ "200",
+ "300",
+ "400",
+ "500",
+ "600",
+ "700",
+ "800",
+ "900",
+ "1000",
+ "2000",
+ "3000",
+ "4000",
+ "5000",
+ "6000",
+ "7000",
+ "8000",
+ "9000",
+ "10000",
+ "20000",
+ "30000",
+ "40000",
+ "50000",
+ "60000",
+ "70000",
+ "80000",
+ "90000",
+ "100000",
+ "200000",
+ "216000",
+ "300000",
+ "400000",
+ "432000",
+ "500000",
+ "600000",
+ "700000",
+ "800000",
+ "900000",
+ "1000000",
+ "10000000",
+ "20000000",
+ "100000000",
+ "10000000000",
+ "1000000000000",
+ "NaN",
+ "nan",
+ NULL
+};
+
+static const char * const UNI_sb_values[] = {
+ "AT",
+ "at",
+ "ATerm",
+ "aterm",
+ "CL",
+ "cl",
+ "Close",
+ "close",
+ "CR",
+ "cr",
+ "EX",
+ "ex",
+ "Extend",
+ "extend",
+ "FO",
+ "fo",
+ "Format",
+ "format",
+ "LE",
+ "le",
+ "LF",
+ "lf",
+ "LO",
+ "lo",
+ "Lower",
+ "lower",
+ "NU",
+ "nu",
+ "Numeric",
+ "numeric",
+ "OLetter",
+ "oletter",
+ "Other",
+ "other",
+ "SC",
+ "sc",
+ "SContinue",
+ "scontinue",
+ "SE",
+ "se",
+ "Sep",
+ "sep",
+ "SP",
+ "Sp",
+ "sp",
+ "ST",
+ "st",
+ "STerm",
+ "sterm",
+ "UP",
+ "up",
+ "Upper",
+ "upper",
+ "XX",
+ "xx",
+ NULL
+};
+
+static const char * const UNI_sc_values[] = {
+ "Adlam",
+ "adlam",
+ "Adlm",
+ "adlm",
+ "Aghb",
+ "aghb",
+ "Ahom",
+ "ahom",
+ "Anatolian_Hieroglyphs",
+ "anatolianhieroglyphs",
+ "Arab",
+ "arab",
+ "Arabic",
+ "arabic",
+ "Armenian",
+ "armenian",
+ "Armi",
+ "armi",
+ "Armn",
+ "armn",
+ "Avestan",
+ "avestan",
+ "Avst",
+ "avst",
+ "Bali",
+ "bali",
+ "Balinese",
+ "balinese",
+ "Bamu",
+ "bamu",
+ "Bamum",
+ "bamum",
+ "Bass",
+ "bass",
+ "Bassa_Vah",
+ "bassavah",
+ "Batak",
+ "batak",
+ "Batk",
+ "batk",
+ "Beng",
+ "beng",
+ "Bengali",
+ "bengali",
+ "Bhaiksuki",
+ "bhaiksuki",
+ "Bhks",
+ "bhks",
+ "Bopo",
+ "bopo",
+ "Bopomofo",
+ "bopomofo",
+ "Brah",
+ "brah",
+ "Brahmi",
+ "brahmi",
+ "Brai",
+ "brai",
+ "Braille",
+ "braille",
+ "Bugi",
+ "bugi",
+ "Buginese",
+ "buginese",
+ "Buhd",
+ "buhd",
+ "Buhid",
+ "buhid",
+ "Cakm",
+ "cakm",
+ "Canadian_Aboriginal",
+ "canadianaboriginal",
+ "Cans",
+ "cans",
+ "Cari",
+ "cari",
+ "Carian",
+ "carian",
+ "Caucasian_Albanian",
+ "caucasianalbanian",
+ "Chakma",
+ "chakma",
+ "Cham",
+ "cham",
+ "Cher",
+ "cher",
+ "Cherokee",
+ "cherokee",
+ "Common",
+ "common",
+ "Copt",
+ "copt",
+ "Coptic",
+ "coptic",
+ "Cprt",
+ "cprt",
+ "Cuneiform",
+ "cuneiform",
+ "Cypriot",
+ "cypriot",
+ "Cyrillic",
+ "cyrillic",
+ "Cyrl",
+ "cyrl",
+ "Deseret",
+ "deseret",
+ "Deva",
+ "deva",
+ "Devanagari",
+ "devanagari",
+ "Dogr",
+ "dogr",
+ "Dogra",
+ "dogra",
+ "Dsrt",
+ "dsrt",
+ "Dupl",
+ "dupl",
+ "Duployan",
+ "duployan",
+ "Egyp",
+ "egyp",
+ "Egyptian_Hieroglyphs",
+ "egyptianhieroglyphs",
+ "Elba",
+ "elba",
+ "Elbasan",
+ "elbasan",
+ "Elym",
+ "elym",
+ "Elymaic",
+ "elymaic",
+ "Ethi",
+ "ethi",
+ "Ethiopic",
+ "ethiopic",
+ "Geor",
+ "geor",
+ "Georgian",
+ "georgian",
+ "Glag",
+ "glag",
+ "Glagolitic",
+ "glagolitic",
+ "Gong",
+ "gong",
+ "Gonm",
+ "gonm",
+ "Goth",
+ "goth",
+ "Gothic",
+ "gothic",
+ "Gran",
+ "gran",
+ "Grantha",
+ "grantha",
+ "Greek",
+ "greek",
+ "Grek",
+ "grek",
+ "Gujarati",
+ "gujarati",
+ "Gujr",
+ "gujr",
+ "Gunjala_Gondi",
+ "gunjalagondi",
+ "Gurmukhi",
+ "gurmukhi",
+ "Guru",
+ "guru",
+ "Han",
+ "han",
+ "Hang",
+ "hang",
+ "Hangul",
+ "hangul",
+ "Hani",
+ "hani",
+ "Hanifi_Rohingya",
+ "hanifirohingya",
+ "Hano",
+ "hano",
+ "Hanunoo",
+ "hanunoo",
+ "Hatr",
+ "hatr",
+ "Hatran",
+ "hatran",
+ "Hebr",
+ "hebr",
+ "Hebrew",
+ "hebrew",
+ "Hira",
+ "hira",
+ "Hiragana",
+ "hiragana",
+ "Hluw",
+ "hluw",
+ "Hmng",
+ "hmng",
+ "Hmnp",
+ "hmnp",
+ "Hung",
+ "hung",
+ "Imperial_Aramaic",
+ "imperialaramaic",
+ "Inherited",
+ "inherited",
+ "Inscriptional_Pahlavi",
+ "inscriptionalpahlavi",
+ "Inscriptional_Parthian",
+ "inscriptionalparthian",
+ "Ital",
+ "ital",
+ "Java",
+ "java",
+ "Javanese",
+ "javanese",
+ "Kaithi",
+ "kaithi",
+ "Kali",
+ "kali",
+ "Kana",
+ "kana",
+ "Kannada",
+ "kannada",
+ "Katakana",
+ "katakana",
+ "Kayah_Li",
+ "kayahli",
+ "Khar",
+ "khar",
+ "Kharoshthi",
+ "kharoshthi",
+ "Khmer",
+ "khmer",
+ "Khmr",
+ "khmr",
+ "Khoj",
+ "khoj",
+ "Khojki",
+ "khojki",
+ "Khudawadi",
+ "khudawadi",
+ "Knda",
+ "knda",
+ "Kthi",
+ "kthi",
+ "Lana",
+ "lana",
+ "Lao",
+ "lao",
+ "Laoo",
+ "laoo",
+ "Latin",
+ "latin",
+ "Latn",
+ "latn",
+ "Lepc",
+ "lepc",
+ "Lepcha",
+ "lepcha",
+ "Limb",
+ "limb",
+ "Limbu",
+ "limbu",
+ "Lina",
+ "lina",
+ "Linb",
+ "linb",
+ "Linear_A",
+ "lineara",
+ "Linear_B",
+ "linearb",
+ "Lisu",
+ "lisu",
+ "Lyci",
+ "lyci",
+ "Lycian",
+ "lycian",
+ "Lydi",
+ "lydi",
+ "Lydian",
+ "lydian",
+ "Mahajani",
+ "mahajani",
+ "Mahj",
+ "mahj",
+ "Maka",
+ "maka",
+ "Makasar",
+ "makasar",
+ "Malayalam",
+ "malayalam",
+ "Mand",
+ "mand",
+ "Mandaic",
+ "mandaic",
+ "Mani",
+ "mani",
+ "Manichaean",
+ "manichaean",
+ "Marc",
+ "marc",
+ "Marchen",
+ "marchen",
+ "Masaram_Gondi",
+ "masaramgondi",
+ "Medefaidrin",
+ "medefaidrin",
+ "Medf",
+ "medf",
+ "Meetei_Mayek",
+ "meeteimayek",
+ "Mend",
+ "mend",
+ "Mende_Kikakui",
+ "mendekikakui",
+ "Merc",
+ "merc",
+ "Mero",
+ "mero",
+ "Meroitic_Cursive",
+ "meroiticcursive",
+ "Meroitic_Hieroglyphs",
+ "meroitichieroglyphs",
+ "Miao",
+ "miao",
+ "Mlym",
+ "mlym",
+ "Modi",
+ "modi",
+ "Mong",
+ "mong",
+ "Mongolian",
+ "mongolian",
+ "Mro",
+ "mro",
+ "Mroo",
+ "mroo",
+ "Mtei",
+ "mtei",
+ "Mult",
+ "mult",
+ "Multani",
+ "multani",
+ "Myanmar",
+ "myanmar",
+ "Mymr",
+ "mymr",
+ "Nabataean",
+ "nabataean",
+ "Nand",
+ "nand",
+ "Nandinagari",
+ "nandinagari",
+ "Narb",
+ "narb",
+ "Nbat",
+ "nbat",
+ "Newa",
+ "newa",
+ "New_Tai_Lue",
+ "newtailue",
+ "Nko",
+ "nko",
+ "Nkoo",
+ "nkoo",
+ "Nshu",
+ "nshu",
+ "Nushu",
+ "nushu",
+ "Nyiakeng_Puachue_Hmong",
+ "nyiakengpuachuehmong",
+ "Ogam",
+ "ogam",
+ "Ogham",
+ "ogham",
+ "Ol_Chiki",
+ "olchiki",
+ "Olck",
+ "olck",
+ "Old_Hungarian",
+ "oldhungarian",
+ "Old_Italic",
+ "olditalic",
+ "Old_North_Arabian",
+ "oldnortharabian",
+ "Old_Permic",
+ "oldpermic",
+ "Old_Persian",
+ "oldpersian",
+ "Old_Sogdian",
+ "oldsogdian",
+ "Old_South_Arabian",
+ "oldsoutharabian",
+ "Old_Turkic",
+ "oldturkic",
+ "Oriya",
+ "oriya",
+ "Orkh",
+ "orkh",
+ "Orya",
+ "orya",
+ "Osage",
+ "osage",
+ "Osge",
+ "osge",
+ "Osma",
+ "osma",
+ "Osmanya",
+ "osmanya",
+ "Pahawh_Hmong",
+ "pahawhhmong",
+ "Palm",
+ "palm",
+ "Palmyrene",
+ "palmyrene",
+ "Pauc",
+ "pauc",
+ "Pau_Cin_Hau",
+ "paucinhau",
+ "Perm",
+ "perm",
+ "Phag",
+ "phag",
+ "Phags_Pa",
+ "phagspa",
+ "Phli",
+ "phli",
+ "Phlp",
+ "phlp",
+ "Phnx",
+ "phnx",
+ "Phoenician",
+ "phoenician",
+ "Plrd",
+ "plrd",
+ "Prti",
+ "prti",
+ "Psalter_Pahlavi",
+ "psalterpahlavi",
+ "Qaac",
+ "qaac",
+ "Qaai",
+ "qaai",
+ "Rejang",
+ "rejang",
+ "Rjng",
+ "rjng",
+ "Rohg",
+ "rohg",
+ "Runic",
+ "runic",
+ "Runr",
+ "runr",
+ "Samaritan",
+ "samaritan",
+ "Samr",
+ "samr",
+ "Sarb",
+ "sarb",
+ "Saur",
+ "saur",
+ "Saurashtra",
+ "saurashtra",
+ "Sgnw",
+ "sgnw",
+ "Sharada",
+ "sharada",
+ "Shavian",
+ "shavian",
+ "Shaw",
+ "shaw",
+ "Shrd",
+ "shrd",
+ "Sidd",
+ "sidd",
+ "Siddham",
+ "siddham",
+ "SignWriting",
+ "signwriting",
+ "Sind",
+ "sind",
+ "Sinh",
+ "sinh",
+ "Sinhala",
+ "sinhala",
+ "Sogd",
+ "sogd",
+ "Sogdian",
+ "sogdian",
+ "Sogo",
+ "sogo",
+ "Sora",
+ "sora",
+ "Sora_Sompeng",
+ "sorasompeng",
+ "Soyo",
+ "soyo",
+ "Soyombo",
+ "soyombo",
+ "Sund",
+ "sund",
+ "Sundanese",
+ "sundanese",
+ "Sylo",
+ "sylo",
+ "Syloti_Nagri",
+ "sylotinagri",
+ "Syrc",
+ "syrc",
+ "Syriac",
+ "syriac",
+ "Tagalog",
+ "tagalog",
+ "Tagb",
+ "tagb",
+ "Tagbanwa",
+ "tagbanwa",
+ "Tai_Le",
+ "taile",
+ "Tai_Tham",
+ "taitham",
+ "Tai_Viet",
+ "taiviet",
+ "Takr",
+ "takr",
+ "Takri",
+ "takri",
+ "Tale",
+ "tale",
+ "Talu",
+ "talu",
+ "Tamil",
+ "tamil",
+ "Taml",
+ "taml",
+ "Tang",
+ "tang",
+ "Tangut",
+ "tangut",
+ "Tavt",
+ "tavt",
+ "Telu",
+ "telu",
+ "Telugu",
+ "telugu",
+ "Tfng",
+ "tfng",
+ "Tglg",
+ "tglg",
+ "Thaa",
+ "thaa",
+ "Thaana",
+ "thaana",
+ "Thai",
+ "thai",
+ "Tibetan",
+ "tibetan",
+ "Tibt",
+ "tibt",
+ "Tifinagh",
+ "tifinagh",
+ "Tirh",
+ "tirh",
+ "Tirhuta",
+ "tirhuta",
+ "Ugar",
+ "ugar",
+ "Ugaritic",
+ "ugaritic",
+ "Unknown",
+ "unknown",
+ "Vai",
+ "vai",
+ "Vaii",
+ "vaii",
+ "Wancho",
+ "wancho",
+ "Wara",
+ "wara",
+ "Warang_Citi",
+ "warangciti",
+ "Wcho",
+ "wcho",
+ "Xpeo",
+ "xpeo",
+ "Xsux",
+ "xsux",
+ "Yi",
+ "yi",
+ "Yiii",
+ "yiii",
+ "Zanabazar_Square",
+ "zanabazarsquare",
+ "Zanb",
+ "zanb",
+ "Zinh",
+ "zinh",
+ "Zyyy",
+ "zyyy",
+ "Zzzz",
+ "zzzz",
+ NULL
+};
+
+static const char * const UNI_vo_values[] = {
+ "R",
+ "r",
+ "Rotated",
+ "rotated",
+ "Tr",
+ "tr",
+ "Transformed_Rotated",
+ "transformedrotated",
+ "Transformed_Upright",
+ "transformedupright",
+ "Tu",
+ "tu",
+ "U",
+ "u",
+ "Upright",
+ "upright",
+ NULL
+};
+
+static const char * const UNI_wb_values[] = {
+ "ALetter",
+ "aletter",
+ "CR",
+ "cr",
+ "Double_Quote",
+ "doublequote",
+ "DQ",
+ "dq",
+ "EB",
+ "eb",
+ "E_Base",
+ "ebase",
+ "E_Base_GAZ",
+ "ebasegaz",
+ "EBG",
+ "ebg",
+ "EM",
+ "em",
+ "E_Modifier",
+ "emodifier",
+ "EX",
+ "ex",
+ "Extend",
+ "extend",
+ "ExtendNumLet",
+ "extendnumlet",
+ "FO",
+ "fo",
+ "Format",
+ "format",
+ "GAZ",
+ "gaz",
+ "Glue_After_Zwj",
+ "glueafterzwj",
+ "Hebrew_Letter",
+ "hebrewletter",
+ "HL",
+ "hl",
+ "KA",
+ "ka",
+ "Katakana",
+ "katakana",
+ "LE",
+ "le",
+ "LF",
+ "lf",
+ "MB",
+ "mb",
+ "MidLetter",
+ "midletter",
+ "MidNum",
+ "midnum",
+ "MidNumLet",
+ "midnumlet",
+ "ML",
+ "ml",
+ "MN",
+ "mn",
+ "Newline",
+ "newline",
+ "NL",
+ "nl",
+ "NU",
+ "nu",
+ "Numeric",
+ "numeric",
+ "Other",
+ "other",
+ "Regional_Indicator",
+ "regionalindicator",
+ "RI",
+ "ri",
+ "Single_Quote",
+ "singlequote",
+ "SQ",
+ "sq",
+ "WSegSpace",
+ "wsegspace",
+ "XX",
+ "xx",
+ "ZWJ",
+ "zwj",
+ NULL
+};
+
+static const char * const * const UNI_prop_value_ptrs[] = {
+NULL /* Placeholder so zero index is an error */,
+UNI_age_values,
+UNI_ahex_values,
+UNI_bc_values,
+UNI_blk_values,
+UNI_bpt_values,
+UNI_ccc_values,
+UNI_dt_values,
+UNI_ea_values,
+UNI_gc_values,
+UNI_gcb_values,
+UNI_hst_values,
+UNI_in_values,
+UNI_inpc_values,
+UNI_insc_values,
+UNI_jg_values,
+UNI_jt_values,
+UNI_lb_values,
+UNI_nfcqc_values,
+UNI_nfdqc_values,
+UNI_nt_values,
+UNI_nv_values,
+UNI_sb_values,
+UNI_sc_values,
+UNI_vo_values,
+UNI_wb_values
+};
+
+
+#define UNI_age_values_index 1
+#define UNI_ahex_values_index 2
+#define UNI_alpha_values_index UNI_ahex_values_index
+#define UNI_bc_values_index 3
+#define UNI_bidic_values_index UNI_ahex_values_index
+#define UNI_bidim_values_index UNI_ahex_values_index
+#define UNI_blk_values_index 4
+#define UNI_bpt_values_index 5
+#define UNI_cased_values_index UNI_ahex_values_index
+#define UNI_ccc_values_index 6
+#define UNI_ce_values_index UNI_ahex_values_index
+#define UNI_ci_values_index UNI_ahex_values_index
+#define UNI_compex_values_index UNI_ahex_values_index
+#define UNI_cwcf_values_index UNI_ahex_values_index
+#define UNI_cwcm_values_index UNI_ahex_values_index
+#define UNI_cwkcf_values_index UNI_ahex_values_index
+#define UNI_cwl_values_index UNI_ahex_values_index
+#define UNI_cwt_values_index UNI_ahex_values_index
+#define UNI_cwu_values_index UNI_ahex_values_index
+#define UNI_dash_values_index UNI_ahex_values_index
+#define UNI_dep_values_index UNI_ahex_values_index
+#define UNI_di_values_index UNI_ahex_values_index
+#define UNI_dia_values_index UNI_ahex_values_index
+#define UNI_dt_values_index 7
+#define UNI_ea_values_index 8
+#define UNI_ext_values_index UNI_ahex_values_index
+#define UNI_gc_values_index 9
+#define UNI_gcb_values_index 10
+#define UNI_grbase_values_index UNI_ahex_values_index
+#define UNI_grext_values_index UNI_ahex_values_index
+#define UNI_hex_values_index UNI_ahex_values_index
+#define UNI_hst_values_index 11
+#define UNI_hyphen_values_index UNI_ahex_values_index
+#define UNI_idc_values_index UNI_ahex_values_index
+#define UNI_ideo_values_index UNI_ahex_values_index
+#define UNI_ids_values_index UNI_ahex_values_index
+#define UNI_idsb_values_index UNI_ahex_values_index
+#define UNI_idst_values_index UNI_ahex_values_index
+#define UNI_in_values_index 12
+#define UNI_inpc_values_index 13
+#define UNI_insc_values_index 14
+#define UNI_jg_values_index 15
+#define UNI_joinc_values_index UNI_ahex_values_index
+#define UNI_jt_values_index 16
+#define UNI_lb_values_index 17
+#define UNI_loe_values_index UNI_ahex_values_index
+#define UNI_lower_values_index UNI_ahex_values_index
+#define UNI_math_values_index UNI_ahex_values_index
+#define UNI_nchar_values_index UNI_ahex_values_index
+#define UNI_nfcqc_values_index 18
+#define UNI_nfdqc_values_index 19
+#define UNI_nfkcqc_values_index UNI_nfcqc_values_index
+#define UNI_nfkdqc_values_index UNI_nfdqc_values_index
+#define UNI_nt_values_index 20
+#define UNI_nv_values_index 21
+#define UNI_patsyn_values_index UNI_ahex_values_index
+#define UNI_patws_values_index UNI_ahex_values_index
+#define UNI_pcm_values_index UNI_ahex_values_index
+#define UNI_qmark_values_index UNI_ahex_values_index
+#define UNI_radical_values_index UNI_ahex_values_index
+#define UNI_ri_values_index UNI_ahex_values_index
+#define UNI_sb_values_index 22
+#define UNI_sc_values_index 23
+#define UNI_scx_values_index UNI_sc_values_index
+#define UNI_sd_values_index UNI_ahex_values_index
+#define UNI_sterm_values_index UNI_ahex_values_index
+#define UNI_term_values_index UNI_ahex_values_index
+#define UNI_uideo_values_index UNI_ahex_values_index
+#define UNI_upper_values_index UNI_ahex_values_index
+#define UNI_vo_values_index 24
+#define UNI_vs_values_index UNI_ahex_values_index
+#define UNI_wb_values_index 25
+#define UNI_wspace_values_index UNI_ahex_values_index
+#define UNI_xidc_values_index UNI_ahex_values_index
+#define UNI_xids_values_index UNI_ahex_values_index
+