[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