[Pkg-javascript-commits] [node-unicode-property-value-aliases] 01/03: New upstream version 3.0.0
Julien Puydt
julien.puydt at laposte.net
Wed Sep 6 15:47:25 UTC 2017
This is an automated email from the git hooks/post-receive script.
jpuydt-guest pushed a commit to branch master
in repository node-unicode-property-value-aliases.
commit 8c003e794a4638126114a67bab0749c2b7e2499c
Author: Julien Puydt <julien.puydt at laposte.net>
Date: Thu Aug 24 17:09:27 2017 +0200
New upstream version 3.0.0
---
.editorconfig | 12 +
.gitattributes | 1 +
.gitignore | 14 +
.travis.yml | 13 +
LICENSE-MIT.txt | 20 +
README.md | 52 ++
data/PropertyValueAliases.txt | 1460 +++++++++++++++++++++++++++++++++++++
index.js | 1620 +++++++++++++++++++++++++++++++++++++++++
package.json | 41 ++
scripts/build.js | 69 ++
tests/tests.js | 69 ++
11 files changed, 3371 insertions(+)
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..dbd9e6b
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+charset = utf-8
+indent_style = tab
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[{README.md,package.json,.travis.yml}]
+indent_style = space
+indent_size = 2
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..176a458
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+* text=auto
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ca85bae
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+# Installed npm modules
+node_modules
+
+# Folder view configuration files
+.DS_Store
+Desktop.ini
+
+# Thumbnail cache files
+._*
+Thumbs.db
+
+# Files that might appear on external disks
+.Spotlight-V100
+.Trashes
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..7a9866d
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,13 @@
+language: node_js
+node_js:
+ - '4'
+ - '5'
+ - '6'
+ - '7'
+script:
+ - 'if [ "${TRAVIS_NODE_VERSION}" = "7" ]; then
+ npm run build;
+ fi'
+ - 'npm test'
+git:
+ depth: 1
diff --git a/LICENSE-MIT.txt b/LICENSE-MIT.txt
new file mode 100644
index 0000000..a41e0a7
--- /dev/null
+++ b/LICENSE-MIT.txt
@@ -0,0 +1,20 @@
+Copyright Mathias Bynens <https://mathiasbynens.be/>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..248b0ed
--- /dev/null
+++ b/README.md
@@ -0,0 +1,52 @@
+# unicode-property-value-aliases [![Build status](https://travis-ci.org/mathiasbynens/unicode-property-value-aliases.svg?branch=master)](https://travis-ci.org/mathiasbynens/unicode-property-value-aliases)
+
+_unicode-property-value-aliases_ offers the Unicode property value alias mappings in an easy-to-consume JavaScript format.
+
+It’s based on [the `PropertyValueAliases.txt` data for Unicode v9.0.0](http://unicode.org/Public/9.0.0/ucd/PropertyValueAliases.txt).
+
+For the subset used by Unicode RegExp property escapes in ECMAScript, [see _unicode-property-value-aliases-ecmascript_](https://github.com/mathiasbynens/unicode-property-value-aliases-ecmascript).
+
+## Installation
+
+To use _unicode-property-value-aliases_ programmatically, install it as a dependency via [npm](https://www.npmjs.com/):
+
+```bash
+$ npm install unicode-property-value-aliases
+```
+
+Then, `require` it:
+
+```js
+const propertyValueAliases = require('unicode-property-value-aliases');
+```
+
+## Usage
+
+This module exports a `Map` object of which the keys are canonical property names and the values are `Map`s from property value aliases to canonical property value names. The most common usage is to convert a property value alias to its canonical form:
+
+```js
+propertyValueAliases.get(property).get(propertyValue)
+```
+
+Examples:
+
+```js
+propertyValueAliases.get('Bidi_Class').get('AL')
+// → 'Arabic_Letter'
+
+propertyValueAliases.get('Block').get('Alphabetic_PF')
+// → 'Alphabetic_Presentation_Forms'
+
+propertyValueAliases.get('Canonical_Combining_Class').get('KV')
+// → 'Kana_Voicing'
+```
+
+## Author
+
+| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
+|---|
+| [Mathias Bynens](https://mathiasbynens.be/) |
+
+## License
+
+_unicode-property-value-aliases_ is available under the [MIT](https://mths.be/mit) license.
diff --git a/data/PropertyValueAliases.txt b/data/PropertyValueAliases.txt
new file mode 100644
index 0000000..f56ab59
--- /dev/null
+++ b/data/PropertyValueAliases.txt
@@ -0,0 +1,1460 @@
+# PropertyValueAliases-9.0.0.txt
+# Date: 2016-03-02, 18:55:05 GMT
+# © 2016 Unicode®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# Unicode Character Database
+# For documentation, see http://www.unicode.org/reports/tr44/
+#
+# This file contains aliases for property values used in the UCD.
+# These names can be used for XML formats of UCD data, for regular-expression
+# property tests, and other programmatic textual descriptions of Unicode data.
+#
+# The names may be translated in appropriate environments, and additional
+# aliases may be useful.
+#
+# FORMAT
+#
+# Each line describes a property value name.
+# This consists of three or more fields, separated by semicolons.
+#
+# First Field: The first field describes the property for which that
+# property value name is used.
+#
+# Second Field: The second field is an abbreviated name.
+#
+# Third Field: The third field is a long name.
+#
+# In the case of ccc, there are 4 fields. The second field is numeric, third
+# is abbreviated, and fourth is long.
+#
+# The above are the preferred aliases. Other aliases may be listed in additional fields.
+#
+# Loose matching should be applied to all property names and property values, with
+# the exception of String Property values. With loose matching of property names and
+# values, the case distinctions, whitespace, hyphens, and '_' are ignored.
+# For Numeric Property values, numeric equivalence is applied: thus "01.00"
+# is equivalent to "1".
+#
+# NOTE: Property value names are NOT unique across properties. For example:
+#
+# AL means Arabic Letter for the Bidi_Class property, and
+# AL means Above_Left for the Canonical_Combining_Class property, and
+# AL means Alphabetic for the Line_Break property.
+#
+# In addition, some property names may be the same as some property value names.
+# For example:
+#
+# sc means the Script property, and
+# Sc means the General_Category property value Currency_Symbol (Sc)
+#
+# The combination of property value and property name is, however, unique.
+#
+# For more information, see UTS #18: Unicode Regular Expressions
+# ================================================
+
+
+# ASCII_Hex_Digit (AHex)
+
+AHex; N ; No ; F ; False
+AHex; Y ; Yes ; T ; True
+
+# Age (age)
+
+age; 1.1 ; V1_1
+age; 2.0 ; V2_0
+age; 2.1 ; V2_1
+age; 3.0 ; V3_0
+age; 3.1 ; V3_1
+age; 3.2 ; V3_2
+age; 4.0 ; V4_0
+age; 4.1 ; V4_1
+age; 5.0 ; V5_0
+age; 5.1 ; V5_1
+age; 5.2 ; V5_2
+age; 6.0 ; V6_0
+age; 6.1 ; V6_1
+age; 6.2 ; V6_2
+age; 6.3 ; V6_3
+age; 7.0 ; V7_0
+age; 8.0 ; V8_0
+age; 9.0 ; V9_0
+age; NA ; Unassigned
+
+# Alphabetic (Alpha)
+
+Alpha; N ; No ; F ; False
+Alpha; Y ; Yes ; T ; True
+
+# Bidi_Class (bc)
+
+bc ; AL ; Arabic_Letter
+bc ; AN ; Arabic_Number
+bc ; B ; Paragraph_Separator
+bc ; BN ; Boundary_Neutral
+bc ; CS ; Common_Separator
+bc ; EN ; European_Number
+bc ; ES ; European_Separator
+bc ; ET ; European_Terminator
+bc ; FSI ; First_Strong_Isolate
+bc ; L ; Left_To_Right
+bc ; LRE ; Left_To_Right_Embedding
+bc ; LRI ; Left_To_Right_Isolate
+bc ; LRO ; Left_To_Right_Override
+bc ; NSM ; Nonspacing_Mark
+bc ; ON ; Other_Neutral
+bc ; PDF ; Pop_Directional_Format
+bc ; PDI ; Pop_Directional_Isolate
+bc ; R ; Right_To_Left
+bc ; RLE ; Right_To_Left_Embedding
+bc ; RLI ; Right_To_Left_Isolate
+bc ; RLO ; Right_To_Left_Override
+bc ; S ; Segment_Separator
+bc ; WS ; White_Space
+
+# Bidi_Control (Bidi_C)
+
+Bidi_C; N ; No ; F ; False
+Bidi_C; Y ; Yes ; T ; True
+
+# Bidi_Mirrored (Bidi_M)
+
+Bidi_M; N ; No ; F ; False
+Bidi_M; Y ; Yes ; T ; True
+
+# Bidi_Mirroring_Glyph (bmg)
+
+# @missing: 0000..10FFFF; Bidi_Mirroring_Glyph; <none>
+
+# Bidi_Paired_Bracket (bpb)
+
+# @missing: 0000..10FFFF; Bidi_Paired_Bracket; <none>
+
+# Bidi_Paired_Bracket_Type (bpt)
+
+bpt; c ; Close
+bpt; n ; None
+bpt; o ; Open
+# @missing: 0000..10FFFF; Bidi_Paired_Bracket_Type; n
+
+# Block (blk)
+
+blk; Adlam ; Adlam
+blk; Aegean_Numbers ; Aegean_Numbers
+blk; Ahom ; Ahom
+blk; Alchemical ; Alchemical_Symbols
+blk; Alphabetic_PF ; Alphabetic_Presentation_Forms
+blk; Anatolian_Hieroglyphs ; Anatolian_Hieroglyphs
+blk; Ancient_Greek_Music ; Ancient_Greek_Musical_Notation
+blk; Ancient_Greek_Numbers ; Ancient_Greek_Numbers
+blk; Ancient_Symbols ; Ancient_Symbols
+blk; Arabic ; Arabic
+blk; Arabic_Ext_A ; Arabic_Extended_A
+blk; Arabic_Math ; Arabic_Mathematical_Alphabetic_Symbols
+blk; Arabic_PF_A ; Arabic_Presentation_Forms_A ; Arabic_Presentation_Forms-A
+blk; Arabic_PF_B ; Arabic_Presentation_Forms_B
+blk; Arabic_Sup ; Arabic_Supplement
+blk; Armenian ; Armenian
+blk; Arrows ; Arrows
+blk; ASCII ; Basic_Latin
+blk; Avestan ; Avestan
+blk; Balinese ; Balinese
+blk; Bamum ; Bamum
+blk; Bamum_Sup ; Bamum_Supplement
+blk; Bassa_Vah ; Bassa_Vah
+blk; Batak ; Batak
+blk; Bengali ; Bengali
+blk; Bhaiksuki ; Bhaiksuki
+blk; Block_Elements ; Block_Elements
+blk; Bopomofo ; Bopomofo
+blk; Bopomofo_Ext ; Bopomofo_Extended
+blk; Box_Drawing ; Box_Drawing
+blk; Brahmi ; Brahmi
+blk; Braille ; Braille_Patterns
+blk; Buginese ; Buginese
+blk; Buhid ; Buhid
+blk; Byzantine_Music ; Byzantine_Musical_Symbols
+blk; Carian ; Carian
+blk; Caucasian_Albanian ; Caucasian_Albanian
+blk; Chakma ; Chakma
+blk; Cham ; Cham
+blk; Cherokee ; Cherokee
+blk; Cherokee_Sup ; Cherokee_Supplement
+blk; CJK ; CJK_Unified_Ideographs
+blk; CJK_Compat ; CJK_Compatibility
+blk; CJK_Compat_Forms ; CJK_Compatibility_Forms
+blk; CJK_Compat_Ideographs ; CJK_Compatibility_Ideographs
+blk; CJK_Compat_Ideographs_Sup ; CJK_Compatibility_Ideographs_Supplement
+blk; CJK_Ext_A ; CJK_Unified_Ideographs_Extension_A
+blk; CJK_Ext_B ; CJK_Unified_Ideographs_Extension_B
+blk; CJK_Ext_C ; CJK_Unified_Ideographs_Extension_C
+blk; CJK_Ext_D ; CJK_Unified_Ideographs_Extension_D
+blk; CJK_Ext_E ; CJK_Unified_Ideographs_Extension_E
+blk; CJK_Radicals_Sup ; CJK_Radicals_Supplement
+blk; CJK_Strokes ; CJK_Strokes
+blk; CJK_Symbols ; CJK_Symbols_And_Punctuation
+blk; Compat_Jamo ; Hangul_Compatibility_Jamo
+blk; Control_Pictures ; Control_Pictures
+blk; Coptic ; Coptic
+blk; Coptic_Epact_Numbers ; Coptic_Epact_Numbers
+blk; Counting_Rod ; Counting_Rod_Numerals
+blk; Cuneiform ; Cuneiform
+blk; Cuneiform_Numbers ; Cuneiform_Numbers_And_Punctuation
+blk; Currency_Symbols ; Currency_Symbols
+blk; Cypriot_Syllabary ; Cypriot_Syllabary
+blk; Cyrillic ; Cyrillic
+blk; Cyrillic_Ext_A ; Cyrillic_Extended_A
+blk; Cyrillic_Ext_B ; Cyrillic_Extended_B
+blk; Cyrillic_Ext_C ; Cyrillic_Extended_C
+blk; Cyrillic_Sup ; Cyrillic_Supplement ; Cyrillic_Supplementary
+blk; Deseret ; Deseret
+blk; Devanagari ; Devanagari
+blk; Devanagari_Ext ; Devanagari_Extended
+blk; Diacriticals ; Combining_Diacritical_Marks
+blk; Diacriticals_Ext ; Combining_Diacritical_Marks_Extended
+blk; Diacriticals_For_Symbols ; Combining_Diacritical_Marks_For_Symbols; Combining_Marks_For_Symbols
+blk; Diacriticals_Sup ; Combining_Diacritical_Marks_Supplement
+blk; Dingbats ; Dingbats
+blk; Domino ; Domino_Tiles
+blk; Duployan ; Duployan
+blk; Early_Dynastic_Cuneiform ; Early_Dynastic_Cuneiform
+blk; Egyptian_Hieroglyphs ; Egyptian_Hieroglyphs
+blk; Elbasan ; Elbasan
+blk; Emoticons ; Emoticons
+blk; Enclosed_Alphanum ; Enclosed_Alphanumerics
+blk; Enclosed_Alphanum_Sup ; Enclosed_Alphanumeric_Supplement
+blk; Enclosed_CJK ; Enclosed_CJK_Letters_And_Months
+blk; Enclosed_Ideographic_Sup ; Enclosed_Ideographic_Supplement
+blk; Ethiopic ; Ethiopic
+blk; Ethiopic_Ext ; Ethiopic_Extended
+blk; Ethiopic_Ext_A ; Ethiopic_Extended_A
+blk; Ethiopic_Sup ; Ethiopic_Supplement
+blk; Geometric_Shapes ; Geometric_Shapes
+blk; Geometric_Shapes_Ext ; Geometric_Shapes_Extended
+blk; Georgian ; Georgian
+blk; Georgian_Sup ; Georgian_Supplement
+blk; Glagolitic ; Glagolitic
+blk; Glagolitic_Sup ; Glagolitic_Supplement
+blk; Gothic ; Gothic
+blk; Grantha ; Grantha
+blk; Greek ; Greek_And_Coptic
+blk; Greek_Ext ; Greek_Extended
+blk; Gujarati ; Gujarati
+blk; Gurmukhi ; Gurmukhi
+blk; Half_And_Full_Forms ; Halfwidth_And_Fullwidth_Forms
+blk; Half_Marks ; Combining_Half_Marks
+blk; Hangul ; Hangul_Syllables
+blk; Hanunoo ; Hanunoo
+blk; Hatran ; Hatran
+blk; Hebrew ; Hebrew
+blk; High_PU_Surrogates ; High_Private_Use_Surrogates
+blk; High_Surrogates ; High_Surrogates
+blk; Hiragana ; Hiragana
+blk; IDC ; Ideographic_Description_Characters
+blk; Ideographic_Symbols ; Ideographic_Symbols_And_Punctuation
+blk; Imperial_Aramaic ; Imperial_Aramaic
+blk; Indic_Number_Forms ; Common_Indic_Number_Forms
+blk; Inscriptional_Pahlavi ; Inscriptional_Pahlavi
+blk; Inscriptional_Parthian ; Inscriptional_Parthian
+blk; IPA_Ext ; IPA_Extensions
+blk; Jamo ; Hangul_Jamo
+blk; Jamo_Ext_A ; Hangul_Jamo_Extended_A
+blk; Jamo_Ext_B ; Hangul_Jamo_Extended_B
+blk; Javanese ; Javanese
+blk; Kaithi ; Kaithi
+blk; Kana_Sup ; Kana_Supplement
+blk; Kanbun ; Kanbun
+blk; Kangxi ; Kangxi_Radicals
+blk; Kannada ; Kannada
+blk; Katakana ; Katakana
+blk; Katakana_Ext ; Katakana_Phonetic_Extensions
+blk; Kayah_Li ; Kayah_Li
+blk; Kharoshthi ; Kharoshthi
+blk; Khmer ; Khmer
+blk; Khmer_Symbols ; Khmer_Symbols
+blk; Khojki ; Khojki
+blk; Khudawadi ; Khudawadi
+blk; Lao ; Lao
+blk; Latin_1_Sup ; Latin_1_Supplement ; Latin_1
+blk; Latin_Ext_A ; Latin_Extended_A
+blk; Latin_Ext_Additional ; Latin_Extended_Additional
+blk; Latin_Ext_B ; Latin_Extended_B
+blk; Latin_Ext_C ; Latin_Extended_C
+blk; Latin_Ext_D ; Latin_Extended_D
+blk; Latin_Ext_E ; Latin_Extended_E
+blk; Lepcha ; Lepcha
+blk; Letterlike_Symbols ; Letterlike_Symbols
+blk; Limbu ; Limbu
+blk; Linear_A ; Linear_A
+blk; Linear_B_Ideograms ; Linear_B_Ideograms
+blk; Linear_B_Syllabary ; Linear_B_Syllabary
+blk; Lisu ; Lisu
+blk; Low_Surrogates ; Low_Surrogates
+blk; Lycian ; Lycian
+blk; Lydian ; Lydian
+blk; Mahajani ; Mahajani
+blk; Mahjong ; Mahjong_Tiles
+blk; Malayalam ; Malayalam
+blk; Mandaic ; Mandaic
+blk; Manichaean ; Manichaean
+blk; Marchen ; Marchen
+blk; Math_Alphanum ; Mathematical_Alphanumeric_Symbols
+blk; Math_Operators ; Mathematical_Operators
+blk; Meetei_Mayek ; Meetei_Mayek
+blk; Meetei_Mayek_Ext ; Meetei_Mayek_Extensions
+blk; Mende_Kikakui ; Mende_Kikakui
+blk; Meroitic_Cursive ; Meroitic_Cursive
+blk; Meroitic_Hieroglyphs ; Meroitic_Hieroglyphs
+blk; Miao ; Miao
+blk; Misc_Arrows ; Miscellaneous_Symbols_And_Arrows
+blk; Misc_Math_Symbols_A ; Miscellaneous_Mathematical_Symbols_A
+blk; Misc_Math_Symbols_B ; Miscellaneous_Mathematical_Symbols_B
+blk; Misc_Pictographs ; Miscellaneous_Symbols_And_Pictographs
+blk; Misc_Symbols ; Miscellaneous_Symbols
+blk; Misc_Technical ; Miscellaneous_Technical
+blk; Modi ; Modi
+blk; Modifier_Letters ; Spacing_Modifier_Letters
+blk; Modifier_Tone_Letters ; Modifier_Tone_Letters
+blk; Mongolian ; Mongolian
+blk; Mongolian_Sup ; Mongolian_Supplement
+blk; Mro ; Mro
+blk; Multani ; Multani
+blk; Music ; Musical_Symbols
+blk; Myanmar ; Myanmar
+blk; Myanmar_Ext_A ; Myanmar_Extended_A
+blk; Myanmar_Ext_B ; Myanmar_Extended_B
+blk; Nabataean ; Nabataean
+blk; NB ; No_Block
+blk; New_Tai_Lue ; New_Tai_Lue
+blk; Newa ; Newa
+blk; NKo ; NKo
+blk; Number_Forms ; Number_Forms
+blk; OCR ; Optical_Character_Recognition
+blk; Ogham ; Ogham
+blk; Ol_Chiki ; Ol_Chiki
+blk; Old_Hungarian ; Old_Hungarian
+blk; Old_Italic ; Old_Italic
+blk; Old_North_Arabian ; Old_North_Arabian
+blk; Old_Permic ; Old_Permic
+blk; Old_Persian ; Old_Persian
+blk; Old_South_Arabian ; Old_South_Arabian
+blk; Old_Turkic ; Old_Turkic
+blk; Oriya ; Oriya
+blk; Ornamental_Dingbats ; Ornamental_Dingbats
+blk; Osage ; Osage
+blk; Osmanya ; Osmanya
+blk; Pahawh_Hmong ; Pahawh_Hmong
+blk; Palmyrene ; Palmyrene
+blk; Pau_Cin_Hau ; Pau_Cin_Hau
+blk; Phags_Pa ; Phags_Pa
+blk; Phaistos ; Phaistos_Disc
+blk; Phoenician ; Phoenician
+blk; Phonetic_Ext ; Phonetic_Extensions
+blk; Phonetic_Ext_Sup ; Phonetic_Extensions_Supplement
+blk; Playing_Cards ; Playing_Cards
+blk; Psalter_Pahlavi ; Psalter_Pahlavi
+blk; PUA ; Private_Use_Area ; Private_Use
+blk; Punctuation ; General_Punctuation
+blk; Rejang ; Rejang
+blk; Rumi ; Rumi_Numeral_Symbols
+blk; Runic ; Runic
+blk; Samaritan ; Samaritan
+blk; Saurashtra ; Saurashtra
+blk; Sharada ; Sharada
+blk; Shavian ; Shavian
+blk; Shorthand_Format_Controls ; Shorthand_Format_Controls
+blk; Siddham ; Siddham
+blk; Sinhala ; Sinhala
+blk; Sinhala_Archaic_Numbers ; Sinhala_Archaic_Numbers
+blk; Small_Forms ; Small_Form_Variants
+blk; Sora_Sompeng ; Sora_Sompeng
+blk; Specials ; Specials
+blk; Sundanese ; Sundanese
+blk; Sundanese_Sup ; Sundanese_Supplement
+blk; Sup_Arrows_A ; Supplemental_Arrows_A
+blk; Sup_Arrows_B ; Supplemental_Arrows_B
+blk; Sup_Arrows_C ; Supplemental_Arrows_C
+blk; Sup_Math_Operators ; Supplemental_Mathematical_Operators
+blk; Sup_PUA_A ; Supplementary_Private_Use_Area_A
+blk; Sup_PUA_B ; Supplementary_Private_Use_Area_B
+blk; Sup_Punctuation ; Supplemental_Punctuation
+blk; Sup_Symbols_And_Pictographs ; Supplemental_Symbols_And_Pictographs
+blk; Super_And_Sub ; Superscripts_And_Subscripts
+blk; Sutton_SignWriting ; Sutton_SignWriting
+blk; Syloti_Nagri ; Syloti_Nagri
+blk; Syriac ; Syriac
+blk; Tagalog ; Tagalog
+blk; Tagbanwa ; Tagbanwa
+blk; Tags ; Tags
+blk; Tai_Le ; Tai_Le
+blk; Tai_Tham ; Tai_Tham
+blk; Tai_Viet ; Tai_Viet
+blk; Tai_Xuan_Jing ; Tai_Xuan_Jing_Symbols
+blk; Takri ; Takri
+blk; Tamil ; Tamil
+blk; Tangut ; Tangut
+blk; Tangut_Components ; Tangut_Components
+blk; Telugu ; Telugu
+blk; Thaana ; Thaana
+blk; Thai ; Thai
+blk; Tibetan ; Tibetan
+blk; Tifinagh ; Tifinagh
+blk; Tirhuta ; Tirhuta
+blk; Transport_And_Map ; Transport_And_Map_Symbols
+blk; UCAS ; Unified_Canadian_Aboriginal_Syllabics; Canadian_Syllabics
+blk; UCAS_Ext ; Unified_Canadian_Aboriginal_Syllabics_Extended
+blk; Ugaritic ; Ugaritic
+blk; Vai ; Vai
+blk; Vedic_Ext ; Vedic_Extensions
+blk; Vertical_Forms ; Vertical_Forms
+blk; VS ; Variation_Selectors
+blk; VS_Sup ; Variation_Selectors_Supplement
+blk; Warang_Citi ; Warang_Citi
+blk; Yi_Radicals ; Yi_Radicals
+blk; Yi_Syllables ; Yi_Syllables
+blk; Yijing ; Yijing_Hexagram_Symbols
+
+# Canonical_Combining_Class (ccc)
+
+ccc; 0; NR ; Not_Reordered
+ccc; 1; OV ; Overlay
+ccc; 7; NK ; Nukta
+ccc; 8; KV ; Kana_Voicing
+ccc; 9; VR ; Virama
+ccc; 10; CCC10 ; CCC10
+ccc; 11; CCC11 ; CCC11
+ccc; 12; CCC12 ; CCC12
+ccc; 13; CCC13 ; CCC13
+ccc; 14; CCC14 ; CCC14
+ccc; 15; CCC15 ; CCC15
+ccc; 16; CCC16 ; CCC16
+ccc; 17; CCC17 ; CCC17
+ccc; 18; CCC18 ; CCC18
+ccc; 19; CCC19 ; CCC19
+ccc; 20; CCC20 ; CCC20
+ccc; 21; CCC21 ; CCC21
+ccc; 22; CCC22 ; CCC22
+ccc; 23; CCC23 ; CCC23
+ccc; 24; CCC24 ; CCC24
+ccc; 25; CCC25 ; CCC25
+ccc; 26; CCC26 ; CCC26
+ccc; 27; CCC27 ; CCC27
+ccc; 28; CCC28 ; CCC28
+ccc; 29; CCC29 ; CCC29
+ccc; 30; CCC30 ; CCC30
+ccc; 31; CCC31 ; CCC31
+ccc; 32; CCC32 ; CCC32
+ccc; 33; CCC33 ; CCC33
+ccc; 34; CCC34 ; CCC34
+ccc; 35; CCC35 ; CCC35
+ccc; 36; CCC36 ; CCC36
+ccc; 84; CCC84 ; CCC84
+ccc; 91; CCC91 ; CCC91
+ccc; 103; CCC103 ; CCC103
+ccc; 107; CCC107 ; CCC107
+ccc; 118; CCC118 ; CCC118
+ccc; 122; CCC122 ; CCC122
+ccc; 129; CCC129 ; CCC129
+ccc; 130; CCC130 ; CCC130
+ccc; 132; CCC132 ; CCC132
+ccc; 133; CCC133 ; CCC133 # RESERVED
+ccc; 200; ATBL ; Attached_Below_Left
+ccc; 202; ATB ; Attached_Below
+ccc; 214; ATA ; Attached_Above
+ccc; 216; ATAR ; Attached_Above_Right
+ccc; 218; BL ; Below_Left
+ccc; 220; B ; Below
+ccc; 222; BR ; Below_Right
+ccc; 224; L ; Left
+ccc; 226; R ; Right
+ccc; 228; AL ; Above_Left
+ccc; 230; A ; Above
+ccc; 232; AR ; Above_Right
+ccc; 233; DB ; Double_Below
+ccc; 234; DA ; Double_Above
+ccc; 240; IS ; Iota_Subscript
+
+# Case_Folding (cf)
+
+# @missing: 0000..10FFFF; Case_Folding; <code point>
+
+# Case_Ignorable (CI)
+
+CI ; N ; No ; F ; False
+CI ; Y ; Yes ; T ; True
+
+# Cased (Cased)
+
+Cased; N ; No ; F ; False
+Cased; Y ; Yes ; T ; True
+
+# Changes_When_Casefolded (CWCF)
+
+CWCF; N ; No ; F ; False
+CWCF; Y ; Yes ; T ; True
+
+# Changes_When_Casemapped (CWCM)
+
+CWCM; N ; No ; F ; False
+CWCM; Y ; Yes ; T ; True
+
+# Changes_When_Lowercased (CWL)
+
+CWL; N ; No ; F ; False
+CWL; Y ; Yes ; T ; True
+
+# Changes_When_NFKC_Casefolded (CWKCF)
+
+CWKCF; N ; No ; F ; False
+CWKCF; Y ; Yes ; T ; True
+
+# Changes_When_Titlecased (CWT)
+
+CWT; N ; No ; F ; False
+CWT; Y ; Yes ; T ; True
+
+# Changes_When_Uppercased (CWU)
+
+CWU; N ; No ; F ; False
+CWU; Y ; Yes ; T ; True
+
+# Composition_Exclusion (CE)
+
+CE ; N ; No ; F ; False
+CE ; Y ; Yes ; T ; True
+
+# Dash (Dash)
+
+Dash; N ; No ; F ; False
+Dash; Y ; Yes ; T ; True
+
+# Decomposition_Mapping (dm)
+
+# @missing: 0000..10FFFF; Decomposition_Mapping; <code point>
+
+# Decomposition_Type (dt)
+
+dt ; Can ; Canonical ; can
+dt ; Com ; Compat ; com
+dt ; Enc ; Circle ; enc
+dt ; Fin ; Final ; fin
+dt ; Font ; Font ; font
+dt ; Fra ; Fraction ; fra
+dt ; Init ; Initial ; init
+dt ; Iso ; Isolated ; iso
+dt ; Med ; Medial ; med
+dt ; Nar ; Narrow ; nar
+dt ; Nb ; Nobreak ; nb
+dt ; None ; None ; none
+dt ; Sml ; Small ; sml
+dt ; Sqr ; Square ; sqr
+dt ; Sub ; Sub ; sub
+dt ; Sup ; Super ; sup
+dt ; Vert ; Vertical ; vert
+dt ; Wide ; Wide ; wide
+
+# Default_Ignorable_Code_Point (DI)
+
+DI ; N ; No ; F ; False
+DI ; Y ; Yes ; T ; True
+
+# Deprecated (Dep)
+
+Dep; N ; No ; F ; False
+Dep; Y ; Yes ; T ; True
+
+# Diacritic (Dia)
+
+Dia; N ; No ; F ; False
+Dia; Y ; Yes ; T ; True
+
+# East_Asian_Width (ea)
+
+ea ; A ; Ambiguous
+ea ; F ; Fullwidth
+ea ; H ; Halfwidth
+ea ; N ; Neutral
+ea ; Na ; Narrow
+ea ; W ; Wide
+
+# Expands_On_NFC (XO_NFC)
+
+XO_NFC; N ; No ; F ; False
+XO_NFC; Y ; Yes ; T ; True
+
+# Expands_On_NFD (XO_NFD)
+
+XO_NFD; N ; No ; F ; False
+XO_NFD; Y ; Yes ; T ; True
+
+# Expands_On_NFKC (XO_NFKC)
+
+XO_NFKC; N ; No ; F ; False
+XO_NFKC; Y ; Yes ; T ; True
+
+# Expands_On_NFKD (XO_NFKD)
+
+XO_NFKD; N ; No ; F ; False
+XO_NFKD; Y ; Yes ; T ; True
+
+# Extender (Ext)
+
+Ext; N ; No ; F ; False
+Ext; Y ; Yes ; T ; True
+
+# FC_NFKC_Closure (FC_NFKC)
+
+# @missing: 0000..10FFFF; FC_NFKC_Closure; <code point>
+
+# Full_Composition_Exclusion (Comp_Ex)
+
+Comp_Ex; N ; No ; F ; False
+Comp_Ex; Y ; Yes ; T ; True
+
+# General_Category (gc)
+
+gc ; C ; Other # Cc | Cf | Cn | Co | Cs
+gc ; Cc ; Control ; cntrl
+gc ; Cf ; Format
+gc ; Cn ; Unassigned
+gc ; Co ; Private_Use
+gc ; Cs ; Surrogate
+gc ; L ; Letter # Ll | Lm | Lo | Lt | Lu
+gc ; LC ; Cased_Letter # Ll | Lt | Lu
+gc ; Ll ; Lowercase_Letter
+gc ; Lm ; Modifier_Letter
+gc ; Lo ; Other_Letter
+gc ; Lt ; Titlecase_Letter
+gc ; Lu ; Uppercase_Letter
+gc ; M ; Mark ; Combining_Mark # Mc | Me | Mn
+gc ; Mc ; Spacing_Mark
+gc ; Me ; Enclosing_Mark
+gc ; Mn ; Nonspacing_Mark
+gc ; N ; Number # Nd | Nl | No
+gc ; Nd ; Decimal_Number ; digit
+gc ; Nl ; Letter_Number
+gc ; No ; Other_Number
+gc ; P ; Punctuation ; punct # Pc | Pd | Pe | Pf | Pi | Po | Ps
+gc ; Pc ; Connector_Punctuation
+gc ; Pd ; Dash_Punctuation
+gc ; Pe ; Close_Punctuation
+gc ; Pf ; Final_Punctuation
+gc ; Pi ; Initial_Punctuation
+gc ; Po ; Other_Punctuation
+gc ; Ps ; Open_Punctuation
+gc ; S ; Symbol # Sc | Sk | Sm | So
+gc ; Sc ; Currency_Symbol
+gc ; Sk ; Modifier_Symbol
+gc ; Sm ; Math_Symbol
+gc ; So ; Other_Symbol
+gc ; Z ; Separator # Zl | Zp | Zs
+gc ; Zl ; Line_Separator
+gc ; Zp ; Paragraph_Separator
+gc ; Zs ; Space_Separator
+# @missing: 0000..10FFFF; General_Category; Unassigned
+
+# Grapheme_Base (Gr_Base)
+
+Gr_Base; N ; No ; F ; False
+Gr_Base; Y ; Yes ; T ; True
+
+# Grapheme_Cluster_Break (GCB)
+
+GCB; CN ; Control
+GCB; CR ; CR
+GCB; EB ; E_Base
+GCB; EBG ; E_Base_GAZ
+GCB; EM ; E_Modifier
+GCB; EX ; Extend
+GCB; GAZ ; Glue_After_Zwj
+GCB; L ; L
+GCB; LF ; LF
+GCB; LV ; LV
+GCB; LVT ; LVT
+GCB; PP ; Prepend
+GCB; RI ; Regional_Indicator
+GCB; SM ; SpacingMark
+GCB; T ; T
+GCB; V ; V
+GCB; XX ; Other
+GCB; ZWJ ; ZWJ
+
+# Grapheme_Extend (Gr_Ext)
+
+Gr_Ext; N ; No ; F ; False
+Gr_Ext; Y ; Yes ; T ; True
+
+# Grapheme_Link (Gr_Link)
+
+Gr_Link; N ; No ; F ; False
+Gr_Link; Y ; Yes ; T ; True
+
+# Hangul_Syllable_Type (hst)
+
+hst; L ; Leading_Jamo
+hst; LV ; LV_Syllable
+hst; LVT ; LVT_Syllable
+hst; NA ; Not_Applicable
+hst; T ; Trailing_Jamo
+hst; V ; Vowel_Jamo
+
+# Hex_Digit (Hex)
+
+Hex; N ; No ; F ; False
+Hex; Y ; Yes ; T ; True
+
+# Hyphen (Hyphen)
+
+Hyphen; N ; No ; F ; False
+Hyphen; Y ; Yes ; T ; True
+
+# IDS_Binary_Operator (IDSB)
+
+IDSB; N ; No ; F ; False
+IDSB; Y ; Yes ; T ; True
+
+# IDS_Trinary_Operator (IDST)
+
+IDST; N ; No ; F ; False
+IDST; Y ; Yes ; T ; True
+
+# ID_Continue (IDC)
+
+IDC; N ; No ; F ; False
+IDC; Y ; Yes ; T ; True
+
+# ID_Start (IDS)
+
+IDS; N ; No ; F ; False
+IDS; Y ; Yes ; T ; True
+
+# ISO_Comment (isc)
+
+# @missing: 0000..10FFFF; ISO_Comment; <none>
+
+# Ideographic (Ideo)
+
+Ideo; N ; No ; F ; False
+Ideo; Y ; Yes ; T ; True
+
+# Indic_Positional_Category (InPC)
+
+InPC; Bottom ; Bottom
+InPC; Bottom_And_Right ; Bottom_And_Right
+InPC; Left ; Left
+InPC; Left_And_Right ; Left_And_Right
+InPC; NA ; NA
+InPC; Overstruck ; Overstruck
+InPC; Right ; Right
+InPC; Top ; Top
+InPC; Top_And_Bottom ; Top_And_Bottom
+InPC; Top_And_Bottom_And_Right ; Top_And_Bottom_And_Right
+InPC; Top_And_Left ; Top_And_Left
+InPC; Top_And_Left_And_Right ; Top_And_Left_And_Right
+InPC; Top_And_Right ; Top_And_Right
+InPC; Visual_Order_Left ; Visual_Order_Left
+
+# Indic_Syllabic_Category (InSC)
+
+InSC; Avagraha ; Avagraha
+InSC; Bindu ; Bindu
+InSC; Brahmi_Joining_Number ; Brahmi_Joining_Number
+InSC; Cantillation_Mark ; Cantillation_Mark
+InSC; Consonant ; Consonant
+InSC; Consonant_Dead ; Consonant_Dead
+InSC; Consonant_Final ; Consonant_Final
+InSC; Consonant_Head_Letter ; Consonant_Head_Letter
+InSC; Consonant_Killer ; Consonant_Killer
+InSC; Consonant_Medial ; Consonant_Medial
+InSC; Consonant_Placeholder ; Consonant_Placeholder
+InSC; Consonant_Preceding_Repha ; Consonant_Preceding_Repha
+InSC; Consonant_Prefixed ; Consonant_Prefixed
+InSC; Consonant_Subjoined ; Consonant_Subjoined
+InSC; Consonant_Succeeding_Repha ; Consonant_Succeeding_Repha
+InSC; Consonant_With_Stacker ; Consonant_With_Stacker
+InSC; Gemination_Mark ; Gemination_Mark
+InSC; Invisible_Stacker ; Invisible_Stacker
+InSC; Joiner ; Joiner
+InSC; Modifying_Letter ; Modifying_Letter
+InSC; Non_Joiner ; Non_Joiner
+InSC; Nukta ; Nukta
+InSC; Number ; Number
+InSC; Number_Joiner ; Number_Joiner
+InSC; Other ; Other
+InSC; Pure_Killer ; Pure_Killer
+InSC; Register_Shifter ; Register_Shifter
+InSC; Syllable_Modifier ; Syllable_Modifier
+InSC; Tone_Letter ; Tone_Letter
+InSC; Tone_Mark ; Tone_Mark
+InSC; Virama ; Virama
+InSC; Visarga ; Visarga
+InSC; Vowel ; Vowel
+InSC; Vowel_Dependent ; Vowel_Dependent
+InSC; Vowel_Independent ; Vowel_Independent
+
+# Jamo_Short_Name (JSN)
+
+JSN; A ; A
+JSN; AE ; AE
+JSN; B ; B
+JSN; BB ; BB
+JSN; BS ; BS
+JSN; C ; C
+JSN; D ; D
+JSN; DD ; DD
+JSN; E ; E
+JSN; EO ; EO
+JSN; EU ; EU
+JSN; G ; G
+JSN; GG ; GG
+JSN; GS ; GS
+JSN; H ; H
+JSN; I ; I
+JSN; J ; J
+JSN; JJ ; JJ
+JSN; K ; K
+JSN; L ; L
+JSN; LB ; LB
+JSN; LG ; LG
+JSN; LH ; LH
+JSN; LM ; LM
+JSN; LP ; LP
+JSN; LS ; LS
+JSN; LT ; LT
+JSN; M ; M
+JSN; N ; N
+JSN; NG ; NG
+JSN; NH ; NH
+JSN; NJ ; NJ
+JSN; O ; O
+JSN; OE ; OE
+JSN; P ; P
+JSN; R ; R
+JSN; S ; S
+JSN; SS ; SS
+JSN; T ; T
+JSN; U ; U
+JSN; WA ; WA
+JSN; WAE ; WAE
+JSN; WE ; WE
+JSN; WEO ; WEO
+JSN; WI ; WI
+JSN; YA ; YA
+JSN; YAE ; YAE
+JSN; YE ; YE
+JSN; YEO ; YEO
+JSN; YI ; YI
+JSN; YO ; YO
+JSN; YU ; YU
+# @missing: 0000..10FFFF; Jamo_Short_Name; <none>
+
+# Join_Control (Join_C)
+
+Join_C; N ; No ; F ; False
+Join_C; Y ; Yes ; T ; True
+
+# Joining_Group (jg)
+
+jg ; African_Feh ; African_Feh
+jg ; African_Noon ; African_Noon
+jg ; African_Qaf ; African_Qaf
+jg ; Ain ; Ain
+jg ; Alaph ; Alaph
+jg ; Alef ; Alef
+jg ; Beh ; Beh
+jg ; Beth ; Beth
+jg ; Burushaski_Yeh_Barree ; Burushaski_Yeh_Barree
+jg ; Dal ; Dal
+jg ; Dalath_Rish ; Dalath_Rish
+jg ; E ; E
+jg ; Farsi_Yeh ; Farsi_Yeh
+jg ; Fe ; Fe
+jg ; Feh ; Feh
+jg ; Final_Semkath ; Final_Semkath
+jg ; Gaf ; Gaf
+jg ; Gamal ; Gamal
+jg ; Hah ; Hah
+jg ; He ; He
+jg ; Heh ; Heh
+jg ; Heh_Goal ; Heh_Goal
+jg ; Heth ; Heth
+jg ; Kaf ; Kaf
+jg ; Kaph ; Kaph
+jg ; Khaph ; Khaph
+jg ; Knotted_Heh ; Knotted_Heh
+jg ; Lam ; Lam
+jg ; Lamadh ; Lamadh
+jg ; Manichaean_Aleph ; Manichaean_Aleph
+jg ; Manichaean_Ayin ; Manichaean_Ayin
+jg ; Manichaean_Beth ; Manichaean_Beth
+jg ; Manichaean_Daleth ; Manichaean_Daleth
+jg ; Manichaean_Dhamedh ; Manichaean_Dhamedh
+jg ; Manichaean_Five ; Manichaean_Five
+jg ; Manichaean_Gimel ; Manichaean_Gimel
+jg ; Manichaean_Heth ; Manichaean_Heth
+jg ; Manichaean_Hundred ; Manichaean_Hundred
+jg ; Manichaean_Kaph ; Manichaean_Kaph
+jg ; Manichaean_Lamedh ; Manichaean_Lamedh
+jg ; Manichaean_Mem ; Manichaean_Mem
+jg ; Manichaean_Nun ; Manichaean_Nun
+jg ; Manichaean_One ; Manichaean_One
+jg ; Manichaean_Pe ; Manichaean_Pe
+jg ; Manichaean_Qoph ; Manichaean_Qoph
+jg ; Manichaean_Resh ; Manichaean_Resh
+jg ; Manichaean_Sadhe ; Manichaean_Sadhe
+jg ; Manichaean_Samekh ; Manichaean_Samekh
+jg ; Manichaean_Taw ; Manichaean_Taw
+jg ; Manichaean_Ten ; Manichaean_Ten
+jg ; Manichaean_Teth ; Manichaean_Teth
+jg ; Manichaean_Thamedh ; Manichaean_Thamedh
+jg ; Manichaean_Twenty ; Manichaean_Twenty
+jg ; Manichaean_Waw ; Manichaean_Waw
+jg ; Manichaean_Yodh ; Manichaean_Yodh
+jg ; Manichaean_Zayin ; Manichaean_Zayin
+jg ; Meem ; Meem
+jg ; Mim ; Mim
+jg ; No_Joining_Group ; No_Joining_Group
+jg ; Noon ; Noon
+jg ; Nun ; Nun
+jg ; Nya ; Nya
+jg ; Pe ; Pe
+jg ; Qaf ; Qaf
+jg ; Qaph ; Qaph
+jg ; Reh ; Reh
+jg ; Reversed_Pe ; Reversed_Pe
+jg ; Rohingya_Yeh ; Rohingya_Yeh
+jg ; Sad ; Sad
+jg ; Sadhe ; Sadhe
+jg ; Seen ; Seen
+jg ; Semkath ; Semkath
+jg ; Shin ; Shin
+jg ; Straight_Waw ; Straight_Waw
+jg ; Swash_Kaf ; Swash_Kaf
+jg ; Syriac_Waw ; Syriac_Waw
+jg ; Tah ; Tah
+jg ; Taw ; Taw
+jg ; Teh_Marbuta ; Teh_Marbuta
+jg ; Teh_Marbuta_Goal ; Hamza_On_Heh_Goal
+jg ; Teth ; Teth
+jg ; Waw ; Waw
+jg ; Yeh ; Yeh
+jg ; Yeh_Barree ; Yeh_Barree
+jg ; Yeh_With_Tail ; Yeh_With_Tail
+jg ; Yudh ; Yudh
+jg ; Yudh_He ; Yudh_He
+jg ; Zain ; Zain
+jg ; Zhain ; Zhain
+
+# Joining_Type (jt)
+
+jt ; C ; Join_Causing
+jt ; D ; Dual_Joining
+jt ; L ; Left_Joining
+jt ; R ; Right_Joining
+jt ; T ; Transparent
+jt ; U ; Non_Joining
+
+# Line_Break (lb)
+
+lb ; AI ; Ambiguous
+lb ; AL ; Alphabetic
+lb ; B2 ; Break_Both
+lb ; BA ; Break_After
+lb ; BB ; Break_Before
+lb ; BK ; Mandatory_Break
+lb ; CB ; Contingent_Break
+lb ; CJ ; Conditional_Japanese_Starter
+lb ; CL ; Close_Punctuation
+lb ; CM ; Combining_Mark
+lb ; CP ; Close_Parenthesis
+lb ; CR ; Carriage_Return
+lb ; EB ; E_Base
+lb ; EM ; E_Modifier
+lb ; EX ; Exclamation
+lb ; GL ; Glue
+lb ; H2 ; H2
+lb ; H3 ; H3
+lb ; HL ; Hebrew_Letter
+lb ; HY ; Hyphen
+lb ; ID ; Ideographic
+lb ; IN ; Inseparable ; Inseperable
+lb ; IS ; Infix_Numeric
+lb ; JL ; JL
+lb ; JT ; JT
+lb ; JV ; JV
+lb ; LF ; Line_Feed
+lb ; NL ; Next_Line
+lb ; NS ; Nonstarter
+lb ; NU ; Numeric
+lb ; OP ; Open_Punctuation
+lb ; PO ; Postfix_Numeric
+lb ; PR ; Prefix_Numeric
+lb ; QU ; Quotation
+lb ; RI ; Regional_Indicator
+lb ; SA ; Complex_Context
+lb ; SG ; Surrogate
+lb ; SP ; Space
+lb ; SY ; Break_Symbols
+lb ; WJ ; Word_Joiner
+lb ; XX ; Unknown
+lb ; ZW ; ZWSpace
+lb ; ZWJ ; ZWJ
+
+# Logical_Order_Exception (LOE)
+
+LOE; N ; No ; F ; False
+LOE; Y ; Yes ; T ; True
+
+# Lowercase (Lower)
+
+Lower; N ; No ; F ; False
+Lower; Y ; Yes ; T ; True
+
+# Lowercase_Mapping (lc)
+
+# @missing: 0000..10FFFF; Lowercase_Mapping; <code point>
+
+# Math (Math)
+
+Math; N ; No ; F ; False
+Math; Y ; Yes ; T ; True
+
+# NFC_Quick_Check (NFC_QC)
+
+NFC_QC; M ; Maybe
+NFC_QC; N ; No
+NFC_QC; Y ; Yes
+
+# NFD_Quick_Check (NFD_QC)
+
+NFD_QC; N ; No
+NFD_QC; Y ; Yes
+
+# NFKC_Casefold (NFKC_CF)
+
+# @missing: 0000..10FFFF; NFKC_Casefold; <code point>
+
+# NFKC_Quick_Check (NFKC_QC)
+
+NFKC_QC; M ; Maybe
+NFKC_QC; N ; No
+NFKC_QC; Y ; Yes
+
+# NFKD_Quick_Check (NFKD_QC)
+
+NFKD_QC; N ; No
+NFKD_QC; Y ; Yes
+
+# Name (na)
+
+# @missing: 0000..10FFFF; Name; <none>
+
+# Name_Alias (Name_Alias)
+
+# @missing: 0000..10FFFF; Name_Alias; <none>
+
+# Noncharacter_Code_Point (NChar)
+
+NChar; N ; No ; F ; False
+NChar; Y ; Yes ; T ; True
+
+# Numeric_Type (nt)
+
+nt ; De ; Decimal
+nt ; Di ; Digit
+nt ; None ; None
+nt ; Nu ; Numeric
+
+# Numeric_Value (nv)
+
+# @missing: 0000..10FFFF; Numeric_Value; NaN
+
+# Other_Alphabetic (OAlpha)
+
+OAlpha; N ; No ; F ; False
+OAlpha; Y ; Yes ; T ; True
+
+# Other_Default_Ignorable_Code_Point (ODI)
+
+ODI; N ; No ; F ; False
+ODI; Y ; Yes ; T ; True
+
+# Other_Grapheme_Extend (OGr_Ext)
+
+OGr_Ext; N ; No ; F ; False
+OGr_Ext; Y ; Yes ; T ; True
+
+# Other_ID_Continue (OIDC)
+
+OIDC; N ; No ; F ; False
+OIDC; Y ; Yes ; T ; True
+
+# Other_ID_Start (OIDS)
+
+OIDS; N ; No ; F ; False
+OIDS; Y ; Yes ; T ; True
+
+# Other_Lowercase (OLower)
+
+OLower; N ; No ; F ; False
+OLower; Y ; Yes ; T ; True
+
+# Other_Math (OMath)
+
+OMath; N ; No ; F ; False
+OMath; Y ; Yes ; T ; True
+
+# Other_Uppercase (OUpper)
+
+OUpper; N ; No ; F ; False
+OUpper; Y ; Yes ; T ; True
+
+# Pattern_Syntax (Pat_Syn)
+
+Pat_Syn; N ; No ; F ; False
+Pat_Syn; Y ; Yes ; T ; True
+
+# Pattern_White_Space (Pat_WS)
+
+Pat_WS; N ; No ; F ; False
+Pat_WS; Y ; Yes ; T ; True
+
+# Prepended_Concatenation_Mark (PCM)
+
+PCM; N ; No ; F ; False
+PCM; Y ; Yes ; T ; True
+
+# Quotation_Mark (QMark)
+
+QMark; N ; No ; F ; False
+QMark; Y ; Yes ; T ; True
+
+# Radical (Radical)
+
+Radical; N ; No ; F ; False
+Radical; Y ; Yes ; T ; True
+
+# Script (sc)
+
+sc ; Adlm ; Adlam
+sc ; Aghb ; Caucasian_Albanian
+sc ; Ahom ; Ahom
+sc ; Arab ; Arabic
+sc ; Armi ; Imperial_Aramaic
+sc ; Armn ; Armenian
+sc ; Avst ; Avestan
+sc ; Bali ; Balinese
+sc ; Bamu ; Bamum
+sc ; Bass ; Bassa_Vah
+sc ; Batk ; Batak
+sc ; Beng ; Bengali
+sc ; Bhks ; Bhaiksuki
+sc ; Bopo ; Bopomofo
+sc ; Brah ; Brahmi
+sc ; Brai ; Braille
+sc ; Bugi ; Buginese
+sc ; Buhd ; Buhid
+sc ; Cakm ; Chakma
+sc ; Cans ; Canadian_Aboriginal
+sc ; Cari ; Carian
+sc ; Cham ; Cham
+sc ; Cher ; Cherokee
+sc ; Copt ; Coptic ; Qaac
+sc ; Cprt ; Cypriot
+sc ; Cyrl ; Cyrillic
+sc ; Deva ; Devanagari
+sc ; Dsrt ; Deseret
+sc ; Dupl ; Duployan
+sc ; Egyp ; Egyptian_Hieroglyphs
+sc ; Elba ; Elbasan
+sc ; Ethi ; Ethiopic
+sc ; Geor ; Georgian
+sc ; Glag ; Glagolitic
+sc ; Goth ; Gothic
+sc ; Gran ; Grantha
+sc ; Grek ; Greek
+sc ; Gujr ; Gujarati
+sc ; Guru ; Gurmukhi
+sc ; Hang ; Hangul
+sc ; Hani ; Han
+sc ; Hano ; Hanunoo
+sc ; Hatr ; Hatran
+sc ; Hebr ; Hebrew
+sc ; Hira ; Hiragana
+sc ; Hluw ; Anatolian_Hieroglyphs
+sc ; Hmng ; Pahawh_Hmong
+sc ; Hrkt ; Katakana_Or_Hiragana
+sc ; Hung ; Old_Hungarian
+sc ; Ital ; Old_Italic
+sc ; Java ; Javanese
+sc ; Kali ; Kayah_Li
+sc ; Kana ; Katakana
+sc ; Khar ; Kharoshthi
+sc ; Khmr ; Khmer
+sc ; Khoj ; Khojki
+sc ; Knda ; Kannada
+sc ; Kthi ; Kaithi
+sc ; Lana ; Tai_Tham
+sc ; Laoo ; Lao
+sc ; Latn ; Latin
+sc ; Lepc ; Lepcha
+sc ; Limb ; Limbu
+sc ; Lina ; Linear_A
+sc ; Linb ; Linear_B
+sc ; Lisu ; Lisu
+sc ; Lyci ; Lycian
+sc ; Lydi ; Lydian
+sc ; Mahj ; Mahajani
+sc ; Mand ; Mandaic
+sc ; Mani ; Manichaean
+sc ; Marc ; Marchen
+sc ; Mend ; Mende_Kikakui
+sc ; Merc ; Meroitic_Cursive
+sc ; Mero ; Meroitic_Hieroglyphs
+sc ; Mlym ; Malayalam
+sc ; Modi ; Modi
+sc ; Mong ; Mongolian
+sc ; Mroo ; Mro
+sc ; Mtei ; Meetei_Mayek
+sc ; Mult ; Multani
+sc ; Mymr ; Myanmar
+sc ; Narb ; Old_North_Arabian
+sc ; Nbat ; Nabataean
+sc ; Newa ; Newa
+sc ; Nkoo ; Nko
+sc ; Ogam ; Ogham
+sc ; Olck ; Ol_Chiki
+sc ; Orkh ; Old_Turkic
+sc ; Orya ; Oriya
+sc ; Osge ; Osage
+sc ; Osma ; Osmanya
+sc ; Palm ; Palmyrene
+sc ; Pauc ; Pau_Cin_Hau
+sc ; Perm ; Old_Permic
+sc ; Phag ; Phags_Pa
+sc ; Phli ; Inscriptional_Pahlavi
+sc ; Phlp ; Psalter_Pahlavi
+sc ; Phnx ; Phoenician
+sc ; Plrd ; Miao
+sc ; Prti ; Inscriptional_Parthian
+sc ; Rjng ; Rejang
+sc ; Runr ; Runic
+sc ; Samr ; Samaritan
+sc ; Sarb ; Old_South_Arabian
+sc ; Saur ; Saurashtra
+sc ; Sgnw ; SignWriting
+sc ; Shaw ; Shavian
+sc ; Shrd ; Sharada
+sc ; Sidd ; Siddham
+sc ; Sind ; Khudawadi
+sc ; Sinh ; Sinhala
+sc ; Sora ; Sora_Sompeng
+sc ; Sund ; Sundanese
+sc ; Sylo ; Syloti_Nagri
+sc ; Syrc ; Syriac
+sc ; Tagb ; Tagbanwa
+sc ; Takr ; Takri
+sc ; Tale ; Tai_Le
+sc ; Talu ; New_Tai_Lue
+sc ; Taml ; Tamil
+sc ; Tang ; Tangut
+sc ; Tavt ; Tai_Viet
+sc ; Telu ; Telugu
+sc ; Tfng ; Tifinagh
+sc ; Tglg ; Tagalog
+sc ; Thaa ; Thaana
+sc ; Thai ; Thai
+sc ; Tibt ; Tibetan
+sc ; Tirh ; Tirhuta
+sc ; Ugar ; Ugaritic
+sc ; Vaii ; Vai
+sc ; Wara ; Warang_Citi
+sc ; Xpeo ; Old_Persian
+sc ; Xsux ; Cuneiform
+sc ; Yiii ; Yi
+sc ; Zinh ; Inherited ; Qaai
+sc ; Zyyy ; Common
+sc ; Zzzz ; Unknown
+
+# Script_Extensions (scx)
+
+# @missing: 0000..10FFFF; Script_Extensions; <script>
+
+# Sentence_Break (SB)
+
+SB ; AT ; ATerm
+SB ; CL ; Close
+SB ; CR ; CR
+SB ; EX ; Extend
+SB ; FO ; Format
+SB ; LE ; OLetter
+SB ; LF ; LF
+SB ; LO ; Lower
+SB ; NU ; Numeric
+SB ; SC ; SContinue
+SB ; SE ; Sep
+SB ; SP ; Sp
+SB ; ST ; STerm
+SB ; UP ; Upper
+SB ; XX ; Other
+
+# Sentence_Terminal (STerm)
+
+STerm; N ; No ; F ; False
+STerm; Y ; Yes ; T ; True
+
+# Simple_Case_Folding (scf)
+
+# @missing: 0000..10FFFF; Simple_Case_Folding; <code point>
+
+# Simple_Lowercase_Mapping (slc)
+
+# @missing: 0000..10FFFF; Simple_Lowercase_Mapping; <code point>
+
+# Simple_Titlecase_Mapping (stc)
+
+# @missing: 0000..10FFFF; Simple_Titlecase_Mapping; <code point>
+
+# Simple_Uppercase_Mapping (suc)
+
+# @missing: 0000..10FFFF; Simple_Uppercase_Mapping; <code point>
+
+# Soft_Dotted (SD)
+
+SD ; N ; No ; F ; False
+SD ; Y ; Yes ; T ; True
+
+# Terminal_Punctuation (Term)
+
+Term; N ; No ; F ; False
+Term; Y ; Yes ; T ; True
+
+# Titlecase_Mapping (tc)
+
+# @missing: 0000..10FFFF; Titlecase_Mapping; <code point>
+
+# Unicode_1_Name (na1)
+
+# @missing: 0000..10FFFF; Unicode_1_Name; <none>
+
+# Unified_Ideograph (UIdeo)
+
+UIdeo; N ; No ; F ; False
+UIdeo; Y ; Yes ; T ; True
+
+# Uppercase (Upper)
+
+Upper; N ; No ; F ; False
+Upper; Y ; Yes ; T ; True
+
+# Uppercase_Mapping (uc)
+
+# @missing: 0000..10FFFF; Uppercase_Mapping; <code point>
+
+# Variation_Selector (VS)
+
+VS ; N ; No ; F ; False
+VS ; Y ; Yes ; T ; True
+
+# White_Space (WSpace)
+
+WSpace; N ; No ; F ; False
+WSpace; Y ; Yes ; T ; True
+
+# Word_Break (WB)
+
+WB ; CR ; CR
+WB ; DQ ; Double_Quote
+WB ; EB ; E_Base
+WB ; EBG ; E_Base_GAZ
+WB ; EM ; E_Modifier
+WB ; EX ; ExtendNumLet
+WB ; Extend ; Extend
+WB ; FO ; Format
+WB ; GAZ ; Glue_After_Zwj
+WB ; HL ; Hebrew_Letter
+WB ; KA ; Katakana
+WB ; LE ; ALetter
+WB ; LF ; LF
+WB ; MB ; MidNumLet
+WB ; ML ; MidLetter
+WB ; MN ; MidNum
+WB ; NL ; Newline
+WB ; NU ; Numeric
+WB ; RI ; Regional_Indicator
+WB ; SQ ; Single_Quote
+WB ; XX ; Other
+WB ; ZWJ ; ZWJ
+
+# XID_Continue (XIDC)
+
+XIDC; N ; No ; F ; False
+XIDC; Y ; Yes ; T ; True
+
+# XID_Start (XIDS)
+
+XIDS; N ; No ; F ; False
+XIDS; Y ; Yes ; T ; True
+
+# cjkAccountingNumeric (cjkAccountingNumeric)
+
+# @missing: 0000..10FFFF; cjkAccountingNumeric; NaN
+
+# cjkCompatibilityVariant (cjkCompatibilityVariant)
+
+# @missing: 0000..10FFFF; cjkCompatibilityVariant; <code point>
+
+# cjkIICore (cjkIICore)
+
+# @missing: 0000..10FFFF; cjkIICore; <none>
+
+# cjkIRG_GSource (cjkIRG_GSource)
+
+# @missing: 0000..10FFFF; cjkIRG_GSource; <none>
+
+# cjkIRG_HSource (cjkIRG_HSource)
+
+# @missing: 0000..10FFFF; cjkIRG_HSource; <none>
+
+# cjkIRG_JSource (cjkIRG_JSource)
+
+# @missing: 0000..10FFFF; cjkIRG_JSource; <none>
+
+# cjkIRG_KPSource (cjkIRG_KPSource)
+
+# @missing: 0000..10FFFF; cjkIRG_KPSource; <none>
+
+# cjkIRG_KSource (cjkIRG_KSource)
+
+# @missing: 0000..10FFFF; cjkIRG_KSource; <none>
+
+# cjkIRG_MSource (cjkIRG_MSource)
+
+# @missing: 0000..10FFFF; cjkIRG_MSource; <none>
+
+# cjkIRG_TSource (cjkIRG_TSource)
+
+# @missing: 0000..10FFFF; cjkIRG_TSource; <none>
+
+# cjkIRG_USource (cjkIRG_USource)
+
+# @missing: 0000..10FFFF; cjkIRG_USource; <none>
+
+# cjkIRG_VSource (cjkIRG_VSource)
+
+# @missing: 0000..10FFFF; cjkIRG_VSource; <none>
+
+# cjkOtherNumeric (cjkOtherNumeric)
+
+# @missing: 0000..10FFFF; cjkOtherNumeric; NaN
+
+# cjkPrimaryNumeric (cjkPrimaryNumeric)
+
+# @missing: 0000..10FFFF; cjkPrimaryNumeric; NaN
+
+# cjkRSUnicode (cjkRSUnicode)
+
+# @missing: 0000..10FFFF; cjkRSUnicode; <none>
+
+# EOF
diff --git a/index.js b/index.js
new file mode 100755
index 0000000..c1b5b6c
--- /dev/null
+++ b/index.js
@@ -0,0 +1,1620 @@
+// Generated using `npm run build`. Do not edit!
+module.exports = new Map([
+ ['ASCII', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Any', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Assigned', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['ASCII_Hex_Digit', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Age', new Map([
+ ['1.1', 'V1_1'],
+ ['2.0', 'V2_0'],
+ ['2.1', 'V2_1'],
+ ['3.0', 'V3_0'],
+ ['3.1', 'V3_1'],
+ ['3.2', 'V3_2'],
+ ['4.0', 'V4_0'],
+ ['4.1', 'V4_1'],
+ ['5.0', 'V5_0'],
+ ['5.1', 'V5_1'],
+ ['5.2', 'V5_2'],
+ ['6.0', 'V6_0'],
+ ['6.1', 'V6_1'],
+ ['6.2', 'V6_2'],
+ ['6.3', 'V6_3'],
+ ['7.0', 'V7_0'],
+ ['8.0', 'V8_0'],
+ ['9.0', 'V9_0'],
+ ['NA', 'Unassigned']
+ ])],
+ ['Alphabetic', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Bidi_Class', new Map([
+ ['AL', 'Arabic_Letter'],
+ ['AN', 'Arabic_Number'],
+ ['B', 'Paragraph_Separator'],
+ ['BN', 'Boundary_Neutral'],
+ ['CS', 'Common_Separator'],
+ ['EN', 'European_Number'],
+ ['ES', 'European_Separator'],
+ ['ET', 'European_Terminator'],
+ ['FSI', 'First_Strong_Isolate'],
+ ['L', 'Left_To_Right'],
+ ['LRE', 'Left_To_Right_Embedding'],
+ ['LRI', 'Left_To_Right_Isolate'],
+ ['LRO', 'Left_To_Right_Override'],
+ ['NSM', 'Nonspacing_Mark'],
+ ['ON', 'Other_Neutral'],
+ ['PDF', 'Pop_Directional_Format'],
+ ['PDI', 'Pop_Directional_Isolate'],
+ ['R', 'Right_To_Left'],
+ ['RLE', 'Right_To_Left_Embedding'],
+ ['RLI', 'Right_To_Left_Isolate'],
+ ['RLO', 'Right_To_Left_Override'],
+ ['S', 'Segment_Separator'],
+ ['WS', 'White_Space']
+ ])],
+ ['Bidi_Control', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Bidi_Mirrored', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Bidi_Paired_Bracket_Type', new Map([
+ ['c', 'Close'],
+ ['n', 'None'],
+ ['o', 'Open']
+ ])],
+ ['Block', new Map([
+ ['Adlam', 'Adlam'],
+ ['Aegean_Numbers', 'Aegean_Numbers'],
+ ['Ahom', 'Ahom'],
+ ['Alchemical', 'Alchemical_Symbols'],
+ ['Alphabetic_PF', 'Alphabetic_Presentation_Forms'],
+ ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'],
+ ['Ancient_Greek_Music', 'Ancient_Greek_Musical_Notation'],
+ ['Ancient_Greek_Numbers', 'Ancient_Greek_Numbers'],
+ ['Ancient_Symbols', 'Ancient_Symbols'],
+ ['Arabic', 'Arabic'],
+ ['Arabic_Ext_A', 'Arabic_Extended_A'],
+ ['Arabic_Math', 'Arabic_Mathematical_Alphabetic_Symbols'],
+ ['Arabic_PF_A', 'Arabic_Presentation_Forms_A'],
+ ['Arabic_Presentation_Forms-A', 'Arabic_Presentation_Forms_A'],
+ ['Arabic_PF_B', 'Arabic_Presentation_Forms_B'],
+ ['Arabic_Sup', 'Arabic_Supplement'],
+ ['Armenian', 'Armenian'],
+ ['Arrows', 'Arrows'],
+ ['ASCII', 'Basic_Latin'],
+ ['Avestan', 'Avestan'],
+ ['Balinese', 'Balinese'],
+ ['Bamum', 'Bamum'],
+ ['Bamum_Sup', 'Bamum_Supplement'],
+ ['Bassa_Vah', 'Bassa_Vah'],
+ ['Batak', 'Batak'],
+ ['Bengali', 'Bengali'],
+ ['Bhaiksuki', 'Bhaiksuki'],
+ ['Block_Elements', 'Block_Elements'],
+ ['Bopomofo', 'Bopomofo'],
+ ['Bopomofo_Ext', 'Bopomofo_Extended'],
+ ['Box_Drawing', 'Box_Drawing'],
+ ['Brahmi', 'Brahmi'],
+ ['Braille', 'Braille_Patterns'],
+ ['Buginese', 'Buginese'],
+ ['Buhid', 'Buhid'],
+ ['Byzantine_Music', 'Byzantine_Musical_Symbols'],
+ ['Carian', 'Carian'],
+ ['Caucasian_Albanian', 'Caucasian_Albanian'],
+ ['Chakma', 'Chakma'],
+ ['Cham', 'Cham'],
+ ['Cherokee', 'Cherokee'],
+ ['Cherokee_Sup', 'Cherokee_Supplement'],
+ ['CJK', 'CJK_Unified_Ideographs'],
+ ['CJK_Compat', 'CJK_Compatibility'],
+ ['CJK_Compat_Forms', 'CJK_Compatibility_Forms'],
+ ['CJK_Compat_Ideographs', 'CJK_Compatibility_Ideographs'],
+ ['CJK_Compat_Ideographs_Sup', 'CJK_Compatibility_Ideographs_Supplement'],
+ ['CJK_Ext_A', 'CJK_Unified_Ideographs_Extension_A'],
+ ['CJK_Ext_B', 'CJK_Unified_Ideographs_Extension_B'],
+ ['CJK_Ext_C', 'CJK_Unified_Ideographs_Extension_C'],
+ ['CJK_Ext_D', 'CJK_Unified_Ideographs_Extension_D'],
+ ['CJK_Ext_E', 'CJK_Unified_Ideographs_Extension_E'],
+ ['CJK_Radicals_Sup', 'CJK_Radicals_Supplement'],
+ ['CJK_Strokes', 'CJK_Strokes'],
+ ['CJK_Symbols', 'CJK_Symbols_And_Punctuation'],
+ ['Compat_Jamo', 'Hangul_Compatibility_Jamo'],
+ ['Control_Pictures', 'Control_Pictures'],
+ ['Coptic', 'Coptic'],
+ ['Coptic_Epact_Numbers', 'Coptic_Epact_Numbers'],
+ ['Counting_Rod', 'Counting_Rod_Numerals'],
+ ['Cuneiform', 'Cuneiform'],
+ ['Cuneiform_Numbers', 'Cuneiform_Numbers_And_Punctuation'],
+ ['Currency_Symbols', 'Currency_Symbols'],
+ ['Cypriot_Syllabary', 'Cypriot_Syllabary'],
+ ['Cyrillic', 'Cyrillic'],
+ ['Cyrillic_Ext_A', 'Cyrillic_Extended_A'],
+ ['Cyrillic_Ext_B', 'Cyrillic_Extended_B'],
+ ['Cyrillic_Ext_C', 'Cyrillic_Extended_C'],
+ ['Cyrillic_Sup', 'Cyrillic_Supplement'],
+ ['Cyrillic_Supplementary', 'Cyrillic_Supplement'],
+ ['Deseret', 'Deseret'],
+ ['Devanagari', 'Devanagari'],
+ ['Devanagari_Ext', 'Devanagari_Extended'],
+ ['Diacriticals', 'Combining_Diacritical_Marks'],
+ ['Diacriticals_Ext', 'Combining_Diacritical_Marks_Extended'],
+ ['Diacriticals_For_Symbols', 'Combining_Diacritical_Marks_For_Symbols'],
+ ['Combining_Marks_For_Symbols', 'Combining_Diacritical_Marks_For_Symbols'],
+ ['Diacriticals_Sup', 'Combining_Diacritical_Marks_Supplement'],
+ ['Dingbats', 'Dingbats'],
+ ['Domino', 'Domino_Tiles'],
+ ['Duployan', 'Duployan'],
+ ['Early_Dynastic_Cuneiform', 'Early_Dynastic_Cuneiform'],
+ ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'],
+ ['Elbasan', 'Elbasan'],
+ ['Emoticons', 'Emoticons'],
+ ['Enclosed_Alphanum', 'Enclosed_Alphanumerics'],
+ ['Enclosed_Alphanum_Sup', 'Enclosed_Alphanumeric_Supplement'],
+ ['Enclosed_CJK', 'Enclosed_CJK_Letters_And_Months'],
+ ['Enclosed_Ideographic_Sup', 'Enclosed_Ideographic_Supplement'],
+ ['Ethiopic', 'Ethiopic'],
+ ['Ethiopic_Ext', 'Ethiopic_Extended'],
+ ['Ethiopic_Ext_A', 'Ethiopic_Extended_A'],
+ ['Ethiopic_Sup', 'Ethiopic_Supplement'],
+ ['Geometric_Shapes', 'Geometric_Shapes'],
+ ['Geometric_Shapes_Ext', 'Geometric_Shapes_Extended'],
+ ['Georgian', 'Georgian'],
+ ['Georgian_Sup', 'Georgian_Supplement'],
+ ['Glagolitic', 'Glagolitic'],
+ ['Glagolitic_Sup', 'Glagolitic_Supplement'],
+ ['Gothic', 'Gothic'],
+ ['Grantha', 'Grantha'],
+ ['Greek', 'Greek_And_Coptic'],
+ ['Greek_Ext', 'Greek_Extended'],
+ ['Gujarati', 'Gujarati'],
+ ['Gurmukhi', 'Gurmukhi'],
+ ['Half_And_Full_Forms', 'Halfwidth_And_Fullwidth_Forms'],
+ ['Half_Marks', 'Combining_Half_Marks'],
+ ['Hangul', 'Hangul_Syllables'],
+ ['Hanunoo', 'Hanunoo'],
+ ['Hatran', 'Hatran'],
+ ['Hebrew', 'Hebrew'],
+ ['High_PU_Surrogates', 'High_Private_Use_Surrogates'],
+ ['High_Surrogates', 'High_Surrogates'],
+ ['Hiragana', 'Hiragana'],
+ ['IDC', 'Ideographic_Description_Characters'],
+ ['Ideographic_Symbols', 'Ideographic_Symbols_And_Punctuation'],
+ ['Imperial_Aramaic', 'Imperial_Aramaic'],
+ ['Indic_Number_Forms', 'Common_Indic_Number_Forms'],
+ ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'],
+ ['Inscriptional_Parthian', 'Inscriptional_Parthian'],
+ ['IPA_Ext', 'IPA_Extensions'],
+ ['Jamo', 'Hangul_Jamo'],
+ ['Jamo_Ext_A', 'Hangul_Jamo_Extended_A'],
+ ['Jamo_Ext_B', 'Hangul_Jamo_Extended_B'],
+ ['Javanese', 'Javanese'],
+ ['Kaithi', 'Kaithi'],
+ ['Kana_Sup', 'Kana_Supplement'],
+ ['Kanbun', 'Kanbun'],
+ ['Kangxi', 'Kangxi_Radicals'],
+ ['Kannada', 'Kannada'],
+ ['Katakana', 'Katakana'],
+ ['Katakana_Ext', 'Katakana_Phonetic_Extensions'],
+ ['Kayah_Li', 'Kayah_Li'],
+ ['Kharoshthi', 'Kharoshthi'],
+ ['Khmer', 'Khmer'],
+ ['Khmer_Symbols', 'Khmer_Symbols'],
+ ['Khojki', 'Khojki'],
+ ['Khudawadi', 'Khudawadi'],
+ ['Lao', 'Lao'],
+ ['Latin_1_Sup', 'Latin_1_Supplement'],
+ ['Latin_1', 'Latin_1_Supplement'],
+ ['Latin_Ext_A', 'Latin_Extended_A'],
+ ['Latin_Ext_Additional', 'Latin_Extended_Additional'],
+ ['Latin_Ext_B', 'Latin_Extended_B'],
+ ['Latin_Ext_C', 'Latin_Extended_C'],
+ ['Latin_Ext_D', 'Latin_Extended_D'],
+ ['Latin_Ext_E', 'Latin_Extended_E'],
+ ['Lepcha', 'Lepcha'],
+ ['Letterlike_Symbols', 'Letterlike_Symbols'],
+ ['Limbu', 'Limbu'],
+ ['Linear_A', 'Linear_A'],
+ ['Linear_B_Ideograms', 'Linear_B_Ideograms'],
+ ['Linear_B_Syllabary', 'Linear_B_Syllabary'],
+ ['Lisu', 'Lisu'],
+ ['Low_Surrogates', 'Low_Surrogates'],
+ ['Lycian', 'Lycian'],
+ ['Lydian', 'Lydian'],
+ ['Mahajani', 'Mahajani'],
+ ['Mahjong', 'Mahjong_Tiles'],
+ ['Malayalam', 'Malayalam'],
+ ['Mandaic', 'Mandaic'],
+ ['Manichaean', 'Manichaean'],
+ ['Marchen', 'Marchen'],
+ ['Math_Alphanum', 'Mathematical_Alphanumeric_Symbols'],
+ ['Math_Operators', 'Mathematical_Operators'],
+ ['Meetei_Mayek', 'Meetei_Mayek'],
+ ['Meetei_Mayek_Ext', 'Meetei_Mayek_Extensions'],
+ ['Mende_Kikakui', 'Mende_Kikakui'],
+ ['Meroitic_Cursive', 'Meroitic_Cursive'],
+ ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'],
+ ['Miao', 'Miao'],
+ ['Misc_Arrows', 'Miscellaneous_Symbols_And_Arrows'],
+ ['Misc_Math_Symbols_A', 'Miscellaneous_Mathematical_Symbols_A'],
+ ['Misc_Math_Symbols_B', 'Miscellaneous_Mathematical_Symbols_B'],
+ ['Misc_Pictographs', 'Miscellaneous_Symbols_And_Pictographs'],
+ ['Misc_Symbols', 'Miscellaneous_Symbols'],
+ ['Misc_Technical', 'Miscellaneous_Technical'],
+ ['Modi', 'Modi'],
+ ['Modifier_Letters', 'Spacing_Modifier_Letters'],
+ ['Modifier_Tone_Letters', 'Modifier_Tone_Letters'],
+ ['Mongolian', 'Mongolian'],
+ ['Mongolian_Sup', 'Mongolian_Supplement'],
+ ['Mro', 'Mro'],
+ ['Multani', 'Multani'],
+ ['Music', 'Musical_Symbols'],
+ ['Myanmar', 'Myanmar'],
+ ['Myanmar_Ext_A', 'Myanmar_Extended_A'],
+ ['Myanmar_Ext_B', 'Myanmar_Extended_B'],
+ ['Nabataean', 'Nabataean'],
+ ['NB', 'No_Block'],
+ ['New_Tai_Lue', 'New_Tai_Lue'],
+ ['Newa', 'Newa'],
+ ['NKo', 'NKo'],
+ ['Number_Forms', 'Number_Forms'],
+ ['OCR', 'Optical_Character_Recognition'],
+ ['Ogham', 'Ogham'],
+ ['Ol_Chiki', 'Ol_Chiki'],
+ ['Old_Hungarian', 'Old_Hungarian'],
+ ['Old_Italic', 'Old_Italic'],
+ ['Old_North_Arabian', 'Old_North_Arabian'],
+ ['Old_Permic', 'Old_Permic'],
+ ['Old_Persian', 'Old_Persian'],
+ ['Old_South_Arabian', 'Old_South_Arabian'],
+ ['Old_Turkic', 'Old_Turkic'],
+ ['Oriya', 'Oriya'],
+ ['Ornamental_Dingbats', 'Ornamental_Dingbats'],
+ ['Osage', 'Osage'],
+ ['Osmanya', 'Osmanya'],
+ ['Pahawh_Hmong', 'Pahawh_Hmong'],
+ ['Palmyrene', 'Palmyrene'],
+ ['Pau_Cin_Hau', 'Pau_Cin_Hau'],
+ ['Phags_Pa', 'Phags_Pa'],
+ ['Phaistos', 'Phaistos_Disc'],
+ ['Phoenician', 'Phoenician'],
+ ['Phonetic_Ext', 'Phonetic_Extensions'],
+ ['Phonetic_Ext_Sup', 'Phonetic_Extensions_Supplement'],
+ ['Playing_Cards', 'Playing_Cards'],
+ ['Psalter_Pahlavi', 'Psalter_Pahlavi'],
+ ['PUA', 'Private_Use_Area'],
+ ['Private_Use', 'Private_Use_Area'],
+ ['Punctuation', 'General_Punctuation'],
+ ['Rejang', 'Rejang'],
+ ['Rumi', 'Rumi_Numeral_Symbols'],
+ ['Runic', 'Runic'],
+ ['Samaritan', 'Samaritan'],
+ ['Saurashtra', 'Saurashtra'],
+ ['Sharada', 'Sharada'],
+ ['Shavian', 'Shavian'],
+ ['Shorthand_Format_Controls', 'Shorthand_Format_Controls'],
+ ['Siddham', 'Siddham'],
+ ['Sinhala', 'Sinhala'],
+ ['Sinhala_Archaic_Numbers', 'Sinhala_Archaic_Numbers'],
+ ['Small_Forms', 'Small_Form_Variants'],
+ ['Sora_Sompeng', 'Sora_Sompeng'],
+ ['Specials', 'Specials'],
+ ['Sundanese', 'Sundanese'],
+ ['Sundanese_Sup', 'Sundanese_Supplement'],
+ ['Sup_Arrows_A', 'Supplemental_Arrows_A'],
+ ['Sup_Arrows_B', 'Supplemental_Arrows_B'],
+ ['Sup_Arrows_C', 'Supplemental_Arrows_C'],
+ ['Sup_Math_Operators', 'Supplemental_Mathematical_Operators'],
+ ['Sup_PUA_A', 'Supplementary_Private_Use_Area_A'],
+ ['Sup_PUA_B', 'Supplementary_Private_Use_Area_B'],
+ ['Sup_Punctuation', 'Supplemental_Punctuation'],
+ ['Sup_Symbols_And_Pictographs', 'Supplemental_Symbols_And_Pictographs'],
+ ['Super_And_Sub', 'Superscripts_And_Subscripts'],
+ ['Sutton_SignWriting', 'Sutton_SignWriting'],
+ ['Syloti_Nagri', 'Syloti_Nagri'],
+ ['Syriac', 'Syriac'],
+ ['Tagalog', 'Tagalog'],
+ ['Tagbanwa', 'Tagbanwa'],
+ ['Tags', 'Tags'],
+ ['Tai_Le', 'Tai_Le'],
+ ['Tai_Tham', 'Tai_Tham'],
+ ['Tai_Viet', 'Tai_Viet'],
+ ['Tai_Xuan_Jing', 'Tai_Xuan_Jing_Symbols'],
+ ['Takri', 'Takri'],
+ ['Tamil', 'Tamil'],
+ ['Tangut', 'Tangut'],
+ ['Tangut_Components', 'Tangut_Components'],
+ ['Telugu', 'Telugu'],
+ ['Thaana', 'Thaana'],
+ ['Thai', 'Thai'],
+ ['Tibetan', 'Tibetan'],
+ ['Tifinagh', 'Tifinagh'],
+ ['Tirhuta', 'Tirhuta'],
+ ['Transport_And_Map', 'Transport_And_Map_Symbols'],
+ ['UCAS', 'Unified_Canadian_Aboriginal_Syllabics'],
+ ['Canadian_Syllabics', 'Unified_Canadian_Aboriginal_Syllabics'],
+ ['UCAS_Ext', 'Unified_Canadian_Aboriginal_Syllabics_Extended'],
+ ['Ugaritic', 'Ugaritic'],
+ ['Vai', 'Vai'],
+ ['Vedic_Ext', 'Vedic_Extensions'],
+ ['Vertical_Forms', 'Vertical_Forms'],
+ ['VS', 'Variation_Selectors'],
+ ['VS_Sup', 'Variation_Selectors_Supplement'],
+ ['Warang_Citi', 'Warang_Citi'],
+ ['Yi_Radicals', 'Yi_Radicals'],
+ ['Yi_Syllables', 'Yi_Syllables'],
+ ['Yijing', 'Yijing_Hexagram_Symbols']
+ ])],
+ ['Canonical_Combining_Class', new Map([
+ ['NR', 'Not_Reordered'],
+ ['OV', 'Overlay'],
+ ['NK', 'Nukta'],
+ ['KV', 'Kana_Voicing'],
+ ['VR', 'Virama'],
+ ['CCC10', 'CCC10'],
+ ['CCC11', 'CCC11'],
+ ['CCC12', 'CCC12'],
+ ['CCC13', 'CCC13'],
+ ['CCC14', 'CCC14'],
+ ['CCC15', 'CCC15'],
+ ['CCC16', 'CCC16'],
+ ['CCC17', 'CCC17'],
+ ['CCC18', 'CCC18'],
+ ['CCC19', 'CCC19'],
+ ['CCC20', 'CCC20'],
+ ['CCC21', 'CCC21'],
+ ['CCC22', 'CCC22'],
+ ['CCC23', 'CCC23'],
+ ['CCC24', 'CCC24'],
+ ['CCC25', 'CCC25'],
+ ['CCC26', 'CCC26'],
+ ['CCC27', 'CCC27'],
+ ['CCC28', 'CCC28'],
+ ['CCC29', 'CCC29'],
+ ['CCC30', 'CCC30'],
+ ['CCC31', 'CCC31'],
+ ['CCC32', 'CCC32'],
+ ['CCC33', 'CCC33'],
+ ['CCC34', 'CCC34'],
+ ['CCC35', 'CCC35'],
+ ['CCC36', 'CCC36'],
+ ['CCC84', 'CCC84'],
+ ['CCC91', 'CCC91'],
+ ['CCC103', 'CCC103'],
+ ['CCC107', 'CCC107'],
+ ['CCC118', 'CCC118'],
+ ['CCC122', 'CCC122'],
+ ['CCC129', 'CCC129'],
+ ['CCC130', 'CCC130'],
+ ['CCC132', 'CCC132'],
+ ['CCC133', 'CCC133'],
+ ['ATBL', 'Attached_Below_Left'],
+ ['ATB', 'Attached_Below'],
+ ['ATA', 'Attached_Above'],
+ ['ATAR', 'Attached_Above_Right'],
+ ['BL', 'Below_Left'],
+ ['B', 'Below'],
+ ['BR', 'Below_Right'],
+ ['L', 'Left'],
+ ['R', 'Right'],
+ ['AL', 'Above_Left'],
+ ['A', 'Above'],
+ ['AR', 'Above_Right'],
+ ['DB', 'Double_Below'],
+ ['DA', 'Double_Above'],
+ ['IS', 'Iota_Subscript']
+ ])],
+ ['Case_Ignorable', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Cased', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Changes_When_Casefolded', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Changes_When_Casemapped', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Changes_When_Lowercased', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Changes_When_NFKC_Casefolded', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Changes_When_Titlecased', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Changes_When_Uppercased', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Composition_Exclusion', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Dash', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Decomposition_Type', new Map([
+ ['Can', 'Canonical'],
+ ['can', 'Canonical'],
+ ['Com', 'Compat'],
+ ['com', 'Compat'],
+ ['Enc', 'Circle'],
+ ['enc', 'Circle'],
+ ['Fin', 'Final'],
+ ['fin', 'Final'],
+ ['Font', 'Font'],
+ ['font', 'Font'],
+ ['Fra', 'Fraction'],
+ ['fra', 'Fraction'],
+ ['Init', 'Initial'],
+ ['init', 'Initial'],
+ ['Iso', 'Isolated'],
+ ['iso', 'Isolated'],
+ ['Med', 'Medial'],
+ ['med', 'Medial'],
+ ['Nar', 'Narrow'],
+ ['nar', 'Narrow'],
+ ['Nb', 'Nobreak'],
+ ['nb', 'Nobreak'],
+ ['None', 'None'],
+ ['none', 'None'],
+ ['Sml', 'Small'],
+ ['sml', 'Small'],
+ ['Sqr', 'Square'],
+ ['sqr', 'Square'],
+ ['Sub', 'Sub'],
+ ['sub', 'Sub'],
+ ['Sup', 'Super'],
+ ['sup', 'Super'],
+ ['Vert', 'Vertical'],
+ ['vert', 'Vertical'],
+ ['Wide', 'Wide'],
+ ['wide', 'Wide']
+ ])],
+ ['Default_Ignorable_Code_Point', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Deprecated', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Diacritic', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['East_Asian_Width', new Map([
+ ['A', 'Ambiguous'],
+ ['F', 'Fullwidth'],
+ ['H', 'Halfwidth'],
+ ['N', 'Neutral'],
+ ['Na', 'Narrow'],
+ ['W', 'Wide']
+ ])],
+ ['Expands_On_NFC', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Expands_On_NFD', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Expands_On_NFKC', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Expands_On_NFKD', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Extender', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Full_Composition_Exclusion', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['General_Category', new Map([
+ ['C', 'Other'],
+ ['Cc', 'Control'],
+ ['cntrl', 'Control'],
+ ['Cf', 'Format'],
+ ['Cn', 'Unassigned'],
+ ['Co', 'Private_Use'],
+ ['Cs', 'Surrogate'],
+ ['L', 'Letter'],
+ ['LC', 'Cased_Letter'],
+ ['Ll', 'Lowercase_Letter'],
+ ['Lm', 'Modifier_Letter'],
+ ['Lo', 'Other_Letter'],
+ ['Lt', 'Titlecase_Letter'],
+ ['Lu', 'Uppercase_Letter'],
+ ['M', 'Mark'],
+ ['Combining_Mark', 'Mark'],
+ ['Mc', 'Spacing_Mark'],
+ ['Me', 'Enclosing_Mark'],
+ ['Mn', 'Nonspacing_Mark'],
+ ['N', 'Number'],
+ ['Nd', 'Decimal_Number'],
+ ['digit', 'Decimal_Number'],
+ ['Nl', 'Letter_Number'],
+ ['No', 'Other_Number'],
+ ['P', 'Punctuation'],
+ ['punct', 'Punctuation'],
+ ['Pc', 'Connector_Punctuation'],
+ ['Pd', 'Dash_Punctuation'],
+ ['Pe', 'Close_Punctuation'],
+ ['Pf', 'Final_Punctuation'],
+ ['Pi', 'Initial_Punctuation'],
+ ['Po', 'Other_Punctuation'],
+ ['Ps', 'Open_Punctuation'],
+ ['S', 'Symbol'],
+ ['Sc', 'Currency_Symbol'],
+ ['Sk', 'Modifier_Symbol'],
+ ['Sm', 'Math_Symbol'],
+ ['So', 'Other_Symbol'],
+ ['Z', 'Separator'],
+ ['Zl', 'Line_Separator'],
+ ['Zp', 'Paragraph_Separator'],
+ ['Zs', 'Space_Separator']
+ ])],
+ ['Grapheme_Base', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Grapheme_Cluster_Break', new Map([
+ ['CN', 'Control'],
+ ['CR', 'CR'],
+ ['EB', 'E_Base'],
+ ['EBG', 'E_Base_GAZ'],
+ ['EM', 'E_Modifier'],
+ ['EX', 'Extend'],
+ ['GAZ', 'Glue_After_Zwj'],
+ ['L', 'L'],
+ ['LF', 'LF'],
+ ['LV', 'LV'],
+ ['LVT', 'LVT'],
+ ['PP', 'Prepend'],
+ ['RI', 'Regional_Indicator'],
+ ['SM', 'SpacingMark'],
+ ['T', 'T'],
+ ['V', 'V'],
+ ['XX', 'Other'],
+ ['ZWJ', 'ZWJ']
+ ])],
+ ['Grapheme_Extend', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Grapheme_Link', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Hangul_Syllable_Type', new Map([
+ ['L', 'Leading_Jamo'],
+ ['LV', 'LV_Syllable'],
+ ['LVT', 'LVT_Syllable'],
+ ['NA', 'Not_Applicable'],
+ ['T', 'Trailing_Jamo'],
+ ['V', 'Vowel_Jamo']
+ ])],
+ ['Hex_Digit', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Hyphen', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['IDS_Binary_Operator', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['IDS_Trinary_Operator', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['ID_Continue', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['ID_Start', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Ideographic', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Indic_Positional_Category', new Map([
+ ['Bottom', 'Bottom'],
+ ['Bottom_And_Right', 'Bottom_And_Right'],
+ ['Left', 'Left'],
+ ['Left_And_Right', 'Left_And_Right'],
+ ['NA', 'NA'],
+ ['Overstruck', 'Overstruck'],
+ ['Right', 'Right'],
+ ['Top', 'Top'],
+ ['Top_And_Bottom', 'Top_And_Bottom'],
+ ['Top_And_Bottom_And_Right', 'Top_And_Bottom_And_Right'],
+ ['Top_And_Left', 'Top_And_Left'],
+ ['Top_And_Left_And_Right', 'Top_And_Left_And_Right'],
+ ['Top_And_Right', 'Top_And_Right'],
+ ['Visual_Order_Left', 'Visual_Order_Left']
+ ])],
+ ['Indic_Syllabic_Category', new Map([
+ ['Avagraha', 'Avagraha'],
+ ['Bindu', 'Bindu'],
+ ['Brahmi_Joining_Number', 'Brahmi_Joining_Number'],
+ ['Cantillation_Mark', 'Cantillation_Mark'],
+ ['Consonant', 'Consonant'],
+ ['Consonant_Dead', 'Consonant_Dead'],
+ ['Consonant_Final', 'Consonant_Final'],
+ ['Consonant_Head_Letter', 'Consonant_Head_Letter'],
+ ['Consonant_Killer', 'Consonant_Killer'],
+ ['Consonant_Medial', 'Consonant_Medial'],
+ ['Consonant_Placeholder', 'Consonant_Placeholder'],
+ ['Consonant_Preceding_Repha', 'Consonant_Preceding_Repha'],
+ ['Consonant_Prefixed', 'Consonant_Prefixed'],
+ ['Consonant_Subjoined', 'Consonant_Subjoined'],
+ ['Consonant_Succeeding_Repha', 'Consonant_Succeeding_Repha'],
+ ['Consonant_With_Stacker', 'Consonant_With_Stacker'],
+ ['Gemination_Mark', 'Gemination_Mark'],
+ ['Invisible_Stacker', 'Invisible_Stacker'],
+ ['Joiner', 'Joiner'],
+ ['Modifying_Letter', 'Modifying_Letter'],
+ ['Non_Joiner', 'Non_Joiner'],
+ ['Nukta', 'Nukta'],
+ ['Number', 'Number'],
+ ['Number_Joiner', 'Number_Joiner'],
+ ['Other', 'Other'],
+ ['Pure_Killer', 'Pure_Killer'],
+ ['Register_Shifter', 'Register_Shifter'],
+ ['Syllable_Modifier', 'Syllable_Modifier'],
+ ['Tone_Letter', 'Tone_Letter'],
+ ['Tone_Mark', 'Tone_Mark'],
+ ['Virama', 'Virama'],
+ ['Visarga', 'Visarga'],
+ ['Vowel', 'Vowel'],
+ ['Vowel_Dependent', 'Vowel_Dependent'],
+ ['Vowel_Independent', 'Vowel_Independent']
+ ])],
+ ['Jamo_Short_Name', new Map([
+ ['A', 'A'],
+ ['AE', 'AE'],
+ ['B', 'B'],
+ ['BB', 'BB'],
+ ['BS', 'BS'],
+ ['C', 'C'],
+ ['D', 'D'],
+ ['DD', 'DD'],
+ ['E', 'E'],
+ ['EO', 'EO'],
+ ['EU', 'EU'],
+ ['G', 'G'],
+ ['GG', 'GG'],
+ ['GS', 'GS'],
+ ['H', 'H'],
+ ['I', 'I'],
+ ['J', 'J'],
+ ['JJ', 'JJ'],
+ ['K', 'K'],
+ ['L', 'L'],
+ ['LB', 'LB'],
+ ['LG', 'LG'],
+ ['LH', 'LH'],
+ ['LM', 'LM'],
+ ['LP', 'LP'],
+ ['LS', 'LS'],
+ ['LT', 'LT'],
+ ['M', 'M'],
+ ['N', 'N'],
+ ['NG', 'NG'],
+ ['NH', 'NH'],
+ ['NJ', 'NJ'],
+ ['O', 'O'],
+ ['OE', 'OE'],
+ ['P', 'P'],
+ ['R', 'R'],
+ ['S', 'S'],
+ ['SS', 'SS'],
+ ['T', 'T'],
+ ['U', 'U'],
+ ['WA', 'WA'],
+ ['WAE', 'WAE'],
+ ['WE', 'WE'],
+ ['WEO', 'WEO'],
+ ['WI', 'WI'],
+ ['YA', 'YA'],
+ ['YAE', 'YAE'],
+ ['YE', 'YE'],
+ ['YEO', 'YEO'],
+ ['YI', 'YI'],
+ ['YO', 'YO'],
+ ['YU', 'YU']
+ ])],
+ ['Join_Control', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Joining_Group', new Map([
+ ['African_Feh', 'African_Feh'],
+ ['African_Noon', 'African_Noon'],
+ ['African_Qaf', 'African_Qaf'],
+ ['Ain', 'Ain'],
+ ['Alaph', 'Alaph'],
+ ['Alef', 'Alef'],
+ ['Beh', 'Beh'],
+ ['Beth', 'Beth'],
+ ['Burushaski_Yeh_Barree', 'Burushaski_Yeh_Barree'],
+ ['Dal', 'Dal'],
+ ['Dalath_Rish', 'Dalath_Rish'],
+ ['E', 'E'],
+ ['Farsi_Yeh', 'Farsi_Yeh'],
+ ['Fe', 'Fe'],
+ ['Feh', 'Feh'],
+ ['Final_Semkath', 'Final_Semkath'],
+ ['Gaf', 'Gaf'],
+ ['Gamal', 'Gamal'],
+ ['Hah', 'Hah'],
+ ['He', 'He'],
+ ['Heh', 'Heh'],
+ ['Heh_Goal', 'Heh_Goal'],
+ ['Heth', 'Heth'],
+ ['Kaf', 'Kaf'],
+ ['Kaph', 'Kaph'],
+ ['Khaph', 'Khaph'],
+ ['Knotted_Heh', 'Knotted_Heh'],
+ ['Lam', 'Lam'],
+ ['Lamadh', 'Lamadh'],
+ ['Manichaean_Aleph', 'Manichaean_Aleph'],
+ ['Manichaean_Ayin', 'Manichaean_Ayin'],
+ ['Manichaean_Beth', 'Manichaean_Beth'],
+ ['Manichaean_Daleth', 'Manichaean_Daleth'],
+ ['Manichaean_Dhamedh', 'Manichaean_Dhamedh'],
+ ['Manichaean_Five', 'Manichaean_Five'],
+ ['Manichaean_Gimel', 'Manichaean_Gimel'],
+ ['Manichaean_Heth', 'Manichaean_Heth'],
+ ['Manichaean_Hundred', 'Manichaean_Hundred'],
+ ['Manichaean_Kaph', 'Manichaean_Kaph'],
+ ['Manichaean_Lamedh', 'Manichaean_Lamedh'],
+ ['Manichaean_Mem', 'Manichaean_Mem'],
+ ['Manichaean_Nun', 'Manichaean_Nun'],
+ ['Manichaean_One', 'Manichaean_One'],
+ ['Manichaean_Pe', 'Manichaean_Pe'],
+ ['Manichaean_Qoph', 'Manichaean_Qoph'],
+ ['Manichaean_Resh', 'Manichaean_Resh'],
+ ['Manichaean_Sadhe', 'Manichaean_Sadhe'],
+ ['Manichaean_Samekh', 'Manichaean_Samekh'],
+ ['Manichaean_Taw', 'Manichaean_Taw'],
+ ['Manichaean_Ten', 'Manichaean_Ten'],
+ ['Manichaean_Teth', 'Manichaean_Teth'],
+ ['Manichaean_Thamedh', 'Manichaean_Thamedh'],
+ ['Manichaean_Twenty', 'Manichaean_Twenty'],
+ ['Manichaean_Waw', 'Manichaean_Waw'],
+ ['Manichaean_Yodh', 'Manichaean_Yodh'],
+ ['Manichaean_Zayin', 'Manichaean_Zayin'],
+ ['Meem', 'Meem'],
+ ['Mim', 'Mim'],
+ ['No_Joining_Group', 'No_Joining_Group'],
+ ['Noon', 'Noon'],
+ ['Nun', 'Nun'],
+ ['Nya', 'Nya'],
+ ['Pe', 'Pe'],
+ ['Qaf', 'Qaf'],
+ ['Qaph', 'Qaph'],
+ ['Reh', 'Reh'],
+ ['Reversed_Pe', 'Reversed_Pe'],
+ ['Rohingya_Yeh', 'Rohingya_Yeh'],
+ ['Sad', 'Sad'],
+ ['Sadhe', 'Sadhe'],
+ ['Seen', 'Seen'],
+ ['Semkath', 'Semkath'],
+ ['Shin', 'Shin'],
+ ['Straight_Waw', 'Straight_Waw'],
+ ['Swash_Kaf', 'Swash_Kaf'],
+ ['Syriac_Waw', 'Syriac_Waw'],
+ ['Tah', 'Tah'],
+ ['Taw', 'Taw'],
+ ['Teh_Marbuta', 'Teh_Marbuta'],
+ ['Teh_Marbuta_Goal', 'Hamza_On_Heh_Goal'],
+ ['Teth', 'Teth'],
+ ['Waw', 'Waw'],
+ ['Yeh', 'Yeh'],
+ ['Yeh_Barree', 'Yeh_Barree'],
+ ['Yeh_With_Tail', 'Yeh_With_Tail'],
+ ['Yudh', 'Yudh'],
+ ['Yudh_He', 'Yudh_He'],
+ ['Zain', 'Zain'],
+ ['Zhain', 'Zhain']
+ ])],
+ ['Joining_Type', new Map([
+ ['C', 'Join_Causing'],
+ ['D', 'Dual_Joining'],
+ ['L', 'Left_Joining'],
+ ['R', 'Right_Joining'],
+ ['T', 'Transparent'],
+ ['U', 'Non_Joining']
+ ])],
+ ['Line_Break', new Map([
+ ['AI', 'Ambiguous'],
+ ['AL', 'Alphabetic'],
+ ['B2', 'Break_Both'],
+ ['BA', 'Break_After'],
+ ['BB', 'Break_Before'],
+ ['BK', 'Mandatory_Break'],
+ ['CB', 'Contingent_Break'],
+ ['CJ', 'Conditional_Japanese_Starter'],
+ ['CL', 'Close_Punctuation'],
+ ['CM', 'Combining_Mark'],
+ ['CP', 'Close_Parenthesis'],
+ ['CR', 'Carriage_Return'],
+ ['EB', 'E_Base'],
+ ['EM', 'E_Modifier'],
+ ['EX', 'Exclamation'],
+ ['GL', 'Glue'],
+ ['H2', 'H2'],
+ ['H3', 'H3'],
+ ['HL', 'Hebrew_Letter'],
+ ['HY', 'Hyphen'],
+ ['ID', 'Ideographic'],
+ ['IN', 'Inseparable'],
+ ['Inseperable', 'Inseparable'],
+ ['IS', 'Infix_Numeric'],
+ ['JL', 'JL'],
+ ['JT', 'JT'],
+ ['JV', 'JV'],
+ ['LF', 'Line_Feed'],
+ ['NL', 'Next_Line'],
+ ['NS', 'Nonstarter'],
+ ['NU', 'Numeric'],
+ ['OP', 'Open_Punctuation'],
+ ['PO', 'Postfix_Numeric'],
+ ['PR', 'Prefix_Numeric'],
+ ['QU', 'Quotation'],
+ ['RI', 'Regional_Indicator'],
+ ['SA', 'Complex_Context'],
+ ['SG', 'Surrogate'],
+ ['SP', 'Space'],
+ ['SY', 'Break_Symbols'],
+ ['WJ', 'Word_Joiner'],
+ ['XX', 'Unknown'],
+ ['ZW', 'ZWSpace'],
+ ['ZWJ', 'ZWJ']
+ ])],
+ ['Logical_Order_Exception', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Lowercase', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Math', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['NFC_Quick_Check', new Map([
+ ['M', 'Maybe'],
+ ['N', 'No'],
+ ['Y', 'Yes']
+ ])],
+ ['NFD_Quick_Check', new Map([
+ ['N', 'No'],
+ ['Y', 'Yes']
+ ])],
+ ['NFKC_Quick_Check', new Map([
+ ['M', 'Maybe'],
+ ['N', 'No'],
+ ['Y', 'Yes']
+ ])],
+ ['NFKD_Quick_Check', new Map([
+ ['N', 'No'],
+ ['Y', 'Yes']
+ ])],
+ ['Noncharacter_Code_Point', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Numeric_Type', new Map([
+ ['De', 'Decimal'],
+ ['Di', 'Digit'],
+ ['None', 'None'],
+ ['Nu', 'Numeric']
+ ])],
+ ['Other_Alphabetic', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_Default_Ignorable_Code_Point', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_Grapheme_Extend', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_ID_Continue', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_ID_Start', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_Lowercase', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_Math', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Other_Uppercase', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Pattern_Syntax', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Pattern_White_Space', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Prepended_Concatenation_Mark', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Quotation_Mark', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Radical', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Script', new Map([
+ ['Adlm', 'Adlam'],
+ ['Aghb', 'Caucasian_Albanian'],
+ ['Ahom', 'Ahom'],
+ ['Arab', 'Arabic'],
+ ['Armi', 'Imperial_Aramaic'],
+ ['Armn', 'Armenian'],
+ ['Avst', 'Avestan'],
+ ['Bali', 'Balinese'],
+ ['Bamu', 'Bamum'],
+ ['Bass', 'Bassa_Vah'],
+ ['Batk', 'Batak'],
+ ['Beng', 'Bengali'],
+ ['Bhks', 'Bhaiksuki'],
+ ['Bopo', 'Bopomofo'],
+ ['Brah', 'Brahmi'],
+ ['Brai', 'Braille'],
+ ['Bugi', 'Buginese'],
+ ['Buhd', 'Buhid'],
+ ['Cakm', 'Chakma'],
+ ['Cans', 'Canadian_Aboriginal'],
+ ['Cari', 'Carian'],
+ ['Cham', 'Cham'],
+ ['Cher', 'Cherokee'],
+ ['Copt', 'Coptic'],
+ ['Qaac', 'Coptic'],
+ ['Cprt', 'Cypriot'],
+ ['Cyrl', 'Cyrillic'],
+ ['Deva', 'Devanagari'],
+ ['Dsrt', 'Deseret'],
+ ['Dupl', 'Duployan'],
+ ['Egyp', 'Egyptian_Hieroglyphs'],
+ ['Elba', 'Elbasan'],
+ ['Ethi', 'Ethiopic'],
+ ['Geor', 'Georgian'],
+ ['Glag', 'Glagolitic'],
+ ['Goth', 'Gothic'],
+ ['Gran', 'Grantha'],
+ ['Grek', 'Greek'],
+ ['Gujr', 'Gujarati'],
+ ['Guru', 'Gurmukhi'],
+ ['Hang', 'Hangul'],
+ ['Hani', 'Han'],
+ ['Hano', 'Hanunoo'],
+ ['Hatr', 'Hatran'],
+ ['Hebr', 'Hebrew'],
+ ['Hira', 'Hiragana'],
+ ['Hluw', 'Anatolian_Hieroglyphs'],
+ ['Hmng', 'Pahawh_Hmong'],
+ ['Hrkt', 'Katakana_Or_Hiragana'],
+ ['Hung', 'Old_Hungarian'],
+ ['Ital', 'Old_Italic'],
+ ['Java', 'Javanese'],
+ ['Kali', 'Kayah_Li'],
+ ['Kana', 'Katakana'],
+ ['Khar', 'Kharoshthi'],
+ ['Khmr', 'Khmer'],
+ ['Khoj', 'Khojki'],
+ ['Knda', 'Kannada'],
+ ['Kthi', 'Kaithi'],
+ ['Lana', 'Tai_Tham'],
+ ['Laoo', 'Lao'],
+ ['Latn', 'Latin'],
+ ['Lepc', 'Lepcha'],
+ ['Limb', 'Limbu'],
+ ['Lina', 'Linear_A'],
+ ['Linb', 'Linear_B'],
+ ['Lisu', 'Lisu'],
+ ['Lyci', 'Lycian'],
+ ['Lydi', 'Lydian'],
+ ['Mahj', 'Mahajani'],
+ ['Mand', 'Mandaic'],
+ ['Mani', 'Manichaean'],
+ ['Marc', 'Marchen'],
+ ['Mend', 'Mende_Kikakui'],
+ ['Merc', 'Meroitic_Cursive'],
+ ['Mero', 'Meroitic_Hieroglyphs'],
+ ['Mlym', 'Malayalam'],
+ ['Modi', 'Modi'],
+ ['Mong', 'Mongolian'],
+ ['Mroo', 'Mro'],
+ ['Mtei', 'Meetei_Mayek'],
+ ['Mult', 'Multani'],
+ ['Mymr', 'Myanmar'],
+ ['Narb', 'Old_North_Arabian'],
+ ['Nbat', 'Nabataean'],
+ ['Newa', 'Newa'],
+ ['Nkoo', 'Nko'],
+ ['Ogam', 'Ogham'],
+ ['Olck', 'Ol_Chiki'],
+ ['Orkh', 'Old_Turkic'],
+ ['Orya', 'Oriya'],
+ ['Osge', 'Osage'],
+ ['Osma', 'Osmanya'],
+ ['Palm', 'Palmyrene'],
+ ['Pauc', 'Pau_Cin_Hau'],
+ ['Perm', 'Old_Permic'],
+ ['Phag', 'Phags_Pa'],
+ ['Phli', 'Inscriptional_Pahlavi'],
+ ['Phlp', 'Psalter_Pahlavi'],
+ ['Phnx', 'Phoenician'],
+ ['Plrd', 'Miao'],
+ ['Prti', 'Inscriptional_Parthian'],
+ ['Rjng', 'Rejang'],
+ ['Runr', 'Runic'],
+ ['Samr', 'Samaritan'],
+ ['Sarb', 'Old_South_Arabian'],
+ ['Saur', 'Saurashtra'],
+ ['Sgnw', 'SignWriting'],
+ ['Shaw', 'Shavian'],
+ ['Shrd', 'Sharada'],
+ ['Sidd', 'Siddham'],
+ ['Sind', 'Khudawadi'],
+ ['Sinh', 'Sinhala'],
+ ['Sora', 'Sora_Sompeng'],
+ ['Sund', 'Sundanese'],
+ ['Sylo', 'Syloti_Nagri'],
+ ['Syrc', 'Syriac'],
+ ['Tagb', 'Tagbanwa'],
+ ['Takr', 'Takri'],
+ ['Tale', 'Tai_Le'],
+ ['Talu', 'New_Tai_Lue'],
+ ['Taml', 'Tamil'],
+ ['Tang', 'Tangut'],
+ ['Tavt', 'Tai_Viet'],
+ ['Telu', 'Telugu'],
+ ['Tfng', 'Tifinagh'],
+ ['Tglg', 'Tagalog'],
+ ['Thaa', 'Thaana'],
+ ['Thai', 'Thai'],
+ ['Tibt', 'Tibetan'],
+ ['Tirh', 'Tirhuta'],
+ ['Ugar', 'Ugaritic'],
+ ['Vaii', 'Vai'],
+ ['Wara', 'Warang_Citi'],
+ ['Xpeo', 'Old_Persian'],
+ ['Xsux', 'Cuneiform'],
+ ['Yiii', 'Yi'],
+ ['Zinh', 'Inherited'],
+ ['Qaai', 'Inherited'],
+ ['Zyyy', 'Common'],
+ ['Zzzz', 'Unknown']
+ ])],
+ ['Sentence_Break', new Map([
+ ['AT', 'ATerm'],
+ ['CL', 'Close'],
+ ['CR', 'CR'],
+ ['EX', 'Extend'],
+ ['FO', 'Format'],
+ ['LE', 'OLetter'],
+ ['LF', 'LF'],
+ ['LO', 'Lower'],
+ ['NU', 'Numeric'],
+ ['SC', 'SContinue'],
+ ['SE', 'Sep'],
+ ['SP', 'Sp'],
+ ['ST', 'STerm'],
+ ['UP', 'Upper'],
+ ['XX', 'Other']
+ ])],
+ ['Sentence_Terminal', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Soft_Dotted', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Terminal_Punctuation', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Unified_Ideograph', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Uppercase', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Variation_Selector', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['White_Space', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Word_Break', new Map([
+ ['CR', 'CR'],
+ ['DQ', 'Double_Quote'],
+ ['EB', 'E_Base'],
+ ['EBG', 'E_Base_GAZ'],
+ ['EM', 'E_Modifier'],
+ ['EX', 'ExtendNumLet'],
+ ['Extend', 'Extend'],
+ ['FO', 'Format'],
+ ['GAZ', 'Glue_After_Zwj'],
+ ['HL', 'Hebrew_Letter'],
+ ['KA', 'Katakana'],
+ ['LE', 'ALetter'],
+ ['LF', 'LF'],
+ ['MB', 'MidNumLet'],
+ ['ML', 'MidLetter'],
+ ['MN', 'MidNum'],
+ ['NL', 'Newline'],
+ ['NU', 'Numeric'],
+ ['RI', 'Regional_Indicator'],
+ ['SQ', 'Single_Quote'],
+ ['XX', 'Other'],
+ ['ZWJ', 'ZWJ']
+ ])],
+ ['XID_Continue', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['XID_Start', new Map([
+ ['N', 'No'],
+ ['F', 'No'],
+ ['False', 'No'],
+ ['Y', 'Yes'],
+ ['T', 'Yes'],
+ ['True', 'Yes']
+ ])],
+ ['Script_Extensions', new Map([
+ ['Adlm', 'Adlam'],
+ ['Aghb', 'Caucasian_Albanian'],
+ ['Ahom', 'Ahom'],
+ ['Arab', 'Arabic'],
+ ['Armi', 'Imperial_Aramaic'],
+ ['Armn', 'Armenian'],
+ ['Avst', 'Avestan'],
+ ['Bali', 'Balinese'],
+ ['Bamu', 'Bamum'],
+ ['Bass', 'Bassa_Vah'],
+ ['Batk', 'Batak'],
+ ['Beng', 'Bengali'],
+ ['Bhks', 'Bhaiksuki'],
+ ['Bopo', 'Bopomofo'],
+ ['Brah', 'Brahmi'],
+ ['Brai', 'Braille'],
+ ['Bugi', 'Buginese'],
+ ['Buhd', 'Buhid'],
+ ['Cakm', 'Chakma'],
+ ['Cans', 'Canadian_Aboriginal'],
+ ['Cari', 'Carian'],
+ ['Cham', 'Cham'],
+ ['Cher', 'Cherokee'],
+ ['Copt', 'Coptic'],
+ ['Qaac', 'Coptic'],
+ ['Cprt', 'Cypriot'],
+ ['Cyrl', 'Cyrillic'],
+ ['Deva', 'Devanagari'],
+ ['Dsrt', 'Deseret'],
+ ['Dupl', 'Duployan'],
+ ['Egyp', 'Egyptian_Hieroglyphs'],
+ ['Elba', 'Elbasan'],
+ ['Ethi', 'Ethiopic'],
+ ['Geor', 'Georgian'],
+ ['Glag', 'Glagolitic'],
+ ['Goth', 'Gothic'],
+ ['Gran', 'Grantha'],
+ ['Grek', 'Greek'],
+ ['Gujr', 'Gujarati'],
+ ['Guru', 'Gurmukhi'],
+ ['Hang', 'Hangul'],
+ ['Hani', 'Han'],
+ ['Hano', 'Hanunoo'],
+ ['Hatr', 'Hatran'],
+ ['Hebr', 'Hebrew'],
+ ['Hira', 'Hiragana'],
+ ['Hluw', 'Anatolian_Hieroglyphs'],
+ ['Hmng', 'Pahawh_Hmong'],
+ ['Hrkt', 'Katakana_Or_Hiragana'],
+ ['Hung', 'Old_Hungarian'],
+ ['Ital', 'Old_Italic'],
+ ['Java', 'Javanese'],
+ ['Kali', 'Kayah_Li'],
+ ['Kana', 'Katakana'],
+ ['Khar', 'Kharoshthi'],
+ ['Khmr', 'Khmer'],
+ ['Khoj', 'Khojki'],
+ ['Knda', 'Kannada'],
+ ['Kthi', 'Kaithi'],
+ ['Lana', 'Tai_Tham'],
+ ['Laoo', 'Lao'],
+ ['Latn', 'Latin'],
+ ['Lepc', 'Lepcha'],
+ ['Limb', 'Limbu'],
+ ['Lina', 'Linear_A'],
+ ['Linb', 'Linear_B'],
+ ['Lisu', 'Lisu'],
+ ['Lyci', 'Lycian'],
+ ['Lydi', 'Lydian'],
+ ['Mahj', 'Mahajani'],
+ ['Mand', 'Mandaic'],
+ ['Mani', 'Manichaean'],
+ ['Marc', 'Marchen'],
+ ['Mend', 'Mende_Kikakui'],
+ ['Merc', 'Meroitic_Cursive'],
+ ['Mero', 'Meroitic_Hieroglyphs'],
+ ['Mlym', 'Malayalam'],
+ ['Modi', 'Modi'],
+ ['Mong', 'Mongolian'],
+ ['Mroo', 'Mro'],
+ ['Mtei', 'Meetei_Mayek'],
+ ['Mult', 'Multani'],
+ ['Mymr', 'Myanmar'],
+ ['Narb', 'Old_North_Arabian'],
+ ['Nbat', 'Nabataean'],
+ ['Newa', 'Newa'],
+ ['Nkoo', 'Nko'],
+ ['Ogam', 'Ogham'],
+ ['Olck', 'Ol_Chiki'],
+ ['Orkh', 'Old_Turkic'],
+ ['Orya', 'Oriya'],
+ ['Osge', 'Osage'],
+ ['Osma', 'Osmanya'],
+ ['Palm', 'Palmyrene'],
+ ['Pauc', 'Pau_Cin_Hau'],
+ ['Perm', 'Old_Permic'],
+ ['Phag', 'Phags_Pa'],
+ ['Phli', 'Inscriptional_Pahlavi'],
+ ['Phlp', 'Psalter_Pahlavi'],
+ ['Phnx', 'Phoenician'],
+ ['Plrd', 'Miao'],
+ ['Prti', 'Inscriptional_Parthian'],
+ ['Rjng', 'Rejang'],
+ ['Runr', 'Runic'],
+ ['Samr', 'Samaritan'],
+ ['Sarb', 'Old_South_Arabian'],
+ ['Saur', 'Saurashtra'],
+ ['Sgnw', 'SignWriting'],
+ ['Shaw', 'Shavian'],
+ ['Shrd', 'Sharada'],
+ ['Sidd', 'Siddham'],
+ ['Sind', 'Khudawadi'],
+ ['Sinh', 'Sinhala'],
+ ['Sora', 'Sora_Sompeng'],
+ ['Sund', 'Sundanese'],
+ ['Sylo', 'Syloti_Nagri'],
+ ['Syrc', 'Syriac'],
+ ['Tagb', 'Tagbanwa'],
+ ['Takr', 'Takri'],
+ ['Tale', 'Tai_Le'],
+ ['Talu', 'New_Tai_Lue'],
+ ['Taml', 'Tamil'],
+ ['Tang', 'Tangut'],
+ ['Tavt', 'Tai_Viet'],
+ ['Telu', 'Telugu'],
+ ['Tfng', 'Tifinagh'],
+ ['Tglg', 'Tagalog'],
+ ['Thaa', 'Thaana'],
+ ['Thai', 'Thai'],
+ ['Tibt', 'Tibetan'],
+ ['Tirh', 'Tirhuta'],
+ ['Ugar', 'Ugaritic'],
+ ['Vaii', 'Vai'],
+ ['Wara', 'Warang_Citi'],
+ ['Xpeo', 'Old_Persian'],
+ ['Xsux', 'Cuneiform'],
+ ['Yiii', 'Yi'],
+ ['Zinh', 'Inherited'],
+ ['Qaai', 'Inherited'],
+ ['Zyyy', 'Common'],
+ ['Zzzz', 'Unknown']
+ ])]
+]);
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..c09359f
--- /dev/null
+++ b/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "unicode-property-value-aliases",
+ "version": "3.0.0",
+ "description": "Unicode property value alias mappings in JavaScript format.",
+ "homepage": "https://github.com/mathiasbynens/unicode-property-value-aliases",
+ "main": "index.js",
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "LICENSE-MIT.txt",
+ "index.js"
+ ],
+ "keywords": [
+ "unicode",
+ "unicode-data",
+ "alias",
+ "aliases",
+ "property alias"
+ ],
+ "license": "MIT",
+ "author": {
+ "name": "Mathias Bynens",
+ "url": "https://mathiasbynens.be/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/mathiasbynens/unicode-property-value-aliases.git"
+ },
+ "bugs": "https://github.com/mathiasbynens/unicode-property-value-aliases/issues",
+ "devDependencies": {
+ "ava": "*",
+ "jsesc": "^2.5.0",
+ "unicode-property-aliases": "^1.1.1"
+ },
+ "scripts": {
+ "download": "curl http://unicode.org/Public/9.0.0/ucd/PropertyValueAliases.txt > data/PropertyValueAliases.txt",
+ "build": "node scripts/build.js",
+ "test": "ava ./tests"
+ }
+}
diff --git a/scripts/build.js b/scripts/build.js
new file mode 100644
index 0000000..e0f68bf
--- /dev/null
+++ b/scripts/build.js
@@ -0,0 +1,69 @@
+'use strict';
+
+const fs = require('fs');
+const jsesc = require('jsesc');
+const propertyAliases = require('unicode-property-aliases');
+
+const parsePropertyValueAliases = function() {
+ const propertyValueAliasesPerProperty = new Map();
+ const source = fs.readFileSync('./data/PropertyValueAliases.txt', 'utf8');
+ const lines = source.split('\n');
+ for (const line of lines) {
+ if (!line || /^#/.test(line)) {
+ continue;
+ }
+ const data = line.split('#')[0].split(';');
+ const propertyAlias = data[0].trim();
+ const property = propertyAliases.get(propertyAlias);
+ if (!propertyValueAliasesPerProperty.has(property)) {
+ propertyValueAliasesPerProperty.set(property, new Map());
+ }
+ // In the case of `ccc`, there are 4 fields. The second field is numeric,
+ // third is abbreviated, and fourth is long. We don’t need the numeric
+ // field.
+ if (property == 'Canonical_Combining_Class') {
+ data.splice(1, 1);
+ }
+ const map = propertyValueAliasesPerProperty.get(property);
+ const alias1 = data[1].trim();
+ const canonicalName = data[2].split('#')[0].trim();
+ console.assert(!map.has(alias1));
+ map.set(alias1, canonicalName);
+ const remaining = data.slice(3);
+ for (const otherAliasData of remaining) {
+ const otherAlias = otherAliasData.trim();
+ console.assert(!map.has(otherAlias));
+ map.set(otherAlias, canonicalName);
+ }
+ }
+ return propertyValueAliasesPerProperty;
+};
+
+const mappings = parsePropertyValueAliases();
+
+const binaryPropertyValueAliases = mappings.get('ASCII_Hex_Digit');
+
+// Re-use the `Script` mappings for `Script_Extensions`.
+const scriptMappings = mappings.get('Script');
+mappings.set('Script_Extensions', scriptMappings);
+
+// `ASCII`, `Any`, and `Assigned` are the only binary properties that are not
+// mentioned in `PropertyValueAliases.txt`. ಠ_ಠ
+const additionalMappings = new Map([
+ ['ASCII', binaryPropertyValueAliases],
+ ['Any', binaryPropertyValueAliases],
+ ['Assigned', binaryPropertyValueAliases]
+]);
+
+const allMappings = new Map([
+ ...additionalMappings,
+ ...mappings
+]);
+
+const header = '// Generated using `npm run build`. Do not edit!';
+const output = `${ header }\nmodule.exports = ${
+ jsesc(allMappings, {
+ 'compact': false
+ })
+};\n`;
+require('fs').writeFileSync('./index.js', output);
diff --git a/tests/tests.js b/tests/tests.js
new file mode 100644
index 0000000..107d88f
--- /dev/null
+++ b/tests/tests.js
@@ -0,0 +1,69 @@
+import test from 'ava';
+import propertyValueAliases from '../index.js';
+
+test(t => {
+ t.is(
+ propertyValueAliases.get('ASCII').get('N'),
+ 'No'
+ );
+ t.is(
+ propertyValueAliases.get('Any').get('N'),
+ 'No'
+ );
+ t.is(
+ propertyValueAliases.get('Assigned').get('N'),
+ 'No'
+ );
+ t.is(
+ propertyValueAliases.get('ASCII_Hex_Digit').get('N'),
+ 'No'
+ );
+ t.is(
+ propertyValueAliases.get('Age').get('1.1'),
+ 'V1_1'
+ );
+ t.is(
+ propertyValueAliases.get('Alphabetic').get('False'),
+ 'No'
+ );
+ t.is(
+ propertyValueAliases.get('Bidi_Class').get('AL'),
+ 'Arabic_Letter'
+ );
+ t.is(
+ propertyValueAliases.get('Bidi_Control').get('T'),
+ 'Yes'
+ );
+ t.is(
+ propertyValueAliases.get('Block').get('Alphabetic_PF'),
+ 'Alphabetic_Presentation_Forms'
+ );
+ t.is(
+ propertyValueAliases.get('Canonical_Combining_Class').get('KV'),
+ 'Kana_Voicing'
+ );
+ t.is(
+ propertyValueAliases.get('General_Category').get('L'),
+ 'Letter'
+ );
+ t.is(
+ propertyValueAliases.get('General_Category').get('Lu'),
+ 'Uppercase_Letter'
+ );
+ t.is(
+ propertyValueAliases.get('General_Category').get('C'),
+ 'Other'
+ );
+ t.is(
+ propertyValueAliases.get('General_Category').get('Cn'),
+ 'Unassigned'
+ );
+ t.is(
+ propertyValueAliases.get('Script').get('Aghb'),
+ 'Caucasian_Albanian'
+ );
+ t.is(
+ propertyValueAliases.get('Script_Extensions').get('Aghb'),
+ 'Caucasian_Albanian'
+ );
+});
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-unicode-property-value-aliases.git
More information about the Pkg-javascript-commits
mailing list