From dbf5f70dbe86780e8bd5299560d19abe718ea592 Mon Sep 17 00:00:00 2001 From: Mike FABIAN Date: Jul 14 2015 15:03:49 +0000 Subject: Unicode 8.0.0 updates (including the transliteration files) - Resolves: rhbz#1238412 --- diff --git a/glibc-rh1238412-add-translit-rules-for-da-nb-nn-sv-locales.patch b/glibc-rh1238412-add-translit-rules-for-da-nb-nn-sv-locales.patch new file mode 100644 index 0000000..dd9ecd6 --- /dev/null +++ b/glibc-rh1238412-add-translit-rules-for-da-nb-nn-sv-locales.patch @@ -0,0 +1,120 @@ +From e857f3e60cfb440cdaa7f933e9989d7b0a06e0e2 Mon Sep 17 00:00:00 2001 +From: Mike FABIAN +Date: Wed, 20 May 2015 11:16:30 +0200 +Subject: [PATCH 4/5] Add transliteration rules for da, nb, nn, and sv locales. + +for localedata/Changelog + + [BZ #89] + * locales/da_DK add more transliteration rules + * locales/nb_NO add transliteration rules + * locales/sv_SE add transliteration rules +--- + localedata/locales/da_DK | 21 ++++++++++++++++++--- + localedata/locales/nb_NO | 22 ++++++++++++++++++++++ + localedata/locales/sv_SE | 22 ++++++++++++++++++++++ + 3 files changed, 62 insertions(+), 3 deletions(-) + +diff --git a/localedata/locales/da_DK b/localedata/locales/da_DK +index c5024a4..d1d4087 100644 +--- a/localedata/locales/da_DK ++++ b/localedata/locales/da_DK +@@ -137,11 +137,26 @@ translit_start + + include "translit_combining";"" + +-% Danish. +-% LATIN CAPITAL LETTER A WITH RING ABOVE. ++% LATIN CAPITAL LETTER A WITH DIAERESIS -> "AE" ++ "";"" ++% LATIN CAPITAL LETTER A WITH RING ABOVE -> "AA" + "";"" +-% LATIN SMALL LETTER A WITH RING ABOVE. ++% LATIN CAPITAL LETTER AE -> "AE" ++ "" ++% LATIN CAPITAL LETTER O WITH DIAERESIS -> "OE" ++ "";"" ++% LATIN CAPITAL LETTER O WITH STROKE -> "OE" ++ "";"" ++% LATIN SMALL LETTER A WITH DIAERESIS -> "ae" ++ "";"" ++% LATIN SMALL LETTER A WITH RING ABOVE -> "aa" + "";"" ++% LATIN SMALL LETTER AE -> "ae" ++ "" ++% LATIN SMALL LETTER O WITH DIAERESIS -> "oe" ++ "";"" ++% LATIN SMALL LETTER O WITH STROKE -> "oe" ++ "";"" + + translit_end + +diff --git a/localedata/locales/nb_NO b/localedata/locales/nb_NO +index 513d50c..332092a 100644 +--- a/localedata/locales/nb_NO ++++ b/localedata/locales/nb_NO +@@ -127,6 +127,28 @@ copy "i18n" + + translit_start + include "translit_combining";"" ++ ++% LATIN CAPITAL LETTER A WITH DIAERESIS -> "AE" ++ "";"" ++% LATIN CAPITAL LETTER A WITH RING ABOVE -> "AA" ++ "";"" ++% LATIN CAPITAL LETTER AE -> "AE" ++ "" ++% LATIN CAPITAL LETTER O WITH DIAERESIS -> "OE" ++ "";"" ++% LATIN CAPITAL LETTER O WITH STROKE -> "OE" ++ "";"" ++% LATIN SMALL LETTER A WITH DIAERESIS -> "ae" ++ "";"" ++% LATIN SMALL LETTER A WITH RING ABOVE -> "aa" ++ "";"" ++% LATIN SMALL LETTER AE -> "ae" ++ "" ++% LATIN SMALL LETTER O WITH DIAERESIS -> "oe" ++ "";"" ++% LATIN SMALL LETTER O WITH STROKE -> "oe" ++ "";"" ++ + translit_end + END LC_CTYPE + +diff --git a/localedata/locales/sv_SE b/localedata/locales/sv_SE +index ecf7858..92358b9 100644 +--- a/localedata/locales/sv_SE ++++ b/localedata/locales/sv_SE +@@ -112,6 +112,28 @@ copy "i18n" + + translit_start + include "translit_combining";"" ++ ++% LATIN CAPITAL LETTER A WITH DIAERESIS -> "AE" ++ "";"" ++% LATIN CAPITAL LETTER A WITH RING ABOVE -> "AA" ++ "";"" ++% LATIN CAPITAL LETTER AE -> "AE" ++ "" ++% LATIN CAPITAL LETTER O WITH DIAERESIS -> "OE" ++ "";"" ++% LATIN CAPITAL LETTER O WITH STROKE -> "OE" ++ "";"" ++% LATIN SMALL LETTER A WITH DIAERESIS -> "ae" ++ "";"" ++% LATIN SMALL LETTER A WITH RING ABOVE -> "aa" ++ "";"" ++% LATIN SMALL LETTER AE -> "ae" ++ "" ++% LATIN SMALL LETTER O WITH DIAERESIS -> "oe" ++ "";"" ++% LATIN SMALL LETTER O WITH STROKE -> "oe" ++ "";"" ++ + translit_end + END LC_CTYPE + +-- +2.4.3 + diff --git a/glibc-rh1238412-addition-and-fixes-for-translit_neutral.patch b/glibc-rh1238412-addition-and-fixes-for-translit_neutral.patch new file mode 100644 index 0000000..17abd7d --- /dev/null +++ b/glibc-rh1238412-addition-and-fixes-for-translit_neutral.patch @@ -0,0 +1,561 @@ +From 0df7fd67146848ce3d61ddeffdd59f58bb408312 Mon Sep 17 00:00:00 2001 +From: Mike FABIAN +Date: Thu, 30 Apr 2015 16:44:03 +0200 +Subject: [PATCH 2/5] Addition and fixes for translit_neutral +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- Change Ö U+00D6 LATIN CAPITAL LETTER O WITH STROKE → O (instead of → OE) +- Change ö U+00F6 LATIN SMALL LETTER O WITH STROKE → o (instead of → oe) +- Add ₹ U+20B9 INDIAN RUPEE SIGN → INR +- Add ₫ U+20AB DONG SIGN → Dong (in addition to "₫ → Đồng") +- Add many others from + http://unicode.org/cldr/trac/browser/trunk/common/transforms/Latin-ASCII.xml +- Add some more currency signs suggested by Marko Myllynen +- Add another patch with more characters by Marko Myllynen +--- + localedata/locales/translit_neutral | 462 +++++++++++++++++++++++++++++++++++- + 1 file changed, 457 insertions(+), 5 deletions(-) + +diff --git a/localedata/locales/translit_neutral b/localedata/locales/translit_neutral +index b5cc079..a1a7472 100644 +--- a/localedata/locales/translit_neutral ++++ b/localedata/locales/translit_neutral +@@ -18,6 +18,16 @@ include "translit_wide";"" + + % NO-BREAK SPACE + ++% INVERTED EXCLAMATION MARK ++ ++% CENT SIGN ++ ++% POUND SIGN ++ "" ++% YEN SIGN ++ "" ++% BROKEN BAR ++ + % COPYRIGHT SIGN + "" + % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +@@ -26,22 +36,284 @@ include "translit_wide";"" + + % REGISTERED SIGN + "" ++% PLUS-MINUS SIGN ++ "" ++% ACUTE ACCENT ++ ++% MIDDLE DOT ++ + % CEDILLA + + % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + "" ++% INVERTED QUESTION MARK ++ ++% LATIN CAPITAL LETTER ETH ++ + % MULTIPLICATION SIGN + + % LATIN CAPITAL LETTER AE + "" + % LATIN CAPITAL LETTER O WITH STROKE +- "" ++ ++% LATIN CAPITAL LETTER THORN ++ "" + % LATIN SMALL LETTER SHARP S + "" + % LATIN SMALL LETTER AE + "" ++% LATIN SMALL LETTER ETH ++ + % LATIN SMALL LETTER O WITH STROKE +- "" ++ ++% LATIN SMALL LETTER THORN ++ "" ++% LATIN CAPITAL LETTER D WITH STROKE ++ ++% LATIN SMALL LETTER D WITH STROKE ++ ++% LATIN CAPITAL LETTER H WITH STROKE ++ ++% LATIN SMALL LETTER H WITH STROKE ++ ++% LATIN SMALL LETTER DOTLESS I ++ ++% LATIN SMALL LETTER KRA (collates with q in DUCET) ++ ++% LATIN CAPITAL LETTER L WITH MIDDLE DOT ++ ++% LATIN SMALL LETTER L WITH MIDDLE DOT ++ ++% LATIN CAPITAL LETTER L WITH STROKE ++ ++% LATIN SMALL LETTER L WITH STROKE ++ ++% LATIN CAPITAL LETTER ENG ++ ++% LATIN SMALL LETTER ENG ++ ++% LATIN SMALL LETTER N PRECEDED BY APOSTROPHE ++ "" ++% LATIN CAPITAL LIGATURE OE ++ "" ++% LATIN SMALL LIGATURE OE ++ "" ++% LATIN CAPITAL LETTER T WITH STROKE ++ ++% LATIN SMALL LETTER T WITH STROKE ++ ++% LATIN SMALL LETTER B WITH STROKE ++ ++% LATIN CAPITAL LETTER B WITH HOOK ++ ++% LATIN CAPITAL LETTER B WITH TOPBAR ++ ++% LATIN SMALL LETTER B WITH TOPBAR ++ ++% LATIN CAPITAL LETTER C WITH HOOK ++ ++% LATIN SMALL LETTER C WITH HOOK ++ ++% LATIN CAPITAL LETTER AFRICAN D ++ ++% LATIN CAPITAL LETTER D WITH HOOK ++ ++% LATIN CAPITAL LETTER D WITH TOPBAR ++ ++% LATIN SMALL LETTER D WITH TOPBAR ++ ++% LATIN CAPITAL LETTER OPEN E ++ ++% LATIN CAPITAL LETTER F WITH HOOK ++ ++% LATIN SMALL LETTER F WITH HOOK ++ ++% LATIN CAPITAL LETTER G WITH HOOK ++ ++% LATIN SMALL LETTER HV ++ "" ++% LATIN CAPITAL LETTER IOTA ++ ++% LATIN CAPITAL LETTER I WITH STROKE ++ ++% LATIN CAPITAL LETTER K WITH HOOK ++ ++% LATIN SMALL LETTER K WITH HOOK ++ ++% LATIN SMALL LETTER L WITH BAR ++ ++% LATIN CAPITAL LETTER N WITH LEFT HOOK ++ ++% LATIN SMALL LETTER N WITH LONG RIGHT LEG ++ ++% LATIN CAPITAL LETTER OI ++ "" ++% LATIN SMALL LETTER OI ++ "" ++% LATIN CAPITAL LETTER P WITH HOOK ++ ++% LATIN SMALL LETTER P WITH HOOK ++ ++% LATIN SMALL LETTER T WITH PALATAL HOOK ++ ++% LATIN CAPITAL LETTER T WITH HOOK ++ ++% LATIN SMALL LETTER T WITH HOOK ++ ++% LATIN CAPITAL LETTER T WITH RETROFLEX HOOK ++ ++% LATIN CAPITAL LETTER V WITH HOOK ++ ++% LATIN CAPITAL LETTER Y WITH HOOK ++ ++% LATIN SMALL LETTER Y WITH HOOK ++ ++% LATIN CAPITAL LETTER Z WITH STROKE ++ ++% LATIN SMALL LETTER Z WITH STROKE ++ ++% LATIN CAPITAL LETTER G WITH STROKE ++ ++% LATIN SMALL LETTER G WITH STROKE ++ ++% LATIN SMALL LETTER D WITH CURL ++ ++% LATIN CAPITAL LETTER Z WITH HOOK ++ ++% LATIN SMALL LETTER Z WITH HOOK ++ ++% LATIN SMALL LETTER L WITH CURL ++ ++% LATIN SMALL LETTER N WITH CURL ++ ++% LATIN SMALL LETTER T WITH CURL ++ ++% LATIN SMALL LETTER DOTLESS J ++ ++% LATIN SMALL LETTER DB DIGRAPH ++ "" ++% LATIN SMALL LETTER QP DIGRAPH ++ "" ++% LATIN CAPITAL LETTER A WITH STROKE ++ ++% LATIN CAPITAL LETTER C WITH STROKE ++ ++% LATIN SMALL LETTER C WITH STROKE ++ ++% LATIN CAPITAL LETTER L WITH BAR ++ ++% LATIN CAPITAL LETTER T WITH DIAGONAL STROKE ++ ++% LATIN SMALL LETTER S WITH SWASH TAIL ++ ++% LATIN SMALL LETTER Z WITH SWASH TAIL ++ ++% LATIN CAPITAL LETTER B WITH STROKE ++ ++% LATIN CAPITAL LETTER U BAR ++ ++% LATIN CAPITAL LETTER E WITH STROKE ++ ++% LATIN SMALL LETTER E WITH STROKE ++ ++% LATIN CAPITAL LETTER J WITH STROKE ++ ++% LATIN SMALL LETTER J WITH STROKE ++ ++% LATIN CAPITAL LETTER R WITH STROKE ++ ++% LATIN SMALL LETTER R WITH STROKE ++ ++% LATIN CAPITAL LETTER Y WITH STROKE ++ ++% LATIN SMALL LETTER Y WITH STROKE ++ ++% LATIN SMALL LETTER B WITH HOOK ++ ++% LATIN SMALL LETTER C WITH CURL ++ ++% LATIN SMALL LETTER D WITH TAIL ++ ++% LATIN SMALL LETTER D WITH HOOK ++ ++% LATIN SMALL LETTER OPEN E ++ ++% LATIN SMALL LETTER DOTLESS J WITH STROKE ++ ++% LATIN SMALL LETTER G WITH HOOK ++ ++% LATIN SMALL LETTER SCRIPT G ++ ++% LATIN LETTER SMALL CAPITAL G ++ ++% LATIN SMALL LETTER H WITH HOOK ++ ++% LATIN SMALL LETTER HENG WITH HOOK ++ ++% LATIN SMALL LETTER I WITH STROKE ++ ++% LATIN LETTER SMALL CAPITAL I ++ ++% LATIN SMALL LETTER L WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER L WITH BELT ++ ++% LATIN SMALL LETTER L WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER M WITH HOOK ++ ++% LATIN SMALL LETTER N WITH LEFT HOOK ++ ++% LATIN SMALL LETTER N WITH RETROFLEX HOOK ++ ++% LATIN LETTER SMALL CAPITAL N ++ ++% LATIN LETTER SMALL CAPITAL OE ++ "" ++% LATIN SMALL LETTER R WITH LONG LEG ++ ++% LATIN SMALL LETTER R WITH TAIL ++ ++% LATIN SMALL LETTER R WITH FISHHOOK ++ ++% LATIN LETTER SMALL CAPITAL R ++ ++% LATIN SMALL LETTER S WITH HOOK ++ ++% LATIN SMALL LETTER T WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER U BAR ++ ++% LATIN SMALL LETTER V WITH HOOK ++ ++% LATIN LETTER SMALL CAPITAL Y ++ ++% LATIN SMALL LETTER Z WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER Z WITH CURL ++ ++% LATIN LETTER SMALL CAPITAL B ++ ++% LATIN LETTER SMALL CAPITAL G WITH HOOK ++ ++% LATIN LETTER SMALL CAPITAL H ++ ++% LATIN SMALL LETTER J WITH CROSSED-TAIL ++ ++% LATIN LETTER SMALL CAPITAL L ++ ++% LATIN SMALL LETTER Q WITH HOOK ++ ++% LATIN SMALL LETTER DZ DIGRAPH ++ "" ++% LATIN SMALL LETTER DZ DIGRAPH WITH CURL ++ "" ++% LATIN SMALL LETTER TS DIGRAPH ++ "" ++% LATIN SMALL LETTER LS DIGRAPH ++ "" ++% LATIN SMALL LETTER LZ DIGRAPH ++ "" + % MODIFIER LETTER PRIME + ; + % MODIFIER LETTER DOUBLE PRIME +@@ -68,6 +340,136 @@ include "translit_wide";"" + + % SMALL TILDE + ++% DOUBLE ACUTE ACCENT ++ "" ++% LATIN LETTER SMALL CAPITAL A ++ ++% LATIN LETTER SMALL CAPITAL AE ++ "" ++% LATIN LETTER SMALL CAPITAL BARRED B ++ ++% LATIN LETTER SMALL CAPITAL C ++ ++% LATIN LETTER SMALL CAPITAL D ++ ++% LATIN LETTER SMALL CAPITAL ETH ++ ++% LATIN LETTER SMALL CAPITAL E ++ ++% LATIN LETTER SMALL CAPITAL J ++ ++% LATIN LETTER SMALL CAPITAL K ++ ++% LATIN LETTER SMALL CAPITAL L WITH STROKE ++ ++% LATIN LETTER SMALL CAPITAL M ++ ++% LATIN LETTER SMALL CAPITAL O ++ ++% LATIN LETTER SMALL CAPITAL P ++ ++% LATIN LETTER SMALL CAPITAL T ++ ++% LATIN LETTER SMALL CAPITAL U ++ ++% LATIN LETTER SMALL CAPITAL V ++ ++% LATIN LETTER SMALL CAPITAL W ++ ++% LATIN LETTER SMALL CAPITAL Z ++ ++% LATIN SMALL LETTER UE ++ "" ++% LATIN SMALL LETTER B WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER D WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER F WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER M WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER N WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER P WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER R WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE ++ ++% LATIN SMALL LETTER S WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER T WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER Z WITH MIDDLE TILDE ++ ++% LATIN SMALL LETTER TH WITH STRIKETHROUGH ++ "" ++% LATIN SMALL CAPITAL LETTER I WITH STROKE ++ ++% LATIN SMALL LETTER P WITH STROKE ++ ++% LATIN SMALL CAPITAL LETTER U WITH STROKE ++ ++% LATIN SMALL LETTER B WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER D WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER F WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER G WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER K WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER L WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER M WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER N WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER P WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER R WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER S WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER V WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER X WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER Z WITH PALATAL HOOK ++ ++% LATIN SMALL LETTER A WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER D WITH HOOK AND TAIL ++ ++% LATIN SMALL LETTER E WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER I WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER U WITH RETROFLEX HOOK ++ ++% LATIN SMALL LETTER A WITH RIGHT HALF RING ++ ++% LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE ++ ++% LATIN SMALL LETTER LONG S WITH HIGH STROKE ++ ++% LATIN CAPITAL LETTER SHARP S ++ "" ++% LATIN CAPITAL LETTER MIDDLE-WELSH LL ++ "" ++% LATIN SMALL LETTER MIDDLE-WELSH LL ++ "" ++% LATIN CAPITAL LETTER MIDDLE-WELSH V ++ ++% LATIN SMALL LETTER MIDDLE-WELSH V ++ ++% LATIN CAPITAL LETTER Y WITH LOOP ++ ++% LATIN SMALL LETTER Y WITH LOOP ++ + % ZERO WIDTH SPACE + "" + % HYPHEN +@@ -130,12 +532,36 @@ include "translit_wide";"" + "" + % INVISIBLE SEPARATOR + "" ++% EURO-CURRENCY SIGN ++ "" + % COLON SIGN + "" ++% CRUZEIRO SIGN ++ "" ++% FRENCH FRANC SIGN ++ "" ++% LIRA SIGN ++ "" ++% PESETA SIGN ++ "" ++% WON SIGN ++ "" + % DONG SIGN +- "" ++ "";"" + % EURO SIGN + "" ++% DRACHMA SIGN ++ "" ++% HRYVNIA SIGN ++ "";"" ++% INDIAN RUPEE SIGN ++ "" ++% TURKISH LIRA SIGN ++ "" ++% RUBLE SIGN ++ "";"" ++% PRESCRIPTION TAKE ++ "" + % TRADE MARK SIGN + "" + % OHM SIGN +@@ -150,10 +576,10 @@ include "translit_wide";"" + "" + % LEFTWARDS DOUBLE ARROW + "" +-% LEFT RIGHT DOUBLE ARROW +- "" + % RIGHTWARDS DOUBLE ARROW + "" ++% LEFT RIGHT DOUBLE ARROW ++ "" + % MINUS SIGN + ; + % DIVISION SLASH +@@ -166,6 +592,8 @@ include "translit_wide";"" + ; + % DIVIDES + ++% PARALLEL TO ++ "" + % RATIO + + % TILDE OPERATOR +@@ -280,8 +708,32 @@ include "translit_wide";"" + + % BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + ++% BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT ++ ++% BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT ++ + % WHITE BULLET + ++% WHITE SMILING FACE ++ "" ++% BLACK SMILING FACE ++ "" ++% MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET⟫ ++ "" ++% MATHEMATICAL LEFT DOUBLE ANGLE BRACKET ++ "" ++% MATHEMATICAL LEFT FLATTENED PARENTHESIS ++ ++% MATHEMATICAL RIGHT FLATTENED PARENTHESIS ++ ++% MATHEMATICAL RISING DIAGONAL ++ ++% MATHEMATICAL FALLING DIAGONAL ++ ++% LEFT ANGLE BRACKET ++ ++% RIGHT ANGLE BRACKET ++ + % KATAKANA-HIRAGANA DOUBLE HYPHEN + + % VARIATION SELECTOR-1 +-- +2.4.3 + diff --git a/glibc-rh1238412-remove-duplicate-transliterations.patch b/glibc-rh1238412-remove-duplicate-transliterations.patch new file mode 100644 index 0000000..7a5c7d7 --- /dev/null +++ b/glibc-rh1238412-remove-duplicate-transliterations.patch @@ -0,0 +1,26 @@ +From 8364315a1d6be5a5b47c7b5e5e678127001bca62 Mon Sep 17 00:00:00 2001 +From: Mike FABIAN +Date: Mon, 18 May 2015 07:03:13 +0200 +Subject: [PATCH 1/5] Remove duplicate transliterations for U+0152 and U+0153 + from C-translit.h.in + +--- + locale/C-translit.h.in | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/locale/C-translit.h.in b/locale/C-translit.h.in +index 71bef64..7aed945 100644 +--- a/locale/C-translit.h.in ++++ b/locale/C-translit.h.in +@@ -38,8 +38,6 @@ + "\x0133" "ij" /* LATIN SMALL LIGATURE IJ */ + "\x0149" "'n" /* LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ + "\x0152" "OE" /* LATIN CAPITAL LIGATURE OE */ +-"\x0152" "OE" /* LATIN CAPITAL LIGATURE OE */ +-"\x0153" "oe" /* LATIN SMALL LIGATURE OE */ + "\x0153" "oe" /* LATIN SMALL LIGATURE OE */ + "\x017f" "s" /* LATIN SMALL LETTER LONG S */ + "\x01c7" "LJ" /* LATIN CAPITAL LETTER LJ */ +-- +2.4.3 + diff --git a/glibc-rh1238412-unicode-8.0.0-update.patch b/glibc-rh1238412-unicode-8.0.0-update.patch new file mode 100644 index 0000000..cca01f5 --- /dev/null +++ b/glibc-rh1238412-unicode-8.0.0-update.patch @@ -0,0 +1,9931 @@ +From 207b5d41e812f523e9dfd971a1d40e02eae84fed Mon Sep 17 00:00:00 2001 +From: Mike FABIAN +Date: Mon, 22 Jun 2015 13:00:44 +0200 +Subject: [PATCH 5/5] Unicode 8.0.0 update. + +for ChangeLog + + * include/stdc-predef.h (__STDC_ISO_10646__): Update to + 201505L, for Unicode 8. + +for localedata/ChangeLog + + [BZ 18568] + * unicode-gen/Makefile: updated Unicode Version + * unicode-gen/UnicodeData.txt: updated, from Unicode. + * unicode-gen/DerivedCoreProperties.txt: updated, from Unicode. + * unicode-gen/EastAsianWidth.txt: updated, from Unicode. + * charmaps/UTF-8: Update. + * locales/i18n: Update. + * locales/translit_circle: only timestamp changed + * locales/translit_cjk_compat: only timestamp changed + * locales/translit_combining: one Arabic combining character added + * locales/translit_compat: only timestamp changed + * locales/translit_font: only timestamp changed + * locales/translit_fraction: only timestamp changed + * unicode-gen/gen_translit_combining.py: ignore combining + characters whose names matche AHOM or SIGNWRITING +--- + include/stdc-predef.h | 12 +- + localedata/charmaps/UTF-8 | 2190 +++++++++++++++++++- + localedata/locales/i18n | 2334 ++++++++++++---------- + localedata/locales/translit_circle | 2 +- + localedata/locales/translit_cjk_compat | 2 +- + localedata/locales/translit_combining | 4 +- + localedata/locales/translit_compat | 2 +- + localedata/locales/translit_font | 2 +- + localedata/locales/translit_fraction | 2 +- + localedata/unicode-gen/DerivedCoreProperties.txt | 483 +++-- + localedata/unicode-gen/EastAsianWidth.txt | 121 +- + localedata/unicode-gen/Makefile | 2 +- + localedata/unicode-gen/UnicodeData.txt | 2161 +++++++++++++++++++- + localedata/unicode-gen/gen_translit_combining.py | 4 +- + 14 files changed, 5958 insertions(+), 1363 deletions(-) + +diff --git a/include/stdc-predef.h b/include/stdc-predef.h +index e5f1139..8328145 100644 +--- a/include/stdc-predef.h ++++ b/include/stdc-predef.h +@@ -49,14 +49,10 @@ + # define __STDC_IEC_559_COMPLEX__ 1 + #endif + +-/* wchar_t uses Unicode 7.0.0. Version 7.0 of the Unicode Standard is +- synchronized with ISO/IEC 10646:2012, plus Amendments 1 (published +- on April, 2013) and 2 (not yet published as of February, 2015). +- Additionally, it includes the accelerated publication of U+20BD +- RUBLE SIGN. Therefore Unicode 7.0.0 is between 10646:2012 and +- 10646:2014, and so we use the date ISO/IEC 10646:2012 Amd.1 was +- published. */ +-#define __STDC_ISO_10646__ 201304L ++/* wchar_t uses Unicode 8.0.0. Version 8.0 of the Unicode Standard is ++ synchronized with ISO/IEC 10646:2014, plus Amendment 1 (published ++ 2015-05-15). */ ++#define __STDC_ISO_10646__ 201505L + + /* We do not support C11 . */ + #define __STDC_NO_THREADS__ 1 +diff --git a/localedata/charmaps/UTF-8 b/localedata/charmaps/UTF-8 +index 1f33c55..40ace9c 100644 +--- a/localedata/charmaps/UTF-8 ++++ b/localedata/charmaps/UTF-8 +@@ -2100,6 +2100,9 @@ CHARMAP + /xe0/xa2/xb0 ARABIC LETTER GAF WITH INVERTED STROKE + /xe0/xa2/xb1 ARABIC LETTER STRAIGHT WAW + /xe0/xa2/xb2 ARABIC LETTER ZAIN WITH INVERTED V ABOVE ++ /xe0/xa2/xb3 ARABIC LETTER AIN WITH THREE DOTS BELOW ++ /xe0/xa2/xb4 ARABIC LETTER KAF WITH DOT BELOW ++ /xe0/xa3/xa3 ARABIC TURNED DAMMA BELOW + /xe0/xa3/xa4 ARABIC CURLY FATHA + /xe0/xa3/xa5 ARABIC CURLY DAMMA + /xe0/xa3/xa6 ARABIC CURLY KASRA +@@ -2512,6 +2515,7 @@ CHARMAP + /xe0/xab/xaf GUJARATI DIGIT NINE + /xe0/xab/xb0 GUJARATI ABBREVIATION SIGN + /xe0/xab/xb1 GUJARATI RUPEE SIGN ++ /xe0/xab/xb9 GUJARATI LETTER ZHA + /xe0/xac/x81 ORIYA SIGN CANDRABINDU + /xe0/xac/x82 ORIYA SIGN ANUSVARA + /xe0/xac/x83 ORIYA SIGN VISARGA +@@ -2747,6 +2751,7 @@ CHARMAP + /xe0/xb1/x96 TELUGU AI LENGTH MARK + /xe0/xb1/x98 TELUGU LETTER TSA + /xe0/xb1/x99 TELUGU LETTER DZA ++ /xe0/xb1/x9a TELUGU LETTER RRRA + /xe0/xb1/xa0 TELUGU LETTER VOCALIC RR + /xe0/xb1/xa1 TELUGU LETTER VOCALIC LL + /xe0/xb1/xa2 TELUGU VOWEL SIGN VOCALIC L +@@ -2928,6 +2933,7 @@ CHARMAP + /xe0/xb5/x8d MALAYALAM SIGN VIRAMA + /xe0/xb5/x8e MALAYALAM LETTER DOT REPH + /xe0/xb5/x97 MALAYALAM AU LENGTH MARK ++ /xe0/xb5/x9f MALAYALAM LETTER ARCHAIC II + /xe0/xb5/xa0 MALAYALAM LETTER VOCALIC RR + /xe0/xb5/xa1 MALAYALAM LETTER VOCALIC LL + /xe0/xb5/xa2 MALAYALAM VOWEL SIGN VOCALIC L +@@ -4383,6 +4389,13 @@ CHARMAP + /xe1/x8f/xb2 CHEROKEE LETTER YO + /xe1/x8f/xb3 CHEROKEE LETTER YU + /xe1/x8f/xb4 CHEROKEE LETTER YV ++ /xe1/x8f/xb5 CHEROKEE LETTER MV ++ /xe1/x8f/xb8 CHEROKEE SMALL LETTER YE ++ /xe1/x8f/xb9 CHEROKEE SMALL LETTER YI ++ /xe1/x8f/xba CHEROKEE SMALL LETTER YO ++ /xe1/x8f/xbb CHEROKEE SMALL LETTER YU ++ /xe1/x8f/xbc CHEROKEE SMALL LETTER YV ++ /xe1/x8f/xbd CHEROKEE SMALL LETTER MV + /xe1/x90/x80 CANADIAN SYLLABICS HYPHEN + /xe1/x90/x81 CANADIAN SYLLABICS E + /xe1/x90/x82 CANADIAN SYLLABICS AAI +@@ -7286,6 +7299,7 @@ CHARMAP + /xe2/x82/xbb NORDIC MARK SIGN + /xe2/x82/xbc MANAT SIGN + /xe2/x82/xbd RUBLE SIGN ++ /xe2/x82/xbe LARI SIGN + /xe2/x83/x90 COMBINING LEFT HARPOON ABOVE + /xe2/x83/x91 COMBINING RIGHT HARPOON ABOVE + /xe2/x83/x92 COMBINING LONG VERTICAL LINE OVERLAY +@@ -7457,6 +7471,8 @@ CHARMAP + /xe2/x86/x87 ROMAN NUMERAL FIFTY THOUSAND + /xe2/x86/x88 ROMAN NUMERAL ONE HUNDRED THOUSAND + /xe2/x86/x89 VULGAR FRACTION ZERO THIRDS ++ /xe2/x86/x8a TURNED DIGIT TWO ++ /xe2/x86/x8b TURNED DIGIT THREE + /xe2/x86/x90 LEFTWARDS ARROW + /xe2/x86/x91 UPWARDS ARROW + /xe2/x86/x92 RIGHTWARDS ARROW +@@ -10024,6 +10040,10 @@ CHARMAP + /xe2/xaf/x8f ROTATED WHITE FOUR POINTED CUSP + /xe2/xaf/x90 SQUARE POSITION INDICATOR + /xe2/xaf/x91 UNCERTAINTY SIGN ++ /xe2/xaf/xac LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS ++ /xe2/xaf/xad UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS ++ /xe2/xaf/xae RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS ++ /xe2/xaf/xaf DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS + /xe2/xb0/x80 GLAGOLITIC CAPITAL LETTER AZU + /xe2/xb0/x81 GLAGOLITIC CAPITAL LETTER BUKY + /xe2/xb0/x82 GLAGOLITIC CAPITAL LETTER VEDE +@@ -12378,7 +12398,7 @@ CHARMAP + .. /xe9/xbc/x80 + .. /xe9/xbd/x80 + .. /xe9/xbe/x80 +-.. /xe9/xbf/x80 ++.. /xe9/xbf/x80 + /xea/x80/x80 YI SYLLABLE IT + /xea/x80/x81 YI SYLLABLE IX + /xea/x80/x82 YI SYLLABLE I +@@ -14041,6 +14061,7 @@ CHARMAP + /xea/x9a/x9b CYRILLIC SMALL LETTER CROSSED O + /xea/x9a/x9c MODIFIER LETTER CYRILLIC HARD SIGN + /xea/x9a/x9d MODIFIER LETTER CYRILLIC SOFT SIGN ++ /xea/x9a/x9e COMBINING CYRILLIC LETTER EF + /xea/x9a/x9f COMBINING CYRILLIC LETTER IOTIFIED E + /xea/x9a/xa0 BAMUM LETTER A + /xea/x9a/xa1 BAMUM LETTER KA +@@ -14273,6 +14294,7 @@ CHARMAP + /xea/x9e/x8c LATIN SMALL LETTER SALTILLO + /xea/x9e/x8d LATIN CAPITAL LETTER TURNED H + /xea/x9e/x8e LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++ /xea/x9e/x8f LATIN LETTER SINOLOGICAL DOT + /xea/x9e/x90 LATIN CAPITAL LETTER N WITH DESCENDER + /xea/x9e/x91 LATIN SMALL LETTER N WITH DESCENDER + /xea/x9e/x92 LATIN CAPITAL LETTER C WITH BAR +@@ -14305,6 +14327,12 @@ CHARMAP + /xea/x9e/xad LATIN CAPITAL LETTER L WITH BELT + /xea/x9e/xb0 LATIN CAPITAL LETTER TURNED K + /xea/x9e/xb1 LATIN CAPITAL LETTER TURNED T ++ /xea/x9e/xb2 LATIN CAPITAL LETTER J WITH CROSSED-TAIL ++ /xea/x9e/xb3 LATIN CAPITAL LETTER CHI ++ /xea/x9e/xb4 LATIN CAPITAL LETTER BETA ++ /xea/x9e/xb5 LATIN SMALL LETTER BETA ++ /xea/x9e/xb6 LATIN CAPITAL LETTER OMEGA ++ /xea/x9e/xb7 LATIN SMALL LETTER OMEGA + /xea/x9f/xb7 LATIN EPIGRAPHIC LETTER SIDEWAYS I + /xea/x9f/xb8 MODIFIER LETTER CAPITAL H WITH STROKE + /xea/x9f/xb9 MODIFIER LETTER SMALL LIGATURE OE +@@ -14533,6 +14561,8 @@ CHARMAP + /xea/xa3/xb9 DEVANAGARI GAP FILLER + /xea/xa3/xba DEVANAGARI CARET + /xea/xa3/xbb DEVANAGARI HEADSTROKE ++ /xea/xa3/xbc DEVANAGARI SIGN SIDDHAM ++ /xea/xa3/xbd DEVANAGARI JAIN OM + /xea/xa4/x80 KAYAH LI DIGIT ZERO + /xea/xa4/x81 KAYAH LI DIGIT ONE + /xea/xa4/x82 KAYAH LI DIGIT TWO +@@ -15059,8 +15089,92 @@ CHARMAP + /xea/xad/x9d MODIFIER LETTER SMALL L WITH INVERTED LAZY S + /xea/xad/x9e MODIFIER LETTER SMALL L WITH MIDDLE TILDE + /xea/xad/x9f MODIFIER LETTER SMALL U WITH LEFT HOOK ++ /xea/xad/xa0 LATIN SMALL LETTER SAKHA YAT ++ /xea/xad/xa1 LATIN SMALL LETTER IOTIFIED E ++ /xea/xad/xa2 LATIN SMALL LETTER OPEN OE ++ /xea/xad/xa3 LATIN SMALL LETTER UO + /xea/xad/xa4 LATIN SMALL LETTER INVERTED ALPHA + /xea/xad/xa5 GREEK LETTER SMALL CAPITAL OMEGA ++ /xea/xad/xb0 CHEROKEE SMALL LETTER A ++ /xea/xad/xb1 CHEROKEE SMALL LETTER E ++ /xea/xad/xb2 CHEROKEE SMALL LETTER I ++ /xea/xad/xb3 CHEROKEE SMALL LETTER O ++ /xea/xad/xb4 CHEROKEE SMALL LETTER U ++ /xea/xad/xb5 CHEROKEE SMALL LETTER V ++ /xea/xad/xb6 CHEROKEE SMALL LETTER GA ++ /xea/xad/xb7 CHEROKEE SMALL LETTER KA ++ /xea/xad/xb8 CHEROKEE SMALL LETTER GE ++ /xea/xad/xb9 CHEROKEE SMALL LETTER GI ++ /xea/xad/xba CHEROKEE SMALL LETTER GO ++ /xea/xad/xbb CHEROKEE SMALL LETTER GU ++ /xea/xad/xbc CHEROKEE SMALL LETTER GV ++ /xea/xad/xbd CHEROKEE SMALL LETTER HA ++ /xea/xad/xbe CHEROKEE SMALL LETTER HE ++ /xea/xad/xbf CHEROKEE SMALL LETTER HI ++ /xea/xae/x80 CHEROKEE SMALL LETTER HO ++ /xea/xae/x81 CHEROKEE SMALL LETTER HU ++ /xea/xae/x82 CHEROKEE SMALL LETTER HV ++ /xea/xae/x83 CHEROKEE SMALL LETTER LA ++ /xea/xae/x84 CHEROKEE SMALL LETTER LE ++ /xea/xae/x85 CHEROKEE SMALL LETTER LI ++ /xea/xae/x86 CHEROKEE SMALL LETTER LO ++ /xea/xae/x87 CHEROKEE SMALL LETTER LU ++ /xea/xae/x88 CHEROKEE SMALL LETTER LV ++ /xea/xae/x89 CHEROKEE SMALL LETTER MA ++ /xea/xae/x8a CHEROKEE SMALL LETTER ME ++ /xea/xae/x8b CHEROKEE SMALL LETTER MI ++ /xea/xae/x8c CHEROKEE SMALL LETTER MO ++ /xea/xae/x8d CHEROKEE SMALL LETTER MU ++ /xea/xae/x8e CHEROKEE SMALL LETTER NA ++ /xea/xae/x8f CHEROKEE SMALL LETTER HNA ++ /xea/xae/x90 CHEROKEE SMALL LETTER NAH ++ /xea/xae/x91 CHEROKEE SMALL LETTER NE ++ /xea/xae/x92 CHEROKEE SMALL LETTER NI ++ /xea/xae/x93 CHEROKEE SMALL LETTER NO ++ /xea/xae/x94 CHEROKEE SMALL LETTER NU ++ /xea/xae/x95 CHEROKEE SMALL LETTER NV ++ /xea/xae/x96 CHEROKEE SMALL LETTER QUA ++ /xea/xae/x97 CHEROKEE SMALL LETTER QUE ++ /xea/xae/x98 CHEROKEE SMALL LETTER QUI ++ /xea/xae/x99 CHEROKEE SMALL LETTER QUO ++ /xea/xae/x9a CHEROKEE SMALL LETTER QUU ++ /xea/xae/x9b CHEROKEE SMALL LETTER QUV ++ /xea/xae/x9c CHEROKEE SMALL LETTER SA ++ /xea/xae/x9d CHEROKEE SMALL LETTER S ++ /xea/xae/x9e CHEROKEE SMALL LETTER SE ++ /xea/xae/x9f CHEROKEE SMALL LETTER SI ++ /xea/xae/xa0 CHEROKEE SMALL LETTER SO ++ /xea/xae/xa1 CHEROKEE SMALL LETTER SU ++ /xea/xae/xa2 CHEROKEE SMALL LETTER SV ++ /xea/xae/xa3 CHEROKEE SMALL LETTER DA ++ /xea/xae/xa4 CHEROKEE SMALL LETTER TA ++ /xea/xae/xa5 CHEROKEE SMALL LETTER DE ++ /xea/xae/xa6 CHEROKEE SMALL LETTER TE ++ /xea/xae/xa7 CHEROKEE SMALL LETTER DI ++ /xea/xae/xa8 CHEROKEE SMALL LETTER TI ++ /xea/xae/xa9 CHEROKEE SMALL LETTER DO ++ /xea/xae/xaa CHEROKEE SMALL LETTER DU ++ /xea/xae/xab CHEROKEE SMALL LETTER DV ++ /xea/xae/xac CHEROKEE SMALL LETTER DLA ++ /xea/xae/xad CHEROKEE SMALL LETTER TLA ++ /xea/xae/xae CHEROKEE SMALL LETTER TLE ++ /xea/xae/xaf CHEROKEE SMALL LETTER TLI ++ /xea/xae/xb0 CHEROKEE SMALL LETTER TLO ++ /xea/xae/xb1 CHEROKEE SMALL LETTER TLU ++ /xea/xae/xb2 CHEROKEE SMALL LETTER TLV ++ /xea/xae/xb3 CHEROKEE SMALL LETTER TSA ++ /xea/xae/xb4 CHEROKEE SMALL LETTER TSE ++ /xea/xae/xb5 CHEROKEE SMALL LETTER TSI ++ /xea/xae/xb6 CHEROKEE SMALL LETTER TSO ++ /xea/xae/xb7 CHEROKEE SMALL LETTER TSU ++ /xea/xae/xb8 CHEROKEE SMALL LETTER TSV ++ /xea/xae/xb9 CHEROKEE SMALL LETTER WA ++ /xea/xae/xba CHEROKEE SMALL LETTER WE ++ /xea/xae/xbb CHEROKEE SMALL LETTER WI ++ /xea/xae/xbc CHEROKEE SMALL LETTER WO ++ /xea/xae/xbd CHEROKEE SMALL LETTER WU ++ /xea/xae/xbe CHEROKEE SMALL LETTER WV ++ /xea/xae/xbf CHEROKEE SMALL LETTER YA + /xea/xaf/x80 MEETEI MAYEK LETTER KOK + /xea/xaf/x81 MEETEI MAYEK LETTER SAM + /xea/xaf/x82 MEETEI MAYEK LETTER LAI +@@ -27648,6 +27762,8 @@ CHARMAP + /xef/xb8/xab COMBINING MACRON LEFT HALF BELOW + /xef/xb8/xac COMBINING MACRON RIGHT HALF BELOW + /xef/xb8/xad COMBINING CONJOINING MACRON BELOW ++ /xef/xb8/xae COMBINING CYRILLIC TITLO LEFT HALF ++ /xef/xb8/xaf COMBINING CYRILLIC TITLO RIGHT HALF + /xef/xb8/xb0 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER + /xef/xb8/xb1 PRESENTATION FORM FOR VERTICAL EM DASH + /xef/xb8/xb2 PRESENTATION FORM FOR VERTICAL EN DASH +@@ -29534,6 +29650,32 @@ CHARMAP + /xf0/x90/xa2/xad NABATAEAN NUMBER TEN + /xf0/x90/xa2/xae NABATAEAN NUMBER TWENTY + /xf0/x90/xa2/xaf NABATAEAN NUMBER ONE HUNDRED ++ /xf0/x90/xa3/xa0 HATRAN LETTER ALEPH ++ /xf0/x90/xa3/xa1 HATRAN LETTER BETH ++ /xf0/x90/xa3/xa2 HATRAN LETTER GIMEL ++ /xf0/x90/xa3/xa3 HATRAN LETTER DALETH-RESH ++ /xf0/x90/xa3/xa4 HATRAN LETTER HE ++ /xf0/x90/xa3/xa5 HATRAN LETTER WAW ++ /xf0/x90/xa3/xa6 HATRAN LETTER ZAYN ++ /xf0/x90/xa3/xa7 HATRAN LETTER HETH ++ /xf0/x90/xa3/xa8 HATRAN LETTER TETH ++ /xf0/x90/xa3/xa9 HATRAN LETTER YODH ++ /xf0/x90/xa3/xaa HATRAN LETTER KAPH ++ /xf0/x90/xa3/xab HATRAN LETTER LAMEDH ++ /xf0/x90/xa3/xac HATRAN LETTER MEM ++ /xf0/x90/xa3/xad HATRAN LETTER NUN ++ /xf0/x90/xa3/xae HATRAN LETTER SAMEKH ++ /xf0/x90/xa3/xaf HATRAN LETTER AYN ++ /xf0/x90/xa3/xb0 HATRAN LETTER PE ++ /xf0/x90/xa3/xb1 HATRAN LETTER SADHE ++ /xf0/x90/xa3/xb2 HATRAN LETTER QOPH ++ /xf0/x90/xa3/xb4 HATRAN LETTER SHIN ++ /xf0/x90/xa3/xb5 HATRAN LETTER TAW ++ /xf0/x90/xa3/xbb HATRAN NUMBER ONE ++ /xf0/x90/xa3/xbc HATRAN NUMBER FIVE ++ /xf0/x90/xa3/xbd HATRAN NUMBER TEN ++ /xf0/x90/xa3/xbe HATRAN NUMBER TWENTY ++ /xf0/x90/xa3/xbf HATRAN NUMBER ONE HUNDRED + /xf0/x90/xa4/x80 PHOENICIAN LETTER ALF + /xf0/x90/xa4/x81 PHOENICIAN LETTER BET + /xf0/x90/xa4/x82 PHOENICIAN LETTER GAML +@@ -29646,8 +29788,72 @@ CHARMAP + /xf0/x90/xa6/xb5 MEROITIC CURSIVE LETTER TE + /xf0/x90/xa6/xb6 MEROITIC CURSIVE LETTER TO + /xf0/x90/xa6/xb7 MEROITIC CURSIVE LETTER DA ++ /xf0/x90/xa6/xbc MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS ++ /xf0/x90/xa6/xbd MEROITIC CURSIVE FRACTION ONE HALF + /xf0/x90/xa6/xbe MEROITIC CURSIVE LOGOGRAM RMT + /xf0/x90/xa6/xbf MEROITIC CURSIVE LOGOGRAM IMN ++ /xf0/x90/xa7/x80 MEROITIC CURSIVE NUMBER ONE ++ /xf0/x90/xa7/x81 MEROITIC CURSIVE NUMBER TWO ++ /xf0/x90/xa7/x82 MEROITIC CURSIVE NUMBER THREE ++ /xf0/x90/xa7/x83 MEROITIC CURSIVE NUMBER FOUR ++ /xf0/x90/xa7/x84 MEROITIC CURSIVE NUMBER FIVE ++ /xf0/x90/xa7/x85 MEROITIC CURSIVE NUMBER SIX ++ /xf0/x90/xa7/x86 MEROITIC CURSIVE NUMBER SEVEN ++ /xf0/x90/xa7/x87 MEROITIC CURSIVE NUMBER EIGHT ++ /xf0/x90/xa7/x88 MEROITIC CURSIVE NUMBER NINE ++ /xf0/x90/xa7/x89 MEROITIC CURSIVE NUMBER TEN ++ /xf0/x90/xa7/x8a MEROITIC CURSIVE NUMBER TWENTY ++ /xf0/x90/xa7/x8b MEROITIC CURSIVE NUMBER THIRTY ++ /xf0/x90/xa7/x8c MEROITIC CURSIVE NUMBER FORTY ++ /xf0/x90/xa7/x8d MEROITIC CURSIVE NUMBER FIFTY ++ /xf0/x90/xa7/x8e MEROITIC CURSIVE NUMBER SIXTY ++ /xf0/x90/xa7/x8f MEROITIC CURSIVE NUMBER SEVENTY ++ /xf0/x90/xa7/x92 MEROITIC CURSIVE NUMBER ONE HUNDRED ++ /xf0/x90/xa7/x93 MEROITIC CURSIVE NUMBER TWO HUNDRED ++ /xf0/x90/xa7/x94 MEROITIC CURSIVE NUMBER THREE HUNDRED ++ /xf0/x90/xa7/x95 MEROITIC CURSIVE NUMBER FOUR HUNDRED ++ /xf0/x90/xa7/x96 MEROITIC CURSIVE NUMBER FIVE HUNDRED ++ /xf0/x90/xa7/x97 MEROITIC CURSIVE NUMBER SIX HUNDRED ++ /xf0/x90/xa7/x98 MEROITIC CURSIVE NUMBER SEVEN HUNDRED ++ /xf0/x90/xa7/x99 MEROITIC CURSIVE NUMBER EIGHT HUNDRED ++ /xf0/x90/xa7/x9a MEROITIC CURSIVE NUMBER NINE HUNDRED ++ /xf0/x90/xa7/x9b MEROITIC CURSIVE NUMBER ONE THOUSAND ++ /xf0/x90/xa7/x9c MEROITIC CURSIVE NUMBER TWO THOUSAND ++ /xf0/x90/xa7/x9d MEROITIC CURSIVE NUMBER THREE THOUSAND ++ /xf0/x90/xa7/x9e MEROITIC CURSIVE NUMBER FOUR THOUSAND ++ /xf0/x90/xa7/x9f MEROITIC CURSIVE NUMBER FIVE THOUSAND ++ /xf0/x90/xa7/xa0 MEROITIC CURSIVE NUMBER SIX THOUSAND ++ /xf0/x90/xa7/xa1 MEROITIC CURSIVE NUMBER SEVEN THOUSAND ++ /xf0/x90/xa7/xa2 MEROITIC CURSIVE NUMBER EIGHT THOUSAND ++ /xf0/x90/xa7/xa3 MEROITIC CURSIVE NUMBER NINE THOUSAND ++ /xf0/x90/xa7/xa4 MEROITIC CURSIVE NUMBER TEN THOUSAND ++ /xf0/x90/xa7/xa5 MEROITIC CURSIVE NUMBER TWENTY THOUSAND ++ /xf0/x90/xa7/xa6 MEROITIC CURSIVE NUMBER THIRTY THOUSAND ++ /xf0/x90/xa7/xa7 MEROITIC CURSIVE NUMBER FORTY THOUSAND ++ /xf0/x90/xa7/xa8 MEROITIC CURSIVE NUMBER FIFTY THOUSAND ++ /xf0/x90/xa7/xa9 MEROITIC CURSIVE NUMBER SIXTY THOUSAND ++ /xf0/x90/xa7/xaa MEROITIC CURSIVE NUMBER SEVENTY THOUSAND ++ /xf0/x90/xa7/xab MEROITIC CURSIVE NUMBER EIGHTY THOUSAND ++ /xf0/x90/xa7/xac MEROITIC CURSIVE NUMBER NINETY THOUSAND ++ /xf0/x90/xa7/xad MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND ++ /xf0/x90/xa7/xae MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND ++ /xf0/x90/xa7/xaf MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND ++ /xf0/x90/xa7/xb0 MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND ++ /xf0/x90/xa7/xb1 MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND ++ /xf0/x90/xa7/xb2 MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND ++ /xf0/x90/xa7/xb3 MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND ++ /xf0/x90/xa7/xb4 MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND ++ /xf0/x90/xa7/xb5 MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND ++ /xf0/x90/xa7/xb6 MEROITIC CURSIVE FRACTION ONE TWELFTH ++ /xf0/x90/xa7/xb7 MEROITIC CURSIVE FRACTION TWO TWELFTHS ++ /xf0/x90/xa7/xb8 MEROITIC CURSIVE FRACTION THREE TWELFTHS ++ /xf0/x90/xa7/xb9 MEROITIC CURSIVE FRACTION FOUR TWELFTHS ++ /xf0/x90/xa7/xba MEROITIC CURSIVE FRACTION FIVE TWELFTHS ++ /xf0/x90/xa7/xbb MEROITIC CURSIVE FRACTION SIX TWELFTHS ++ /xf0/x90/xa7/xbc MEROITIC CURSIVE FRACTION SEVEN TWELFTHS ++ /xf0/x90/xa7/xbd MEROITIC CURSIVE FRACTION EIGHT TWELFTHS ++ /xf0/x90/xa7/xbe MEROITIC CURSIVE FRACTION NINE TWELFTHS ++ /xf0/x90/xa7/xbf MEROITIC CURSIVE FRACTION TEN TWELFTHS + /xf0/x90/xa8/x80 KHAROSHTHI LETTER A + /xf0/x90/xa8/x81 KHAROSHTHI VOWEL SIGN I + /xf0/x90/xa8/x82 KHAROSHTHI VOWEL SIGN U +@@ -30048,6 +30254,114 @@ CHARMAP + /xf0/x90/xb1/x86 OLD TURKIC LETTER YENISEI AET + /xf0/x90/xb1/x87 OLD TURKIC LETTER ORKHON OT + /xf0/x90/xb1/x88 OLD TURKIC LETTER ORKHON BASH ++ /xf0/x90/xb2/x80 OLD HUNGARIAN CAPITAL LETTER A ++ /xf0/x90/xb2/x81 OLD HUNGARIAN CAPITAL LETTER AA ++ /xf0/x90/xb2/x82 OLD HUNGARIAN CAPITAL LETTER EB ++ /xf0/x90/xb2/x83 OLD HUNGARIAN CAPITAL LETTER AMB ++ /xf0/x90/xb2/x84 OLD HUNGARIAN CAPITAL LETTER EC ++ /xf0/x90/xb2/x85 OLD HUNGARIAN CAPITAL LETTER ENC ++ /xf0/x90/xb2/x86 OLD HUNGARIAN CAPITAL LETTER ECS ++ /xf0/x90/xb2/x87 OLD HUNGARIAN CAPITAL LETTER ED ++ /xf0/x90/xb2/x88 OLD HUNGARIAN CAPITAL LETTER AND ++ /xf0/x90/xb2/x89 OLD HUNGARIAN CAPITAL LETTER E ++ /xf0/x90/xb2/x8a OLD HUNGARIAN CAPITAL LETTER CLOSE E ++ /xf0/x90/xb2/x8b OLD HUNGARIAN CAPITAL LETTER EE ++ /xf0/x90/xb2/x8c OLD HUNGARIAN CAPITAL LETTER EF ++ /xf0/x90/xb2/x8d OLD HUNGARIAN CAPITAL LETTER EG ++ /xf0/x90/xb2/x8e OLD HUNGARIAN CAPITAL LETTER EGY ++ /xf0/x90/xb2/x8f OLD HUNGARIAN CAPITAL LETTER EH ++ /xf0/x90/xb2/x90 OLD HUNGARIAN CAPITAL LETTER I ++ /xf0/x90/xb2/x91 OLD HUNGARIAN CAPITAL LETTER II ++ /xf0/x90/xb2/x92 OLD HUNGARIAN CAPITAL LETTER EJ ++ /xf0/x90/xb2/x93 OLD HUNGARIAN CAPITAL LETTER EK ++ /xf0/x90/xb2/x94 OLD HUNGARIAN CAPITAL LETTER AK ++ /xf0/x90/xb2/x95 OLD HUNGARIAN CAPITAL LETTER UNK ++ /xf0/x90/xb2/x96 OLD HUNGARIAN CAPITAL LETTER EL ++ /xf0/x90/xb2/x97 OLD HUNGARIAN CAPITAL LETTER ELY ++ /xf0/x90/xb2/x98 OLD HUNGARIAN CAPITAL LETTER EM ++ /xf0/x90/xb2/x99 OLD HUNGARIAN CAPITAL LETTER EN ++ /xf0/x90/xb2/x9a OLD HUNGARIAN CAPITAL LETTER ENY ++ /xf0/x90/xb2/x9b OLD HUNGARIAN CAPITAL LETTER O ++ /xf0/x90/xb2/x9c OLD HUNGARIAN CAPITAL LETTER OO ++ /xf0/x90/xb2/x9d OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE ++ /xf0/x90/xb2/x9e OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE ++ /xf0/x90/xb2/x9f OLD HUNGARIAN CAPITAL LETTER OEE ++ /xf0/x90/xb2/xa0 OLD HUNGARIAN CAPITAL LETTER EP ++ /xf0/x90/xb2/xa1 OLD HUNGARIAN CAPITAL LETTER EMP ++ /xf0/x90/xb2/xa2 OLD HUNGARIAN CAPITAL LETTER ER ++ /xf0/x90/xb2/xa3 OLD HUNGARIAN CAPITAL LETTER SHORT ER ++ /xf0/x90/xb2/xa4 OLD HUNGARIAN CAPITAL LETTER ES ++ /xf0/x90/xb2/xa5 OLD HUNGARIAN CAPITAL LETTER ESZ ++ /xf0/x90/xb2/xa6 OLD HUNGARIAN CAPITAL LETTER ET ++ /xf0/x90/xb2/xa7 OLD HUNGARIAN CAPITAL LETTER ENT ++ /xf0/x90/xb2/xa8 OLD HUNGARIAN CAPITAL LETTER ETY ++ /xf0/x90/xb2/xa9 OLD HUNGARIAN CAPITAL LETTER ECH ++ /xf0/x90/xb2/xaa OLD HUNGARIAN CAPITAL LETTER U ++ /xf0/x90/xb2/xab OLD HUNGARIAN CAPITAL LETTER UU ++ /xf0/x90/xb2/xac OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE ++ /xf0/x90/xb2/xad OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE ++ /xf0/x90/xb2/xae OLD HUNGARIAN CAPITAL LETTER EV ++ /xf0/x90/xb2/xaf OLD HUNGARIAN CAPITAL LETTER EZ ++ /xf0/x90/xb2/xb0 OLD HUNGARIAN CAPITAL LETTER EZS ++ /xf0/x90/xb2/xb1 OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN ++ /xf0/x90/xb2/xb2 OLD HUNGARIAN CAPITAL LETTER US ++ /xf0/x90/xb3/x80 OLD HUNGARIAN SMALL LETTER A ++ /xf0/x90/xb3/x81 OLD HUNGARIAN SMALL LETTER AA ++ /xf0/x90/xb3/x82 OLD HUNGARIAN SMALL LETTER EB ++ /xf0/x90/xb3/x83 OLD HUNGARIAN SMALL LETTER AMB ++ /xf0/x90/xb3/x84 OLD HUNGARIAN SMALL LETTER EC ++ /xf0/x90/xb3/x85 OLD HUNGARIAN SMALL LETTER ENC ++ /xf0/x90/xb3/x86 OLD HUNGARIAN SMALL LETTER ECS ++ /xf0/x90/xb3/x87 OLD HUNGARIAN SMALL LETTER ED ++ /xf0/x90/xb3/x88 OLD HUNGARIAN SMALL LETTER AND ++ /xf0/x90/xb3/x89 OLD HUNGARIAN SMALL LETTER E ++ /xf0/x90/xb3/x8a OLD HUNGARIAN SMALL LETTER CLOSE E ++ /xf0/x90/xb3/x8b OLD HUNGARIAN SMALL LETTER EE ++ /xf0/x90/xb3/x8c OLD HUNGARIAN SMALL LETTER EF ++ /xf0/x90/xb3/x8d OLD HUNGARIAN SMALL LETTER EG ++ /xf0/x90/xb3/x8e OLD HUNGARIAN SMALL LETTER EGY ++ /xf0/x90/xb3/x8f OLD HUNGARIAN SMALL LETTER EH ++ /xf0/x90/xb3/x90 OLD HUNGARIAN SMALL LETTER I ++ /xf0/x90/xb3/x91 OLD HUNGARIAN SMALL LETTER II ++ /xf0/x90/xb3/x92 OLD HUNGARIAN SMALL LETTER EJ ++ /xf0/x90/xb3/x93 OLD HUNGARIAN SMALL LETTER EK ++ /xf0/x90/xb3/x94 OLD HUNGARIAN SMALL LETTER AK ++ /xf0/x90/xb3/x95 OLD HUNGARIAN SMALL LETTER UNK ++ /xf0/x90/xb3/x96 OLD HUNGARIAN SMALL LETTER EL ++ /xf0/x90/xb3/x97 OLD HUNGARIAN SMALL LETTER ELY ++ /xf0/x90/xb3/x98 OLD HUNGARIAN SMALL LETTER EM ++ /xf0/x90/xb3/x99 OLD HUNGARIAN SMALL LETTER EN ++ /xf0/x90/xb3/x9a OLD HUNGARIAN SMALL LETTER ENY ++ /xf0/x90/xb3/x9b OLD HUNGARIAN SMALL LETTER O ++ /xf0/x90/xb3/x9c OLD HUNGARIAN SMALL LETTER OO ++ /xf0/x90/xb3/x9d OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE ++ /xf0/x90/xb3/x9e OLD HUNGARIAN SMALL LETTER RUDIMENTA OE ++ /xf0/x90/xb3/x9f OLD HUNGARIAN SMALL LETTER OEE ++ /xf0/x90/xb3/xa0 OLD HUNGARIAN SMALL LETTER EP ++ /xf0/x90/xb3/xa1 OLD HUNGARIAN SMALL LETTER EMP ++ /xf0/x90/xb3/xa2 OLD HUNGARIAN SMALL LETTER ER ++ /xf0/x90/xb3/xa3 OLD HUNGARIAN SMALL LETTER SHORT ER ++ /xf0/x90/xb3/xa4 OLD HUNGARIAN SMALL LETTER ES ++ /xf0/x90/xb3/xa5 OLD HUNGARIAN SMALL LETTER ESZ ++ /xf0/x90/xb3/xa6 OLD HUNGARIAN SMALL LETTER ET ++ /xf0/x90/xb3/xa7 OLD HUNGARIAN SMALL LETTER ENT ++ /xf0/x90/xb3/xa8 OLD HUNGARIAN SMALL LETTER ETY ++ /xf0/x90/xb3/xa9 OLD HUNGARIAN SMALL LETTER ECH ++ /xf0/x90/xb3/xaa OLD HUNGARIAN SMALL LETTER U ++ /xf0/x90/xb3/xab OLD HUNGARIAN SMALL LETTER UU ++ /xf0/x90/xb3/xac OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE ++ /xf0/x90/xb3/xad OLD HUNGARIAN SMALL LETTER RUDIMENTA UE ++ /xf0/x90/xb3/xae OLD HUNGARIAN SMALL LETTER EV ++ /xf0/x90/xb3/xaf OLD HUNGARIAN SMALL LETTER EZ ++ /xf0/x90/xb3/xb0 OLD HUNGARIAN SMALL LETTER EZS ++ /xf0/x90/xb3/xb1 OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN ++ /xf0/x90/xb3/xb2 OLD HUNGARIAN SMALL LETTER US ++ /xf0/x90/xb3/xba OLD HUNGARIAN NUMBER ONE ++ /xf0/x90/xb3/xbb OLD HUNGARIAN NUMBER FIVE ++ /xf0/x90/xb3/xbc OLD HUNGARIAN NUMBER TEN ++ /xf0/x90/xb3/xbd OLD HUNGARIAN NUMBER FIFTY ++ /xf0/x90/xb3/xbe OLD HUNGARIAN NUMBER ONE HUNDRED ++ /xf0/x90/xb3/xbf OLD HUNGARIAN NUMBER ONE THOUSAND + /xf0/x90/xb9/xa0 RUMI DIGIT ONE + /xf0/x90/xb9/xa1 RUMI DIGIT TWO + /xf0/x90/xb9/xa2 RUMI DIGIT THREE +@@ -30468,6 +30782,10 @@ CHARMAP + /xf0/x91/x87/x86 SHARADA DOUBLE DANDA + /xf0/x91/x87/x87 SHARADA ABBREVIATION SIGN + /xf0/x91/x87/x88 SHARADA SEPARATOR ++ /xf0/x91/x87/x89 SHARADA SANDHI MARK ++ /xf0/x91/x87/x8a SHARADA SIGN NUKTA ++ /xf0/x91/x87/x8b SHARADA VOWEL MODIFIER MARK ++ /xf0/x91/x87/x8c SHARADA EXTRA SHORT VOWEL MARK + /xf0/x91/x87/x8d SHARADA SUTRA MARK + /xf0/x91/x87/x90 SHARADA DIGIT ZERO + /xf0/x91/x87/x91 SHARADA DIGIT ONE +@@ -30480,6 +30798,11 @@ CHARMAP + /xf0/x91/x87/x98 SHARADA DIGIT EIGHT + /xf0/x91/x87/x99 SHARADA DIGIT NINE + /xf0/x91/x87/x9a SHARADA EKAM ++ /xf0/x91/x87/x9b SHARADA SIGN SIDDHAM ++ /xf0/x91/x87/x9c SHARADA HEADSTROKE ++ /xf0/x91/x87/x9d SHARADA CONTINUATION SIGN ++ /xf0/x91/x87/x9e SHARADA SECTION MARK-1 ++ /xf0/x91/x87/x9f SHARADA SECTION MARK-2 + /xf0/x91/x87/xa1 SINHALA ARCHAIC DIGIT ONE + /xf0/x91/x87/xa2 SINHALA ARCHAIC DIGIT TWO + /xf0/x91/x87/xa3 SINHALA ARCHAIC DIGIT THREE +@@ -30561,6 +30884,44 @@ CHARMAP + /xf0/x91/x88/xbb KHOJKI SECTION MARK + /xf0/x91/x88/xbc KHOJKI DOUBLE SECTION MARK + /xf0/x91/x88/xbd KHOJKI ABBREVIATION SIGN ++ /xf0/x91/x8a/x80 MULTANI LETTER A ++ /xf0/x91/x8a/x81 MULTANI LETTER I ++ /xf0/x91/x8a/x82 MULTANI LETTER U ++ /xf0/x91/x8a/x83 MULTANI LETTER E ++ /xf0/x91/x8a/x84 MULTANI LETTER KA ++ /xf0/x91/x8a/x85 MULTANI LETTER KHA ++ /xf0/x91/x8a/x86 MULTANI LETTER GA ++ /xf0/x91/x8a/x88 MULTANI LETTER GHA ++ /xf0/x91/x8a/x8a MULTANI LETTER CA ++ /xf0/x91/x8a/x8b MULTANI LETTER CHA ++ /xf0/x91/x8a/x8c MULTANI LETTER JA ++ /xf0/x91/x8a/x8d MULTANI LETTER JJA ++ /xf0/x91/x8a/x8f MULTANI LETTER NYA ++ /xf0/x91/x8a/x90 MULTANI LETTER TTA ++ /xf0/x91/x8a/x91 MULTANI LETTER TTHA ++ /xf0/x91/x8a/x92 MULTANI LETTER DDA ++ /xf0/x91/x8a/x93 MULTANI LETTER DDDA ++ /xf0/x91/x8a/x94 MULTANI LETTER DDHA ++ /xf0/x91/x8a/x95 MULTANI LETTER NNA ++ /xf0/x91/x8a/x96 MULTANI LETTER TA ++ /xf0/x91/x8a/x97 MULTANI LETTER THA ++ /xf0/x91/x8a/x98 MULTANI LETTER DA ++ /xf0/x91/x8a/x99 MULTANI LETTER DHA ++ /xf0/x91/x8a/x9a MULTANI LETTER NA ++ /xf0/x91/x8a/x9b MULTANI LETTER PA ++ /xf0/x91/x8a/x9c MULTANI LETTER PHA ++ /xf0/x91/x8a/x9d MULTANI LETTER BA ++ /xf0/x91/x8a/x9f MULTANI LETTER BHA ++ /xf0/x91/x8a/xa0 MULTANI LETTER MA ++ /xf0/x91/x8a/xa1 MULTANI LETTER YA ++ /xf0/x91/x8a/xa2 MULTANI LETTER RA ++ /xf0/x91/x8a/xa3 MULTANI LETTER LA ++ /xf0/x91/x8a/xa4 MULTANI LETTER VA ++ /xf0/x91/x8a/xa5 MULTANI LETTER SA ++ /xf0/x91/x8a/xa6 MULTANI LETTER HA ++ /xf0/x91/x8a/xa7 MULTANI LETTER RRA ++ /xf0/x91/x8a/xa8 MULTANI LETTER RHA ++ /xf0/x91/x8a/xa9 MULTANI SECTION MARK + /xf0/x91/x8a/xb0 KHUDAWADI LETTER A + /xf0/x91/x8a/xb1 KHUDAWADI LETTER AA + /xf0/x91/x8a/xb2 KHUDAWADI LETTER I +@@ -30630,6 +30991,7 @@ CHARMAP + /xf0/x91/x8b/xb7 KHUDAWADI DIGIT SEVEN + /xf0/x91/x8b/xb8 KHUDAWADI DIGIT EIGHT + /xf0/x91/x8b/xb9 KHUDAWADI DIGIT NINE ++ /xf0/x91/x8c/x80 GRANTHA SIGN COMBINING ANUSVARA ABOVE + /xf0/x91/x8c/x81 GRANTHA SIGN CANDRABINDU + /xf0/x91/x8c/x82 GRANTHA SIGN ANUSVARA + /xf0/x91/x8c/x83 GRANTHA SIGN VISARGA +@@ -30693,6 +31055,7 @@ CHARMAP + /xf0/x91/x8d/x8b GRANTHA VOWEL SIGN OO + /xf0/x91/x8d/x8c GRANTHA VOWEL SIGN AU + /xf0/x91/x8d/x8d GRANTHA SIGN VIRAMA ++ /xf0/x91/x8d/x90 GRANTHA OM + /xf0/x91/x8d/x97 GRANTHA AU LENGTH MARK + /xf0/x91/x8d/x9d GRANTHA SIGN PLUTA + /xf0/x91/x8d/x9e GRANTHA LETTER VEDIC ANUSVARA +@@ -30867,6 +31230,26 @@ CHARMAP + /xf0/x91/x97/x87 SIDDHAM REPETITION MARK-2 + /xf0/x91/x97/x88 SIDDHAM REPETITION MARK-3 + /xf0/x91/x97/x89 SIDDHAM END OF TEXT MARK ++ /xf0/x91/x97/x8a SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS ++ /xf0/x91/x97/x8b SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS ++ /xf0/x91/x97/x8c SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS ++ /xf0/x91/x97/x8d SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS ++ /xf0/x91/x97/x8e SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS ++ /xf0/x91/x97/x8f SIDDHAM SECTION MARK DOUBLE RING ++ /xf0/x91/x97/x90 SIDDHAM SECTION MARK DOUBLE RING WITH RAYS ++ /xf0/x91/x97/x91 SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS ++ /xf0/x91/x97/x92 SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS ++ /xf0/x91/x97/x93 SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS ++ /xf0/x91/x97/x94 SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS ++ /xf0/x91/x97/x95 SIDDHAM SECTION MARK WITH CIRCLES AND RAYS ++ /xf0/x91/x97/x96 SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES ++ /xf0/x91/x97/x97 SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES ++ /xf0/x91/x97/x98 SIDDHAM LETTER THREE-CIRCLE ALTERNATE I ++ /xf0/x91/x97/x99 SIDDHAM LETTER TWO-CIRCLE ALTERNATE I ++ /xf0/x91/x97/x9a SIDDHAM LETTER TWO-CIRCLE ALTERNATE II ++ /xf0/x91/x97/x9b SIDDHAM LETTER ALTERNATE U ++ /xf0/x91/x97/x9c SIDDHAM VOWEL SIGN ALTERNATE U ++ /xf0/x91/x97/x9d SIDDHAM VOWEL SIGN ALTERNATE UU + /xf0/x91/x98/x80 MODI LETTER A + /xf0/x91/x98/x81 MODI LETTER AA + /xf0/x91/x98/x82 MODI LETTER I +@@ -31012,6 +31395,63 @@ CHARMAP + /xf0/x91/x9b/x87 TAKRI DIGIT SEVEN + /xf0/x91/x9b/x88 TAKRI DIGIT EIGHT + /xf0/x91/x9b/x89 TAKRI DIGIT NINE ++ /xf0/x91/x9c/x80 AHOM LETTER KA ++ /xf0/x91/x9c/x81 AHOM LETTER KHA ++ /xf0/x91/x9c/x82 AHOM LETTER NGA ++ /xf0/x91/x9c/x83 AHOM LETTER NA ++ /xf0/x91/x9c/x84 AHOM LETTER TA ++ /xf0/x91/x9c/x85 AHOM LETTER ALTERNATE TA ++ /xf0/x91/x9c/x86 AHOM LETTER PA ++ /xf0/x91/x9c/x87 AHOM LETTER PHA ++ /xf0/x91/x9c/x88 AHOM LETTER BA ++ /xf0/x91/x9c/x89 AHOM LETTER MA ++ /xf0/x91/x9c/x8a AHOM LETTER JA ++ /xf0/x91/x9c/x8b AHOM LETTER CHA ++ /xf0/x91/x9c/x8c AHOM LETTER THA ++ /xf0/x91/x9c/x8d AHOM LETTER RA ++ /xf0/x91/x9c/x8e AHOM LETTER LA ++ /xf0/x91/x9c/x8f AHOM LETTER SA ++ /xf0/x91/x9c/x90 AHOM LETTER NYA ++ /xf0/x91/x9c/x91 AHOM LETTER HA ++ /xf0/x91/x9c/x92 AHOM LETTER A ++ /xf0/x91/x9c/x93 AHOM LETTER DA ++ /xf0/x91/x9c/x94 AHOM LETTER DHA ++ /xf0/x91/x9c/x95 AHOM LETTER GA ++ /xf0/x91/x9c/x96 AHOM LETTER ALTERNATE GA ++ /xf0/x91/x9c/x97 AHOM LETTER GHA ++ /xf0/x91/x9c/x98 AHOM LETTER BHA ++ /xf0/x91/x9c/x99 AHOM LETTER JHA ++ /xf0/x91/x9c/x9d AHOM CONSONANT SIGN MEDIAL LA ++ /xf0/x91/x9c/x9e AHOM CONSONANT SIGN MEDIAL RA ++ /xf0/x91/x9c/x9f AHOM CONSONANT SIGN MEDIAL LIGATING RA ++ /xf0/x91/x9c/xa0 AHOM VOWEL SIGN A ++ /xf0/x91/x9c/xa1 AHOM VOWEL SIGN AA ++ /xf0/x91/x9c/xa2 AHOM VOWEL SIGN I ++ /xf0/x91/x9c/xa3 AHOM VOWEL SIGN II ++ /xf0/x91/x9c/xa4 AHOM VOWEL SIGN U ++ /xf0/x91/x9c/xa5 AHOM VOWEL SIGN UU ++ /xf0/x91/x9c/xa6 AHOM VOWEL SIGN E ++ /xf0/x91/x9c/xa7 AHOM VOWEL SIGN AW ++ /xf0/x91/x9c/xa8 AHOM VOWEL SIGN O ++ /xf0/x91/x9c/xa9 AHOM VOWEL SIGN AI ++ /xf0/x91/x9c/xaa AHOM VOWEL SIGN AM ++ /xf0/x91/x9c/xab AHOM SIGN KILLER ++ /xf0/x91/x9c/xb0 AHOM DIGIT ZERO ++ /xf0/x91/x9c/xb1 AHOM DIGIT ONE ++ /xf0/x91/x9c/xb2 AHOM DIGIT TWO ++ /xf0/x91/x9c/xb3 AHOM DIGIT THREE ++ /xf0/x91/x9c/xb4 AHOM DIGIT FOUR ++ /xf0/x91/x9c/xb5 AHOM DIGIT FIVE ++ /xf0/x91/x9c/xb6 AHOM DIGIT SIX ++ /xf0/x91/x9c/xb7 AHOM DIGIT SEVEN ++ /xf0/x91/x9c/xb8 AHOM DIGIT EIGHT ++ /xf0/x91/x9c/xb9 AHOM DIGIT NINE ++ /xf0/x91/x9c/xba AHOM NUMBER TEN ++ /xf0/x91/x9c/xbb AHOM NUMBER TWENTY ++ /xf0/x91/x9c/xbc AHOM SIGN SMALL SECTION ++ /xf0/x91/x9c/xbd AHOM SIGN SECTION ++ /xf0/x91/x9c/xbe AHOM SIGN RULAI ++ /xf0/x91/x9c/xbf AHOM SYMBOL VI + /xf0/x91/xa2/xa0 WARANG CITI CAPITAL LETTER NGAA + /xf0/x91/xa2/xa1 WARANG CITI CAPITAL LETTER A + /xf0/x91/xa2/xa2 WARANG CITI CAPITAL LETTER WI +@@ -32074,6 +32514,7 @@ CHARMAP + /xf0/x92/x8e/x96 CUNEIFORM SIGN SAG TIMES IGI GUNU + /xf0/x92/x8e/x97 CUNEIFORM SIGN TI2 + /xf0/x92/x8e/x98 CUNEIFORM SIGN UM TIMES ME ++ /xf0/x92/x8e/x99 CUNEIFORM SIGN U U + /xf0/x92/x90/x80 CUNEIFORM NUMERIC SIGN TWO ASH + /xf0/x92/x90/x81 CUNEIFORM NUMERIC SIGN THREE ASH + /xf0/x92/x90/x82 CUNEIFORM NUMERIC SIGN FOUR ASH +@@ -32190,6 +32631,202 @@ CHARMAP + /xf0/x92/x91/xb2 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON + /xf0/x92/x91/xb3 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON + /xf0/x92/x91/xb4 CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON ++ /xf0/x92/x92/x80 CUNEIFORM SIGN AB TIMES NUN TENU ++ /xf0/x92/x92/x81 CUNEIFORM SIGN AB TIMES SHU2 ++ /xf0/x92/x92/x82 CUNEIFORM SIGN AD TIMES ESH2 ++ /xf0/x92/x92/x83 CUNEIFORM SIGN BAD TIMES DISH TENU ++ /xf0/x92/x92/x84 CUNEIFORM SIGN BAHAR2 TIMES AB2 ++ /xf0/x92/x92/x85 CUNEIFORM SIGN BAHAR2 TIMES NI ++ /xf0/x92/x92/x86 CUNEIFORM SIGN BAHAR2 TIMES ZA ++ /xf0/x92/x92/x87 CUNEIFORM SIGN BU OVER BU TIMES NA2 ++ /xf0/x92/x92/x88 CUNEIFORM SIGN DA TIMES TAK4 ++ /xf0/x92/x92/x89 CUNEIFORM SIGN DAG TIMES KUR ++ /xf0/x92/x92/x8a CUNEIFORM SIGN DIM TIMES IGI ++ /xf0/x92/x92/x8b CUNEIFORM SIGN DIM TIMES U U U ++ /xf0/x92/x92/x8c CUNEIFORM SIGN DIM2 TIMES UD ++ /xf0/x92/x92/x8d CUNEIFORM SIGN DUG TIMES ANSHE ++ /xf0/x92/x92/x8e CUNEIFORM SIGN DUG TIMES ASH ++ /xf0/x92/x92/x8f CUNEIFORM SIGN DUG TIMES ASH AT LEFT ++ /xf0/x92/x92/x90 CUNEIFORM SIGN DUG TIMES DIN ++ /xf0/x92/x92/x91 CUNEIFORM SIGN DUG TIMES DUN ++ /xf0/x92/x92/x92 CUNEIFORM SIGN DUG TIMES ERIN2 ++ /xf0/x92/x92/x93 CUNEIFORM SIGN DUG TIMES GA ++ /xf0/x92/x92/x94 CUNEIFORM SIGN DUG TIMES GI ++ /xf0/x92/x92/x95 CUNEIFORM SIGN DUG TIMES GIR2 GUNU ++ /xf0/x92/x92/x96 CUNEIFORM SIGN DUG TIMES GISH ++ /xf0/x92/x92/x97 CUNEIFORM SIGN DUG TIMES HA ++ /xf0/x92/x92/x98 CUNEIFORM SIGN DUG TIMES HI ++ /xf0/x92/x92/x99 CUNEIFORM SIGN DUG TIMES IGI GUNU ++ /xf0/x92/x92/x9a CUNEIFORM SIGN DUG TIMES KASKAL ++ /xf0/x92/x92/x9b CUNEIFORM SIGN DUG TIMES KUR ++ /xf0/x92/x92/x9c CUNEIFORM SIGN DUG TIMES KUSHU2 ++ /xf0/x92/x92/x9d CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL ++ /xf0/x92/x92/x9e CUNEIFORM SIGN DUG TIMES LAK-020 ++ /xf0/x92/x92/x9f CUNEIFORM SIGN DUG TIMES LAM ++ /xf0/x92/x92/xa0 CUNEIFORM SIGN DUG TIMES LAM TIMES KUR ++ /xf0/x92/x92/xa1 CUNEIFORM SIGN DUG TIMES LUH PLUS GISH ++ /xf0/x92/x92/xa2 CUNEIFORM SIGN DUG TIMES MASH ++ /xf0/x92/x92/xa3 CUNEIFORM SIGN DUG TIMES MES ++ /xf0/x92/x92/xa4 CUNEIFORM SIGN DUG TIMES MI ++ /xf0/x92/x92/xa5 CUNEIFORM SIGN DUG TIMES NI ++ /xf0/x92/x92/xa6 CUNEIFORM SIGN DUG TIMES PI ++ /xf0/x92/x92/xa7 CUNEIFORM SIGN DUG TIMES SHE ++ /xf0/x92/x92/xa8 CUNEIFORM SIGN DUG TIMES SI GUNU ++ /xf0/x92/x92/xa9 CUNEIFORM SIGN E2 TIMES KUR ++ /xf0/x92/x92/xaa CUNEIFORM SIGN E2 TIMES PAP ++ /xf0/x92/x92/xab CUNEIFORM SIGN ERIN2 X ++ /xf0/x92/x92/xac CUNEIFORM SIGN ESH2 CROSSING ESH2 ++ /xf0/x92/x92/xad CUNEIFORM SIGN EZEN SHESHIG TIMES ASH ++ /xf0/x92/x92/xae CUNEIFORM SIGN EZEN SHESHIG TIMES HI ++ /xf0/x92/x92/xaf CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU ++ /xf0/x92/x92/xb0 CUNEIFORM SIGN EZEN SHESHIG TIMES LA ++ /xf0/x92/x92/xb1 CUNEIFORM SIGN EZEN SHESHIG TIMES LAL ++ /xf0/x92/x92/xb2 CUNEIFORM SIGN EZEN SHESHIG TIMES ME ++ /xf0/x92/x92/xb3 CUNEIFORM SIGN EZEN SHESHIG TIMES MES ++ /xf0/x92/x92/xb4 CUNEIFORM SIGN EZEN SHESHIG TIMES SU ++ /xf0/x92/x92/xb5 CUNEIFORM SIGN EZEN TIMES SU ++ /xf0/x92/x92/xb6 CUNEIFORM SIGN GA2 TIMES BAHAR2 ++ /xf0/x92/x92/xb7 CUNEIFORM SIGN GA2 TIMES DIM GUNU ++ /xf0/x92/x92/xb8 CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU ++ /xf0/x92/x92/xb9 CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL ++ /xf0/x92/x92/xba CUNEIFORM SIGN GA2 TIMES EREN ++ /xf0/x92/x92/xbb CUNEIFORM SIGN GA2 TIMES GA ++ /xf0/x92/x92/xbc CUNEIFORM SIGN GA2 TIMES GAR PLUS DI ++ /xf0/x92/x92/xbd CUNEIFORM SIGN GA2 TIMES GAR PLUS NE ++ /xf0/x92/x92/xbe CUNEIFORM SIGN GA2 TIMES HA PLUS A ++ /xf0/x92/x92/xbf CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL ++ /xf0/x92/x93/x80 CUNEIFORM SIGN GA2 TIMES LAM ++ /xf0/x92/x93/x81 CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR ++ /xf0/x92/x93/x82 CUNEIFORM SIGN GA2 TIMES LUH ++ /xf0/x92/x93/x83 CUNEIFORM SIGN GA2 TIMES MUSH ++ /xf0/x92/x93/x84 CUNEIFORM SIGN GA2 TIMES NE ++ /xf0/x92/x93/x85 CUNEIFORM SIGN GA2 TIMES NE PLUS E2 ++ /xf0/x92/x93/x86 CUNEIFORM SIGN GA2 TIMES NE PLUS GI ++ /xf0/x92/x93/x87 CUNEIFORM SIGN GA2 TIMES SHIM ++ /xf0/x92/x93/x88 CUNEIFORM SIGN GA2 TIMES ZIZ2 ++ /xf0/x92/x93/x89 CUNEIFORM SIGN GABA ROTATED NINETY DEGREES ++ /xf0/x92/x93/x8a CUNEIFORM SIGN GESHTIN TIMES U ++ /xf0/x92/x93/x8b CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH ++ /xf0/x92/x93/x8c CUNEIFORM SIGN GU2 TIMES IGI GUNU ++ /xf0/x92/x93/x8d CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4 ++ /xf0/x92/x93/x8e CUNEIFORM SIGN HA TENU GUNU ++ /xf0/x92/x93/x8f CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH ++ /xf0/x92/x93/x90 CUNEIFORM SIGN KA TIMES BU ++ /xf0/x92/x93/x91 CUNEIFORM SIGN KA TIMES KA ++ /xf0/x92/x93/x92 CUNEIFORM SIGN KA TIMES U U U ++ /xf0/x92/x93/x93 CUNEIFORM SIGN KA TIMES UR ++ /xf0/x92/x93/x94 CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU ++ /xf0/x92/x93/x95 CUNEIFORM SIGN LAK-003 ++ /xf0/x92/x93/x96 CUNEIFORM SIGN LAK-021 ++ /xf0/x92/x93/x97 CUNEIFORM SIGN LAK-025 ++ /xf0/x92/x93/x98 CUNEIFORM SIGN LAK-030 ++ /xf0/x92/x93/x99 CUNEIFORM SIGN LAK-050 ++ /xf0/x92/x93/x9a CUNEIFORM SIGN LAK-051 ++ /xf0/x92/x93/x9b CUNEIFORM SIGN LAK-062 ++ /xf0/x92/x93/x9c CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU ++ /xf0/x92/x93/x9d CUNEIFORM SIGN LAK-080 ++ /xf0/x92/x93/x9e CUNEIFORM SIGN LAK-081 OVER LAK-081 ++ /xf0/x92/x93/x9f CUNEIFORM SIGN LAK-092 ++ /xf0/x92/x93/xa0 CUNEIFORM SIGN LAK-130 ++ /xf0/x92/x93/xa1 CUNEIFORM SIGN LAK-142 ++ /xf0/x92/x93/xa2 CUNEIFORM SIGN LAK-210 ++ /xf0/x92/x93/xa3 CUNEIFORM SIGN LAK-219 ++ /xf0/x92/x93/xa4 CUNEIFORM SIGN LAK-220 ++ /xf0/x92/x93/xa5 CUNEIFORM SIGN LAK-225 ++ /xf0/x92/x93/xa6 CUNEIFORM SIGN LAK-228 ++ /xf0/x92/x93/xa7 CUNEIFORM SIGN LAK-238 ++ /xf0/x92/x93/xa8 CUNEIFORM SIGN LAK-265 ++ /xf0/x92/x93/xa9 CUNEIFORM SIGN LAK-266 ++ /xf0/x92/x93/xaa CUNEIFORM SIGN LAK-343 ++ /xf0/x92/x93/xab CUNEIFORM SIGN LAK-347 ++ /xf0/x92/x93/xac CUNEIFORM SIGN LAK-348 ++ /xf0/x92/x93/xad CUNEIFORM SIGN LAK-383 ++ /xf0/x92/x93/xae CUNEIFORM SIGN LAK-384 ++ /xf0/x92/x93/xaf CUNEIFORM SIGN LAK-390 ++ /xf0/x92/x93/xb0 CUNEIFORM SIGN LAK-441 ++ /xf0/x92/x93/xb1 CUNEIFORM SIGN LAK-449 ++ /xf0/x92/x93/xb2 CUNEIFORM SIGN LAK-449 TIMES GU ++ /xf0/x92/x93/xb3 CUNEIFORM SIGN LAK-449 TIMES IGI ++ /xf0/x92/x93/xb4 CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3 ++ /xf0/x92/x93/xb5 CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3 ++ /xf0/x92/x93/xb6 CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA ++ /xf0/x92/x93/xb7 CUNEIFORM SIGN LAK-450 ++ /xf0/x92/x93/xb8 CUNEIFORM SIGN LAK-457 ++ /xf0/x92/x93/xb9 CUNEIFORM SIGN LAK-470 ++ /xf0/x92/x93/xba CUNEIFORM SIGN LAK-483 ++ /xf0/x92/x93/xbb CUNEIFORM SIGN LAK-490 ++ /xf0/x92/x93/xbc CUNEIFORM SIGN LAK-492 ++ /xf0/x92/x93/xbd CUNEIFORM SIGN LAK-493 ++ /xf0/x92/x93/xbe CUNEIFORM SIGN LAK-495 ++ /xf0/x92/x93/xbf CUNEIFORM SIGN LAK-550 ++ /xf0/x92/x94/x80 CUNEIFORM SIGN LAK-608 ++ /xf0/x92/x94/x81 CUNEIFORM SIGN LAK-617 ++ /xf0/x92/x94/x82 CUNEIFORM SIGN LAK-617 TIMES ASH ++ /xf0/x92/x94/x83 CUNEIFORM SIGN LAK-617 TIMES BAD ++ /xf0/x92/x94/x84 CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU ++ /xf0/x92/x94/x85 CUNEIFORM SIGN LAK-617 TIMES KU3 ++ /xf0/x92/x94/x86 CUNEIFORM SIGN LAK-617 TIMES LA ++ /xf0/x92/x94/x87 CUNEIFORM SIGN LAK-617 TIMES TAR ++ /xf0/x92/x94/x88 CUNEIFORM SIGN LAK-617 TIMES TE ++ /xf0/x92/x94/x89 CUNEIFORM SIGN LAK-617 TIMES U2 ++ /xf0/x92/x94/x8a CUNEIFORM SIGN LAK-617 TIMES UD ++ /xf0/x92/x94/x8b CUNEIFORM SIGN LAK-617 TIMES URUDA ++ /xf0/x92/x94/x8c CUNEIFORM SIGN LAK-636 ++ /xf0/x92/x94/x8d CUNEIFORM SIGN LAK-648 ++ /xf0/x92/x94/x8e CUNEIFORM SIGN LAK-648 TIMES DUB ++ /xf0/x92/x94/x8f CUNEIFORM SIGN LAK-648 TIMES GA ++ /xf0/x92/x94/x90 CUNEIFORM SIGN LAK-648 TIMES IGI ++ /xf0/x92/x94/x91 CUNEIFORM SIGN LAK-648 TIMES IGI GUNU ++ /xf0/x92/x94/x92 CUNEIFORM SIGN LAK-648 TIMES NI ++ /xf0/x92/x94/x93 CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3 ++ /xf0/x92/x94/x94 CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI ++ /xf0/x92/x94/x95 CUNEIFORM SIGN LAK-648 TIMES UD ++ /xf0/x92/x94/x96 CUNEIFORM SIGN LAK-648 TIMES URUDA ++ /xf0/x92/x94/x97 CUNEIFORM SIGN LAK-724 ++ /xf0/x92/x94/x98 CUNEIFORM SIGN LAK-749 ++ /xf0/x92/x94/x99 CUNEIFORM SIGN LU2 GUNU TIMES ASH ++ /xf0/x92/x94/x9a CUNEIFORM SIGN LU2 TIMES DISH ++ /xf0/x92/x94/x9b CUNEIFORM SIGN LU2 TIMES HAL ++ /xf0/x92/x94/x9c CUNEIFORM SIGN LU2 TIMES PAP ++ /xf0/x92/x94/x9d CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3 ++ /xf0/x92/x94/x9e CUNEIFORM SIGN LU2 TIMES TAK4 ++ /xf0/x92/x94/x9f CUNEIFORM SIGN MI PLUS ZA7 ++ /xf0/x92/x94/xa0 CUNEIFORM SIGN MUSH OVER MUSH TIMES GA ++ /xf0/x92/x94/xa1 CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK ++ /xf0/x92/x94/xa2 CUNEIFORM SIGN NINDA2 TIMES DIM GUNU ++ /xf0/x92/x94/xa3 CUNEIFORM SIGN NINDA2 TIMES GISH ++ /xf0/x92/x94/xa4 CUNEIFORM SIGN NINDA2 TIMES GUL ++ /xf0/x92/x94/xa5 CUNEIFORM SIGN NINDA2 TIMES HI ++ /xf0/x92/x94/xa6 CUNEIFORM SIGN NINDA2 TIMES KESH2 ++ /xf0/x92/x94/xa7 CUNEIFORM SIGN NINDA2 TIMES LAK-050 ++ /xf0/x92/x94/xa8 CUNEIFORM SIGN NINDA2 TIMES MASH ++ /xf0/x92/x94/xa9 CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP ++ /xf0/x92/x94/xaa CUNEIFORM SIGN NINDA2 TIMES U ++ /xf0/x92/x94/xab CUNEIFORM SIGN NINDA2 TIMES U PLUS U ++ /xf0/x92/x94/xac CUNEIFORM SIGN NINDA2 TIMES URUDA ++ /xf0/x92/x94/xad CUNEIFORM SIGN SAG GUNU TIMES HA ++ /xf0/x92/x94/xae CUNEIFORM SIGN SAG TIMES EN ++ /xf0/x92/x94/xaf CUNEIFORM SIGN SAG TIMES SHE AT LEFT ++ /xf0/x92/x94/xb0 CUNEIFORM SIGN SAG TIMES TAK4 ++ /xf0/x92/x94/xb1 CUNEIFORM SIGN SHA6 TENU ++ /xf0/x92/x94/xb2 CUNEIFORM SIGN SHE OVER SHE ++ /xf0/x92/x94/xb3 CUNEIFORM SIGN SHE PLUS HUB2 ++ /xf0/x92/x94/xb4 CUNEIFORM SIGN SHE PLUS NAM2 ++ /xf0/x92/x94/xb5 CUNEIFORM SIGN SHE PLUS SAR ++ /xf0/x92/x94/xb6 CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI ++ /xf0/x92/x94/xb7 CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN ++ /xf0/x92/x94/xb8 CUNEIFORM SIGN SI TIMES TAK4 ++ /xf0/x92/x94/xb9 CUNEIFORM SIGN TAK4 PLUS SAG ++ /xf0/x92/x94/xba CUNEIFORM SIGN TUM TIMES GAN2 TENU ++ /xf0/x92/x94/xbb CUNEIFORM SIGN TUM TIMES THREE DISH ++ /xf0/x92/x94/xbc CUNEIFORM SIGN UR2 INVERTED ++ /xf0/x92/x94/xbd CUNEIFORM SIGN UR2 TIMES UD ++ /xf0/x92/x94/xbe CUNEIFORM SIGN URU TIMES DARA3 ++ /xf0/x92/x94/xbf CUNEIFORM SIGN URU TIMES LAK-668 ++ /xf0/x92/x95/x80 CUNEIFORM SIGN URU TIMES LU3 ++ /xf0/x92/x95/x81 CUNEIFORM SIGN ZA7 ++ /xf0/x92/x95/x82 CUNEIFORM SIGN ZU OVER ZU PLUS SAR ++ /xf0/x92/x95/x83 CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + /xf0/x93/x80/x80 EGYPTIAN HIEROGLYPH A001 + /xf0/x93/x80/x81 EGYPTIAN HIEROGLYPH A002 + /xf0/x93/x80/x82 EGYPTIAN HIEROGLYPH A003 +@@ -33261,6 +33898,589 @@ CHARMAP + /xf0/x93/x90/xac EGYPTIAN HIEROGLYPH AA030 + /xf0/x93/x90/xad EGYPTIAN HIEROGLYPH AA031 + /xf0/x93/x90/xae EGYPTIAN HIEROGLYPH AA032 ++ /xf0/x94/x90/x80 ANATOLIAN HIEROGLYPH A001 ++ /xf0/x94/x90/x81 ANATOLIAN HIEROGLYPH A002 ++ /xf0/x94/x90/x82 ANATOLIAN HIEROGLYPH A003 ++ /xf0/x94/x90/x83 ANATOLIAN HIEROGLYPH A004 ++ /xf0/x94/x90/x84 ANATOLIAN HIEROGLYPH A005 ++ /xf0/x94/x90/x85 ANATOLIAN HIEROGLYPH A006 ++ /xf0/x94/x90/x86 ANATOLIAN HIEROGLYPH A007 ++ /xf0/x94/x90/x87 ANATOLIAN HIEROGLYPH A008 ++ /xf0/x94/x90/x88 ANATOLIAN HIEROGLYPH A009 ++ /xf0/x94/x90/x89 ANATOLIAN HIEROGLYPH A010 ++ /xf0/x94/x90/x8a ANATOLIAN HIEROGLYPH A010A ++ /xf0/x94/x90/x8b ANATOLIAN HIEROGLYPH A011 ++ /xf0/x94/x90/x8c ANATOLIAN HIEROGLYPH A012 ++ /xf0/x94/x90/x8d ANATOLIAN HIEROGLYPH A013 ++ /xf0/x94/x90/x8e ANATOLIAN HIEROGLYPH A014 ++ /xf0/x94/x90/x8f ANATOLIAN HIEROGLYPH A015 ++ /xf0/x94/x90/x90 ANATOLIAN HIEROGLYPH A016 ++ /xf0/x94/x90/x91 ANATOLIAN HIEROGLYPH A017 ++ /xf0/x94/x90/x92 ANATOLIAN HIEROGLYPH A018 ++ /xf0/x94/x90/x93 ANATOLIAN HIEROGLYPH A019 ++ /xf0/x94/x90/x94 ANATOLIAN HIEROGLYPH A020 ++ /xf0/x94/x90/x95 ANATOLIAN HIEROGLYPH A021 ++ /xf0/x94/x90/x96 ANATOLIAN HIEROGLYPH A022 ++ /xf0/x94/x90/x97 ANATOLIAN HIEROGLYPH A023 ++ /xf0/x94/x90/x98 ANATOLIAN HIEROGLYPH A024 ++ /xf0/x94/x90/x99 ANATOLIAN HIEROGLYPH A025 ++ /xf0/x94/x90/x9a ANATOLIAN HIEROGLYPH A026 ++ /xf0/x94/x90/x9b ANATOLIAN HIEROGLYPH A026A ++ /xf0/x94/x90/x9c ANATOLIAN HIEROGLYPH A027 ++ /xf0/x94/x90/x9d ANATOLIAN HIEROGLYPH A028 ++ /xf0/x94/x90/x9e ANATOLIAN HIEROGLYPH A029 ++ /xf0/x94/x90/x9f ANATOLIAN HIEROGLYPH A030 ++ /xf0/x94/x90/xa0 ANATOLIAN HIEROGLYPH A031 ++ /xf0/x94/x90/xa1 ANATOLIAN HIEROGLYPH A032 ++ /xf0/x94/x90/xa2 ANATOLIAN HIEROGLYPH A033 ++ /xf0/x94/x90/xa3 ANATOLIAN HIEROGLYPH A034 ++ /xf0/x94/x90/xa4 ANATOLIAN HIEROGLYPH A035 ++ /xf0/x94/x90/xa5 ANATOLIAN HIEROGLYPH A036 ++ /xf0/x94/x90/xa6 ANATOLIAN HIEROGLYPH A037 ++ /xf0/x94/x90/xa7 ANATOLIAN HIEROGLYPH A038 ++ /xf0/x94/x90/xa8 ANATOLIAN HIEROGLYPH A039 ++ /xf0/x94/x90/xa9 ANATOLIAN HIEROGLYPH A039A ++ /xf0/x94/x90/xaa ANATOLIAN HIEROGLYPH A040 ++ /xf0/x94/x90/xab ANATOLIAN HIEROGLYPH A041 ++ /xf0/x94/x90/xac ANATOLIAN HIEROGLYPH A041A ++ /xf0/x94/x90/xad ANATOLIAN HIEROGLYPH A042 ++ /xf0/x94/x90/xae ANATOLIAN HIEROGLYPH A043 ++ /xf0/x94/x90/xaf ANATOLIAN HIEROGLYPH A044 ++ /xf0/x94/x90/xb0 ANATOLIAN HIEROGLYPH A045 ++ /xf0/x94/x90/xb1 ANATOLIAN HIEROGLYPH A045A ++ /xf0/x94/x90/xb2 ANATOLIAN HIEROGLYPH A046 ++ /xf0/x94/x90/xb3 ANATOLIAN HIEROGLYPH A046A ++ /xf0/x94/x90/xb4 ANATOLIAN HIEROGLYPH A046B ++ /xf0/x94/x90/xb5 ANATOLIAN HIEROGLYPH A047 ++ /xf0/x94/x90/xb6 ANATOLIAN HIEROGLYPH A048 ++ /xf0/x94/x90/xb7 ANATOLIAN HIEROGLYPH A049 ++ /xf0/x94/x90/xb8 ANATOLIAN HIEROGLYPH A050 ++ /xf0/x94/x90/xb9 ANATOLIAN HIEROGLYPH A051 ++ /xf0/x94/x90/xba ANATOLIAN HIEROGLYPH A052 ++ /xf0/x94/x90/xbb ANATOLIAN HIEROGLYPH A053 ++ /xf0/x94/x90/xbc ANATOLIAN HIEROGLYPH A054 ++ /xf0/x94/x90/xbd ANATOLIAN HIEROGLYPH A055 ++ /xf0/x94/x90/xbe ANATOLIAN HIEROGLYPH A056 ++ /xf0/x94/x90/xbf ANATOLIAN HIEROGLYPH A057 ++ /xf0/x94/x91/x80 ANATOLIAN HIEROGLYPH A058 ++ /xf0/x94/x91/x81 ANATOLIAN HIEROGLYPH A059 ++ /xf0/x94/x91/x82 ANATOLIAN HIEROGLYPH A060 ++ /xf0/x94/x91/x83 ANATOLIAN HIEROGLYPH A061 ++ /xf0/x94/x91/x84 ANATOLIAN HIEROGLYPH A062 ++ /xf0/x94/x91/x85 ANATOLIAN HIEROGLYPH A063 ++ /xf0/x94/x91/x86 ANATOLIAN HIEROGLYPH A064 ++ /xf0/x94/x91/x87 ANATOLIAN HIEROGLYPH A065 ++ /xf0/x94/x91/x88 ANATOLIAN HIEROGLYPH A066 ++ /xf0/x94/x91/x89 ANATOLIAN HIEROGLYPH A066A ++ /xf0/x94/x91/x8a ANATOLIAN HIEROGLYPH A066B ++ /xf0/x94/x91/x8b ANATOLIAN HIEROGLYPH A066C ++ /xf0/x94/x91/x8c ANATOLIAN HIEROGLYPH A067 ++ /xf0/x94/x91/x8d ANATOLIAN HIEROGLYPH A068 ++ /xf0/x94/x91/x8e ANATOLIAN HIEROGLYPH A069 ++ /xf0/x94/x91/x8f ANATOLIAN HIEROGLYPH A070 ++ /xf0/x94/x91/x90 ANATOLIAN HIEROGLYPH A071 ++ /xf0/x94/x91/x91 ANATOLIAN HIEROGLYPH A072 ++ /xf0/x94/x91/x92 ANATOLIAN HIEROGLYPH A073 ++ /xf0/x94/x91/x93 ANATOLIAN HIEROGLYPH A074 ++ /xf0/x94/x91/x94 ANATOLIAN HIEROGLYPH A075 ++ /xf0/x94/x91/x95 ANATOLIAN HIEROGLYPH A076 ++ /xf0/x94/x91/x96 ANATOLIAN HIEROGLYPH A077 ++ /xf0/x94/x91/x97 ANATOLIAN HIEROGLYPH A078 ++ /xf0/x94/x91/x98 ANATOLIAN HIEROGLYPH A079 ++ /xf0/x94/x91/x99 ANATOLIAN HIEROGLYPH A080 ++ /xf0/x94/x91/x9a ANATOLIAN HIEROGLYPH A081 ++ /xf0/x94/x91/x9b ANATOLIAN HIEROGLYPH A082 ++ /xf0/x94/x91/x9c ANATOLIAN HIEROGLYPH A083 ++ /xf0/x94/x91/x9d ANATOLIAN HIEROGLYPH A084 ++ /xf0/x94/x91/x9e ANATOLIAN HIEROGLYPH A085 ++ /xf0/x94/x91/x9f ANATOLIAN HIEROGLYPH A086 ++ /xf0/x94/x91/xa0 ANATOLIAN HIEROGLYPH A087 ++ /xf0/x94/x91/xa1 ANATOLIAN HIEROGLYPH A088 ++ /xf0/x94/x91/xa2 ANATOLIAN HIEROGLYPH A089 ++ /xf0/x94/x91/xa3 ANATOLIAN HIEROGLYPH A090 ++ /xf0/x94/x91/xa4 ANATOLIAN HIEROGLYPH A091 ++ /xf0/x94/x91/xa5 ANATOLIAN HIEROGLYPH A092 ++ /xf0/x94/x91/xa6 ANATOLIAN HIEROGLYPH A093 ++ /xf0/x94/x91/xa7 ANATOLIAN HIEROGLYPH A094 ++ /xf0/x94/x91/xa8 ANATOLIAN HIEROGLYPH A095 ++ /xf0/x94/x91/xa9 ANATOLIAN HIEROGLYPH A096 ++ /xf0/x94/x91/xaa ANATOLIAN HIEROGLYPH A097 ++ /xf0/x94/x91/xab ANATOLIAN HIEROGLYPH A097A ++ /xf0/x94/x91/xac ANATOLIAN HIEROGLYPH A098 ++ /xf0/x94/x91/xad ANATOLIAN HIEROGLYPH A098A ++ /xf0/x94/x91/xae ANATOLIAN HIEROGLYPH A099 ++ /xf0/x94/x91/xaf ANATOLIAN HIEROGLYPH A100 ++ /xf0/x94/x91/xb0 ANATOLIAN HIEROGLYPH A100A ++ /xf0/x94/x91/xb1 ANATOLIAN HIEROGLYPH A101 ++ /xf0/x94/x91/xb2 ANATOLIAN HIEROGLYPH A101A ++ /xf0/x94/x91/xb3 ANATOLIAN HIEROGLYPH A102 ++ /xf0/x94/x91/xb4 ANATOLIAN HIEROGLYPH A102A ++ /xf0/x94/x91/xb5 ANATOLIAN HIEROGLYPH A103 ++ /xf0/x94/x91/xb6 ANATOLIAN HIEROGLYPH A104 ++ /xf0/x94/x91/xb7 ANATOLIAN HIEROGLYPH A104A ++ /xf0/x94/x91/xb8 ANATOLIAN HIEROGLYPH A104B ++ /xf0/x94/x91/xb9 ANATOLIAN HIEROGLYPH A104C ++ /xf0/x94/x91/xba ANATOLIAN HIEROGLYPH A105 ++ /xf0/x94/x91/xbb ANATOLIAN HIEROGLYPH A105A ++ /xf0/x94/x91/xbc ANATOLIAN HIEROGLYPH A105B ++ /xf0/x94/x91/xbd ANATOLIAN HIEROGLYPH A106 ++ /xf0/x94/x91/xbe ANATOLIAN HIEROGLYPH A107 ++ /xf0/x94/x91/xbf ANATOLIAN HIEROGLYPH A107A ++ /xf0/x94/x92/x80 ANATOLIAN HIEROGLYPH A107B ++ /xf0/x94/x92/x81 ANATOLIAN HIEROGLYPH A107C ++ /xf0/x94/x92/x82 ANATOLIAN HIEROGLYPH A108 ++ /xf0/x94/x92/x83 ANATOLIAN HIEROGLYPH A109 ++ /xf0/x94/x92/x84 ANATOLIAN HIEROGLYPH A110 ++ /xf0/x94/x92/x85 ANATOLIAN HIEROGLYPH A110A ++ /xf0/x94/x92/x86 ANATOLIAN HIEROGLYPH A110B ++ /xf0/x94/x92/x87 ANATOLIAN HIEROGLYPH A111 ++ /xf0/x94/x92/x88 ANATOLIAN HIEROGLYPH A112 ++ /xf0/x94/x92/x89 ANATOLIAN HIEROGLYPH A113 ++ /xf0/x94/x92/x8a ANATOLIAN HIEROGLYPH A114 ++ /xf0/x94/x92/x8b ANATOLIAN HIEROGLYPH A115 ++ /xf0/x94/x92/x8c ANATOLIAN HIEROGLYPH A115A ++ /xf0/x94/x92/x8d ANATOLIAN HIEROGLYPH A116 ++ /xf0/x94/x92/x8e ANATOLIAN HIEROGLYPH A117 ++ /xf0/x94/x92/x8f ANATOLIAN HIEROGLYPH A118 ++ /xf0/x94/x92/x90 ANATOLIAN HIEROGLYPH A119 ++ /xf0/x94/x92/x91 ANATOLIAN HIEROGLYPH A120 ++ /xf0/x94/x92/x92 ANATOLIAN HIEROGLYPH A121 ++ /xf0/x94/x92/x93 ANATOLIAN HIEROGLYPH A122 ++ /xf0/x94/x92/x94 ANATOLIAN HIEROGLYPH A123 ++ /xf0/x94/x92/x95 ANATOLIAN HIEROGLYPH A124 ++ /xf0/x94/x92/x96 ANATOLIAN HIEROGLYPH A125 ++ /xf0/x94/x92/x97 ANATOLIAN HIEROGLYPH A125A ++ /xf0/x94/x92/x98 ANATOLIAN HIEROGLYPH A126 ++ /xf0/x94/x92/x99 ANATOLIAN HIEROGLYPH A127 ++ /xf0/x94/x92/x9a ANATOLIAN HIEROGLYPH A128 ++ /xf0/x94/x92/x9b ANATOLIAN HIEROGLYPH A129 ++ /xf0/x94/x92/x9c ANATOLIAN HIEROGLYPH A130 ++ /xf0/x94/x92/x9d ANATOLIAN HIEROGLYPH A131 ++ /xf0/x94/x92/x9e ANATOLIAN HIEROGLYPH A132 ++ /xf0/x94/x92/x9f ANATOLIAN HIEROGLYPH A133 ++ /xf0/x94/x92/xa0 ANATOLIAN HIEROGLYPH A134 ++ /xf0/x94/x92/xa1 ANATOLIAN HIEROGLYPH A135 ++ /xf0/x94/x92/xa2 ANATOLIAN HIEROGLYPH A135A ++ /xf0/x94/x92/xa3 ANATOLIAN HIEROGLYPH A136 ++ /xf0/x94/x92/xa4 ANATOLIAN HIEROGLYPH A137 ++ /xf0/x94/x92/xa5 ANATOLIAN HIEROGLYPH A138 ++ /xf0/x94/x92/xa6 ANATOLIAN HIEROGLYPH A139 ++ /xf0/x94/x92/xa7 ANATOLIAN HIEROGLYPH A140 ++ /xf0/x94/x92/xa8 ANATOLIAN HIEROGLYPH A141 ++ /xf0/x94/x92/xa9 ANATOLIAN HIEROGLYPH A142 ++ /xf0/x94/x92/xaa ANATOLIAN HIEROGLYPH A143 ++ /xf0/x94/x92/xab ANATOLIAN HIEROGLYPH A144 ++ /xf0/x94/x92/xac ANATOLIAN HIEROGLYPH A145 ++ /xf0/x94/x92/xad ANATOLIAN HIEROGLYPH A146 ++ /xf0/x94/x92/xae ANATOLIAN HIEROGLYPH A147 ++ /xf0/x94/x92/xaf ANATOLIAN HIEROGLYPH A148 ++ /xf0/x94/x92/xb0 ANATOLIAN HIEROGLYPH A149 ++ /xf0/x94/x92/xb1 ANATOLIAN HIEROGLYPH A150 ++ /xf0/x94/x92/xb2 ANATOLIAN HIEROGLYPH A151 ++ /xf0/x94/x92/xb3 ANATOLIAN HIEROGLYPH A152 ++ /xf0/x94/x92/xb4 ANATOLIAN HIEROGLYPH A153 ++ /xf0/x94/x92/xb5 ANATOLIAN HIEROGLYPH A154 ++ /xf0/x94/x92/xb6 ANATOLIAN HIEROGLYPH A155 ++ /xf0/x94/x92/xb7 ANATOLIAN HIEROGLYPH A156 ++ /xf0/x94/x92/xb8 ANATOLIAN HIEROGLYPH A157 ++ /xf0/x94/x92/xb9 ANATOLIAN HIEROGLYPH A158 ++ /xf0/x94/x92/xba ANATOLIAN HIEROGLYPH A159 ++ /xf0/x94/x92/xbb ANATOLIAN HIEROGLYPH A160 ++ /xf0/x94/x92/xbc ANATOLIAN HIEROGLYPH A161 ++ /xf0/x94/x92/xbd ANATOLIAN HIEROGLYPH A162 ++ /xf0/x94/x92/xbe ANATOLIAN HIEROGLYPH A163 ++ /xf0/x94/x92/xbf ANATOLIAN HIEROGLYPH A164 ++ /xf0/x94/x93/x80 ANATOLIAN HIEROGLYPH A165 ++ /xf0/x94/x93/x81 ANATOLIAN HIEROGLYPH A166 ++ /xf0/x94/x93/x82 ANATOLIAN HIEROGLYPH A167 ++ /xf0/x94/x93/x83 ANATOLIAN HIEROGLYPH A168 ++ /xf0/x94/x93/x84 ANATOLIAN HIEROGLYPH A169 ++ /xf0/x94/x93/x85 ANATOLIAN HIEROGLYPH A170 ++ /xf0/x94/x93/x86 ANATOLIAN HIEROGLYPH A171 ++ /xf0/x94/x93/x87 ANATOLIAN HIEROGLYPH A172 ++ /xf0/x94/x93/x88 ANATOLIAN HIEROGLYPH A173 ++ /xf0/x94/x93/x89 ANATOLIAN HIEROGLYPH A174 ++ /xf0/x94/x93/x8a ANATOLIAN HIEROGLYPH A175 ++ /xf0/x94/x93/x8b ANATOLIAN HIEROGLYPH A176 ++ /xf0/x94/x93/x8c ANATOLIAN HIEROGLYPH A177 ++ /xf0/x94/x93/x8d ANATOLIAN HIEROGLYPH A178 ++ /xf0/x94/x93/x8e ANATOLIAN HIEROGLYPH A179 ++ /xf0/x94/x93/x8f ANATOLIAN HIEROGLYPH A180 ++ /xf0/x94/x93/x90 ANATOLIAN HIEROGLYPH A181 ++ /xf0/x94/x93/x91 ANATOLIAN HIEROGLYPH A182 ++ /xf0/x94/x93/x92 ANATOLIAN HIEROGLYPH A183 ++ /xf0/x94/x93/x93 ANATOLIAN HIEROGLYPH A184 ++ /xf0/x94/x93/x94 ANATOLIAN HIEROGLYPH A185 ++ /xf0/x94/x93/x95 ANATOLIAN HIEROGLYPH A186 ++ /xf0/x94/x93/x96 ANATOLIAN HIEROGLYPH A187 ++ /xf0/x94/x93/x97 ANATOLIAN HIEROGLYPH A188 ++ /xf0/x94/x93/x98 ANATOLIAN HIEROGLYPH A189 ++ /xf0/x94/x93/x99 ANATOLIAN HIEROGLYPH A190 ++ /xf0/x94/x93/x9a ANATOLIAN HIEROGLYPH A191 ++ /xf0/x94/x93/x9b ANATOLIAN HIEROGLYPH A192 ++ /xf0/x94/x93/x9c ANATOLIAN HIEROGLYPH A193 ++ /xf0/x94/x93/x9d ANATOLIAN HIEROGLYPH A194 ++ /xf0/x94/x93/x9e ANATOLIAN HIEROGLYPH A195 ++ /xf0/x94/x93/x9f ANATOLIAN HIEROGLYPH A196 ++ /xf0/x94/x93/xa0 ANATOLIAN HIEROGLYPH A197 ++ /xf0/x94/x93/xa1 ANATOLIAN HIEROGLYPH A198 ++ /xf0/x94/x93/xa2 ANATOLIAN HIEROGLYPH A199 ++ /xf0/x94/x93/xa3 ANATOLIAN HIEROGLYPH A200 ++ /xf0/x94/x93/xa4 ANATOLIAN HIEROGLYPH A201 ++ /xf0/x94/x93/xa5 ANATOLIAN HIEROGLYPH A202 ++ /xf0/x94/x93/xa6 ANATOLIAN HIEROGLYPH A202A ++ /xf0/x94/x93/xa7 ANATOLIAN HIEROGLYPH A202B ++ /xf0/x94/x93/xa8 ANATOLIAN HIEROGLYPH A203 ++ /xf0/x94/x93/xa9 ANATOLIAN HIEROGLYPH A204 ++ /xf0/x94/x93/xaa ANATOLIAN HIEROGLYPH A205 ++ /xf0/x94/x93/xab ANATOLIAN HIEROGLYPH A206 ++ /xf0/x94/x93/xac ANATOLIAN HIEROGLYPH A207 ++ /xf0/x94/x93/xad ANATOLIAN HIEROGLYPH A207A ++ /xf0/x94/x93/xae ANATOLIAN HIEROGLYPH A208 ++ /xf0/x94/x93/xaf ANATOLIAN HIEROGLYPH A209 ++ /xf0/x94/x93/xb0 ANATOLIAN HIEROGLYPH A209A ++ /xf0/x94/x93/xb1 ANATOLIAN HIEROGLYPH A210 ++ /xf0/x94/x93/xb2 ANATOLIAN HIEROGLYPH A211 ++ /xf0/x94/x93/xb3 ANATOLIAN HIEROGLYPH A212 ++ /xf0/x94/x93/xb4 ANATOLIAN HIEROGLYPH A213 ++ /xf0/x94/x93/xb5 ANATOLIAN HIEROGLYPH A214 ++ /xf0/x94/x93/xb6 ANATOLIAN HIEROGLYPH A215 ++ /xf0/x94/x93/xb7 ANATOLIAN HIEROGLYPH A215A ++ /xf0/x94/x93/xb8 ANATOLIAN HIEROGLYPH A216 ++ /xf0/x94/x93/xb9 ANATOLIAN HIEROGLYPH A216A ++ /xf0/x94/x93/xba ANATOLIAN HIEROGLYPH A217 ++ /xf0/x94/x93/xbb ANATOLIAN HIEROGLYPH A218 ++ /xf0/x94/x93/xbc ANATOLIAN HIEROGLYPH A219 ++ /xf0/x94/x93/xbd ANATOLIAN HIEROGLYPH A220 ++ /xf0/x94/x93/xbe ANATOLIAN HIEROGLYPH A221 ++ /xf0/x94/x93/xbf ANATOLIAN HIEROGLYPH A222 ++ /xf0/x94/x94/x80 ANATOLIAN HIEROGLYPH A223 ++ /xf0/x94/x94/x81 ANATOLIAN HIEROGLYPH A224 ++ /xf0/x94/x94/x82 ANATOLIAN HIEROGLYPH A225 ++ /xf0/x94/x94/x83 ANATOLIAN HIEROGLYPH A226 ++ /xf0/x94/x94/x84 ANATOLIAN HIEROGLYPH A227 ++ /xf0/x94/x94/x85 ANATOLIAN HIEROGLYPH A227A ++ /xf0/x94/x94/x86 ANATOLIAN HIEROGLYPH A228 ++ /xf0/x94/x94/x87 ANATOLIAN HIEROGLYPH A229 ++ /xf0/x94/x94/x88 ANATOLIAN HIEROGLYPH A230 ++ /xf0/x94/x94/x89 ANATOLIAN HIEROGLYPH A231 ++ /xf0/x94/x94/x8a ANATOLIAN HIEROGLYPH A232 ++ /xf0/x94/x94/x8b ANATOLIAN HIEROGLYPH A233 ++ /xf0/x94/x94/x8c ANATOLIAN HIEROGLYPH A234 ++ /xf0/x94/x94/x8d ANATOLIAN HIEROGLYPH A235 ++ /xf0/x94/x94/x8e ANATOLIAN HIEROGLYPH A236 ++ /xf0/x94/x94/x8f ANATOLIAN HIEROGLYPH A237 ++ /xf0/x94/x94/x90 ANATOLIAN HIEROGLYPH A238 ++ /xf0/x94/x94/x91 ANATOLIAN HIEROGLYPH A239 ++ /xf0/x94/x94/x92 ANATOLIAN HIEROGLYPH A240 ++ /xf0/x94/x94/x93 ANATOLIAN HIEROGLYPH A241 ++ /xf0/x94/x94/x94 ANATOLIAN HIEROGLYPH A242 ++ /xf0/x94/x94/x95 ANATOLIAN HIEROGLYPH A243 ++ /xf0/x94/x94/x96 ANATOLIAN HIEROGLYPH A244 ++ /xf0/x94/x94/x97 ANATOLIAN HIEROGLYPH A245 ++ /xf0/x94/x94/x98 ANATOLIAN HIEROGLYPH A246 ++ /xf0/x94/x94/x99 ANATOLIAN HIEROGLYPH A247 ++ /xf0/x94/x94/x9a ANATOLIAN HIEROGLYPH A248 ++ /xf0/x94/x94/x9b ANATOLIAN HIEROGLYPH A249 ++ /xf0/x94/x94/x9c ANATOLIAN HIEROGLYPH A250 ++ /xf0/x94/x94/x9d ANATOLIAN HIEROGLYPH A251 ++ /xf0/x94/x94/x9e ANATOLIAN HIEROGLYPH A252 ++ /xf0/x94/x94/x9f ANATOLIAN HIEROGLYPH A253 ++ /xf0/x94/x94/xa0 ANATOLIAN HIEROGLYPH A254 ++ /xf0/x94/x94/xa1 ANATOLIAN HIEROGLYPH A255 ++ /xf0/x94/x94/xa2 ANATOLIAN HIEROGLYPH A256 ++ /xf0/x94/x94/xa3 ANATOLIAN HIEROGLYPH A257 ++ /xf0/x94/x94/xa4 ANATOLIAN HIEROGLYPH A258 ++ /xf0/x94/x94/xa5 ANATOLIAN HIEROGLYPH A259 ++ /xf0/x94/x94/xa6 ANATOLIAN HIEROGLYPH A260 ++ /xf0/x94/x94/xa7 ANATOLIAN HIEROGLYPH A261 ++ /xf0/x94/x94/xa8 ANATOLIAN HIEROGLYPH A262 ++ /xf0/x94/x94/xa9 ANATOLIAN HIEROGLYPH A263 ++ /xf0/x94/x94/xaa ANATOLIAN HIEROGLYPH A264 ++ /xf0/x94/x94/xab ANATOLIAN HIEROGLYPH A265 ++ /xf0/x94/x94/xac ANATOLIAN HIEROGLYPH A266 ++ /xf0/x94/x94/xad ANATOLIAN HIEROGLYPH A267 ++ /xf0/x94/x94/xae ANATOLIAN HIEROGLYPH A267A ++ /xf0/x94/x94/xaf ANATOLIAN HIEROGLYPH A268 ++ /xf0/x94/x94/xb0 ANATOLIAN HIEROGLYPH A269 ++ /xf0/x94/x94/xb1 ANATOLIAN HIEROGLYPH A270 ++ /xf0/x94/x94/xb2 ANATOLIAN HIEROGLYPH A271 ++ /xf0/x94/x94/xb3 ANATOLIAN HIEROGLYPH A272 ++ /xf0/x94/x94/xb4 ANATOLIAN HIEROGLYPH A273 ++ /xf0/x94/x94/xb5 ANATOLIAN HIEROGLYPH A274 ++ /xf0/x94/x94/xb6 ANATOLIAN HIEROGLYPH A275 ++ /xf0/x94/x94/xb7 ANATOLIAN HIEROGLYPH A276 ++ /xf0/x94/x94/xb8 ANATOLIAN HIEROGLYPH A277 ++ /xf0/x94/x94/xb9 ANATOLIAN HIEROGLYPH A278 ++ /xf0/x94/x94/xba ANATOLIAN HIEROGLYPH A279 ++ /xf0/x94/x94/xbb ANATOLIAN HIEROGLYPH A280 ++ /xf0/x94/x94/xbc ANATOLIAN HIEROGLYPH A281 ++ /xf0/x94/x94/xbd ANATOLIAN HIEROGLYPH A282 ++ /xf0/x94/x94/xbe ANATOLIAN HIEROGLYPH A283 ++ /xf0/x94/x94/xbf ANATOLIAN HIEROGLYPH A284 ++ /xf0/x94/x95/x80 ANATOLIAN HIEROGLYPH A285 ++ /xf0/x94/x95/x81 ANATOLIAN HIEROGLYPH A286 ++ /xf0/x94/x95/x82 ANATOLIAN HIEROGLYPH A287 ++ /xf0/x94/x95/x83 ANATOLIAN HIEROGLYPH A288 ++ /xf0/x94/x95/x84 ANATOLIAN HIEROGLYPH A289 ++ /xf0/x94/x95/x85 ANATOLIAN HIEROGLYPH A289A ++ /xf0/x94/x95/x86 ANATOLIAN HIEROGLYPH A290 ++ /xf0/x94/x95/x87 ANATOLIAN HIEROGLYPH A291 ++ /xf0/x94/x95/x88 ANATOLIAN HIEROGLYPH A292 ++ /xf0/x94/x95/x89 ANATOLIAN HIEROGLYPH A293 ++ /xf0/x94/x95/x8a ANATOLIAN HIEROGLYPH A294 ++ /xf0/x94/x95/x8b ANATOLIAN HIEROGLYPH A294A ++ /xf0/x94/x95/x8c ANATOLIAN HIEROGLYPH A295 ++ /xf0/x94/x95/x8d ANATOLIAN HIEROGLYPH A296 ++ /xf0/x94/x95/x8e ANATOLIAN HIEROGLYPH A297 ++ /xf0/x94/x95/x8f ANATOLIAN HIEROGLYPH A298 ++ /xf0/x94/x95/x90 ANATOLIAN HIEROGLYPH A299 ++ /xf0/x94/x95/x91 ANATOLIAN HIEROGLYPH A299A ++ /xf0/x94/x95/x92 ANATOLIAN HIEROGLYPH A300 ++ /xf0/x94/x95/x93 ANATOLIAN HIEROGLYPH A301 ++ /xf0/x94/x95/x94 ANATOLIAN HIEROGLYPH A302 ++ /xf0/x94/x95/x95 ANATOLIAN HIEROGLYPH A303 ++ /xf0/x94/x95/x96 ANATOLIAN HIEROGLYPH A304 ++ /xf0/x94/x95/x97 ANATOLIAN HIEROGLYPH A305 ++ /xf0/x94/x95/x98 ANATOLIAN HIEROGLYPH A306 ++ /xf0/x94/x95/x99 ANATOLIAN HIEROGLYPH A307 ++ /xf0/x94/x95/x9a ANATOLIAN HIEROGLYPH A308 ++ /xf0/x94/x95/x9b ANATOLIAN HIEROGLYPH A309 ++ /xf0/x94/x95/x9c ANATOLIAN HIEROGLYPH A309A ++ /xf0/x94/x95/x9d ANATOLIAN HIEROGLYPH A310 ++ /xf0/x94/x95/x9e ANATOLIAN HIEROGLYPH A311 ++ /xf0/x94/x95/x9f ANATOLIAN HIEROGLYPH A312 ++ /xf0/x94/x95/xa0 ANATOLIAN HIEROGLYPH A313 ++ /xf0/x94/x95/xa1 ANATOLIAN HIEROGLYPH A314 ++ /xf0/x94/x95/xa2 ANATOLIAN HIEROGLYPH A315 ++ /xf0/x94/x95/xa3 ANATOLIAN HIEROGLYPH A316 ++ /xf0/x94/x95/xa4 ANATOLIAN HIEROGLYPH A317 ++ /xf0/x94/x95/xa5 ANATOLIAN HIEROGLYPH A318 ++ /xf0/x94/x95/xa6 ANATOLIAN HIEROGLYPH A319 ++ /xf0/x94/x95/xa7 ANATOLIAN HIEROGLYPH A320 ++ /xf0/x94/x95/xa8 ANATOLIAN HIEROGLYPH A321 ++ /xf0/x94/x95/xa9 ANATOLIAN HIEROGLYPH A322 ++ /xf0/x94/x95/xaa ANATOLIAN HIEROGLYPH A323 ++ /xf0/x94/x95/xab ANATOLIAN HIEROGLYPH A324 ++ /xf0/x94/x95/xac ANATOLIAN HIEROGLYPH A325 ++ /xf0/x94/x95/xad ANATOLIAN HIEROGLYPH A326 ++ /xf0/x94/x95/xae ANATOLIAN HIEROGLYPH A327 ++ /xf0/x94/x95/xaf ANATOLIAN HIEROGLYPH A328 ++ /xf0/x94/x95/xb0 ANATOLIAN HIEROGLYPH A329 ++ /xf0/x94/x95/xb1 ANATOLIAN HIEROGLYPH A329A ++ /xf0/x94/x95/xb2 ANATOLIAN HIEROGLYPH A330 ++ /xf0/x94/x95/xb3 ANATOLIAN HIEROGLYPH A331 ++ /xf0/x94/x95/xb4 ANATOLIAN HIEROGLYPH A332A ++ /xf0/x94/x95/xb5 ANATOLIAN HIEROGLYPH A332B ++ /xf0/x94/x95/xb6 ANATOLIAN HIEROGLYPH A332C ++ /xf0/x94/x95/xb7 ANATOLIAN HIEROGLYPH A333 ++ /xf0/x94/x95/xb8 ANATOLIAN HIEROGLYPH A334 ++ /xf0/x94/x95/xb9 ANATOLIAN HIEROGLYPH A335 ++ /xf0/x94/x95/xba ANATOLIAN HIEROGLYPH A336 ++ /xf0/x94/x95/xbb ANATOLIAN HIEROGLYPH A336A ++ /xf0/x94/x95/xbc ANATOLIAN HIEROGLYPH A336B ++ /xf0/x94/x95/xbd ANATOLIAN HIEROGLYPH A336C ++ /xf0/x94/x95/xbe ANATOLIAN HIEROGLYPH A337 ++ /xf0/x94/x95/xbf ANATOLIAN HIEROGLYPH A338 ++ /xf0/x94/x96/x80 ANATOLIAN HIEROGLYPH A339 ++ /xf0/x94/x96/x81 ANATOLIAN HIEROGLYPH A340 ++ /xf0/x94/x96/x82 ANATOLIAN HIEROGLYPH A341 ++ /xf0/x94/x96/x83 ANATOLIAN HIEROGLYPH A342 ++ /xf0/x94/x96/x84 ANATOLIAN HIEROGLYPH A343 ++ /xf0/x94/x96/x85 ANATOLIAN HIEROGLYPH A344 ++ /xf0/x94/x96/x86 ANATOLIAN HIEROGLYPH A345 ++ /xf0/x94/x96/x87 ANATOLIAN HIEROGLYPH A346 ++ /xf0/x94/x96/x88 ANATOLIAN HIEROGLYPH A347 ++ /xf0/x94/x96/x89 ANATOLIAN HIEROGLYPH A348 ++ /xf0/x94/x96/x8a ANATOLIAN HIEROGLYPH A349 ++ /xf0/x94/x96/x8b ANATOLIAN HIEROGLYPH A350 ++ /xf0/x94/x96/x8c ANATOLIAN HIEROGLYPH A351 ++ /xf0/x94/x96/x8d ANATOLIAN HIEROGLYPH A352 ++ /xf0/x94/x96/x8e ANATOLIAN HIEROGLYPH A353 ++ /xf0/x94/x96/x8f ANATOLIAN HIEROGLYPH A354 ++ /xf0/x94/x96/x90 ANATOLIAN HIEROGLYPH A355 ++ /xf0/x94/x96/x91 ANATOLIAN HIEROGLYPH A356 ++ /xf0/x94/x96/x92 ANATOLIAN HIEROGLYPH A357 ++ /xf0/x94/x96/x93 ANATOLIAN HIEROGLYPH A358 ++ /xf0/x94/x96/x94 ANATOLIAN HIEROGLYPH A359 ++ /xf0/x94/x96/x95 ANATOLIAN HIEROGLYPH A359A ++ /xf0/x94/x96/x96 ANATOLIAN HIEROGLYPH A360 ++ /xf0/x94/x96/x97 ANATOLIAN HIEROGLYPH A361 ++ /xf0/x94/x96/x98 ANATOLIAN HIEROGLYPH A362 ++ /xf0/x94/x96/x99 ANATOLIAN HIEROGLYPH A363 ++ /xf0/x94/x96/x9a ANATOLIAN HIEROGLYPH A364 ++ /xf0/x94/x96/x9b ANATOLIAN HIEROGLYPH A364A ++ /xf0/x94/x96/x9c ANATOLIAN HIEROGLYPH A365 ++ /xf0/x94/x96/x9d ANATOLIAN HIEROGLYPH A366 ++ /xf0/x94/x96/x9e ANATOLIAN HIEROGLYPH A367 ++ /xf0/x94/x96/x9f ANATOLIAN HIEROGLYPH A368 ++ /xf0/x94/x96/xa0 ANATOLIAN HIEROGLYPH A368A ++ /xf0/x94/x96/xa1 ANATOLIAN HIEROGLYPH A369 ++ /xf0/x94/x96/xa2 ANATOLIAN HIEROGLYPH A370 ++ /xf0/x94/x96/xa3 ANATOLIAN HIEROGLYPH A371 ++ /xf0/x94/x96/xa4 ANATOLIAN HIEROGLYPH A371A ++ /xf0/x94/x96/xa5 ANATOLIAN HIEROGLYPH A372 ++ /xf0/x94/x96/xa6 ANATOLIAN HIEROGLYPH A373 ++ /xf0/x94/x96/xa7 ANATOLIAN HIEROGLYPH A374 ++ /xf0/x94/x96/xa8 ANATOLIAN HIEROGLYPH A375 ++ /xf0/x94/x96/xa9 ANATOLIAN HIEROGLYPH A376 ++ /xf0/x94/x96/xaa ANATOLIAN HIEROGLYPH A377 ++ /xf0/x94/x96/xab ANATOLIAN HIEROGLYPH A378 ++ /xf0/x94/x96/xac ANATOLIAN HIEROGLYPH A379 ++ /xf0/x94/x96/xad ANATOLIAN HIEROGLYPH A380 ++ /xf0/x94/x96/xae ANATOLIAN HIEROGLYPH A381 ++ /xf0/x94/x96/xaf ANATOLIAN HIEROGLYPH A381A ++ /xf0/x94/x96/xb0 ANATOLIAN HIEROGLYPH A382 ++ /xf0/x94/x96/xb1 ANATOLIAN HIEROGLYPH A383 RA OR RI ++ /xf0/x94/x96/xb2 ANATOLIAN HIEROGLYPH A383A ++ /xf0/x94/x96/xb3 ANATOLIAN HIEROGLYPH A384 ++ /xf0/x94/x96/xb4 ANATOLIAN HIEROGLYPH A385 ++ /xf0/x94/x96/xb5 ANATOLIAN HIEROGLYPH A386 ++ /xf0/x94/x96/xb6 ANATOLIAN HIEROGLYPH A386A ++ /xf0/x94/x96/xb7 ANATOLIAN HIEROGLYPH A387 ++ /xf0/x94/x96/xb8 ANATOLIAN HIEROGLYPH A388 ++ /xf0/x94/x96/xb9 ANATOLIAN HIEROGLYPH A389 ++ /xf0/x94/x96/xba ANATOLIAN HIEROGLYPH A390 ++ /xf0/x94/x96/xbb ANATOLIAN HIEROGLYPH A391 ++ /xf0/x94/x96/xbc ANATOLIAN HIEROGLYPH A392 ++ /xf0/x94/x96/xbd ANATOLIAN HIEROGLYPH A393 EIGHT ++ /xf0/x94/x96/xbe ANATOLIAN HIEROGLYPH A394 ++ /xf0/x94/x96/xbf ANATOLIAN HIEROGLYPH A395 ++ /xf0/x94/x97/x80 ANATOLIAN HIEROGLYPH A396 ++ /xf0/x94/x97/x81 ANATOLIAN HIEROGLYPH A397 ++ /xf0/x94/x97/x82 ANATOLIAN HIEROGLYPH A398 ++ /xf0/x94/x97/x83 ANATOLIAN HIEROGLYPH A399 ++ /xf0/x94/x97/x84 ANATOLIAN HIEROGLYPH A400 ++ /xf0/x94/x97/x85 ANATOLIAN HIEROGLYPH A401 ++ /xf0/x94/x97/x86 ANATOLIAN HIEROGLYPH A402 ++ /xf0/x94/x97/x87 ANATOLIAN HIEROGLYPH A403 ++ /xf0/x94/x97/x88 ANATOLIAN HIEROGLYPH A404 ++ /xf0/x94/x97/x89 ANATOLIAN HIEROGLYPH A405 ++ /xf0/x94/x97/x8a ANATOLIAN HIEROGLYPH A406 ++ /xf0/x94/x97/x8b ANATOLIAN HIEROGLYPH A407 ++ /xf0/x94/x97/x8c ANATOLIAN HIEROGLYPH A408 ++ /xf0/x94/x97/x8d ANATOLIAN HIEROGLYPH A409 ++ /xf0/x94/x97/x8e ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK ++ /xf0/x94/x97/x8f ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK ++ /xf0/x94/x97/x90 ANATOLIAN HIEROGLYPH A411 ++ /xf0/x94/x97/x91 ANATOLIAN HIEROGLYPH A412 ++ /xf0/x94/x97/x92 ANATOLIAN HIEROGLYPH A413 ++ /xf0/x94/x97/x93 ANATOLIAN HIEROGLYPH A414 ++ /xf0/x94/x97/x94 ANATOLIAN HIEROGLYPH A415 ++ /xf0/x94/x97/x95 ANATOLIAN HIEROGLYPH A416 ++ /xf0/x94/x97/x96 ANATOLIAN HIEROGLYPH A417 ++ /xf0/x94/x97/x97 ANATOLIAN HIEROGLYPH A418 ++ /xf0/x94/x97/x98 ANATOLIAN HIEROGLYPH A419 ++ /xf0/x94/x97/x99 ANATOLIAN HIEROGLYPH A420 ++ /xf0/x94/x97/x9a ANATOLIAN HIEROGLYPH A421 ++ /xf0/x94/x97/x9b ANATOLIAN HIEROGLYPH A422 ++ /xf0/x94/x97/x9c ANATOLIAN HIEROGLYPH A423 ++ /xf0/x94/x97/x9d ANATOLIAN HIEROGLYPH A424 ++ /xf0/x94/x97/x9e ANATOLIAN HIEROGLYPH A425 ++ /xf0/x94/x97/x9f ANATOLIAN HIEROGLYPH A426 ++ /xf0/x94/x97/xa0 ANATOLIAN HIEROGLYPH A427 ++ /xf0/x94/x97/xa1 ANATOLIAN HIEROGLYPH A428 ++ /xf0/x94/x97/xa2 ANATOLIAN HIEROGLYPH A429 ++ /xf0/x94/x97/xa3 ANATOLIAN HIEROGLYPH A430 ++ /xf0/x94/x97/xa4 ANATOLIAN HIEROGLYPH A431 ++ /xf0/x94/x97/xa5 ANATOLIAN HIEROGLYPH A432 ++ /xf0/x94/x97/xa6 ANATOLIAN HIEROGLYPH A433 ++ /xf0/x94/x97/xa7 ANATOLIAN HIEROGLYPH A434 ++ /xf0/x94/x97/xa8 ANATOLIAN HIEROGLYPH A435 ++ /xf0/x94/x97/xa9 ANATOLIAN HIEROGLYPH A436 ++ /xf0/x94/x97/xaa ANATOLIAN HIEROGLYPH A437 ++ /xf0/x94/x97/xab ANATOLIAN HIEROGLYPH A438 ++ /xf0/x94/x97/xac ANATOLIAN HIEROGLYPH A439 ++ /xf0/x94/x97/xad ANATOLIAN HIEROGLYPH A440 ++ /xf0/x94/x97/xae ANATOLIAN HIEROGLYPH A441 ++ /xf0/x94/x97/xaf ANATOLIAN HIEROGLYPH A442 ++ /xf0/x94/x97/xb0 ANATOLIAN HIEROGLYPH A443 ++ /xf0/x94/x97/xb1 ANATOLIAN HIEROGLYPH A444 ++ /xf0/x94/x97/xb2 ANATOLIAN HIEROGLYPH A445 ++ /xf0/x94/x97/xb3 ANATOLIAN HIEROGLYPH A446 ++ /xf0/x94/x97/xb4 ANATOLIAN HIEROGLYPH A447 ++ /xf0/x94/x97/xb5 ANATOLIAN HIEROGLYPH A448 ++ /xf0/x94/x97/xb6 ANATOLIAN HIEROGLYPH A449 ++ /xf0/x94/x97/xb7 ANATOLIAN HIEROGLYPH A450 ++ /xf0/x94/x97/xb8 ANATOLIAN HIEROGLYPH A450A ++ /xf0/x94/x97/xb9 ANATOLIAN HIEROGLYPH A451 ++ /xf0/x94/x97/xba ANATOLIAN HIEROGLYPH A452 ++ /xf0/x94/x97/xbb ANATOLIAN HIEROGLYPH A453 ++ /xf0/x94/x97/xbc ANATOLIAN HIEROGLYPH A454 ++ /xf0/x94/x97/xbd ANATOLIAN HIEROGLYPH A455 ++ /xf0/x94/x97/xbe ANATOLIAN HIEROGLYPH A456 ++ /xf0/x94/x97/xbf ANATOLIAN HIEROGLYPH A457 ++ /xf0/x94/x98/x80 ANATOLIAN HIEROGLYPH A457A ++ /xf0/x94/x98/x81 ANATOLIAN HIEROGLYPH A458 ++ /xf0/x94/x98/x82 ANATOLIAN HIEROGLYPH A459 ++ /xf0/x94/x98/x83 ANATOLIAN HIEROGLYPH A460 ++ /xf0/x94/x98/x84 ANATOLIAN HIEROGLYPH A461 ++ /xf0/x94/x98/x85 ANATOLIAN HIEROGLYPH A462 ++ /xf0/x94/x98/x86 ANATOLIAN HIEROGLYPH A463 ++ /xf0/x94/x98/x87 ANATOLIAN HIEROGLYPH A464 ++ /xf0/x94/x98/x88 ANATOLIAN HIEROGLYPH A465 ++ /xf0/x94/x98/x89 ANATOLIAN HIEROGLYPH A466 ++ /xf0/x94/x98/x8a ANATOLIAN HIEROGLYPH A467 ++ /xf0/x94/x98/x8b ANATOLIAN HIEROGLYPH A468 ++ /xf0/x94/x98/x8c ANATOLIAN HIEROGLYPH A469 ++ /xf0/x94/x98/x8d ANATOLIAN HIEROGLYPH A470 ++ /xf0/x94/x98/x8e ANATOLIAN HIEROGLYPH A471 ++ /xf0/x94/x98/x8f ANATOLIAN HIEROGLYPH A472 ++ /xf0/x94/x98/x90 ANATOLIAN HIEROGLYPH A473 ++ /xf0/x94/x98/x91 ANATOLIAN HIEROGLYPH A474 ++ /xf0/x94/x98/x92 ANATOLIAN HIEROGLYPH A475 ++ /xf0/x94/x98/x93 ANATOLIAN HIEROGLYPH A476 ++ /xf0/x94/x98/x94 ANATOLIAN HIEROGLYPH A477 ++ /xf0/x94/x98/x95 ANATOLIAN HIEROGLYPH A478 ++ /xf0/x94/x98/x96 ANATOLIAN HIEROGLYPH A479 ++ /xf0/x94/x98/x97 ANATOLIAN HIEROGLYPH A480 ++ /xf0/x94/x98/x98 ANATOLIAN HIEROGLYPH A481 ++ /xf0/x94/x98/x99 ANATOLIAN HIEROGLYPH A482 ++ /xf0/x94/x98/x9a ANATOLIAN HIEROGLYPH A483 ++ /xf0/x94/x98/x9b ANATOLIAN HIEROGLYPH A484 ++ /xf0/x94/x98/x9c ANATOLIAN HIEROGLYPH A485 ++ /xf0/x94/x98/x9d ANATOLIAN HIEROGLYPH A486 ++ /xf0/x94/x98/x9e ANATOLIAN HIEROGLYPH A487 ++ /xf0/x94/x98/x9f ANATOLIAN HIEROGLYPH A488 ++ /xf0/x94/x98/xa0 ANATOLIAN HIEROGLYPH A489 ++ /xf0/x94/x98/xa1 ANATOLIAN HIEROGLYPH A490 ++ /xf0/x94/x98/xa2 ANATOLIAN HIEROGLYPH A491 ++ /xf0/x94/x98/xa3 ANATOLIAN HIEROGLYPH A492 ++ /xf0/x94/x98/xa4 ANATOLIAN HIEROGLYPH A493 ++ /xf0/x94/x98/xa5 ANATOLIAN HIEROGLYPH A494 ++ /xf0/x94/x98/xa6 ANATOLIAN HIEROGLYPH A495 ++ /xf0/x94/x98/xa7 ANATOLIAN HIEROGLYPH A496 ++ /xf0/x94/x98/xa8 ANATOLIAN HIEROGLYPH A497 ++ /xf0/x94/x98/xa9 ANATOLIAN HIEROGLYPH A501 ++ /xf0/x94/x98/xaa ANATOLIAN HIEROGLYPH A502 ++ /xf0/x94/x98/xab ANATOLIAN HIEROGLYPH A503 ++ /xf0/x94/x98/xac ANATOLIAN HIEROGLYPH A504 ++ /xf0/x94/x98/xad ANATOLIAN HIEROGLYPH A505 ++ /xf0/x94/x98/xae ANATOLIAN HIEROGLYPH A506 ++ /xf0/x94/x98/xaf ANATOLIAN HIEROGLYPH A507 ++ /xf0/x94/x98/xb0 ANATOLIAN HIEROGLYPH A508 ++ /xf0/x94/x98/xb1 ANATOLIAN HIEROGLYPH A509 ++ /xf0/x94/x98/xb2 ANATOLIAN HIEROGLYPH A510 ++ /xf0/x94/x98/xb3 ANATOLIAN HIEROGLYPH A511 ++ /xf0/x94/x98/xb4 ANATOLIAN HIEROGLYPH A512 ++ /xf0/x94/x98/xb5 ANATOLIAN HIEROGLYPH A513 ++ /xf0/x94/x98/xb6 ANATOLIAN HIEROGLYPH A514 ++ /xf0/x94/x98/xb7 ANATOLIAN HIEROGLYPH A515 ++ /xf0/x94/x98/xb8 ANATOLIAN HIEROGLYPH A516 ++ /xf0/x94/x98/xb9 ANATOLIAN HIEROGLYPH A517 ++ /xf0/x94/x98/xba ANATOLIAN HIEROGLYPH A518 ++ /xf0/x94/x98/xbb ANATOLIAN HIEROGLYPH A519 ++ /xf0/x94/x98/xbc ANATOLIAN HIEROGLYPH A520 ++ /xf0/x94/x98/xbd ANATOLIAN HIEROGLYPH A521 ++ /xf0/x94/x98/xbe ANATOLIAN HIEROGLYPH A522 ++ /xf0/x94/x98/xbf ANATOLIAN HIEROGLYPH A523 ++ /xf0/x94/x99/x80 ANATOLIAN HIEROGLYPH A524 ++ /xf0/x94/x99/x81 ANATOLIAN HIEROGLYPH A525 ++ /xf0/x94/x99/x82 ANATOLIAN HIEROGLYPH A526 ++ /xf0/x94/x99/x83 ANATOLIAN HIEROGLYPH A527 ++ /xf0/x94/x99/x84 ANATOLIAN HIEROGLYPH A528 ++ /xf0/x94/x99/x85 ANATOLIAN HIEROGLYPH A529 ++ /xf0/x94/x99/x86 ANATOLIAN HIEROGLYPH A530 + /xf0/x96/xa0/x80 BAMUM LETTER PHASE-A NGKUE MFON + /xf0/x96/xa0/x81 BAMUM LETTER PHASE-A GBIEE FON + /xf0/x96/xa0/x82 BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE +@@ -34784,6 +36004,17 @@ CHARMAP + /xf0/x9d/x87/x9b MUSICAL SYMBOL SCANDICUS FLEXUS + /xf0/x9d/x87/x9c MUSICAL SYMBOL TORCULUS RESUPINUS + /xf0/x9d/x87/x9d MUSICAL SYMBOL PES SUBPUNCTIS ++ /xf0/x9d/x87/x9e MUSICAL SYMBOL KIEVAN C CLEF ++ /xf0/x9d/x87/x9f MUSICAL SYMBOL KIEVAN END OF PIECE ++ /xf0/x9d/x87/xa0 MUSICAL SYMBOL KIEVAN FINAL NOTE ++ /xf0/x9d/x87/xa1 MUSICAL SYMBOL KIEVAN RECITATIVE MARK ++ /xf0/x9d/x87/xa2 MUSICAL SYMBOL KIEVAN WHOLE NOTE ++ /xf0/x9d/x87/xa3 MUSICAL SYMBOL KIEVAN HALF NOTE ++ /xf0/x9d/x87/xa4 MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN ++ /xf0/x9d/x87/xa5 MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP ++ /xf0/x9d/x87/xa6 MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN ++ /xf0/x9d/x87/xa7 MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP ++ /xf0/x9d/x87/xa8 MUSICAL SYMBOL KIEVAN FLAT SIGN + /xf0/x9d/x88/x80 GREEK VOCAL NOTATION SYMBOL-1 + /xf0/x9d/x88/x81 GREEK VOCAL NOTATION SYMBOL-2 + /xf0/x9d/x88/x82 GREEK VOCAL NOTATION SYMBOL-3 +@@ -35955,6 +37186,678 @@ CHARMAP + /xf0/x9d/x9f/xbd MATHEMATICAL MONOSPACE DIGIT SEVEN + /xf0/x9d/x9f/xbe MATHEMATICAL MONOSPACE DIGIT EIGHT + /xf0/x9d/x9f/xbf MATHEMATICAL MONOSPACE DIGIT NINE ++ /xf0/x9d/xa0/x80 SIGNWRITING HAND-FIST INDEX ++ /xf0/x9d/xa0/x81 SIGNWRITING HAND-CIRCLE INDEX ++ /xf0/x9d/xa0/x82 SIGNWRITING HAND-CUP INDEX ++ /xf0/x9d/xa0/x83 SIGNWRITING HAND-OVAL INDEX ++ /xf0/x9d/xa0/x84 SIGNWRITING HAND-HINGE INDEX ++ /xf0/x9d/xa0/x85 SIGNWRITING HAND-ANGLE INDEX ++ /xf0/x9d/xa0/x86 SIGNWRITING HAND-FIST INDEX BENT ++ /xf0/x9d/xa0/x87 SIGNWRITING HAND-CIRCLE INDEX BENT ++ /xf0/x9d/xa0/x88 SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT ++ /xf0/x9d/xa0/x89 SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE ++ /xf0/x9d/xa0/x8a SIGNWRITING HAND-FIST INDEX CUPPED ++ /xf0/x9d/xa0/x8b SIGNWRITING HAND-FIST INDEX HINGED ++ /xf0/x9d/xa0/x8c SIGNWRITING HAND-FIST INDEX HINGED LOW ++ /xf0/x9d/xa0/x8d SIGNWRITING HAND-CIRCLE INDEX HINGE ++ /xf0/x9d/xa0/x8e SIGNWRITING HAND-FIST INDEX MIDDLE ++ /xf0/x9d/xa0/x8f SIGNWRITING HAND-CIRCLE INDEX MIDDLE ++ /xf0/x9d/xa0/x90 SIGNWRITING HAND-FIST INDEX MIDDLE BENT ++ /xf0/x9d/xa0/x91 SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES ++ /xf0/x9d/xa0/x92 SIGNWRITING HAND-FIST INDEX MIDDLE HINGED ++ /xf0/x9d/xa0/x93 SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED ++ /xf0/x9d/xa0/x94 SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP ++ /xf0/x9d/xa0/x95 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED ++ /xf0/x9d/xa0/x96 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT ++ /xf0/x9d/xa0/x97 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT ++ /xf0/x9d/xa0/x98 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED ++ /xf0/x9d/xa0/x99 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED ++ /xf0/x9d/xa0/x9a SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED ++ /xf0/x9d/xa0/x9b SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED ++ /xf0/x9d/xa0/x9c SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX ++ /xf0/x9d/xa0/x9d SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE ++ /xf0/x9d/xa0/x9e SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ++ /xf0/x9d/xa0/x9f SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB ++ /xf0/x9d/xa0/xa0 SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT ++ /xf0/x9d/xa0/xa1 SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT ++ /xf0/x9d/xa0/xa2 SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT ++ /xf0/x9d/xa0/xa3 SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE ++ /xf0/x9d/xa0/xa4 SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE ++ /xf0/x9d/xa0/xa5 SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED ++ /xf0/x9d/xa0/xa6 SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE ++ /xf0/x9d/xa0/xa7 SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD ++ /xf0/x9d/xa0/xa8 SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED ++ /xf0/x9d/xa0/xa9 SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED ++ /xf0/x9d/xa0/xaa SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED ++ /xf0/x9d/xa0/xab SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED ++ /xf0/x9d/xa0/xac SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT ++ /xf0/x9d/xa0/xad SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE ++ /xf0/x9d/xa0/xae SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED ++ /xf0/x9d/xa0/xaf SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT ++ /xf0/x9d/xa0/xb0 SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP ++ /xf0/x9d/xa0/xb1 SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP ++ /xf0/x9d/xa0/xb2 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE ++ /xf0/x9d/xa0/xb3 SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE ++ /xf0/x9d/xa0/xb4 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD ++ /xf0/x9d/xa0/xb5 SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD ++ /xf0/x9d/xa0/xb6 SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP ++ /xf0/x9d/xa0/xb7 SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP ++ /xf0/x9d/xa0/xb8 SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP ++ /xf0/x9d/xa0/xb9 SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED ++ /xf0/x9d/xa0/xba SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP ++ /xf0/x9d/xa0/xbb SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP ++ /xf0/x9d/xa0/xbc SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP ++ /xf0/x9d/xa0/xbd SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED ++ /xf0/x9d/xa0/xbe SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT ++ /xf0/x9d/xa0/xbf SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED ++ /xf0/x9d/xa1/x80 SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP ++ /xf0/x9d/xa1/x81 SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED ++ /xf0/x9d/xa1/x82 SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP ++ /xf0/x9d/xa1/x83 SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED ++ /xf0/x9d/xa1/x84 SIGNWRITING HAND-FLAT FOUR FINGERS ++ /xf0/x9d/xa1/x85 SIGNWRITING HAND-FLAT FOUR FINGERS BENT ++ /xf0/x9d/xa1/x86 SIGNWRITING HAND-FLAT FOUR FINGERS HINGED ++ /xf0/x9d/xa1/x87 SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED ++ /xf0/x9d/xa1/x88 SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT ++ /xf0/x9d/xa1/x89 SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED ++ /xf0/x9d/xa1/x8a SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT ++ /xf0/x9d/xa1/x8b SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED ++ /xf0/x9d/xa1/x8c SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD ++ /xf0/x9d/xa1/x8d SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD ++ /xf0/x9d/xa1/x8e SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT ++ /xf0/x9d/xa1/x8f SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT ++ /xf0/x9d/xa1/x90 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT ++ /xf0/x9d/xa1/x91 SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT ++ /xf0/x9d/xa1/x92 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD ++ /xf0/x9d/xa1/x93 SIGNWRITING HAND-CUP FIVE FINGERS SPREAD ++ /xf0/x9d/xa1/x94 SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN ++ /xf0/x9d/xa1/x95 SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN ++ /xf0/x9d/xa1/x96 SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD ++ /xf0/x9d/xa1/x97 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED ++ /xf0/x9d/xa1/x98 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE ++ /xf0/x9d/xa1/x99 SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB ++ /xf0/x9d/xa1/x9a SIGNWRITING HAND-FLAT ++ /xf0/x9d/xa1/x9b SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS ++ /xf0/x9d/xa1/x9c SIGNWRITING HAND-FLAT HEEL ++ /xf0/x9d/xa1/x9d SIGNWRITING HAND-FLAT THUMB SIDE ++ /xf0/x9d/xa1/x9e SIGNWRITING HAND-FLAT HEEL THUMB SIDE ++ /xf0/x9d/xa1/x9f SIGNWRITING HAND-FLAT THUMB BENT ++ /xf0/x9d/xa1/xa0 SIGNWRITING HAND-FLAT THUMB FORWARD ++ /xf0/x9d/xa1/xa1 SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE ++ /xf0/x9d/xa1/xa2 SIGNWRITING HAND-FLAT SPLIT CENTRE ++ /xf0/x9d/xa1/xa3 SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE ++ /xf0/x9d/xa1/xa4 SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT ++ /xf0/x9d/xa1/xa5 SIGNWRITING HAND-FLAT SPLIT LITTLE ++ /xf0/x9d/xa1/xa6 SIGNWRITING HAND-CLAW ++ /xf0/x9d/xa1/xa7 SIGNWRITING HAND-CLAW THUMB SIDE ++ /xf0/x9d/xa1/xa8 SIGNWRITING HAND-CLAW NO THUMB ++ /xf0/x9d/xa1/xa9 SIGNWRITING HAND-CLAW THUMB FORWARD ++ /xf0/x9d/xa1/xaa SIGNWRITING HAND-HOOK CURLICUE ++ /xf0/x9d/xa1/xab SIGNWRITING HAND-HOOK ++ /xf0/x9d/xa1/xac SIGNWRITING HAND-CUP OPEN ++ /xf0/x9d/xa1/xad SIGNWRITING HAND-CUP ++ /xf0/x9d/xa1/xae SIGNWRITING HAND-CUP OPEN THUMB SIDE ++ /xf0/x9d/xa1/xaf SIGNWRITING HAND-CUP THUMB SIDE ++ /xf0/x9d/xa1/xb0 SIGNWRITING HAND-CUP OPEN NO THUMB ++ /xf0/x9d/xa1/xb1 SIGNWRITING HAND-CUP NO THUMB ++ /xf0/x9d/xa1/xb2 SIGNWRITING HAND-CUP OPEN THUMB FORWARD ++ /xf0/x9d/xa1/xb3 SIGNWRITING HAND-CUP THUMB FORWARD ++ /xf0/x9d/xa1/xb4 SIGNWRITING HAND-CURLICUE OPEN ++ /xf0/x9d/xa1/xb5 SIGNWRITING HAND-CURLICUE ++ /xf0/x9d/xa1/xb6 SIGNWRITING HAND-CIRCLE ++ /xf0/x9d/xa1/xb7 SIGNWRITING HAND-OVAL ++ /xf0/x9d/xa1/xb8 SIGNWRITING HAND-OVAL THUMB SIDE ++ /xf0/x9d/xa1/xb9 SIGNWRITING HAND-OVAL NO THUMB ++ /xf0/x9d/xa1/xba SIGNWRITING HAND-OVAL THUMB FORWARD ++ /xf0/x9d/xa1/xbb SIGNWRITING HAND-HINGE OPEN ++ /xf0/x9d/xa1/xbc SIGNWRITING HAND-HINGE OPEN THUMB FORWARD ++ /xf0/x9d/xa1/xbd SIGNWRITING HAND-HINGE ++ /xf0/x9d/xa1/xbe SIGNWRITING HAND-HINGE SMALL ++ /xf0/x9d/xa1/xbf SIGNWRITING HAND-HINGE OPEN THUMB SIDE ++ /xf0/x9d/xa2/x80 SIGNWRITING HAND-HINGE THUMB SIDE ++ /xf0/x9d/xa2/x81 SIGNWRITING HAND-HINGE OPEN NO THUMB ++ /xf0/x9d/xa2/x82 SIGNWRITING HAND-HINGE NO THUMB ++ /xf0/x9d/xa2/x83 SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX ++ /xf0/x9d/xa2/x84 SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING ++ /xf0/x9d/xa2/x85 SIGNWRITING HAND-ANGLE ++ /xf0/x9d/xa2/x86 SIGNWRITING HAND-FIST INDEX MIDDLE RING ++ /xf0/x9d/xa2/x87 SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING ++ /xf0/x9d/xa2/x88 SIGNWRITING HAND-HINGE INDEX MIDDLE RING ++ /xf0/x9d/xa2/x89 SIGNWRITING HAND-ANGLE INDEX MIDDLE RING ++ /xf0/x9d/xa2/x8a SIGNWRITING HAND-HINGE LITTLE ++ /xf0/x9d/xa2/x8b SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT ++ /xf0/x9d/xa2/x8c SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED ++ /xf0/x9d/xa2/x8d SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED ++ /xf0/x9d/xa2/x8e SIGNWRITING HAND-FIST LITTLE DOWN ++ /xf0/x9d/xa2/x8f SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT ++ /xf0/x9d/xa2/x90 SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED ++ /xf0/x9d/xa2/x91 SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED ++ /xf0/x9d/xa2/x92 SIGNWRITING HAND-FIST LITTLE UP ++ /xf0/x9d/xa2/x93 SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP ++ /xf0/x9d/xa2/x94 SIGNWRITING HAND-CIRCLE LITTLE UP ++ /xf0/x9d/xa2/x95 SIGNWRITING HAND-OVAL LITTLE UP ++ /xf0/x9d/xa2/x96 SIGNWRITING HAND-ANGLE LITTLE UP ++ /xf0/x9d/xa2/x97 SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE ++ /xf0/x9d/xa2/x98 SIGNWRITING HAND-FIST LITTLE BENT ++ /xf0/x9d/xa2/x99 SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB ++ /xf0/x9d/xa2/x9a SIGNWRITING HAND-FIST LITTLE THUMB ++ /xf0/x9d/xa2/x9b SIGNWRITING HAND-HINGE LITTLE THUMB ++ /xf0/x9d/xa2/x9c SIGNWRITING HAND-FIST LITTLE INDEX THUMB ++ /xf0/x9d/xa2/x9d SIGNWRITING HAND-HINGE LITTLE INDEX THUMB ++ /xf0/x9d/xa2/x9e SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT ++ /xf0/x9d/xa2/x9f SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB ++ /xf0/x9d/xa2/xa0 SIGNWRITING HAND-FIST LITTLE INDEX ++ /xf0/x9d/xa2/xa1 SIGNWRITING HAND-CIRCLE LITTLE INDEX ++ /xf0/x9d/xa2/xa2 SIGNWRITING HAND-HINGE LITTLE INDEX ++ /xf0/x9d/xa2/xa3 SIGNWRITING HAND-ANGLE LITTLE INDEX ++ /xf0/x9d/xa2/xa4 SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE ++ /xf0/x9d/xa2/xa5 SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE ++ /xf0/x9d/xa2/xa6 SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE ++ /xf0/x9d/xa2/xa7 SIGNWRITING HAND-HINGE RING ++ /xf0/x9d/xa2/xa8 SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE ++ /xf0/x9d/xa2/xa9 SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE ++ /xf0/x9d/xa2/xaa SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE ++ /xf0/x9d/xa2/xab SIGNWRITING HAND-FIST RING DOWN ++ /xf0/x9d/xa2/xac SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE ++ /xf0/x9d/xa2/xad SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS ++ /xf0/x9d/xa2/xae SIGNWRITING HAND-FIST RING UP ++ /xf0/x9d/xa2/xaf SIGNWRITING HAND-FIST RING RAISED KNUCKLE ++ /xf0/x9d/xa2/xb0 SIGNWRITING HAND-FIST RING LITTLE ++ /xf0/x9d/xa2/xb1 SIGNWRITING HAND-CIRCLE RING LITTLE ++ /xf0/x9d/xa2/xb2 SIGNWRITING HAND-OVAL RING LITTLE ++ /xf0/x9d/xa2/xb3 SIGNWRITING HAND-ANGLE RING LITTLE ++ /xf0/x9d/xa2/xb4 SIGNWRITING HAND-FIST RING MIDDLE ++ /xf0/x9d/xa2/xb5 SIGNWRITING HAND-FIST RING MIDDLE CONJOINED ++ /xf0/x9d/xa2/xb6 SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES ++ /xf0/x9d/xa2/xb7 SIGNWRITING HAND-FIST RING INDEX ++ /xf0/x9d/xa2/xb8 SIGNWRITING HAND-FIST RING THUMB ++ /xf0/x9d/xa2/xb9 SIGNWRITING HAND-HOOK RING THUMB ++ /xf0/x9d/xa2/xba SIGNWRITING HAND-FIST INDEX RING LITTLE ++ /xf0/x9d/xa2/xbb SIGNWRITING HAND-CIRCLE INDEX RING LITTLE ++ /xf0/x9d/xa2/xbc SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON ++ /xf0/x9d/xa2/xbd SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT ++ /xf0/x9d/xa2/xbe SIGNWRITING HAND-HOOK INDEX RING LITTLE IN ++ /xf0/x9d/xa2/xbf SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER ++ /xf0/x9d/xa3/x80 SIGNWRITING HAND-CUP INDEX RING LITTLE ++ /xf0/x9d/xa3/x81 SIGNWRITING HAND-HINGE INDEX RING LITTLE ++ /xf0/x9d/xa3/x82 SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT ++ /xf0/x9d/xa3/x83 SIGNWRITING HAND-ANGLE INDEX RING LITTLE ++ /xf0/x9d/xa3/x84 SIGNWRITING HAND-FIST MIDDLE DOWN ++ /xf0/x9d/xa3/x85 SIGNWRITING HAND-HINGE MIDDLE ++ /xf0/x9d/xa3/x86 SIGNWRITING HAND-FIST MIDDLE UP ++ /xf0/x9d/xa3/x87 SIGNWRITING HAND-CIRCLE MIDDLE UP ++ /xf0/x9d/xa3/x88 SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE ++ /xf0/x9d/xa3/x89 SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE ++ /xf0/x9d/xa3/x8a SIGNWRITING HAND-HOOK MIDDLE THUMB ++ /xf0/x9d/xa3/x8b SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE ++ /xf0/x9d/xa3/x8c SIGNWRITING HAND-FIST MIDDLE LITTLE ++ /xf0/x9d/xa3/x8d SIGNWRITING HAND-FIST MIDDLE RING LITTLE ++ /xf0/x9d/xa3/x8e SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE ++ /xf0/x9d/xa3/x8f SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON ++ /xf0/x9d/xa3/x90 SIGNWRITING HAND-CUP MIDDLE RING LITTLE ++ /xf0/x9d/xa3/x91 SIGNWRITING HAND-HINGE MIDDLE RING LITTLE ++ /xf0/x9d/xa3/x92 SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT ++ /xf0/x9d/xa3/x93 SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN ++ /xf0/x9d/xa3/x94 SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE ++ /xf0/x9d/xa3/x95 SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT ++ /xf0/x9d/xa3/x96 SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED ++ /xf0/x9d/xa3/x97 SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE ++ /xf0/x9d/xa3/x98 SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT ++ /xf0/x9d/xa3/x99 SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN ++ /xf0/x9d/xa3/x9a SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED ++ /xf0/x9d/xa3/x9b SIGNWRITING HAND-HINGE INDEX HINGED ++ /xf0/x9d/xa3/x9c SIGNWRITING HAND-FIST INDEX THUMB SIDE ++ /xf0/x9d/xa3/x9d SIGNWRITING HAND-HINGE INDEX THUMB SIDE ++ /xf0/x9d/xa3/x9e SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL ++ /xf0/x9d/xa3/x9f SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED ++ /xf0/x9d/xa3/xa0 SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT ++ /xf0/x9d/xa3/xa1 SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT ++ /xf0/x9d/xa3/xa2 SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT ++ /xf0/x9d/xa3/xa3 SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE ++ /xf0/x9d/xa3/xa4 SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT ++ /xf0/x9d/xa3/xa5 SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT ++ /xf0/x9d/xa3/xa6 SIGNWRITING HAND-FIST INDEX THUMB HOOK ++ /xf0/x9d/xa3/xa7 SIGNWRITING HAND-FIST INDEX THUMB CURLICUE ++ /xf0/x9d/xa3/xa8 SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE ++ /xf0/x9d/xa3/xa9 SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE ++ /xf0/x9d/xa3/xaa SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER ++ /xf0/x9d/xa3/xab SIGNWRITING HAND-FIST INDEX THUMB CIRCLE ++ /xf0/x9d/xa3/xac SIGNWRITING HAND-CUP INDEX THUMB ++ /xf0/x9d/xa3/xad SIGNWRITING HAND-CUP INDEX THUMB OPEN ++ /xf0/x9d/xa3/xae SIGNWRITING HAND-HINGE INDEX THUMB OPEN ++ /xf0/x9d/xa3/xaf SIGNWRITING HAND-HINGE INDEX THUMB LARGE ++ /xf0/x9d/xa3/xb0 SIGNWRITING HAND-HINGE INDEX THUMB ++ /xf0/x9d/xa3/xb1 SIGNWRITING HAND-HINGE INDEX THUMB SMALL ++ /xf0/x9d/xa3/xb2 SIGNWRITING HAND-ANGLE INDEX THUMB OUT ++ /xf0/x9d/xa3/xb3 SIGNWRITING HAND-ANGLE INDEX THUMB IN ++ /xf0/x9d/xa3/xb4 SIGNWRITING HAND-ANGLE INDEX THUMB ++ /xf0/x9d/xa3/xb5 SIGNWRITING HAND-FIST THUMB ++ /xf0/x9d/xa3/xb6 SIGNWRITING HAND-FIST THUMB HEEL ++ /xf0/x9d/xa3/xb7 SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL ++ /xf0/x9d/xa3/xb8 SIGNWRITING HAND-FIST THUMB SIDE CONJOINED ++ /xf0/x9d/xa3/xb9 SIGNWRITING HAND-FIST THUMB SIDE BENT ++ /xf0/x9d/xa3/xba SIGNWRITING HAND-FIST THUMB FORWARD ++ /xf0/x9d/xa3/xbb SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE ++ /xf0/x9d/xa3/xbc SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING ++ /xf0/x9d/xa3/xbd SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE ++ /xf0/x9d/xa3/xbe SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS ++ /xf0/x9d/xa3/xbf SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS ++ /xf0/x9d/xa4/x80 SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS ++ /xf0/x9d/xa4/x81 SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS ++ /xf0/x9d/xa4/x82 SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES ++ /xf0/x9d/xa4/x83 SIGNWRITING HAND-FIST ++ /xf0/x9d/xa4/x84 SIGNWRITING HAND-FIST HEEL ++ /xf0/x9d/xa4/x85 SIGNWRITING TOUCH SINGLE ++ /xf0/x9d/xa4/x86 SIGNWRITING TOUCH MULTIPLE ++ /xf0/x9d/xa4/x87 SIGNWRITING TOUCH BETWEEN ++ /xf0/x9d/xa4/x88 SIGNWRITING GRASP SINGLE ++ /xf0/x9d/xa4/x89 SIGNWRITING GRASP MULTIPLE ++ /xf0/x9d/xa4/x8a SIGNWRITING GRASP BETWEEN ++ /xf0/x9d/xa4/x8b SIGNWRITING STRIKE SINGLE ++ /xf0/x9d/xa4/x8c SIGNWRITING STRIKE MULTIPLE ++ /xf0/x9d/xa4/x8d SIGNWRITING STRIKE BETWEEN ++ /xf0/x9d/xa4/x8e SIGNWRITING BRUSH SINGLE ++ /xf0/x9d/xa4/x8f SIGNWRITING BRUSH MULTIPLE ++ /xf0/x9d/xa4/x90 SIGNWRITING BRUSH BETWEEN ++ /xf0/x9d/xa4/x91 SIGNWRITING RUB SINGLE ++ /xf0/x9d/xa4/x92 SIGNWRITING RUB MULTIPLE ++ /xf0/x9d/xa4/x93 SIGNWRITING RUB BETWEEN ++ /xf0/x9d/xa4/x94 SIGNWRITING SURFACE SYMBOLS ++ /xf0/x9d/xa4/x95 SIGNWRITING SURFACE BETWEEN ++ /xf0/x9d/xa4/x96 SIGNWRITING SQUEEZE LARGE SINGLE ++ /xf0/x9d/xa4/x97 SIGNWRITING SQUEEZE SMALL SINGLE ++ /xf0/x9d/xa4/x98 SIGNWRITING SQUEEZE LARGE MULTIPLE ++ /xf0/x9d/xa4/x99 SIGNWRITING SQUEEZE SMALL MULTIPLE ++ /xf0/x9d/xa4/x9a SIGNWRITING SQUEEZE SEQUENTIAL ++ /xf0/x9d/xa4/x9b SIGNWRITING FLICK LARGE SINGLE ++ /xf0/x9d/xa4/x9c SIGNWRITING FLICK SMALL SINGLE ++ /xf0/x9d/xa4/x9d SIGNWRITING FLICK LARGE MULTIPLE ++ /xf0/x9d/xa4/x9e SIGNWRITING FLICK SMALL MULTIPLE ++ /xf0/x9d/xa4/x9f SIGNWRITING FLICK SEQUENTIAL ++ /xf0/x9d/xa4/xa0 SIGNWRITING SQUEEZE FLICK ALTERNATING ++ /xf0/x9d/xa4/xa1 SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE ++ /xf0/x9d/xa4/xa2 SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL ++ /xf0/x9d/xa4/xa3 SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL ++ /xf0/x9d/xa4/xa4 SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL ++ /xf0/x9d/xa4/xa5 SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE ++ /xf0/x9d/xa4/xa6 SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL ++ /xf0/x9d/xa4/xa7 SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS ++ /xf0/x9d/xa4/xa8 SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT ++ /xf0/x9d/xa4/xa9 SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT ++ /xf0/x9d/xa4/xaa SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL ++ /xf0/x9d/xa4/xab SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM ++ /xf0/x9d/xa4/xac SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE ++ /xf0/x9d/xa4/xad SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST ++ /xf0/x9d/xa4/xae SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX ++ /xf0/x9d/xa4/xaf SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT ++ /xf0/x9d/xa4/xb0 SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX ++ /xf0/x9d/xa4/xb1 SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING ++ /xf0/x9d/xa4/xb2 SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX ++ /xf0/x9d/xa4/xb3 SIGNWRITING MOVEMENT-WALLPLANE CROSS ++ /xf0/x9d/xa4/xb4 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT ++ /xf0/x9d/xa4/xb5 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX ++ /xf0/x9d/xa4/xb6 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING ++ /xf0/x9d/xa4/xb7 SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX ++ /xf0/x9d/xa4/xb8 SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL ++ /xf0/x9d/xa4/xb9 SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM ++ /xf0/x9d/xa4/xba SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE ++ /xf0/x9d/xa4/xbb SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL ++ /xf0/x9d/xa4/xbc SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM ++ /xf0/x9d/xa4/xbd SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE ++ /xf0/x9d/xa4/xbe SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION ++ /xf0/x9d/xa4/xbf SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL ++ /xf0/x9d/xa5/x80 SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM ++ /xf0/x9d/xa5/x81 SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE ++ /xf0/x9d/xa5/x82 SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL ++ /xf0/x9d/xa5/x83 SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM ++ /xf0/x9d/xa5/x84 SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE ++ /xf0/x9d/xa5/x85 SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL ++ /xf0/x9d/xa5/x86 SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM ++ /xf0/x9d/xa5/x87 SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE ++ /xf0/x9d/xa5/x88 SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL ++ /xf0/x9d/xa5/x89 SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM ++ /xf0/x9d/xa5/x8a SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE ++ /xf0/x9d/xa5/x8b SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE ++ /xf0/x9d/xa5/x8c SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE ++ /xf0/x9d/xa5/x8d SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING ++ /xf0/x9d/xa5/x8e SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE ++ /xf0/x9d/xa5/x8f SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE ++ /xf0/x9d/xa5/x90 SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING ++ /xf0/x9d/xa5/x91 SIGNWRITING TRAVEL-WALLPLANE SHAKING ++ /xf0/x9d/xa5/x92 SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE ++ /xf0/x9d/xa5/x93 SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE ++ /xf0/x9d/xa5/x94 SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE ++ /xf0/x9d/xa5/x95 SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL ++ /xf0/x9d/xa5/x96 SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM ++ /xf0/x9d/xa5/x97 SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE ++ /xf0/x9d/xa5/x98 SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST ++ /xf0/x9d/xa5/x99 SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL ++ /xf0/x9d/xa5/x9a SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM ++ /xf0/x9d/xa5/x9b SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE ++ /xf0/x9d/xa5/x9c SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST ++ /xf0/x9d/xa5/x9d SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL ++ /xf0/x9d/xa5/x9e SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM ++ /xf0/x9d/xa5/x9f SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE ++ /xf0/x9d/xa5/xa0 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST ++ /xf0/x9d/xa5/xa1 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL ++ /xf0/x9d/xa5/xa2 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM ++ /xf0/x9d/xa5/xa3 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE ++ /xf0/x9d/xa5/xa4 SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST ++ /xf0/x9d/xa5/xa5 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL ++ /xf0/x9d/xa5/xa6 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM ++ /xf0/x9d/xa5/xa7 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE ++ /xf0/x9d/xa5/xa8 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST ++ /xf0/x9d/xa5/xa9 SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX ++ /xf0/x9d/xa5/xaa SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT ++ /xf0/x9d/xa5/xab SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX ++ /xf0/x9d/xa5/xac SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING ++ /xf0/x9d/xa5/xad SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX ++ /xf0/x9d/xa5/xae SIGNWRITING MOVEMENT-FLOORPLANE CROSS ++ /xf0/x9d/xa5/xaf SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT ++ /xf0/x9d/xa5/xb0 SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX ++ /xf0/x9d/xa5/xb1 SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT ++ /xf0/x9d/xa5/xb2 SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX ++ /xf0/x9d/xa5/xb3 SIGNWRITING MOVEMENT-FLOORPLANE BEND ++ /xf0/x9d/xa5/xb4 SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL ++ /xf0/x9d/xa5/xb5 SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM ++ /xf0/x9d/xa5/xb6 SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE ++ /xf0/x9d/xa5/xb7 SIGNWRITING MOVEMENT-FLOORPLANE CHECK ++ /xf0/x9d/xa5/xb8 SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL ++ /xf0/x9d/xa5/xb9 SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM ++ /xf0/x9d/xa5/xba SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE ++ /xf0/x9d/xa5/xbb SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL ++ /xf0/x9d/xa5/xbc SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM ++ /xf0/x9d/xa5/xbd SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE ++ /xf0/x9d/xa5/xbe SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL ++ /xf0/x9d/xa5/xbf SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM ++ /xf0/x9d/xa6/x80 SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE ++ /xf0/x9d/xa6/x81 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE ++ /xf0/x9d/xa6/x82 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE ++ /xf0/x9d/xa6/x83 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING ++ /xf0/x9d/xa6/x84 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE ++ /xf0/x9d/xa6/x85 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE ++ /xf0/x9d/xa6/x86 SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING ++ /xf0/x9d/xa6/x87 SIGNWRITING TRAVEL-FLOORPLANE SHAKING ++ /xf0/x9d/xa6/x88 SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL ++ /xf0/x9d/xa6/x89 SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM ++ /xf0/x9d/xa6/x8a SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE ++ /xf0/x9d/xa6/x8b SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST ++ /xf0/x9d/xa6/x8c SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL ++ /xf0/x9d/xa6/x8d SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM ++ /xf0/x9d/xa6/x8e SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE ++ /xf0/x9d/xa6/x8f SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST ++ /xf0/x9d/xa6/x90 SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL ++ /xf0/x9d/xa6/x91 SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM ++ /xf0/x9d/xa6/x92 SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL ++ /xf0/x9d/xa6/x93 SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM ++ /xf0/x9d/xa6/x94 SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE ++ /xf0/x9d/xa6/x95 SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL ++ /xf0/x9d/xa6/x96 SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM ++ /xf0/x9d/xa6/x97 SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE ++ /xf0/x9d/xa6/x98 SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE ++ /xf0/x9d/xa6/x99 SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL ++ /xf0/x9d/xa6/x9a SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM ++ /xf0/x9d/xa6/x9b SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE ++ /xf0/x9d/xa6/x9c SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL ++ /xf0/x9d/xa6/x9d SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM ++ /xf0/x9d/xa6/x9e SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE ++ /xf0/x9d/xa6/x9f SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT ++ /xf0/x9d/xa6/xa0 SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL ++ /xf0/x9d/xa6/xa1 SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM ++ /xf0/x9d/xa6/xa2 SIGNWRITING ROTATION-WALLPLANE SINGLE ++ /xf0/x9d/xa6/xa3 SIGNWRITING ROTATION-WALLPLANE DOUBLE ++ /xf0/x9d/xa6/xa4 SIGNWRITING ROTATION-WALLPLANE ALTERNATE ++ /xf0/x9d/xa6/xa5 SIGNWRITING MOVEMENT-WALLPLANE SHAKING ++ /xf0/x9d/xa6/xa6 SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL ++ /xf0/x9d/xa6/xa7 SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL ++ /xf0/x9d/xa6/xa8 SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL ++ /xf0/x9d/xa6/xa9 SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL ++ /xf0/x9d/xa6/xaa SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL ++ /xf0/x9d/xa6/xab SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL ++ /xf0/x9d/xa6/xac SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL ++ /xf0/x9d/xa6/xad SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST ++ /xf0/x9d/xa6/xae SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST ++ /xf0/x9d/xa6/xaf SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST ++ /xf0/x9d/xa6/xb0 SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST ++ /xf0/x9d/xa6/xb1 SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST ++ /xf0/x9d/xa6/xb2 SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST ++ /xf0/x9d/xa6/xb3 SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST ++ /xf0/x9d/xa6/xb4 SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL ++ /xf0/x9d/xa6/xb5 SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM ++ /xf0/x9d/xa6/xb6 SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE ++ /xf0/x9d/xa6/xb7 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL ++ /xf0/x9d/xa6/xb8 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE ++ /xf0/x9d/xa6/xb9 SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE ++ /xf0/x9d/xa6/xba SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE ++ /xf0/x9d/xa6/xbb SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE ++ /xf0/x9d/xa6/xbc SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE ++ /xf0/x9d/xa6/xbd SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE ++ /xf0/x9d/xa6/xbe SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE ++ /xf0/x9d/xa6/xbf SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE ++ /xf0/x9d/xa7/x80 SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE ++ /xf0/x9d/xa7/x81 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL ++ /xf0/x9d/xa7/x82 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE ++ /xf0/x9d/xa7/x83 SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING ++ /xf0/x9d/xa7/x84 SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING ++ /xf0/x9d/xa7/x85 SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING ++ /xf0/x9d/xa7/x86 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL ++ /xf0/x9d/xa7/x87 SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE ++ /xf0/x9d/xa7/x88 SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE ++ /xf0/x9d/xa7/x89 SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE ++ /xf0/x9d/xa7/x8a SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE ++ /xf0/x9d/xa7/x8b SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE ++ /xf0/x9d/xa7/x8c SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE ++ /xf0/x9d/xa7/x8d SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE ++ /xf0/x9d/xa7/x8e SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE ++ /xf0/x9d/xa7/x8f SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE ++ /xf0/x9d/xa7/x90 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL ++ /xf0/x9d/xa7/x91 SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE ++ /xf0/x9d/xa7/x92 SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR ++ /xf0/x9d/xa7/x93 SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR ++ /xf0/x9d/xa7/x94 SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR ++ /xf0/x9d/xa7/x95 SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL ++ /xf0/x9d/xa7/x96 SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM ++ /xf0/x9d/xa7/x97 SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE ++ /xf0/x9d/xa7/x98 SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST ++ /xf0/x9d/xa7/x99 SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED ++ /xf0/x9d/xa7/x9a SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL ++ /xf0/x9d/xa7/x9b SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL ++ /xf0/x9d/xa7/x9c SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE ++ /xf0/x9d/xa7/x9d SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL ++ /xf0/x9d/xa7/x9e SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE ++ /xf0/x9d/xa7/x9f SIGNWRITING ROTATION-FLOORPLANE SINGLE ++ /xf0/x9d/xa7/xa0 SIGNWRITING ROTATION-FLOORPLANE DOUBLE ++ /xf0/x9d/xa7/xa1 SIGNWRITING ROTATION-FLOORPLANE ALTERNATING ++ /xf0/x9d/xa7/xa2 SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL ++ /xf0/x9d/xa7/xa3 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE ++ /xf0/x9d/xa7/xa4 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE ++ /xf0/x9d/xa7/xa5 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE ++ /xf0/x9d/xa7/xa6 SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE ++ /xf0/x9d/xa7/xa7 SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE ++ /xf0/x9d/xa7/xa8 SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE ++ /xf0/x9d/xa7/xa9 SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE ++ /xf0/x9d/xa7/xaa SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE ++ /xf0/x9d/xa7/xab SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE ++ /xf0/x9d/xa7/xac SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE ++ /xf0/x9d/xa7/xad SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE ++ /xf0/x9d/xa7/xae SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE ++ /xf0/x9d/xa7/xaf SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE ++ /xf0/x9d/xa7/xb0 SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE ++ /xf0/x9d/xa7/xb1 SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE ++ /xf0/x9d/xa7/xb2 SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE ++ /xf0/x9d/xa7/xb3 SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE ++ /xf0/x9d/xa7/xb4 SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE ++ /xf0/x9d/xa7/xb5 SIGNWRITING DYNAMIC ARROWHEAD SMALL ++ /xf0/x9d/xa7/xb6 SIGNWRITING DYNAMIC ARROWHEAD LARGE ++ /xf0/x9d/xa7/xb7 SIGNWRITING DYNAMIC FAST ++ /xf0/x9d/xa7/xb8 SIGNWRITING DYNAMIC SLOW ++ /xf0/x9d/xa7/xb9 SIGNWRITING DYNAMIC TENSE ++ /xf0/x9d/xa7/xba SIGNWRITING DYNAMIC RELAXED ++ /xf0/x9d/xa7/xbb SIGNWRITING DYNAMIC SIMULTANEOUS ++ /xf0/x9d/xa7/xbc SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING ++ /xf0/x9d/xa7/xbd SIGNWRITING DYNAMIC EVERY OTHER TIME ++ /xf0/x9d/xa7/xbe SIGNWRITING DYNAMIC GRADUAL ++ /xf0/x9d/xa7/xbf SIGNWRITING HEAD ++ /xf0/x9d/xa8/x80 SIGNWRITING HEAD RIM ++ /xf0/x9d/xa8/x81 SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT ++ /xf0/x9d/xa8/x82 SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT ++ /xf0/x9d/xa8/x83 SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT ++ /xf0/x9d/xa8/x84 SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE ++ /xf0/x9d/xa8/x85 SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE ++ /xf0/x9d/xa8/x86 SIGNWRITING HEAD MOVEMENT CIRCLE ++ /xf0/x9d/xa8/x87 SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING ++ /xf0/x9d/xa8/x88 SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN ++ /xf0/x9d/xa8/x89 SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING ++ /xf0/x9d/xa8/x8a SIGNWRITING EYEBROWS STRAIGHT UP ++ /xf0/x9d/xa8/x8b SIGNWRITING EYEBROWS STRAIGHT NEUTRAL ++ /xf0/x9d/xa8/x8c SIGNWRITING EYEBROWS STRAIGHT DOWN ++ /xf0/x9d/xa8/x8d SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN ++ /xf0/x9d/xa8/x8e SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL ++ /xf0/x9d/xa8/x8f SIGNWRITING DREAMY EYEBROWS UP NEUTRAL ++ /xf0/x9d/xa8/x90 SIGNWRITING DREAMY EYEBROWS NEUTRAL UP ++ /xf0/x9d/xa8/x91 SIGNWRITING FOREHEAD NEUTRAL ++ /xf0/x9d/xa8/x92 SIGNWRITING FOREHEAD CONTACT ++ /xf0/x9d/xa8/x93 SIGNWRITING FOREHEAD WRINKLED ++ /xf0/x9d/xa8/x94 SIGNWRITING EYES OPEN ++ /xf0/x9d/xa8/x95 SIGNWRITING EYES SQUEEZED ++ /xf0/x9d/xa8/x96 SIGNWRITING EYES CLOSED ++ /xf0/x9d/xa8/x97 SIGNWRITING EYE BLINK SINGLE ++ /xf0/x9d/xa8/x98 SIGNWRITING EYE BLINK MULTIPLE ++ /xf0/x9d/xa8/x99 SIGNWRITING EYES HALF OPEN ++ /xf0/x9d/xa8/x9a SIGNWRITING EYES WIDE OPEN ++ /xf0/x9d/xa8/x9b SIGNWRITING EYES HALF CLOSED ++ /xf0/x9d/xa8/x9c SIGNWRITING EYES WIDENING MOVEMENT ++ /xf0/x9d/xa8/x9d SIGNWRITING EYE WINK ++ /xf0/x9d/xa8/x9e SIGNWRITING EYELASHES UP ++ /xf0/x9d/xa8/x9f SIGNWRITING EYELASHES DOWN ++ /xf0/x9d/xa8/xa0 SIGNWRITING EYELASHES FLUTTERING ++ /xf0/x9d/xa8/xa1 SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ++ /xf0/x9d/xa8/xa2 SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE ++ /xf0/x9d/xa8/xa3 SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING ++ /xf0/x9d/xa8/xa4 SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ++ /xf0/x9d/xa8/xa5 SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE ++ /xf0/x9d/xa8/xa6 SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING ++ /xf0/x9d/xa8/xa7 SIGNWRITING EYEGAZE-WALLPLANE CURVED ++ /xf0/x9d/xa8/xa8 SIGNWRITING EYEGAZE-FLOORPLANE CURVED ++ /xf0/x9d/xa8/xa9 SIGNWRITING EYEGAZE-WALLPLANE CIRCLING ++ /xf0/x9d/xa8/xaa SIGNWRITING CHEEKS PUFFED ++ /xf0/x9d/xa8/xab SIGNWRITING CHEEKS NEUTRAL ++ /xf0/x9d/xa8/xac SIGNWRITING CHEEKS SUCKED ++ /xf0/x9d/xa8/xad SIGNWRITING TENSE CHEEKS HIGH ++ /xf0/x9d/xa8/xae SIGNWRITING TENSE CHEEKS MIDDLE ++ /xf0/x9d/xa8/xaf SIGNWRITING TENSE CHEEKS LOW ++ /xf0/x9d/xa8/xb0 SIGNWRITING EARS ++ /xf0/x9d/xa8/xb1 SIGNWRITING NOSE NEUTRAL ++ /xf0/x9d/xa8/xb2 SIGNWRITING NOSE CONTACT ++ /xf0/x9d/xa8/xb3 SIGNWRITING NOSE WRINKLES ++ /xf0/x9d/xa8/xb4 SIGNWRITING NOSE WIGGLES ++ /xf0/x9d/xa8/xb5 SIGNWRITING AIR BLOWING OUT ++ /xf0/x9d/xa8/xb6 SIGNWRITING AIR SUCKING IN ++ /xf0/x9d/xa8/xb7 SIGNWRITING AIR BLOW SMALL ROTATIONS ++ /xf0/x9d/xa8/xb8 SIGNWRITING AIR SUCK SMALL ROTATIONS ++ /xf0/x9d/xa8/xb9 SIGNWRITING BREATH INHALE ++ /xf0/x9d/xa8/xba SIGNWRITING BREATH EXHALE ++ /xf0/x9d/xa8/xbb SIGNWRITING MOUTH CLOSED NEUTRAL ++ /xf0/x9d/xa8/xbc SIGNWRITING MOUTH CLOSED FORWARD ++ /xf0/x9d/xa8/xbd SIGNWRITING MOUTH CLOSED CONTACT ++ /xf0/x9d/xa8/xbe SIGNWRITING MOUTH SMILE ++ /xf0/x9d/xa8/xbf SIGNWRITING MOUTH SMILE WRINKLED ++ /xf0/x9d/xa9/x80 SIGNWRITING MOUTH SMILE OPEN ++ /xf0/x9d/xa9/x81 SIGNWRITING MOUTH FROWN ++ /xf0/x9d/xa9/x82 SIGNWRITING MOUTH FROWN WRINKLED ++ /xf0/x9d/xa9/x83 SIGNWRITING MOUTH FROWN OPEN ++ /xf0/x9d/xa9/x84 SIGNWRITING MOUTH OPEN CIRCLE ++ /xf0/x9d/xa9/x85 SIGNWRITING MOUTH OPEN FORWARD ++ /xf0/x9d/xa9/x86 SIGNWRITING MOUTH OPEN WRINKLED ++ /xf0/x9d/xa9/x87 SIGNWRITING MOUTH OPEN OVAL ++ /xf0/x9d/xa9/x88 SIGNWRITING MOUTH OPEN OVAL WRINKLED ++ /xf0/x9d/xa9/x89 SIGNWRITING MOUTH OPEN OVAL YAWN ++ /xf0/x9d/xa9/x8a SIGNWRITING MOUTH OPEN RECTANGLE ++ /xf0/x9d/xa9/x8b SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED ++ /xf0/x9d/xa9/x8c SIGNWRITING MOUTH OPEN RECTANGLE YAWN ++ /xf0/x9d/xa9/x8d SIGNWRITING MOUTH KISS ++ /xf0/x9d/xa9/x8e SIGNWRITING MOUTH KISS FORWARD ++ /xf0/x9d/xa9/x8f SIGNWRITING MOUTH KISS WRINKLED ++ /xf0/x9d/xa9/x90 SIGNWRITING MOUTH TENSE ++ /xf0/x9d/xa9/x91 SIGNWRITING MOUTH TENSE FORWARD ++ /xf0/x9d/xa9/x92 SIGNWRITING MOUTH TENSE SUCKED ++ /xf0/x9d/xa9/x93 SIGNWRITING LIPS PRESSED TOGETHER ++ /xf0/x9d/xa9/x94 SIGNWRITING LIP LOWER OVER UPPER ++ /xf0/x9d/xa9/x95 SIGNWRITING LIP UPPER OVER LOWER ++ /xf0/x9d/xa9/x96 SIGNWRITING MOUTH CORNERS ++ /xf0/x9d/xa9/x97 SIGNWRITING MOUTH WRINKLES SINGLE ++ /xf0/x9d/xa9/x98 SIGNWRITING MOUTH WRINKLES DOUBLE ++ /xf0/x9d/xa9/x99 SIGNWRITING TONGUE STICKING OUT FAR ++ /xf0/x9d/xa9/x9a SIGNWRITING TONGUE LICKING LIPS ++ /xf0/x9d/xa9/x9b SIGNWRITING TONGUE TIP BETWEEN LIPS ++ /xf0/x9d/xa9/x9c SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH ++ /xf0/x9d/xa9/x9d SIGNWRITING TONGUE INSIDE MOUTH RELAXED ++ /xf0/x9d/xa9/x9e SIGNWRITING TONGUE MOVES AGAINST CHEEK ++ /xf0/x9d/xa9/x9f SIGNWRITING TONGUE CENTRE STICKING OUT ++ /xf0/x9d/xa9/xa0 SIGNWRITING TONGUE CENTRE INSIDE MOUTH ++ /xf0/x9d/xa9/xa1 SIGNWRITING TEETH ++ /xf0/x9d/xa9/xa2 SIGNWRITING TEETH MOVEMENT ++ /xf0/x9d/xa9/xa3 SIGNWRITING TEETH ON TONGUE ++ /xf0/x9d/xa9/xa4 SIGNWRITING TEETH ON TONGUE MOVEMENT ++ /xf0/x9d/xa9/xa5 SIGNWRITING TEETH ON LIPS ++ /xf0/x9d/xa9/xa6 SIGNWRITING TEETH ON LIPS MOVEMENT ++ /xf0/x9d/xa9/xa7 SIGNWRITING TEETH BITE LIPS ++ /xf0/x9d/xa9/xa8 SIGNWRITING MOVEMENT-WALLPLANE JAW ++ /xf0/x9d/xa9/xa9 SIGNWRITING MOVEMENT-FLOORPLANE JAW ++ /xf0/x9d/xa9/xaa SIGNWRITING NECK ++ /xf0/x9d/xa9/xab SIGNWRITING HAIR ++ /xf0/x9d/xa9/xac SIGNWRITING EXCITEMENT ++ /xf0/x9d/xa9/xad SIGNWRITING SHOULDER HIP SPINE ++ /xf0/x9d/xa9/xae SIGNWRITING SHOULDER HIP POSITIONS ++ /xf0/x9d/xa9/xaf SIGNWRITING WALLPLANE SHOULDER HIP MOVE ++ /xf0/x9d/xa9/xb0 SIGNWRITING FLOORPLANE SHOULDER HIP MOVE ++ /xf0/x9d/xa9/xb1 SIGNWRITING SHOULDER TILTING FROM WAIST ++ /xf0/x9d/xa9/xb2 SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH ++ /xf0/x9d/xa9/xb3 SIGNWRITING TORSO-WALLPLANE CURVED BEND ++ /xf0/x9d/xa9/xb4 SIGNWRITING TORSO-FLOORPLANE TWISTING ++ /xf0/x9d/xa9/xb5 SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS ++ /xf0/x9d/xa9/xb6 SIGNWRITING LIMB COMBINATION ++ /xf0/x9d/xa9/xb7 SIGNWRITING LIMB LENGTH-1 ++ /xf0/x9d/xa9/xb8 SIGNWRITING LIMB LENGTH-2 ++ /xf0/x9d/xa9/xb9 SIGNWRITING LIMB LENGTH-3 ++ /xf0/x9d/xa9/xba SIGNWRITING LIMB LENGTH-4 ++ /xf0/x9d/xa9/xbb SIGNWRITING LIMB LENGTH-5 ++ /xf0/x9d/xa9/xbc SIGNWRITING LIMB LENGTH-6 ++ /xf0/x9d/xa9/xbd SIGNWRITING LIMB LENGTH-7 ++ /xf0/x9d/xa9/xbe SIGNWRITING FINGER ++ /xf0/x9d/xa9/xbf SIGNWRITING LOCATION-WALLPLANE SPACE ++ /xf0/x9d/xaa/x80 SIGNWRITING LOCATION-FLOORPLANE SPACE ++ /xf0/x9d/xaa/x81 SIGNWRITING LOCATION HEIGHT ++ /xf0/x9d/xaa/x82 SIGNWRITING LOCATION WIDTH ++ /xf0/x9d/xaa/x83 SIGNWRITING LOCATION DEPTH ++ /xf0/x9d/xaa/x84 SIGNWRITING LOCATION HEAD NECK ++ /xf0/x9d/xaa/x85 SIGNWRITING LOCATION TORSO ++ /xf0/x9d/xaa/x86 SIGNWRITING LOCATION LIMBS DIGITS ++ /xf0/x9d/xaa/x87 SIGNWRITING COMMA ++ /xf0/x9d/xaa/x88 SIGNWRITING FULL STOP ++ /xf0/x9d/xaa/x89 SIGNWRITING SEMICOLON ++ /xf0/x9d/xaa/x8a SIGNWRITING COLON ++ /xf0/x9d/xaa/x8b SIGNWRITING PARENTHESIS ++ /xf0/x9d/xaa/x9b SIGNWRITING FILL MODIFIER-2 ++ /xf0/x9d/xaa/x9c SIGNWRITING FILL MODIFIER-3 ++ /xf0/x9d/xaa/x9d SIGNWRITING FILL MODIFIER-4 ++ /xf0/x9d/xaa/x9e SIGNWRITING FILL MODIFIER-5 ++ /xf0/x9d/xaa/x9f SIGNWRITING FILL MODIFIER-6 ++ /xf0/x9d/xaa/xa1 SIGNWRITING ROTATION MODIFIER-2 ++ /xf0/x9d/xaa/xa2 SIGNWRITING ROTATION MODIFIER-3 ++ /xf0/x9d/xaa/xa3 SIGNWRITING ROTATION MODIFIER-4 ++ /xf0/x9d/xaa/xa4 SIGNWRITING ROTATION MODIFIER-5 ++ /xf0/x9d/xaa/xa5 SIGNWRITING ROTATION MODIFIER-6 ++ /xf0/x9d/xaa/xa6 SIGNWRITING ROTATION MODIFIER-7 ++ /xf0/x9d/xaa/xa7 SIGNWRITING ROTATION MODIFIER-8 ++ /xf0/x9d/xaa/xa8 SIGNWRITING ROTATION MODIFIER-9 ++ /xf0/x9d/xaa/xa9 SIGNWRITING ROTATION MODIFIER-10 ++ /xf0/x9d/xaa/xaa SIGNWRITING ROTATION MODIFIER-11 ++ /xf0/x9d/xaa/xab SIGNWRITING ROTATION MODIFIER-12 ++ /xf0/x9d/xaa/xac SIGNWRITING ROTATION MODIFIER-13 ++ /xf0/x9d/xaa/xad SIGNWRITING ROTATION MODIFIER-14 ++ /xf0/x9d/xaa/xae SIGNWRITING ROTATION MODIFIER-15 ++ /xf0/x9d/xaa/xaf SIGNWRITING ROTATION MODIFIER-16 + /xf0/x9e/xa0/x80 MENDE KIKAKUI SYLLABLE M001 KI + /xf0/x9e/xa0/x81 MENDE KIKAKUI SYLLABLE M002 KA + /xf0/x9e/xa0/x82 MENDE KIKAKUI SYLLABLE M003 KU +@@ -36812,6 +38715,9 @@ CHARMAP + /xf0/x9f/x8c/xaa CLOUD WITH TORNADO + /xf0/x9f/x8c/xab FOG + /xf0/x9f/x8c/xac WIND BLOWING FACE ++ /xf0/x9f/x8c/xad HOT DOG ++ /xf0/x9f/x8c/xae TACO ++ /xf0/x9f/x8c/xaf BURRITO + /xf0/x9f/x8c/xb0 CHESTNUT + /xf0/x9f/x8c/xb1 SEEDLING + /xf0/x9f/x8c/xb2 EVERGREEN TREE +@@ -36890,6 +38796,8 @@ CHARMAP + /xf0/x9f/x8d/xbb CLINKING BEER MUGS + /xf0/x9f/x8d/xbc BABY BOTTLE + /xf0/x9f/x8d/xbd FORK AND KNIFE WITH PLATE ++ /xf0/x9f/x8d/xbe BOTTLE WITH POPPING CORK ++ /xf0/x9f/x8d/xbf POPCORN + /xf0/x9f/x8e/x80 RIBBON + /xf0/x9f/x8e/x81 WRAPPED PRESENT + /xf0/x9f/x8e/x82 BIRTHDAY CAKE +@@ -36969,6 +38877,11 @@ CHARMAP + /xf0/x9f/x8f/x8c GOLFER + /xf0/x9f/x8f/x8d RACING MOTORCYCLE + /xf0/x9f/x8f/x8e RACING CAR ++ /xf0/x9f/x8f/x8f CRICKET BAT AND BALL ++ /xf0/x9f/x8f/x90 VOLLEYBALL ++ /xf0/x9f/x8f/x91 FIELD HOCKEY STICK AND BALL ++ /xf0/x9f/x8f/x92 ICE HOCKEY STICK AND PUCK ++ /xf0/x9f/x8f/x93 TABLE TENNIS PADDLE AND BALL + /xf0/x9f/x8f/x94 SNOW CAPPED MOUNTAIN + /xf0/x9f/x8f/x95 CAMPING + /xf0/x9f/x8f/x96 BEACH WITH UMBRELLA +@@ -37005,6 +38918,14 @@ CHARMAP + /xf0/x9f/x8f/xb5 ROSETTE + /xf0/x9f/x8f/xb6 BLACK ROSETTE + /xf0/x9f/x8f/xb7 LABEL ++ /xf0/x9f/x8f/xb8 BADMINTON RACQUET AND SHUTTLECOCK ++ /xf0/x9f/x8f/xb9 BOW AND ARROW ++ /xf0/x9f/x8f/xba AMPHORA ++ /xf0/x9f/x8f/xbb EMOJI MODIFIER FITZPATRICK TYPE-1-2 ++ /xf0/x9f/x8f/xbc EMOJI MODIFIER FITZPATRICK TYPE-3 ++ /xf0/x9f/x8f/xbd EMOJI MODIFIER FITZPATRICK TYPE-4 ++ /xf0/x9f/x8f/xbe EMOJI MODIFIER FITZPATRICK TYPE-5 ++ /xf0/x9f/x8f/xbf EMOJI MODIFIER FITZPATRICK TYPE-6 + /xf0/x9f/x90/x80 RAT + /xf0/x9f/x90/x81 MOUSE + /xf0/x9f/x90/x82 OX +@@ -37260,6 +39181,7 @@ CHARMAP + /xf0/x9f/x93/xbc VIDEOCASSETTE + /xf0/x9f/x93/xbd FILM PROJECTOR + /xf0/x9f/x93/xbe PORTABLE STEREO ++ /xf0/x9f/x93/xbf PRAYER BEADS + /xf0/x9f/x94/x80 TWISTED RIGHTWARDS ARROWS + /xf0/x9f/x94/x81 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS + /xf0/x9f/x94/x82 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY +@@ -37335,6 +39257,11 @@ CHARMAP + /xf0/x9f/x95/x88 CELTIC CROSS + /xf0/x9f/x95/x89 OM SYMBOL + /xf0/x9f/x95/x8a DOVE OF PEACE ++ /xf0/x9f/x95/x8b KAABA ++ /xf0/x9f/x95/x8c MOSQUE ++ /xf0/x9f/x95/x8d SYNAGOGUE ++ /xf0/x9f/x95/x8e MENORAH WITH NINE BRANCHES ++ /xf0/x9f/x95/x8f BOWL OF HYGIEIA + /xf0/x9f/x95/x90 CLOCK FACE ONE OCLOCK + /xf0/x9f/x95/x91 CLOCK FACE TWO OCLOCK + /xf0/x9f/x95/x92 CLOCK FACE THREE OCLOCK +@@ -37576,6 +39503,8 @@ CHARMAP + /xf0/x9f/x99/x80 WEARY CAT FACE + /xf0/x9f/x99/x81 SLIGHTLY FROWNING FACE + /xf0/x9f/x99/x82 SLIGHTLY SMILING FACE ++ /xf0/x9f/x99/x83 UPSIDE-DOWN FACE ++ /xf0/x9f/x99/x84 FACE WITH ROLLING EYES + /xf0/x9f/x99/x85 FACE WITH NO GOOD GESTURE + /xf0/x9f/x99/x86 FACE WITH OK GESTURE + /xf0/x9f/x99/x87 PERSON BOWING DEEPLY +@@ -37715,6 +39644,7 @@ CHARMAP + /xf0/x9f/x9b/x8d SHOPPING BAGS + /xf0/x9f/x9b/x8e BELLHOP BELL + /xf0/x9f/x9b/x8f BED ++ /xf0/x9f/x9b/x90 PLACE OF WORSHIP + /xf0/x9f/x9b/xa0 HAMMER AND WRENCH + /xf0/x9f/x9b/xa1 SHIELD + /xf0/x9f/x9b/xa2 OIL DRUM +@@ -38081,6 +40011,21 @@ CHARMAP + /xf0/x9f/xa2/xab RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW + /xf0/x9f/xa2/xac WHITE ARROW SHAFT WIDTH ONE + /xf0/x9f/xa2/xad WHITE ARROW SHAFT WIDTH TWO THIRDS ++ /xf0/x9f/xa4/x90 ZIPPER-MOUTH FACE ++ /xf0/x9f/xa4/x91 MONEY-MOUTH FACE ++ /xf0/x9f/xa4/x92 FACE WITH THERMOMETER ++ /xf0/x9f/xa4/x93 NERD FACE ++ /xf0/x9f/xa4/x94 THINKING FACE ++ /xf0/x9f/xa4/x95 FACE WITH HEAD-BANDAGE ++ /xf0/x9f/xa4/x96 ROBOT FACE ++ /xf0/x9f/xa4/x97 HUGGING FACE ++ /xf0/x9f/xa4/x98 SIGN OF THE HORNS ++ /xf0/x9f/xa6/x80 CRAB ++ /xf0/x9f/xa6/x81 LION FACE ++ /xf0/x9f/xa6/x82 SCORPION ++ /xf0/x9f/xa6/x83 TURKEY ++ /xf0/x9f/xa6/x84 UNICORN FACE ++ /xf0/x9f/xa7/x80 CHEESE WEDGE + .. /xf0/xa0/x80/x80 + .. /xf0/xa0/x81/x80 + .. /xf0/xa0/x82/x80 +@@ -38818,6 +40763,97 @@ CHARMAP + .. /xf0/xab/x9e/x80 + .. /xf0/xab/x9f/x80 + .. /xf0/xab/xa0/x80 ++.. /xf0/xab/xa0/xa0 ++.. /xf0/xab/xa1/xa0 ++.. /xf0/xab/xa2/xa0 ++.. /xf0/xab/xa3/xa0 ++.. /xf0/xab/xa4/xa0 ++.. /xf0/xab/xa5/xa0 ++.. /xf0/xab/xa6/xa0 ++.. /xf0/xab/xa7/xa0 ++.. /xf0/xab/xa8/xa0 ++.. /xf0/xab/xa9/xa0 ++.. /xf0/xab/xaa/xa0 ++.. /xf0/xab/xab/xa0 ++.. /xf0/xab/xac/xa0 ++.. /xf0/xab/xad/xa0 ++.. /xf0/xab/xae/xa0 ++.. /xf0/xab/xaf/xa0 ++.. /xf0/xab/xb0/xa0 ++.. /xf0/xab/xb1/xa0 ++.. /xf0/xab/xb2/xa0 ++.. /xf0/xab/xb3/xa0 ++.. /xf0/xab/xb4/xa0 ++.. /xf0/xab/xb5/xa0 ++.. /xf0/xab/xb6/xa0 ++.. /xf0/xab/xb7/xa0 ++.. /xf0/xab/xb8/xa0 ++.. /xf0/xab/xb9/xa0 ++.. /xf0/xab/xba/xa0 ++.. /xf0/xab/xbb/xa0 ++.. /xf0/xab/xbc/xa0 ++.. /xf0/xab/xbd/xa0 ++.. /xf0/xab/xbe/xa0 ++.. /xf0/xab/xbf/xa0 ++.. /xf0/xac/x80/xa0 ++.. /xf0/xac/x81/xa0 ++.. /xf0/xac/x82/xa0 ++.. /xf0/xac/x83/xa0 ++.. /xf0/xac/x84/xa0 ++.. /xf0/xac/x85/xa0 ++.. /xf0/xac/x86/xa0 ++.. /xf0/xac/x87/xa0 ++.. /xf0/xac/x88/xa0 ++.. /xf0/xac/x89/xa0 ++.. /xf0/xac/x8a/xa0 ++.. /xf0/xac/x8b/xa0 ++.. /xf0/xac/x8c/xa0 ++.. /xf0/xac/x8d/xa0 ++.. /xf0/xac/x8e/xa0 ++.. /xf0/xac/x8f/xa0 ++.. /xf0/xac/x90/xa0 ++.. /xf0/xac/x91/xa0 ++.. /xf0/xac/x92/xa0 ++.. /xf0/xac/x93/xa0 ++.. /xf0/xac/x94/xa0 ++.. /xf0/xac/x95/xa0 ++.. /xf0/xac/x96/xa0 ++.. /xf0/xac/x97/xa0 ++.. /xf0/xac/x98/xa0 ++.. /xf0/xac/x99/xa0 ++.. /xf0/xac/x9a/xa0 ++.. /xf0/xac/x9b/xa0 ++.. /xf0/xac/x9c/xa0 ++.. /xf0/xac/x9d/xa0 ++.. /xf0/xac/x9e/xa0 ++.. /xf0/xac/x9f/xa0 ++.. /xf0/xac/xa0/xa0 ++.. /xf0/xac/xa1/xa0 ++.. /xf0/xac/xa2/xa0 ++.. /xf0/xac/xa3/xa0 ++.. /xf0/xac/xa4/xa0 ++.. /xf0/xac/xa5/xa0 ++.. /xf0/xac/xa6/xa0 ++.. /xf0/xac/xa7/xa0 ++.. /xf0/xac/xa8/xa0 ++.. /xf0/xac/xa9/xa0 ++.. /xf0/xac/xaa/xa0 ++.. /xf0/xac/xab/xa0 ++.. /xf0/xac/xac/xa0 ++.. /xf0/xac/xad/xa0 ++.. /xf0/xac/xae/xa0 ++.. /xf0/xac/xaf/xa0 ++.. /xf0/xac/xb0/xa0 ++.. /xf0/xac/xb1/xa0 ++.. /xf0/xac/xb2/xa0 ++.. /xf0/xac/xb3/xa0 ++.. /xf0/xac/xb4/xa0 ++.. /xf0/xac/xb5/xa0 ++.. /xf0/xac/xb6/xa0 ++.. /xf0/xac/xb7/xa0 ++.. /xf0/xac/xb8/xa0 ++.. /xf0/xac/xb9/xa0 ++.. /xf0/xac/xba/xa0 + /xf0/xaf/xa0/x80 CJK COMPATIBILITY IDEOGRAPH-2F800 + /xf0/xaf/xa0/x81 CJK COMPATIBILITY IDEOGRAPH-2F801 + /xf0/xaf/xa0/x82 CJK COMPATIBILITY IDEOGRAPH-2F802 +@@ -42060,6 +44096,7 @@ WIDTH + 0 + 0 + 0 ++ 0 + 0 + 0 + 0 +@@ -42729,7 +44766,7 @@ WIDTH + ... 2 + ... 2 + ... 2 +-... 2 ++... 2 + ... 2 + 2 + ... 2 +@@ -42748,6 +44785,7 @@ WIDTH + 0 + 0 + 0 ++ 0 + 0 + 0 + 0 +@@ -42871,6 +44909,8 @@ WIDTH + 0 + 0 + 0 ++ 0 ++ 0 + 2 + ... 2 + ... 2 +@@ -43024,6 +45064,9 @@ WIDTH + 0 + 0 + 0 ++ 0 ++ 0 ++ 0 + 0 + 0 + 0 +@@ -43039,6 +45082,7 @@ WIDTH + 0 + 0 + 0 ++ 0 + 0 + 0 + 0 +@@ -43073,6 +45117,8 @@ WIDTH + 0 + 0 + 0 ++ 0 ++ 0 + 0 + 0 + 0 +@@ -43093,6 +45139,18 @@ WIDTH + 0 + 0 + 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 + 0 + 0 + 0 +@@ -43149,6 +45207,133 @@ WIDTH + 0 + 0 + 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 + 0 + 0 + 0 +@@ -43163,6 +45348,7 @@ WIDTH + ... 2 + ... 2 + ... 2 ++... 2 + ... 2 + 0 + 0 +diff --git a/localedata/locales/i18n b/localedata/locales/i18n +index 79b5370..453cedf 100644 +--- a/localedata/locales/i18n ++++ b/localedata/locales/i18n +@@ -12,7 +12,7 @@ fax "" + language "" + territory "" + revision "" +-date "2015-02-18" ++date "2015-06-22" + % + category "i18n:2000";LC_IDENTIFICATION + category "i18n:2000";LC_CTYPE +@@ -30,7 +30,7 @@ END LC_IDENTIFICATION + + LC_CTYPE + % The following is the 14652 i18n fdcc-set LC_CTYPE category. +-% It covers Unicode version 7.0.0. ++% It covers Unicode version 8.0.0. + % The character classes and mapping tables were automatically + % generated using the gen_unicode_ctype.py program. + +@@ -72,47 +72,48 @@ upper / + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;..;..;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;..;/ +- ..;..;..;..;/ +- ;;;;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;;/ +- ..;..;;..;;/ +- ;;..;..;..;/ +- ;..;;..;..;/ +- ;..;;;;..;/ +- ;;..;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;..;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ..;..;..;/ +- ..;..;/ ++ ..;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ..;..;..;..;/ ++ ..;;;;;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;;..;..;;/ ++ ..;;;;..;/ ++ ..;..;;..;;/ ++ ..;..;;..;;/ ++ ;;..;;;..;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;..;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;..;/ ++ ..;;..;..;/ ++ ..;..;/ + ..;..;/ + ..;;..;/ + ;..;..;/ +@@ -166,64 +167,65 @@ lower / + ;;;;;;;;;/ + ;;;;;;;;;/ + ;;;;;;;;;/ +- ;;;..;..;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;..;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;..;..;..;/ +- ..;..;..;..;/ +- ;;..;;..;;/ +- ;;;..;..;;/ +- ..;;..;..;;/ +- ..;;;;;..;/ +- ..;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;..;;/ +- ;;..;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;..;;/ +- ;;;;;..;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;;;;;;;;;/ +- ;..;;;;;;;/ +- ;;;;..;;;;/ +- ;;;;;;;..;/ +- ..;..;..;..;/ ++ ;;;..;..;/ ++ ..;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;..;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;/ ++ ..;..;..;..;/ ++ ..;;;..;;/ ++ ..;;;;;..;/ ++ ..;;..;;..;/ ++ ..;;..;;;;/ ++ ;..;..;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;..;;;;..;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;..;;;;;;/ ++ ;..;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;;;;/ ++ ;;;;;;..;;/ ++ ;;;;;;;;;/ ++ ..;;;;;;;;/ ++ ;;;;;..;/ ++ ..;..;..;..;/ + ..;..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..; ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..; + + % The "alpha" class of the "i18n" FDCC-set is reflecting + % the recommendations in TR 10176 annex A +@@ -239,7 +241,7 @@ alpha / + ..;..;..;..;/ + ..;;..;..;/ + ..;..;;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;;..;/ +@@ -251,40 +253,41 @@ alpha / + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;;;..;..;/ +- ..;..;..;..;/ +- ..;;..;..;;/ +- ..;..;..;..;/ +- ..;;..;..;;/ +- ..;;;..;..;/ +- ..;;;..;..;/ +- ..;..;;;..;/ +- ..;;..;..;/ +- ..;..;..;..;/ +- ..;;..;..;/ +- ..;..;;..;/ +- ..;..;;;..;/ +- ..;..;..;;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ;..;..;..;/ ++ ..;..;;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ ++ ..;..;..;;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;;;..;/ ++ ..;..;..;..;/ ++ ..;..;;..;/ ++ ..;;..;..;/ ++ ..;..;..;;/ ++ ..;..;;..;;/ ++ ;..;..;..;;/ ++ ;..;..;..;/ ++ ..;;;..;..;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ;..;..;..;/ ++ ..;;..;..;/ ++ ..;;;..;..;/ ++ ..;..;;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +@@ -313,27 +316,26 @@ alpha / + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;..;;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;;;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;;..;;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +@@ -348,6 +350,7 @@ alpha / + ..;;..;/ + ..;;..;/ + ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +@@ -357,53 +360,59 @@ alpha / + ..;..;/ + ..;..;/ + ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ + ..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ ++ ..;;..;/ ++ ..;;..;/ ++ ;..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +- ..;;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;;/ ++ ..;;;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;;/ + ;..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;;;/ +- ..;..;;/ +- ;;;;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ;..;..;/ ++ ;;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ +@@ -414,7 +423,7 @@ alpha / + ..;..;/ + ..;..;/ + ..;..;/ +- .. ++ ..;.. + + % The "digit" class must only contain the BASIC LATIN digits, says ISO C 99 + % (sections 7.25.2.1.5 and 5.2.1). +@@ -468,83 +477,86 @@ punct / + ..;;..;;..;/ + ..;..;..;..;/ + ;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;;;;/ + ;..;..;..;/ +- ..;;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;;/ +- ;..;..;..;;/ +- ..;..;..;..;/ +- ;;;..;..;;/ +- ..;..;..;;;/ +- ..;..;;;..;/ +- ..;;..;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;;;;/ +- ..;..;/ +- ..;..;;/ +- ;..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;;;..;..;/ ++ ..;;..;..;/ ++ ..;;..;;;;/ ++ ..;..;;..;/ ++ ..;..;;;..;/ ++ ..;;;..;..;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;;/ ++ ;;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ;..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;;/ +- ..;;..;/ +- ..;..;/ +- ..;;;/ +- ..;..;/ +- ..;;..;/ +- ;..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ;;..;/ ++ ..;..;;/ ++ ..;;..;/ ++ ..;;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ ++ ..;..;/ + ..;..;;/ + ;;;;;;/ +- ;;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ ++ ;;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +- ..;;..;/ +- ..;..;/ +- .. ++ ..;..;/ ++ ..;;;/ ++ ..;..;/ ++ ..;.. + + graph / + ..;..;..;..;/ +@@ -553,7 +565,7 @@ graph / + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;;/ + ..;..;..;..;/ +@@ -563,7 +575,7 @@ graph / + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;;..;..;/ ++ ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +@@ -573,14 +585,14 @@ graph / + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;;/ + ..;;..;;..;/ + ..;..;..;..;/ +@@ -594,100 +606,107 @@ graph / + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;;;..;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;;;;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;;;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;;..;..;/ +- ..;..;..;..;/ +- ..;..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +- ..;;..;/ ++ ..;..;/ + ..;..;/ +- ..;..;/ +- ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ ++ ..;;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;;..;/ +- ..;..;/ +- ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +@@ -699,7 +718,7 @@ graph / + ..;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;;..;/ +@@ -709,7 +728,8 @@ graph / + ..;..;/ + ..;..;;/ + ..;..;/ +- ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;;;/ +@@ -729,18 +749,16 @@ graph / + ..;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;;/ + ..;..;/ + ..;.. + +@@ -751,7 +769,7 @@ print / + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;;/ + ..;..;..;..;/ +@@ -761,7 +779,7 @@ print / + ..;;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;;..;..;/ ++ ..;;..;..;;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +@@ -771,14 +789,14 @@ print / + ..;..;..;;;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ;..;..;..;/ + ..;..;..;..;/ + ..;..;..;;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;;/ + ..;;..;;..;/ + ..;..;..;..;/ +@@ -792,51 +810,50 @@ print / + ..;..;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;;/ +- ;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;;;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;;;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;/ +- ..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +@@ -853,9 +870,10 @@ print / + ..;;..;/ + ..;;..;/ + ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ +@@ -864,54 +882,62 @@ print / + ..;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;;/ + ..;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ ++ ..;..;/ + ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ +- ;..;..;/ +- ;;;;;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;;/ ++ ..;..;;/ ++ ;;;;;/ + ..;..;;/ + ;;;;;/ + ..;;..;/ +@@ -926,18 +952,16 @@ print / + ..;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;;/ + ..;..;/ + ..;.. + +@@ -1011,223 +1035,271 @@ toupper / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ +@@ -1373,154 +1445,202 @@ tolower / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ +@@ -1599,223 +1719,271 @@ map "totitle"; / + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ + (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);(,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ +- (,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);(,);/ ++ (,);(,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ ++ (,);(,);/ + (,);(,);/ + (,);(,);/ + (,);(,);/ +@@ -1841,7 +2009,7 @@ class "combining"; / + ..;;..;..;/ + ..;..;;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ ++ ..;..;..;..;/ + ..;..;..;..;/ + ..;;..;..;/ + ..;;..;..;;/ +@@ -1865,40 +2033,43 @@ class "combining"; / + ..;;..;..;/ + ..;..;..;..;/ + ..;;..;;..;/ +- ..;..;..;..;/ +- ..;..;;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ..;;..;..;/ +- ..;..;..;..;/ +- ;..;..;..;/ +- ..;..;;..;;/ +- ;;..;..;..;/ +- ..;..;..;..;/ +- ..;;..;;..;/ +- ..;;..;..;/ +- ..;;..;..;/ +- ..;..;;..;/ +- ..;;;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;;/ ++ ..;..;..;..;/ ++ ;..;..;..;/ ++ ..;..;..;..;/ ++ ..;..;..;;/ ++ ..;..;..;..;/ ++ ..;..;;..;/ ++ ..;..;..;..;/ ++ ..;..;;;;/ ++ ..;..;..;..;/ ++ ..;..;..;..;/ ++ ;..;;..;..;/ ++ ;..;..;..;;/ ++ ..;..;..;..;/ ++ ;..;..;;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;;/ + ..;..;/ + ..;;..;/ + ..;..;/ + ..;..;/ +- ..;..;/ +- ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ + ..;..;/ ++ ..;..;;/ ++ ;..;..;/ + ..;.. + + % The "combining_level3" class reflects ISO/IEC 10646-1 annex B.2 +@@ -1928,31 +2099,34 @@ class "combining_level3"; / + ..;..;..;..;/ + ..;;..;..;/ + ..;..;..;..;/ +- ..;..;..;..;/ +- ..;..;..;..;/ +- ;..;..;..;/ +- ..;..;..;;/ +- ..;..;..;..;/ +- ..;..;..;;/ +- ..;..;;;;/ +- ..;..;..;..;/ +- ..;..;..;;/ +- ..;;..;..;/ ++ ..;..;..;..;/ ++ ..;..;;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;/ ++ ..;..;..;..;/ ++ ..;;..;..;;/ ++ ;;..;..;..;/ ++ ..;..;..;..;/ ++ ;..;;..;..;/ + ..;..;..;..;/ + ;..;..;/ + ..;;;;;/ + ..;..;/ + ..;..;/ + ..;;..;/ +- ..;..;/ +- ..;..;;/ +- ..;..;/ +- ..;;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ +- ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;..;/ ++ ..;..;;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;..;/ ++ ..;;;/ ++ ..;..;/ + .. + + translit_start +diff --git a/localedata/locales/translit_circle b/localedata/locales/translit_circle +index 5d5f58c..bfd1627 100644 +--- a/localedata/locales/translit_circle ++++ b/localedata/locales/translit_circle +@@ -2,7 +2,7 @@ escape_char / + comment_char % + + % Transliterations of encircled characters. +-% Generated automatically from UnicodeData.txt by gen_translit_circle.py on 2015-06-10 for Unicode 7.0.0. ++% Generated automatically from UnicodeData.txt by gen_translit_circle.py on 2015-06-22 for Unicode 8.0.0. + + LC_CTYPE + +diff --git a/localedata/locales/translit_cjk_compat b/localedata/locales/translit_cjk_compat +index a20c6ca..8a05a37 100644 +--- a/localedata/locales/translit_cjk_compat ++++ b/localedata/locales/translit_cjk_compat +@@ -2,7 +2,7 @@ escape_char / + comment_char % + + % Transliterations of CJK compatibility characters. +-% Generated automatically from UnicodeData.txt by gen_translit_cjk_compat.py on 2015-06-10 for Unicode 7.0.0. ++% Generated automatically from UnicodeData.txt by gen_translit_cjk_compat.py on 2015-06-22 for Unicode 8.0.0. + + LC_CTYPE + +diff --git a/localedata/locales/translit_combining b/localedata/locales/translit_combining +index b1b5345..88b26dc 100644 +--- a/localedata/locales/translit_combining ++++ b/localedata/locales/translit_combining +@@ -3,7 +3,7 @@ comment_char % + + % Transliterations that remove all combining characters (accents, + % pronounciation marks, etc.). +-% Generated automatically from UnicodeData.txt by gen_translit_combining.py on 2015-06-10 for Unicode 7.0.0. ++% Generated automatically from UnicodeData.txt by gen_translit_combining.py on 2015-06-22 for Unicode 8.0.0. + + LC_CTYPE + +@@ -439,6 +439,8 @@ translit_start + "" + % ARABIC SMALL LOW MEEM + "" ++% ARABIC TURNED DAMMA BELOW ++ "" + % ARABIC CURLY FATHA + "" + % ARABIC CURLY DAMMA +diff --git a/localedata/locales/translit_compat b/localedata/locales/translit_compat +index 6e45220..4dda6ae 100644 +--- a/localedata/locales/translit_compat ++++ b/localedata/locales/translit_compat +@@ -2,7 +2,7 @@ escape_char / + comment_char % + + % Transliterations of compatibility characters and ligatures. +-% Generated automatically from UnicodeData.txt by gen_translit_compat.py on 2015-06-10 for Unicode 7.0.0. ++% Generated automatically from UnicodeData.txt by gen_translit_compat.py on 2015-06-22 for Unicode 8.0.0. + + LC_CTYPE + +diff --git a/localedata/locales/translit_font b/localedata/locales/translit_font +index 65e0d90..d3f0c9e 100644 +--- a/localedata/locales/translit_font ++++ b/localedata/locales/translit_font +@@ -2,7 +2,7 @@ escape_char / + comment_char % + + % Transliterations of font equivalents. +-% Generated automatically from UnicodeData.txt by gen_translit_font.py on 2015-06-10 for Unicode 7.0.0. ++% Generated automatically from UnicodeData.txt by gen_translit_font.py on 2015-06-22 for Unicode 8.0.0. + + LC_CTYPE + +diff --git a/localedata/locales/translit_fraction b/localedata/locales/translit_fraction +index 30f2843..57be379 100644 +--- a/localedata/locales/translit_fraction ++++ b/localedata/locales/translit_fraction +@@ -2,7 +2,7 @@ escape_char / + comment_char % + + % Transliterations of fractions. +-% Generated automatically from UnicodeData.txt by gen_translit_fraction.py on 2015-06-10 for Unicode 7.0.0. ++% Generated automatically from UnicodeData.txt by gen_translit_fraction.py on 2015-06-22 for Unicode 8.0.0. + % The replacements have been surrounded with spaces, because fractions are + % often preceded by a decimal number and followed by a unit or a math symbol. + +diff --git a/localedata/unicode-gen/DerivedCoreProperties.txt b/localedata/unicode-gen/DerivedCoreProperties.txt +index 225d3d1..35d51e5 100644 +--- a/localedata/unicode-gen/DerivedCoreProperties.txt ++++ b/localedata/unicode-gen/DerivedCoreProperties.txt +@@ -1,8 +1,8 @@ +-# DerivedCoreProperties-7.0.0.txt +-# Date: 2014-02-19, 15:51:15 GMT [MD] ++# DerivedCoreProperties-8.0.0.txt ++# Date: 2015-03-11, 22:29:21 GMT [MD] + # + # Unicode Character Database +-# Copyright (c) 1991-2014 Unicode, Inc. ++# Copyright (c) 1991-2015 Unicode, Inc. + # For terms of use, see http://www.unicode.org/terms_of_use.html + # For documentation, see http://www.unicode.org/reports/tr44/ + +@@ -339,8 +339,8 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 0828 ; Alphabetic # Lm SAMARITAN MODIFIER LETTER I + 0829..082C ; Alphabetic # Mn [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN + 0840..0858 ; Alphabetic # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN +-08A0..08B2 ; Alphabetic # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +-08E4..08E9 ; Alphabetic # Mn [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN ++08A0..08B4 ; Alphabetic # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW ++08E3..08E9 ; Alphabetic # Mn [7] ARABIC TURNED DAMMA BELOW..ARABIC CURLY KASRATAN + 08F0..0902 ; Alphabetic # Mn [19] ARABIC OPEN FATHATAN..DEVANAGARI SIGN ANUSVARA + 0903 ; Alphabetic # Mc DEVANAGARI SIGN VISARGA + 0904..0939 ; Alphabetic # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA +@@ -412,6 +412,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 0AD0 ; Alphabetic # Lo GUJARATI OM + 0AE0..0AE1 ; Alphabetic # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL + 0AE2..0AE3 ; Alphabetic # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL ++0AF9 ; Alphabetic # Lo GUJARATI LETTER ZHA + 0B01 ; Alphabetic # Mn ORIYA SIGN CANDRABINDU + 0B02..0B03 ; Alphabetic # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA + 0B05..0B0C ; Alphabetic # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L +@@ -463,7 +464,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 0C46..0C48 ; Alphabetic # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI + 0C4A..0C4C ; Alphabetic # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU + 0C55..0C56 ; Alphabetic # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK +-0C58..0C59 ; Alphabetic # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA ++0C58..0C5A ; Alphabetic # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA + 0C60..0C61 ; Alphabetic # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL + 0C62..0C63 ; Alphabetic # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL + 0C81 ; Alphabetic # Mn KANNADA SIGN CANDRABINDU +@@ -498,7 +499,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 0D4A..0D4C ; Alphabetic # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU + 0D4E ; Alphabetic # Lo MALAYALAM LETTER DOT REPH + 0D57 ; Alphabetic # Mc MALAYALAM AU LENGTH MARK +-0D60..0D61 ; Alphabetic # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL ++0D5F..0D61 ; Alphabetic # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL + 0D62..0D63 ; Alphabetic # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL + 0D7A..0D7F ; Alphabetic # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K + 0D82..0D83 ; Alphabetic # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA +@@ -599,7 +600,8 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 1318..135A ; Alphabetic # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA + 135F ; Alphabetic # Mn ETHIOPIC COMBINING GEMINATION MARK + 1380..138F ; Alphabetic # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE +-13A0..13F4 ; Alphabetic # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV ++13A0..13F5 ; Alphabetic # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; Alphabetic # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1401..166C ; Alphabetic # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA + 166F..167F ; Alphabetic # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W + 1681..169A ; Alphabetic # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH +@@ -642,9 +644,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 1950..196D ; Alphabetic # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI + 1970..1974 ; Alphabetic # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 + 1980..19AB ; Alphabetic # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA +-19B0..19C0 ; Alphabetic # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY +-19C1..19C7 ; Alphabetic # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +-19C8..19C9 ; Alphabetic # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 ++19B0..19C9 ; Alphabetic # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 + 1A00..1A16 ; Alphabetic # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA + 1A17..1A18 ; Alphabetic # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U + 1A19..1A1A ; Alphabetic # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O +@@ -789,7 +789,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A + 31A0..31BA ; Alphabetic # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY + 31F0..31FF ; Alphabetic # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO + 3400..4DB5 ; Alphabetic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +-4E00..9FCC ; Alphabetic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC ++4E00..9FD5 ; Alphabetic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 + A000..A014 ; Alphabetic # Lo [21] YI SYLLABLE IT..YI SYLLABLE E + A015 ; Alphabetic # Lm YI SYLLABLE WU + A016..A48C ; Alphabetic # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +@@ -805,7 +805,7 @@ A674..A67B ; Alphabetic # Mn [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..CO + A67F ; Alphabetic # Lm CYRILLIC PAYEROK + A680..A69B ; Alphabetic # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O + A69C..A69D ; Alphabetic # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN +-A69F ; Alphabetic # Mn COMBINING CYRILLIC LETTER IOTIFIED E ++A69E..A69F ; Alphabetic # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E + A6A0..A6E5 ; Alphabetic # Lo [70] BAMUM LETTER A..BAMUM LETTER KI + A6E6..A6EF ; Alphabetic # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM + A717..A71F ; Alphabetic # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK +@@ -814,8 +814,9 @@ A770 ; Alphabetic # Lm MODIFIER LETTER US + A771..A787 ; Alphabetic # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T + A788 ; Alphabetic # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT + A78B..A78E ; Alphabetic # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++A78F ; Alphabetic # Lo LATIN LETTER SINOLOGICAL DOT + A790..A7AD ; Alphabetic # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; Alphabetic # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; Alphabetic # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F7 ; Alphabetic # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I + A7F8..A7F9 ; Alphabetic # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; Alphabetic # L& LATIN LETTER SMALL CAPITAL TURNED M +@@ -832,6 +833,7 @@ A882..A8B3 ; Alphabetic # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA + A8B4..A8C3 ; Alphabetic # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU + A8F2..A8F7 ; Alphabetic # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA + A8FB ; Alphabetic # Lo DEVANAGARI HEADSTROKE ++A8FD ; Alphabetic # Lo DEVANAGARI JAIN OM + A90A..A925 ; Alphabetic # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO + A926..A92A ; Alphabetic # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O + A930..A946 ; Alphabetic # Lo [23] REJANG LETTER KA..REJANG LETTER A +@@ -892,7 +894,8 @@ AB20..AB26 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE + AB28..AB2E ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO + AB30..AB5A ; Alphabetic # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; Alphabetic # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; Alphabetic # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; Alphabetic # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; Alphabetic # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + ABC0..ABE2 ; Alphabetic # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM + ABE3..ABE4 ; Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP + ABE5 ; Alphabetic # Mn MEETEI MAYEK VOWEL SIGN ANAP +@@ -968,6 +971,8 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 1083F..10855 ; Alphabetic # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW + 10860..10876 ; Alphabetic # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW + 10880..1089E ; Alphabetic # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW ++108E0..108F2 ; Alphabetic # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH ++108F4..108F5 ; Alphabetic # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW + 10900..10915 ; Alphabetic # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU + 10920..10939 ; Alphabetic # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C + 10980..109B7 ; Alphabetic # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +@@ -988,6 +993,8 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 10B60..10B72 ; Alphabetic # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW + 10B80..10B91 ; Alphabetic # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW + 10C00..10C48 ; Alphabetic # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH ++10C80..10CB2 ; Alphabetic # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; Alphabetic # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 11000 ; Alphabetic # Mc BRAHMI SIGN CANDRABINDU + 11001 ; Alphabetic # Mn BRAHMI SIGN ANUSVARA + 11002 ; Alphabetic # Mc BRAHMI SIGN VISARGA +@@ -1014,6 +1021,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 111BF ; Alphabetic # Mc SHARADA VOWEL SIGN AU + 111C1..111C4 ; Alphabetic # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM + 111DA ; Alphabetic # Lo SHARADA EKAM ++111DC ; Alphabetic # Lo SHARADA HEADSTROKE + 11200..11211 ; Alphabetic # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA + 11213..1122B ; Alphabetic # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA + 1122C..1122E ; Alphabetic # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II +@@ -1021,11 +1029,16 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 11232..11233 ; Alphabetic # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU + 11234 ; Alphabetic # Mn KHOJKI SIGN ANUSVARA + 11237 ; Alphabetic # Mn KHOJKI SIGN SHADDA ++11280..11286 ; Alphabetic # Lo [7] MULTANI LETTER A..MULTANI LETTER GA ++11288 ; Alphabetic # Lo MULTANI LETTER GHA ++1128A..1128D ; Alphabetic # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA ++1128F..1129D ; Alphabetic # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA ++1129F..112A8 ; Alphabetic # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA + 112B0..112DE ; Alphabetic # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA + 112DF ; Alphabetic # Mn KHUDAWADI SIGN ANUSVARA + 112E0..112E2 ; Alphabetic # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II + 112E3..112E8 ; Alphabetic # Mn [6] KHUDAWADI VOWEL SIGN U..KHUDAWADI VOWEL SIGN AU +-11301 ; Alphabetic # Mn GRANTHA SIGN CANDRABINDU ++11300..11301 ; Alphabetic # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU + 11302..11303 ; Alphabetic # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA + 11305..1130C ; Alphabetic # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L + 1130F..11310 ; Alphabetic # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +@@ -1039,6 +1052,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 11341..11344 ; Alphabetic # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR + 11347..11348 ; Alphabetic # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI + 1134B..1134C ; Alphabetic # Mc [2] GRANTHA VOWEL SIGN OO..GRANTHA VOWEL SIGN AU ++11350 ; Alphabetic # Lo GRANTHA OM + 11357 ; Alphabetic # Mc GRANTHA AU LENGTH MARK + 1135D..11361 ; Alphabetic # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL + 11362..11363 ; Alphabetic # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL +@@ -1058,6 +1072,8 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 115B8..115BB ; Alphabetic # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU + 115BC..115BD ; Alphabetic # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA + 115BE ; Alphabetic # Mc SIDDHAM SIGN VISARGA ++115D8..115DB ; Alphabetic # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U ++115DC..115DD ; Alphabetic # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU + 11600..1162F ; Alphabetic # Lo [48] MODI LETTER A..MODI LETTER LLA + 11630..11632 ; Alphabetic # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II + 11633..1163A ; Alphabetic # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI +@@ -1072,12 +1088,20 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 116AD ; Alphabetic # Mn TAKRI VOWEL SIGN AA + 116AE..116AF ; Alphabetic # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II + 116B0..116B5 ; Alphabetic # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU ++11700..11719 ; Alphabetic # Lo [26] AHOM LETTER KA..AHOM LETTER JHA ++1171D..1171F ; Alphabetic # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA ++11720..11721 ; Alphabetic # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA ++11722..11725 ; Alphabetic # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU ++11726 ; Alphabetic # Mc AHOM VOWEL SIGN E ++11727..1172A ; Alphabetic # Mn [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM + 118A0..118DF ; Alphabetic # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 118FF ; Alphabetic # Lo WARANG CITI OM + 11AC0..11AF8 ; Alphabetic # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +-12000..12398 ; Alphabetic # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME ++12000..12399 ; Alphabetic # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U + 12400..1246E ; Alphabetic # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM ++12480..12543 ; Alphabetic # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + 13000..1342E ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 ++14400..14646 ; Alphabetic # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + 16800..16A38 ; Alphabetic # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ + 16A40..16A5E ; Alphabetic # Lo [31] MRO LETTER TA..MRO LETTER TEK + 16AD0..16AED ; Alphabetic # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I +@@ -1166,9 +1190,10 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 20000..2A6D6 ; Alphabetic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 + 2A700..2B734 ; Alphabetic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 + 2B740..2B81D ; Alphabetic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D ++2B820..2CEA1 ; Alphabetic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 + 2F800..2FA1D ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + +-# Total code points: 104077 ++# Total code points: 110943 + + # ================================================ + +@@ -1452,6 +1477,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG + 052D ; Lowercase # L& CYRILLIC SMALL LETTER DCHE + 052F ; Lowercase # L& CYRILLIC SMALL LETTER EL WITH DESCENDER + 0561..0587 ; Lowercase # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN ++13F8..13FD ; Lowercase # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1D00..1D2B ; Lowercase # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL + 1D2C..1D6A ; Lowercase # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI + 1D6B..1D77 ; Lowercase # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G +@@ -1782,15 +1808,19 @@ A7A3 ; Lowercase # L& LATIN SMALL LETTER K WITH OBLIQUE STROKE + A7A5 ; Lowercase # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE + A7A7 ; Lowercase # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE + A7A9 ; Lowercase # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE ++A7B5 ; Lowercase # L& LATIN SMALL LETTER BETA ++A7B7 ; Lowercase # L& LATIN SMALL LETTER OMEGA + A7F8..A7F9 ; Lowercase # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; Lowercase # L& LATIN LETTER SMALL CAPITAL TURNED M + AB30..AB5A ; Lowercase # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; Lowercase # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; Lowercase # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; Lowercase # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; Lowercase # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + FB00..FB06 ; Lowercase # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST + FB13..FB17 ; Lowercase # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH + FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z + 10428..1044F ; Lowercase # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW ++10CC0..10CF2 ; Lowercase # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 118C0..118DF ; Lowercase # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 1D41A..1D433 ; Lowercase # L& [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z + 1D44E..1D454 ; Lowercase # L& [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G +@@ -1821,7 +1851,7 @@ FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L + 1D7C4..1D7C9 ; Lowercase # L& [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL + 1D7CB ; Lowercase # L& MATHEMATICAL BOLD SMALL DIGAMMA + +-# Total code points: 2030 ++# Total code points: 2173 + + # ================================================ + +@@ -2103,6 +2133,7 @@ FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L + 10A0..10C5 ; Uppercase # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE + 10C7 ; Uppercase # L& GEORGIAN CAPITAL LETTER YN + 10CD ; Uppercase # L& GEORGIAN CAPITAL LETTER AEN ++13A0..13F5 ; Uppercase # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV + 1E00 ; Uppercase # L& LATIN CAPITAL LETTER A WITH RING BELOW + 1E02 ; Uppercase # L& LATIN CAPITAL LETTER B WITH DOT ABOVE + 1E04 ; Uppercase # L& LATIN CAPITAL LETTER B WITH DOT BELOW +@@ -2417,9 +2448,11 @@ A7A4 ; Uppercase # L& LATIN CAPITAL LETTER N WITH OBLIQUE STROKE + A7A6 ; Uppercase # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE + A7A8 ; Uppercase # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE + A7AA..A7AD ; Uppercase # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; Uppercase # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B4 ; Uppercase # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA ++A7B6 ; Uppercase # L& LATIN CAPITAL LETTER OMEGA + FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z + 10400..10427 ; Uppercase # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW ++10C80..10CB2 ; Uppercase # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US + 118A0..118BF ; Uppercase # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO + 1D400..1D419 ; Uppercase # L& [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z + 1D434..1D44D ; Uppercase # L& [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z +@@ -2456,7 +2489,7 @@ FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH + 1F150..1F169 ; Uppercase # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z + 1F170..1F189 ; Uppercase # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z + +-# Total code points: 1610 ++# Total code points: 1751 + + # ================================================ + +@@ -2496,6 +2529,8 @@ FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH + 10A0..10C5 ; Cased # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE + 10C7 ; Cased # L& GEORGIAN CAPITAL LETTER YN + 10CD ; Cased # L& GEORGIAN CAPITAL LETTER AEN ++13A0..13F5 ; Cased # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; Cased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1D00..1D2B ; Cased # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL + 1D2C..1D6A ; Cased # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI + 1D6B..1D77 ; Cased # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G +@@ -2559,17 +2594,20 @@ A770 ; Cased # Lm MODIFIER LETTER US + A771..A787 ; Cased # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T + A78B..A78E ; Cased # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT + A790..A7AD ; Cased # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; Cased # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; Cased # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F8..A7F9 ; Cased # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; Cased # L& LATIN LETTER SMALL CAPITAL TURNED M + AB30..AB5A ; Cased # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; Cased # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; Cased # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; Cased # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; Cased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + FB00..FB06 ; Cased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST + FB13..FB17 ; Cased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH + FF21..FF3A ; Cased # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z + FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z + 10400..1044F ; Cased # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW ++10C80..10CB2 ; Cased # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; Cased # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 118A0..118DF ; Cased # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 1D400..1D454 ; Cased # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G + 1D456..1D49C ; Cased # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A +@@ -2605,7 +2643,7 @@ FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN + 1F150..1F169 ; Cased # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z + 1F170..1F189 ; Cased # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z + +-# Total code points: 3671 ++# Total code points: 3955 + + # ================================================ + +@@ -2678,7 +2716,7 @@ FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN + 0828 ; Case_Ignorable # Lm SAMARITAN MODIFIER LETTER I + 0829..082D ; Case_Ignorable # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA + 0859..085B ; Case_Ignorable # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK +-08E4..0902 ; Case_Ignorable # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA ++08E3..0902 ; Case_Ignorable # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA + 093A ; Case_Ignorable # Mn DEVANAGARI VOWEL SIGN OE + 093C ; Case_Ignorable # Mn DEVANAGARI SIGN NUKTA + 0941..0948 ; Case_Ignorable # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI +@@ -2868,7 +2906,7 @@ A670..A672 ; Case_Ignorable # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN.. + A674..A67D ; Case_Ignorable # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK + A67F ; Case_Ignorable # Lm CYRILLIC PAYEROK + A69C..A69D ; Case_Ignorable # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN +-A69F ; Case_Ignorable # Mn COMBINING CYRILLIC LETTER IOTIFIED E ++A69E..A69F ; Case_Ignorable # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E + A6F0..A6F1 ; Case_Ignorable # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS + A700..A716 ; Case_Ignorable # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR + A717..A71F ; Case_Ignorable # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK +@@ -2917,7 +2955,7 @@ FB1E ; Case_Ignorable # Mn HEBREW POINT JUDEO-SPANISH VARIKA + FBB2..FBC1 ; Case_Ignorable # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW + FE00..FE0F ; Case_Ignorable # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 + FE13 ; Case_Ignorable # Po PRESENTATION FORM FOR VERTICAL COLON +-FE20..FE2D ; Case_Ignorable # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW ++FE20..FE2F ; Case_Ignorable # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF + FE52 ; Case_Ignorable # Po SMALL FULL STOP + FE55 ; Case_Ignorable # Po SMALL COLON + FEFF ; Case_Ignorable # Cf ZERO WIDTH NO-BREAK SPACE +@@ -2951,12 +2989,13 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI + 11173 ; Case_Ignorable # Mn MAHAJANI SIGN NUKTA + 11180..11181 ; Case_Ignorable # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA + 111B6..111BE ; Case_Ignorable # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O ++111CA..111CC ; Case_Ignorable # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK + 1122F..11231 ; Case_Ignorable # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI + 11234 ; Case_Ignorable # Mn KHOJKI SIGN ANUSVARA + 11236..11237 ; Case_Ignorable # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA + 112DF ; Case_Ignorable # Mn KHUDAWADI SIGN ANUSVARA + 112E3..112EA ; Case_Ignorable # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA +-11301 ; Case_Ignorable # Mn GRANTHA SIGN CANDRABINDU ++11300..11301 ; Case_Ignorable # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU + 1133C ; Case_Ignorable # Mn GRANTHA SIGN NUKTA + 11340 ; Case_Ignorable # Mn GRANTHA VOWEL SIGN II + 11366..1136C ; Case_Ignorable # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX +@@ -2968,6 +3007,7 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI + 115B2..115B5 ; Case_Ignorable # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR + 115BC..115BD ; Case_Ignorable # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA + 115BF..115C0 ; Case_Ignorable # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA ++115DC..115DD ; Case_Ignorable # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU + 11633..1163A ; Case_Ignorable # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI + 1163D ; Case_Ignorable # Mn MODI SIGN ANUSVARA + 1163F..11640 ; Case_Ignorable # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA +@@ -2975,6 +3015,9 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI + 116AD ; Case_Ignorable # Mn TAKRI VOWEL SIGN AA + 116B0..116B5 ; Case_Ignorable # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU + 116B7 ; Case_Ignorable # Mn TAKRI SIGN NUKTA ++1171D..1171F ; Case_Ignorable # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA ++11722..11725 ; Case_Ignorable # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU ++11727..1172B ; Case_Ignorable # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER + 16AF0..16AF4 ; Case_Ignorable # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE + 16B30..16B36 ; Case_Ignorable # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM + 16B40..16B43 ; Case_Ignorable # Lm [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM +@@ -2988,12 +3031,19 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI + 1D185..1D18B ; Case_Ignorable # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE + 1D1AA..1D1AD ; Case_Ignorable # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO + 1D242..1D244 ; Case_Ignorable # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME ++1DA00..1DA36 ; Case_Ignorable # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN ++1DA3B..1DA6C ; Case_Ignorable # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT ++1DA75 ; Case_Ignorable # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS ++1DA84 ; Case_Ignorable # Mn SIGNWRITING LOCATION HEAD NECK ++1DA9B..1DA9F ; Case_Ignorable # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 ++1DAA1..1DAAF ; Case_Ignorable # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 + 1E8D0..1E8D6 ; Case_Ignorable # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS ++1F3FB..1F3FF ; Case_Ignorable # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 + E0001 ; Case_Ignorable # Cf LANGUAGE TAG + E0020..E007F ; Case_Ignorable # Cf [96] TAG SPACE..CANCEL TAG + E0100..E01EF ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 + +-# Total code points: 1961 ++# Total code points: 2115 + + # ================================================ + +@@ -3276,6 +3326,7 @@ E0100..E01EF ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELEC + 10A0..10C5 ; Changes_When_Lowercased # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE + 10C7 ; Changes_When_Lowercased # L& GEORGIAN CAPITAL LETTER YN + 10CD ; Changes_When_Lowercased # L& GEORGIAN CAPITAL LETTER AEN ++13A0..13F5 ; Changes_When_Lowercased # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV + 1E00 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER A WITH RING BELOW + 1E02 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH DOT ABOVE + 1E04 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER B WITH DOT BELOW +@@ -3583,12 +3634,14 @@ A7A4 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER N WITH O + A7A6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE + A7A8 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE + A7AA..A7AD ; Changes_When_Lowercased # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; Changes_When_Lowercased # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B4 ; Changes_When_Lowercased # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA ++A7B6 ; Changes_When_Lowercased # L& LATIN CAPITAL LETTER OMEGA + FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z + 10400..10427 ; Changes_When_Lowercased # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW ++10C80..10CB2 ; Changes_When_Lowercased # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US + 118A0..118BF ; Changes_When_Lowercased # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO + +-# Total code points: 1092 ++# Total code points: 1233 + + # ================================================ + +@@ -3757,7 +3810,7 @@ FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTE + 0283 ; Changes_When_Uppercased # L& LATIN SMALL LETTER ESH + 0287..028C ; Changes_When_Uppercased # L& [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V + 0292 ; Changes_When_Uppercased # L& LATIN SMALL LETTER EZH +-029E ; Changes_When_Uppercased # L& LATIN SMALL LETTER TURNED K ++029D..029E ; Changes_When_Uppercased # L& [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K + 0345 ; Changes_When_Uppercased # Mn COMBINING GREEK YPOGEGRAMMENI + 0371 ; Changes_When_Uppercased # L& GREEK SMALL LETTER HETA + 0373 ; Changes_When_Uppercased # L& GREEK SMALL LETTER ARCHAIC SAMPI +@@ -3883,6 +3936,7 @@ FF21..FF3A ; Changes_When_Lowercased # L& [26] FULLWIDTH LATIN CAPITAL LETTE + 052D ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER DCHE + 052F ; Changes_When_Uppercased # L& CYRILLIC SMALL LETTER EL WITH DESCENDER + 0561..0587 ; Changes_When_Uppercased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN ++13F8..13FD ; Changes_When_Uppercased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1D79 ; Changes_When_Uppercased # L& LATIN SMALL LETTER INSULAR G + 1D7D ; Changes_When_Uppercased # L& LATIN SMALL LETTER P WITH STROKE + 1E01 ; Changes_When_Uppercased # L& LATIN SMALL LETTER A WITH RING BELOW +@@ -4191,13 +4245,18 @@ A7A3 ; Changes_When_Uppercased # L& LATIN SMALL LETTER K WITH OBL + A7A5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE + A7A7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE + A7A9 ; Changes_When_Uppercased # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE ++A7B5 ; Changes_When_Uppercased # L& LATIN SMALL LETTER BETA ++A7B7 ; Changes_When_Uppercased # L& LATIN SMALL LETTER OMEGA ++AB53 ; Changes_When_Uppercased # L& LATIN SMALL LETTER CHI ++AB70..ABBF ; Changes_When_Uppercased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + FB00..FB06 ; Changes_When_Uppercased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST + FB13..FB17 ; Changes_When_Uppercased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH + FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z + 10428..1044F ; Changes_When_Uppercased # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW ++10CC0..10CF2 ; Changes_When_Uppercased # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 118C0..118DF ; Changes_When_Uppercased # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + +-# Total code points: 1175 ++# Total code points: 1316 + + # ================================================ + +@@ -4367,7 +4426,7 @@ FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER + 0283 ; Changes_When_Titlecased # L& LATIN SMALL LETTER ESH + 0287..028C ; Changes_When_Titlecased # L& [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V + 0292 ; Changes_When_Titlecased # L& LATIN SMALL LETTER EZH +-029E ; Changes_When_Titlecased # L& LATIN SMALL LETTER TURNED K ++029D..029E ; Changes_When_Titlecased # L& [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K + 0345 ; Changes_When_Titlecased # Mn COMBINING GREEK YPOGEGRAMMENI + 0371 ; Changes_When_Titlecased # L& GREEK SMALL LETTER HETA + 0373 ; Changes_When_Titlecased # L& GREEK SMALL LETTER ARCHAIC SAMPI +@@ -4493,6 +4552,7 @@ FF41..FF5A ; Changes_When_Uppercased # L& [26] FULLWIDTH LATIN SMALL LETTER + 052D ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER DCHE + 052F ; Changes_When_Titlecased # L& CYRILLIC SMALL LETTER EL WITH DESCENDER + 0561..0587 ; Changes_When_Titlecased # L& [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN ++13F8..13FD ; Changes_When_Titlecased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1D79 ; Changes_When_Titlecased # L& LATIN SMALL LETTER INSULAR G + 1D7D ; Changes_When_Titlecased # L& LATIN SMALL LETTER P WITH STROKE + 1E01 ; Changes_When_Titlecased # L& LATIN SMALL LETTER A WITH RING BELOW +@@ -4801,13 +4861,18 @@ A7A3 ; Changes_When_Titlecased # L& LATIN SMALL LETTER K WITH OBL + A7A5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER N WITH OBLIQUE STROKE + A7A7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER R WITH OBLIQUE STROKE + A7A9 ; Changes_When_Titlecased # L& LATIN SMALL LETTER S WITH OBLIQUE STROKE ++A7B5 ; Changes_When_Titlecased # L& LATIN SMALL LETTER BETA ++A7B7 ; Changes_When_Titlecased # L& LATIN SMALL LETTER OMEGA ++AB53 ; Changes_When_Titlecased # L& LATIN SMALL LETTER CHI ++AB70..ABBF ; Changes_When_Titlecased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + FB00..FB06 ; Changes_When_Titlecased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST + FB13..FB17 ; Changes_When_Titlecased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH + FF41..FF5A ; Changes_When_Titlecased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z + 10428..1044F ; Changes_When_Titlecased # L& [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW ++10CC0..10CF2 ; Changes_When_Titlecased # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 118C0..118DF ; Changes_When_Titlecased # L& [32] WARANG CITI SMALL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + +-# Total code points: 1148 ++# Total code points: 1289 + + # ================================================ + +@@ -5097,6 +5162,7 @@ FF41..FF5A ; Changes_When_Titlecased # L& [26] FULLWIDTH LATIN SMALL LETTER + 10A0..10C5 ; Changes_When_Casefolded # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE + 10C7 ; Changes_When_Casefolded # L& GEORGIAN CAPITAL LETTER YN + 10CD ; Changes_When_Casefolded # L& GEORGIAN CAPITAL LETTER AEN ++13F8..13FD ; Changes_When_Casefolded # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1E00 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER A WITH RING BELOW + 1E02 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT ABOVE + 1E04 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER B WITH DOT BELOW +@@ -5406,14 +5472,17 @@ A7A4 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER N WITH O + A7A6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER R WITH OBLIQUE STROKE + A7A8 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER S WITH OBLIQUE STROKE + A7AA..A7AD ; Changes_When_Casefolded # L& [4] LATIN CAPITAL LETTER H WITH HOOK..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; Changes_When_Casefolded # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B4 ; Changes_When_Casefolded # L& [5] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER BETA ++A7B6 ; Changes_When_Casefolded # L& LATIN CAPITAL LETTER OMEGA ++AB70..ABBF ; Changes_When_Casefolded # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + FB00..FB06 ; Changes_When_Casefolded # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST + FB13..FB17 ; Changes_When_Casefolded # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH + FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z + 10400..10427 ; Changes_When_Casefolded # L& [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW ++10C80..10CB2 ; Changes_When_Casefolded # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US + 118A0..118BF ; Changes_When_Casefolded # L& [32] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI CAPITAL LETTER VIYO + +-# Total code points: 1156 ++# Total code points: 1297 + + # ================================================ + +@@ -5453,7 +5522,7 @@ FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTE + 0283 ; Changes_When_Casemapped # L& LATIN SMALL LETTER ESH + 0287..028C ; Changes_When_Casemapped # L& [6] LATIN SMALL LETTER TURNED T..LATIN SMALL LETTER TURNED V + 0292 ; Changes_When_Casemapped # L& LATIN SMALL LETTER EZH +-029E ; Changes_When_Casemapped # L& LATIN SMALL LETTER TURNED K ++029D..029E ; Changes_When_Casemapped # L& [2] LATIN SMALL LETTER J WITH CROSSED-TAIL..LATIN SMALL LETTER TURNED K + 0345 ; Changes_When_Casemapped # Mn COMBINING GREEK YPOGEGRAMMENI + 0370..0373 ; Changes_When_Casemapped # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI + 0376..0377 ; Changes_When_Casemapped # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA +@@ -5473,6 +5542,8 @@ FF21..FF3A ; Changes_When_Casefolded # L& [26] FULLWIDTH LATIN CAPITAL LETTE + 10A0..10C5 ; Changes_When_Casemapped # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE + 10C7 ; Changes_When_Casemapped # L& GEORGIAN CAPITAL LETTER YN + 10CD ; Changes_When_Casemapped # L& GEORGIAN CAPITAL LETTER AEN ++13A0..13F5 ; Changes_When_Casemapped # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; Changes_When_Casemapped # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1D79 ; Changes_When_Casemapped # L& LATIN SMALL LETTER INSULAR G + 1D7D ; Changes_When_Casemapped # L& LATIN SMALL LETTER P WITH STROKE + 1E00..1E9B ; Changes_When_Casemapped # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE +@@ -5522,15 +5593,19 @@ A779..A787 ; Changes_When_Casemapped # L& [15] LATIN CAPITAL LETTER INSULAR + A78B..A78D ; Changes_When_Casemapped # L& [3] LATIN CAPITAL LETTER SALTILLO..LATIN CAPITAL LETTER TURNED H + A790..A793 ; Changes_When_Casemapped # L& [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR + A796..A7AD ; Changes_When_Casemapped # L& [24] LATIN CAPITAL LETTER B WITH FLOURISH..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; Changes_When_Casemapped # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; Changes_When_Casemapped # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA ++AB53 ; Changes_When_Casemapped # L& LATIN SMALL LETTER CHI ++AB70..ABBF ; Changes_When_Casemapped # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + FB00..FB06 ; Changes_When_Casemapped # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST + FB13..FB17 ; Changes_When_Casemapped # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH + FF21..FF3A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z + FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z + 10400..1044F ; Changes_When_Casemapped # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW ++10C80..10CB2 ; Changes_When_Casemapped # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; Changes_When_Casemapped # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 118A0..118DF ; Changes_When_Casemapped # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + +-# Total code points: 2236 ++# Total code points: 2518 + + # ================================================ + +@@ -5602,7 +5677,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 0824 ; ID_Start # Lm SAMARITAN MODIFIER LETTER SHORT A + 0828 ; ID_Start # Lm SAMARITAN MODIFIER LETTER I + 0840..0858 ; ID_Start # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN +-08A0..08B2 ; ID_Start # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE ++08A0..08B4 ; ID_Start # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW + 0904..0939 ; ID_Start # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA + 093D ; ID_Start # Lo DEVANAGARI SIGN AVAGRAHA + 0950 ; ID_Start # Lo DEVANAGARI OM +@@ -5639,6 +5714,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 0ABD ; ID_Start # Lo GUJARATI SIGN AVAGRAHA + 0AD0 ; ID_Start # Lo GUJARATI OM + 0AE0..0AE1 ; ID_Start # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL ++0AF9 ; ID_Start # Lo GUJARATI LETTER ZHA + 0B05..0B0C ; ID_Start # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L + 0B0F..0B10 ; ID_Start # Lo [2] ORIYA LETTER E..ORIYA LETTER AI + 0B13..0B28 ; ID_Start # Lo [22] ORIYA LETTER O..ORIYA LETTER NA +@@ -5665,7 +5741,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 0C12..0C28 ; ID_Start # Lo [23] TELUGU LETTER O..TELUGU LETTER NA + 0C2A..0C39 ; ID_Start # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA + 0C3D ; ID_Start # Lo TELUGU SIGN AVAGRAHA +-0C58..0C59 ; ID_Start # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA ++0C58..0C5A ; ID_Start # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA + 0C60..0C61 ; ID_Start # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL + 0C85..0C8C ; ID_Start # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L + 0C8E..0C90 ; ID_Start # Lo [3] KANNADA LETTER E..KANNADA LETTER AI +@@ -5681,7 +5757,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 0D12..0D3A ; ID_Start # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA + 0D3D ; ID_Start # Lo MALAYALAM SIGN AVAGRAHA + 0D4E ; ID_Start # Lo MALAYALAM LETTER DOT REPH +-0D60..0D61 ; ID_Start # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL ++0D5F..0D61 ; ID_Start # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL + 0D7A..0D7F ; ID_Start # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K + 0D85..0D96 ; ID_Start # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA + 0D9A..0DB1 ; ID_Start # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA +@@ -5744,7 +5820,8 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 1312..1315 ; ID_Start # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE + 1318..135A ; ID_Start # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA + 1380..138F ; ID_Start # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE +-13A0..13F4 ; ID_Start # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV ++13A0..13F5 ; ID_Start # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; ID_Start # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1401..166C ; ID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA + 166F..167F ; ID_Start # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W + 1681..169A ; ID_Start # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH +@@ -5770,7 +5847,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 1950..196D ; ID_Start # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI + 1970..1974 ; ID_Start # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 + 1980..19AB ; ID_Start # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA +-19C1..19C7 ; ID_Start # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B ++19B0..19C9 ; ID_Start # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 + 1A00..1A16 ; ID_Start # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA + 1A20..1A54 ; ID_Start # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA + 1AA7 ; ID_Start # Lm TAI THAM SIGN MAI YAMOK +@@ -5875,7 +5952,7 @@ FF41..FF5A ; Changes_When_Casemapped # L& [26] FULLWIDTH LATIN SMALL LETTER + 31A0..31BA ; ID_Start # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY + 31F0..31FF ; ID_Start # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO + 3400..4DB5 ; ID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +-4E00..9FCC ; ID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC ++4E00..9FD5 ; ID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 + A000..A014 ; ID_Start # Lo [21] YI SYLLABLE IT..YI SYLLABLE E + A015 ; ID_Start # Lm YI SYLLABLE WU + A016..A48C ; ID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +@@ -5898,8 +5975,9 @@ A770 ; ID_Start # Lm MODIFIER LETTER US + A771..A787 ; ID_Start # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T + A788 ; ID_Start # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT + A78B..A78E ; ID_Start # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++A78F ; ID_Start # Lo LATIN LETTER SINOLOGICAL DOT + A790..A7AD ; ID_Start # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; ID_Start # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; ID_Start # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F7 ; ID_Start # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I + A7F8..A7F9 ; ID_Start # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; ID_Start # L& LATIN LETTER SMALL CAPITAL TURNED M +@@ -5911,6 +5989,7 @@ A840..A873 ; ID_Start # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABI + A882..A8B3 ; ID_Start # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA + A8F2..A8F7 ; ID_Start # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA + A8FB ; ID_Start # Lo DEVANAGARI HEADSTROKE ++A8FD ; ID_Start # Lo DEVANAGARI JAIN OM + A90A..A925 ; ID_Start # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO + A930..A946 ; ID_Start # Lo [23] REJANG LETTER KA..REJANG LETTER A + A960..A97C ; ID_Start # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH +@@ -5945,7 +6024,8 @@ AB20..AB26 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE C + AB28..AB2E ; ID_Start # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO + AB30..AB5A ; ID_Start # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; ID_Start # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; ID_Start # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; ID_Start # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; ID_Start # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + ABC0..ABE2 ; ID_Start # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM + AC00..D7A3 ; ID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH + D7B0..D7C6 ; ID_Start # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E +@@ -6014,6 +6094,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 1083F..10855 ; ID_Start # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW + 10860..10876 ; ID_Start # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW + 10880..1089E ; ID_Start # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW ++108E0..108F2 ; ID_Start # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH ++108F4..108F5 ; ID_Start # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW + 10900..10915 ; ID_Start # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU + 10920..10939 ; ID_Start # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C + 10980..109B7 ; ID_Start # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +@@ -6031,6 +6113,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 10B60..10B72 ; ID_Start # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW + 10B80..10B91 ; ID_Start # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW + 10C00..10C48 ; ID_Start # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH ++10C80..10CB2 ; ID_Start # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; ID_Start # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 11003..11037 ; ID_Start # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA + 11083..110AF ; ID_Start # Lo [45] KAITHI LETTER A..KAITHI LETTER HA + 110D0..110E8 ; ID_Start # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE +@@ -6040,8 +6124,14 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 11183..111B2 ; ID_Start # Lo [48] SHARADA LETTER A..SHARADA LETTER HA + 111C1..111C4 ; ID_Start # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM + 111DA ; ID_Start # Lo SHARADA EKAM ++111DC ; ID_Start # Lo SHARADA HEADSTROKE + 11200..11211 ; ID_Start # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA + 11213..1122B ; ID_Start # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA ++11280..11286 ; ID_Start # Lo [7] MULTANI LETTER A..MULTANI LETTER GA ++11288 ; ID_Start # Lo MULTANI LETTER GHA ++1128A..1128D ; ID_Start # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA ++1128F..1129D ; ID_Start # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA ++1129F..112A8 ; ID_Start # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA + 112B0..112DE ; ID_Start # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA + 11305..1130C ; ID_Start # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L + 1130F..11310 ; ID_Start # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +@@ -6050,20 +6140,25 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 11332..11333 ; ID_Start # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA + 11335..11339 ; ID_Start # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA + 1133D ; ID_Start # Lo GRANTHA SIGN AVAGRAHA ++11350 ; ID_Start # Lo GRANTHA OM + 1135D..11361 ; ID_Start # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL + 11480..114AF ; ID_Start # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA + 114C4..114C5 ; ID_Start # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG + 114C7 ; ID_Start # Lo TIRHUTA OM + 11580..115AE ; ID_Start # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA ++115D8..115DB ; ID_Start # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U + 11600..1162F ; ID_Start # Lo [48] MODI LETTER A..MODI LETTER LLA + 11644 ; ID_Start # Lo MODI SIGN HUVA + 11680..116AA ; ID_Start # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA ++11700..11719 ; ID_Start # Lo [26] AHOM LETTER KA..AHOM LETTER JHA + 118A0..118DF ; ID_Start # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 118FF ; ID_Start # Lo WARANG CITI OM + 11AC0..11AF8 ; ID_Start # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +-12000..12398 ; ID_Start # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME ++12000..12399 ; ID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U + 12400..1246E ; ID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM ++12480..12543 ; ID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + 13000..1342E ; ID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 ++14400..14646 ; ID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + 16800..16A38 ; ID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ + 16A40..16A5E ; ID_Start # Lo [31] MRO LETTER TA..MRO LETTER TEK + 16AD0..16AED ; ID_Start # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I +@@ -6146,9 +6241,10 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 20000..2A6D6 ; ID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 + 2A700..2B734 ; ID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 + 2B740..2B81D ; ID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D ++2B820..2CEA1 ; ID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 + 2F800..2FA1D ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + +-# Total code points: 102964 ++# Total code points: 109830 + + # ================================================ + +@@ -6251,8 +6347,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 0829..082D ; ID_Continue # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA + 0840..0858 ; ID_Continue # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN + 0859..085B ; ID_Continue # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK +-08A0..08B2 ; ID_Continue # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +-08E4..0902 ; ID_Continue # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA ++08A0..08B4 ; ID_Continue # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW ++08E3..0902 ; ID_Continue # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA + 0903 ; ID_Continue # Mc DEVANAGARI SIGN VISARGA + 0904..0939 ; ID_Continue # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA + 093A ; ID_Continue # Mn DEVANAGARI VOWEL SIGN OE +@@ -6334,6 +6430,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 0AE0..0AE1 ; ID_Continue # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL + 0AE2..0AE3 ; ID_Continue # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL + 0AE6..0AEF ; ID_Continue # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE ++0AF9 ; ID_Continue # Lo GUJARATI LETTER ZHA + 0B01 ; ID_Continue # Mn ORIYA SIGN CANDRABINDU + 0B02..0B03 ; ID_Continue # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA + 0B05..0B0C ; ID_Continue # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L +@@ -6390,7 +6487,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 0C46..0C48 ; ID_Continue # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI + 0C4A..0C4D ; ID_Continue # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA + 0C55..0C56 ; ID_Continue # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK +-0C58..0C59 ; ID_Continue # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA ++0C58..0C5A ; ID_Continue # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA + 0C60..0C61 ; ID_Continue # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL + 0C62..0C63 ; ID_Continue # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL + 0C66..0C6F ; ID_Continue # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE +@@ -6429,7 +6526,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 0D4D ; ID_Continue # Mn MALAYALAM SIGN VIRAMA + 0D4E ; ID_Continue # Lo MALAYALAM LETTER DOT REPH + 0D57 ; ID_Continue # Mc MALAYALAM AU LENGTH MARK +-0D60..0D61 ; ID_Continue # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL ++0D5F..0D61 ; ID_Continue # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL + 0D62..0D63 ; ID_Continue # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL + 0D66..0D6F ; ID_Continue # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE + 0D7A..0D7F ; ID_Continue # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K +@@ -6550,7 +6647,8 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 135D..135F ; ID_Continue # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK + 1369..1371 ; ID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE + 1380..138F ; ID_Continue # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE +-13A0..13F4 ; ID_Continue # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV ++13A0..13F5 ; ID_Continue # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; ID_Continue # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1401..166C ; ID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA + 166F..167F ; ID_Continue # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W + 1681..169A ; ID_Continue # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH +@@ -6601,9 +6699,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 1950..196D ; ID_Continue # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI + 1970..1974 ; ID_Continue # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 + 1980..19AB ; ID_Continue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA +-19B0..19C0 ; ID_Continue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY +-19C1..19C7 ; ID_Continue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +-19C8..19C9 ; ID_Continue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 ++19B0..19C9 ; ID_Continue # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 + 19D0..19D9 ; ID_Continue # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE + 19DA ; ID_Continue # No NEW TAI LUE THAM DIGIT ONE + 1A00..1A16 ; ID_Continue # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA +@@ -6784,7 +6880,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL + 31A0..31BA ; ID_Continue # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY + 31F0..31FF ; ID_Continue # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO + 3400..4DB5 ; ID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +-4E00..9FCC ; ID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC ++4E00..9FD5 ; ID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 + A000..A014 ; ID_Continue # Lo [21] YI SYLLABLE IT..YI SYLLABLE E + A015 ; ID_Continue # Lm YI SYLLABLE WU + A016..A48C ; ID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +@@ -6802,7 +6898,7 @@ A674..A67D ; ID_Continue # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..C + A67F ; ID_Continue # Lm CYRILLIC PAYEROK + A680..A69B ; ID_Continue # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O + A69C..A69D ; ID_Continue # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN +-A69F ; ID_Continue # Mn COMBINING CYRILLIC LETTER IOTIFIED E ++A69E..A69F ; ID_Continue # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E + A6A0..A6E5 ; ID_Continue # Lo [70] BAMUM LETTER A..BAMUM LETTER KI + A6E6..A6EF ; ID_Continue # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM + A6F0..A6F1 ; ID_Continue # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS +@@ -6812,8 +6908,9 @@ A770 ; ID_Continue # Lm MODIFIER LETTER US + A771..A787 ; ID_Continue # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T + A788 ; ID_Continue # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT + A78B..A78E ; ID_Continue # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++A78F ; ID_Continue # Lo LATIN LETTER SINOLOGICAL DOT + A790..A7AD ; ID_Continue # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; ID_Continue # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; ID_Continue # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F7 ; ID_Continue # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I + A7F8..A7F9 ; ID_Continue # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; ID_Continue # L& LATIN LETTER SMALL CAPITAL TURNED M +@@ -6836,6 +6933,7 @@ A8D0..A8D9 ; ID_Continue # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT N + A8E0..A8F1 ; ID_Continue # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA + A8F2..A8F7 ; ID_Continue # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA + A8FB ; ID_Continue # Lo DEVANAGARI HEADSTROKE ++A8FD ; ID_Continue # Lo DEVANAGARI JAIN OM + A900..A909 ; ID_Continue # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE + A90A..A925 ; ID_Continue # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO + A926..A92D ; ID_Continue # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU +@@ -6907,7 +7005,8 @@ AB20..AB26 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABL + AB28..AB2E ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO + AB30..AB5A ; ID_Continue # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; ID_Continue # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; ID_Continue # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; ID_Continue # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; ID_Continue # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + ABC0..ABE2 ; ID_Continue # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM + ABE3..ABE4 ; ID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP + ABE5 ; ID_Continue # Mn MEETEI MAYEK VOWEL SIGN ANAP +@@ -6938,7 +7037,7 @@ FD50..FD8F ; ID_Continue # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM I + FD92..FDC7 ; ID_Continue # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM + FDF0..FDFB ; ID_Continue # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU + FE00..FE0F ; ID_Continue # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 +-FE20..FE2D ; ID_Continue # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW ++FE20..FE2F ; ID_Continue # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF + FE33..FE34 ; ID_Continue # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE + FE4D..FE4F ; ID_Continue # Pc [3] DASHED LOW LINE..WAVY LOW LINE + FE70..FE74 ; ID_Continue # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM +@@ -6995,6 +7094,8 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 1083F..10855 ; ID_Continue # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW + 10860..10876 ; ID_Continue # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW + 10880..1089E ; ID_Continue # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW ++108E0..108F2 ; ID_Continue # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH ++108F4..108F5 ; ID_Continue # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW + 10900..10915 ; ID_Continue # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU + 10920..10939 ; ID_Continue # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C + 10980..109B7 ; ID_Continue # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +@@ -7018,6 +7119,8 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 10B60..10B72 ; ID_Continue # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW + 10B80..10B91 ; ID_Continue # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW + 10C00..10C48 ; ID_Continue # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH ++10C80..10CB2 ; ID_Continue # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; ID_Continue # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 11000 ; ID_Continue # Mc BRAHMI SIGN CANDRABINDU + 11001 ; ID_Continue # Mn BRAHMI SIGN ANUSVARA + 11002 ; ID_Continue # Mc BRAHMI SIGN VISARGA +@@ -7049,8 +7152,10 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 111B6..111BE ; ID_Continue # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O + 111BF..111C0 ; ID_Continue # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA + 111C1..111C4 ; ID_Continue # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM ++111CA..111CC ; ID_Continue # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK + 111D0..111D9 ; ID_Continue # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE + 111DA ; ID_Continue # Lo SHARADA EKAM ++111DC ; ID_Continue # Lo SHARADA HEADSTROKE + 11200..11211 ; ID_Continue # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA + 11213..1122B ; ID_Continue # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA + 1122C..1122E ; ID_Continue # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II +@@ -7059,12 +7164,17 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 11234 ; ID_Continue # Mn KHOJKI SIGN ANUSVARA + 11235 ; ID_Continue # Mc KHOJKI SIGN VIRAMA + 11236..11237 ; ID_Continue # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA ++11280..11286 ; ID_Continue # Lo [7] MULTANI LETTER A..MULTANI LETTER GA ++11288 ; ID_Continue # Lo MULTANI LETTER GHA ++1128A..1128D ; ID_Continue # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA ++1128F..1129D ; ID_Continue # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA ++1129F..112A8 ; ID_Continue # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA + 112B0..112DE ; ID_Continue # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA + 112DF ; ID_Continue # Mn KHUDAWADI SIGN ANUSVARA + 112E0..112E2 ; ID_Continue # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II + 112E3..112EA ; ID_Continue # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA + 112F0..112F9 ; ID_Continue # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE +-11301 ; ID_Continue # Mn GRANTHA SIGN CANDRABINDU ++11300..11301 ; ID_Continue # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU + 11302..11303 ; ID_Continue # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA + 11305..1130C ; ID_Continue # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L + 1130F..11310 ; ID_Continue # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +@@ -7079,6 +7189,7 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 11341..11344 ; ID_Continue # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR + 11347..11348 ; ID_Continue # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI + 1134B..1134D ; ID_Continue # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA ++11350 ; ID_Continue # Lo GRANTHA OM + 11357 ; ID_Continue # Mc GRANTHA AU LENGTH MARK + 1135D..11361 ; ID_Continue # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL + 11362..11363 ; ID_Continue # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL +@@ -7103,6 +7214,8 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 115BC..115BD ; ID_Continue # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA + 115BE ; ID_Continue # Mc SIDDHAM SIGN VISARGA + 115BF..115C0 ; ID_Continue # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA ++115D8..115DB ; ID_Continue # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U ++115DC..115DD ; ID_Continue # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU + 11600..1162F ; ID_Continue # Lo [48] MODI LETTER A..MODI LETTER LLA + 11630..11632 ; ID_Continue # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II + 11633..1163A ; ID_Continue # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI +@@ -7121,13 +7234,22 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 116B6 ; ID_Continue # Mc TAKRI SIGN VIRAMA + 116B7 ; ID_Continue # Mn TAKRI SIGN NUKTA + 116C0..116C9 ; ID_Continue # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE ++11700..11719 ; ID_Continue # Lo [26] AHOM LETTER KA..AHOM LETTER JHA ++1171D..1171F ; ID_Continue # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA ++11720..11721 ; ID_Continue # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA ++11722..11725 ; ID_Continue # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU ++11726 ; ID_Continue # Mc AHOM VOWEL SIGN E ++11727..1172B ; ID_Continue # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER ++11730..11739 ; ID_Continue # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE + 118A0..118DF ; ID_Continue # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 118E0..118E9 ; ID_Continue # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE + 118FF ; ID_Continue # Lo WARANG CITI OM + 11AC0..11AF8 ; ID_Continue # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +-12000..12398 ; ID_Continue # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME ++12000..12399 ; ID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U + 12400..1246E ; ID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM ++12480..12543 ; ID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + 13000..1342E ; ID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 ++14400..14646 ; ID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + 16800..16A38 ; ID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ + 16A40..16A5E ; ID_Continue # Lo [31] MRO LETTER TA..MRO LETTER TEK + 16A60..16A69 ; ID_Continue # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE +@@ -7188,6 +7310,12 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 1D7AA..1D7C2 ; ID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA + 1D7C4..1D7CB ; ID_Continue # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA + 1D7CE..1D7FF ; ID_Continue # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE ++1DA00..1DA36 ; ID_Continue # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN ++1DA3B..1DA6C ; ID_Continue # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT ++1DA75 ; ID_Continue # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS ++1DA84 ; ID_Continue # Mn SIGNWRITING LOCATION HEAD NECK ++1DA9B..1DA9F ; ID_Continue # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 ++1DAA1..1DAAF ; ID_Continue # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 + 1E800..1E8C4 ; ID_Continue # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON + 1E8D0..1E8D6 ; ID_Continue # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS + 1EE00..1EE03 ; ID_Continue # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL +@@ -7226,10 +7354,11 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN + 20000..2A6D6 ; ID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 + 2A700..2B734 ; ID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 + 2B740..2B81D ; ID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D ++2B820..2CEA1 ; ID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 + 2F800..2FA1D ; ID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 + +-# Total code points: 105343 ++# Total code points: 112352 + + # ================================================ + +@@ -7298,7 +7427,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 0824 ; XID_Start # Lm SAMARITAN MODIFIER LETTER SHORT A + 0828 ; XID_Start # Lm SAMARITAN MODIFIER LETTER I + 0840..0858 ; XID_Start # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN +-08A0..08B2 ; XID_Start # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE ++08A0..08B4 ; XID_Start # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW + 0904..0939 ; XID_Start # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA + 093D ; XID_Start # Lo DEVANAGARI SIGN AVAGRAHA + 0950 ; XID_Start # Lo DEVANAGARI OM +@@ -7335,6 +7464,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 0ABD ; XID_Start # Lo GUJARATI SIGN AVAGRAHA + 0AD0 ; XID_Start # Lo GUJARATI OM + 0AE0..0AE1 ; XID_Start # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL ++0AF9 ; XID_Start # Lo GUJARATI LETTER ZHA + 0B05..0B0C ; XID_Start # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L + 0B0F..0B10 ; XID_Start # Lo [2] ORIYA LETTER E..ORIYA LETTER AI + 0B13..0B28 ; XID_Start # Lo [22] ORIYA LETTER O..ORIYA LETTER NA +@@ -7361,7 +7491,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 0C12..0C28 ; XID_Start # Lo [23] TELUGU LETTER O..TELUGU LETTER NA + 0C2A..0C39 ; XID_Start # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA + 0C3D ; XID_Start # Lo TELUGU SIGN AVAGRAHA +-0C58..0C59 ; XID_Start # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA ++0C58..0C5A ; XID_Start # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA + 0C60..0C61 ; XID_Start # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL + 0C85..0C8C ; XID_Start # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L + 0C8E..0C90 ; XID_Start # Lo [3] KANNADA LETTER E..KANNADA LETTER AI +@@ -7377,7 +7507,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 0D12..0D3A ; XID_Start # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA + 0D3D ; XID_Start # Lo MALAYALAM SIGN AVAGRAHA + 0D4E ; XID_Start # Lo MALAYALAM LETTER DOT REPH +-0D60..0D61 ; XID_Start # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL ++0D5F..0D61 ; XID_Start # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL + 0D7A..0D7F ; XID_Start # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K + 0D85..0D96 ; XID_Start # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA + 0D9A..0DB1 ; XID_Start # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA +@@ -7440,7 +7570,8 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 1312..1315 ; XID_Start # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE + 1318..135A ; XID_Start # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA + 1380..138F ; XID_Start # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE +-13A0..13F4 ; XID_Start # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV ++13A0..13F5 ; XID_Start # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; XID_Start # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1401..166C ; XID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA + 166F..167F ; XID_Start # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W + 1681..169A ; XID_Start # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH +@@ -7466,7 +7597,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 1950..196D ; XID_Start # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI + 1970..1974 ; XID_Start # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 + 1980..19AB ; XID_Start # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA +-19C1..19C7 ; XID_Start # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B ++19B0..19C9 ; XID_Start # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 + 1A00..1A16 ; XID_Start # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA + 1A20..1A54 ; XID_Start # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA + 1AA7 ; XID_Start # Lm TAI THAM SIGN MAI YAMOK +@@ -7570,7 +7701,7 @@ E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR + 31A0..31BA ; XID_Start # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY + 31F0..31FF ; XID_Start # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO + 3400..4DB5 ; XID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +-4E00..9FCC ; XID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC ++4E00..9FD5 ; XID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 + A000..A014 ; XID_Start # Lo [21] YI SYLLABLE IT..YI SYLLABLE E + A015 ; XID_Start # Lm YI SYLLABLE WU + A016..A48C ; XID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +@@ -7593,8 +7724,9 @@ A770 ; XID_Start # Lm MODIFIER LETTER US + A771..A787 ; XID_Start # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T + A788 ; XID_Start # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT + A78B..A78E ; XID_Start # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++A78F ; XID_Start # Lo LATIN LETTER SINOLOGICAL DOT + A790..A7AD ; XID_Start # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; XID_Start # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; XID_Start # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F7 ; XID_Start # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I + A7F8..A7F9 ; XID_Start # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; XID_Start # L& LATIN LETTER SMALL CAPITAL TURNED M +@@ -7606,6 +7738,7 @@ A840..A873 ; XID_Start # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRAB + A882..A8B3 ; XID_Start # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA + A8F2..A8F7 ; XID_Start # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA + A8FB ; XID_Start # Lo DEVANAGARI HEADSTROKE ++A8FD ; XID_Start # Lo DEVANAGARI JAIN OM + A90A..A925 ; XID_Start # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO + A930..A946 ; XID_Start # Lo [23] REJANG LETTER KA..REJANG LETTER A + A960..A97C ; XID_Start # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH +@@ -7640,7 +7773,8 @@ AB20..AB26 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE + AB28..AB2E ; XID_Start # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO + AB30..AB5A ; XID_Start # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; XID_Start # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; XID_Start # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; XID_Start # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; XID_Start # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + ABC0..ABE2 ; XID_Start # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM + AC00..D7A3 ; XID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH + D7B0..D7C6 ; XID_Start # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E +@@ -7714,6 +7848,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 1083F..10855 ; XID_Start # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW + 10860..10876 ; XID_Start # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW + 10880..1089E ; XID_Start # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW ++108E0..108F2 ; XID_Start # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH ++108F4..108F5 ; XID_Start # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW + 10900..10915 ; XID_Start # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU + 10920..10939 ; XID_Start # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C + 10980..109B7 ; XID_Start # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +@@ -7731,6 +7867,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 10B60..10B72 ; XID_Start # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW + 10B80..10B91 ; XID_Start # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW + 10C00..10C48 ; XID_Start # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH ++10C80..10CB2 ; XID_Start # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; XID_Start # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 11003..11037 ; XID_Start # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA + 11083..110AF ; XID_Start # Lo [45] KAITHI LETTER A..KAITHI LETTER HA + 110D0..110E8 ; XID_Start # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE +@@ -7740,8 +7878,14 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 11183..111B2 ; XID_Start # Lo [48] SHARADA LETTER A..SHARADA LETTER HA + 111C1..111C4 ; XID_Start # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM + 111DA ; XID_Start # Lo SHARADA EKAM ++111DC ; XID_Start # Lo SHARADA HEADSTROKE + 11200..11211 ; XID_Start # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA + 11213..1122B ; XID_Start # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA ++11280..11286 ; XID_Start # Lo [7] MULTANI LETTER A..MULTANI LETTER GA ++11288 ; XID_Start # Lo MULTANI LETTER GHA ++1128A..1128D ; XID_Start # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA ++1128F..1129D ; XID_Start # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA ++1129F..112A8 ; XID_Start # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA + 112B0..112DE ; XID_Start # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA + 11305..1130C ; XID_Start # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L + 1130F..11310 ; XID_Start # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +@@ -7750,20 +7894,25 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 11332..11333 ; XID_Start # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA + 11335..11339 ; XID_Start # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA + 1133D ; XID_Start # Lo GRANTHA SIGN AVAGRAHA ++11350 ; XID_Start # Lo GRANTHA OM + 1135D..11361 ; XID_Start # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL + 11480..114AF ; XID_Start # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA + 114C4..114C5 ; XID_Start # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG + 114C7 ; XID_Start # Lo TIRHUTA OM + 11580..115AE ; XID_Start # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA ++115D8..115DB ; XID_Start # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U + 11600..1162F ; XID_Start # Lo [48] MODI LETTER A..MODI LETTER LLA + 11644 ; XID_Start # Lo MODI SIGN HUVA + 11680..116AA ; XID_Start # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA ++11700..11719 ; XID_Start # Lo [26] AHOM LETTER KA..AHOM LETTER JHA + 118A0..118DF ; XID_Start # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 118FF ; XID_Start # Lo WARANG CITI OM + 11AC0..11AF8 ; XID_Start # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +-12000..12398 ; XID_Start # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME ++12000..12399 ; XID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U + 12400..1246E ; XID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM ++12480..12543 ; XID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + 13000..1342E ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 ++14400..14646 ; XID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + 16800..16A38 ; XID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ + 16A40..16A5E ; XID_Start # Lo [31] MRO LETTER TA..MRO LETTER TEK + 16AD0..16AED ; XID_Start # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I +@@ -7846,9 +7995,10 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 20000..2A6D6 ; XID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 + 2A700..2B734 ; XID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 + 2B740..2B81D ; XID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D ++2B820..2CEA1 ; XID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 + 2F800..2FA1D ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + +-# Total code points: 102941 ++# Total code points: 109807 + + # ================================================ + +@@ -7947,8 +8097,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 0829..082D ; XID_Continue # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA + 0840..0858 ; XID_Continue # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN + 0859..085B ; XID_Continue # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK +-08A0..08B2 ; XID_Continue # Lo [19] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE +-08E4..0902 ; XID_Continue # Mn [31] ARABIC CURLY FATHA..DEVANAGARI SIGN ANUSVARA ++08A0..08B4 ; XID_Continue # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW ++08E3..0902 ; XID_Continue # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA + 0903 ; XID_Continue # Mc DEVANAGARI SIGN VISARGA + 0904..0939 ; XID_Continue # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA + 093A ; XID_Continue # Mn DEVANAGARI VOWEL SIGN OE +@@ -8030,6 +8180,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 0AE0..0AE1 ; XID_Continue # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL + 0AE2..0AE3 ; XID_Continue # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL + 0AE6..0AEF ; XID_Continue # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE ++0AF9 ; XID_Continue # Lo GUJARATI LETTER ZHA + 0B01 ; XID_Continue # Mn ORIYA SIGN CANDRABINDU + 0B02..0B03 ; XID_Continue # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA + 0B05..0B0C ; XID_Continue # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L +@@ -8086,7 +8237,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 0C46..0C48 ; XID_Continue # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI + 0C4A..0C4D ; XID_Continue # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA + 0C55..0C56 ; XID_Continue # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK +-0C58..0C59 ; XID_Continue # Lo [2] TELUGU LETTER TSA..TELUGU LETTER DZA ++0C58..0C5A ; XID_Continue # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA + 0C60..0C61 ; XID_Continue # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL + 0C62..0C63 ; XID_Continue # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL + 0C66..0C6F ; XID_Continue # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE +@@ -8125,7 +8276,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 0D4D ; XID_Continue # Mn MALAYALAM SIGN VIRAMA + 0D4E ; XID_Continue # Lo MALAYALAM LETTER DOT REPH + 0D57 ; XID_Continue # Mc MALAYALAM AU LENGTH MARK +-0D60..0D61 ; XID_Continue # Lo [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL ++0D5F..0D61 ; XID_Continue # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL + 0D62..0D63 ; XID_Continue # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL + 0D66..0D6F ; XID_Continue # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE + 0D7A..0D7F ; XID_Continue # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K +@@ -8246,7 +8397,8 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 135D..135F ; XID_Continue # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK + 1369..1371 ; XID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE + 1380..138F ; XID_Continue # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE +-13A0..13F4 ; XID_Continue # Lo [85] CHEROKEE LETTER A..CHEROKEE LETTER YV ++13A0..13F5 ; XID_Continue # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV ++13F8..13FD ; XID_Continue # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV + 1401..166C ; XID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA + 166F..167F ; XID_Continue # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W + 1681..169A ; XID_Continue # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH +@@ -8297,9 +8449,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 1950..196D ; XID_Continue # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI + 1970..1974 ; XID_Continue # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 + 1980..19AB ; XID_Continue # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA +-19B0..19C0 ; XID_Continue # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY +-19C1..19C7 ; XID_Continue # Lo [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B +-19C8..19C9 ; XID_Continue # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 ++19B0..19C9 ; XID_Continue # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 + 19D0..19D9 ; XID_Continue # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE + 19DA ; XID_Continue # No NEW TAI LUE THAM DIGIT ONE + 1A00..1A16 ; XID_Continue # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA +@@ -8479,7 +8629,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU + 31A0..31BA ; XID_Continue # Lo [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY + 31F0..31FF ; XID_Continue # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO + 3400..4DB5 ; XID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +-4E00..9FCC ; XID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC ++4E00..9FD5 ; XID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 + A000..A014 ; XID_Continue # Lo [21] YI SYLLABLE IT..YI SYLLABLE E + A015 ; XID_Continue # Lm YI SYLLABLE WU + A016..A48C ; XID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +@@ -8497,7 +8647,7 @@ A674..A67D ; XID_Continue # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE.. + A67F ; XID_Continue # Lm CYRILLIC PAYEROK + A680..A69B ; XID_Continue # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O + A69C..A69D ; XID_Continue # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN +-A69F ; XID_Continue # Mn COMBINING CYRILLIC LETTER IOTIFIED E ++A69E..A69F ; XID_Continue # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E + A6A0..A6E5 ; XID_Continue # Lo [70] BAMUM LETTER A..BAMUM LETTER KI + A6E6..A6EF ; XID_Continue # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM + A6F0..A6F1 ; XID_Continue # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS +@@ -8507,8 +8657,9 @@ A770 ; XID_Continue # Lm MODIFIER LETTER US + A771..A787 ; XID_Continue # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T + A788 ; XID_Continue # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT + A78B..A78E ; XID_Continue # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++A78F ; XID_Continue # Lo LATIN LETTER SINOLOGICAL DOT + A790..A7AD ; XID_Continue # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1 ; XID_Continue # L& [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7 ; XID_Continue # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F7 ; XID_Continue # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I + A7F8..A7F9 ; XID_Continue # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA ; XID_Continue # L& LATIN LETTER SMALL CAPITAL TURNED M +@@ -8531,6 +8682,7 @@ A8D0..A8D9 ; XID_Continue # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT + A8E0..A8F1 ; XID_Continue # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA + A8F2..A8F7 ; XID_Continue # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA + A8FB ; XID_Continue # Lo DEVANAGARI HEADSTROKE ++A8FD ; XID_Continue # Lo DEVANAGARI JAIN OM + A900..A909 ; XID_Continue # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE + A90A..A925 ; XID_Continue # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO + A926..A92D ; XID_Continue # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU +@@ -8602,7 +8754,8 @@ AB20..AB26 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLAB + AB28..AB2E ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO + AB30..AB5A ; XID_Continue # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5C..AB5F ; XID_Continue # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65 ; XID_Continue # L& [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65 ; XID_Continue # L& [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF ; XID_Continue # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + ABC0..ABE2 ; XID_Continue # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM + ABE3..ABE4 ; XID_Continue # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP + ABE5 ; XID_Continue # Mn MEETEI MAYEK VOWEL SIGN ANAP +@@ -8634,7 +8787,7 @@ FD50..FD8F ; XID_Continue # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM + FD92..FDC7 ; XID_Continue # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM + FDF0..FDF9 ; XID_Continue # Lo [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM + FE00..FE0F ; XID_Continue # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 +-FE20..FE2D ; XID_Continue # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW ++FE20..FE2F ; XID_Continue # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF + FE33..FE34 ; XID_Continue # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE + FE4D..FE4F ; XID_Continue # Pc [3] DASHED LOW LINE..WAVY LOW LINE + FE71 ; XID_Continue # Lo ARABIC TATWEEL WITH FATHATAN ABOVE +@@ -8696,6 +8849,8 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 1083F..10855 ; XID_Continue # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW + 10860..10876 ; XID_Continue # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW + 10880..1089E ; XID_Continue # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW ++108E0..108F2 ; XID_Continue # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH ++108F4..108F5 ; XID_Continue # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW + 10900..10915 ; XID_Continue # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU + 10920..10939 ; XID_Continue # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C + 10980..109B7 ; XID_Continue # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA +@@ -8719,6 +8874,8 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 10B60..10B72 ; XID_Continue # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW + 10B80..10B91 ; XID_Continue # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW + 10C00..10C48 ; XID_Continue # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH ++10C80..10CB2 ; XID_Continue # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2 ; XID_Continue # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US + 11000 ; XID_Continue # Mc BRAHMI SIGN CANDRABINDU + 11001 ; XID_Continue # Mn BRAHMI SIGN ANUSVARA + 11002 ; XID_Continue # Mc BRAHMI SIGN VISARGA +@@ -8750,8 +8907,10 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 111B6..111BE ; XID_Continue # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O + 111BF..111C0 ; XID_Continue # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA + 111C1..111C4 ; XID_Continue # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM ++111CA..111CC ; XID_Continue # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK + 111D0..111D9 ; XID_Continue # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE + 111DA ; XID_Continue # Lo SHARADA EKAM ++111DC ; XID_Continue # Lo SHARADA HEADSTROKE + 11200..11211 ; XID_Continue # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA + 11213..1122B ; XID_Continue # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA + 1122C..1122E ; XID_Continue # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II +@@ -8760,12 +8919,17 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 11234 ; XID_Continue # Mn KHOJKI SIGN ANUSVARA + 11235 ; XID_Continue # Mc KHOJKI SIGN VIRAMA + 11236..11237 ; XID_Continue # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA ++11280..11286 ; XID_Continue # Lo [7] MULTANI LETTER A..MULTANI LETTER GA ++11288 ; XID_Continue # Lo MULTANI LETTER GHA ++1128A..1128D ; XID_Continue # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA ++1128F..1129D ; XID_Continue # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA ++1129F..112A8 ; XID_Continue # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA + 112B0..112DE ; XID_Continue # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA + 112DF ; XID_Continue # Mn KHUDAWADI SIGN ANUSVARA + 112E0..112E2 ; XID_Continue # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II + 112E3..112EA ; XID_Continue # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA + 112F0..112F9 ; XID_Continue # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE +-11301 ; XID_Continue # Mn GRANTHA SIGN CANDRABINDU ++11300..11301 ; XID_Continue # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU + 11302..11303 ; XID_Continue # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA + 11305..1130C ; XID_Continue # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L + 1130F..11310 ; XID_Continue # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +@@ -8780,6 +8944,7 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 11341..11344 ; XID_Continue # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR + 11347..11348 ; XID_Continue # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI + 1134B..1134D ; XID_Continue # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA ++11350 ; XID_Continue # Lo GRANTHA OM + 11357 ; XID_Continue # Mc GRANTHA AU LENGTH MARK + 1135D..11361 ; XID_Continue # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL + 11362..11363 ; XID_Continue # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL +@@ -8804,6 +8969,8 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 115BC..115BD ; XID_Continue # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA + 115BE ; XID_Continue # Mc SIDDHAM SIGN VISARGA + 115BF..115C0 ; XID_Continue # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA ++115D8..115DB ; XID_Continue # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U ++115DC..115DD ; XID_Continue # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU + 11600..1162F ; XID_Continue # Lo [48] MODI LETTER A..MODI LETTER LLA + 11630..11632 ; XID_Continue # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II + 11633..1163A ; XID_Continue # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI +@@ -8822,13 +8989,22 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 116B6 ; XID_Continue # Mc TAKRI SIGN VIRAMA + 116B7 ; XID_Continue # Mn TAKRI SIGN NUKTA + 116C0..116C9 ; XID_Continue # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE ++11700..11719 ; XID_Continue # Lo [26] AHOM LETTER KA..AHOM LETTER JHA ++1171D..1171F ; XID_Continue # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA ++11720..11721 ; XID_Continue # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA ++11722..11725 ; XID_Continue # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU ++11726 ; XID_Continue # Mc AHOM VOWEL SIGN E ++11727..1172B ; XID_Continue # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER ++11730..11739 ; XID_Continue # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE + 118A0..118DF ; XID_Continue # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 118E0..118E9 ; XID_Continue # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE + 118FF ; XID_Continue # Lo WARANG CITI OM + 11AC0..11AF8 ; XID_Continue # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +-12000..12398 ; XID_Continue # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME ++12000..12399 ; XID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U + 12400..1246E ; XID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM ++12480..12543 ; XID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + 13000..1342E ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 ++14400..14646 ; XID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + 16800..16A38 ; XID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ + 16A40..16A5E ; XID_Continue # Lo [31] MRO LETTER TA..MRO LETTER TEK + 16A60..16A69 ; XID_Continue # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE +@@ -8889,6 +9065,12 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 1D7AA..1D7C2 ; XID_Continue # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA + 1D7C4..1D7CB ; XID_Continue # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA + 1D7CE..1D7FF ; XID_Continue # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE ++1DA00..1DA36 ; XID_Continue # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN ++1DA3B..1DA6C ; XID_Continue # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT ++1DA75 ; XID_Continue # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS ++1DA84 ; XID_Continue # Mn SIGNWRITING LOCATION HEAD NECK ++1DA9B..1DA9F ; XID_Continue # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 ++1DAA1..1DAAF ; XID_Continue # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 + 1E800..1E8C4 ; XID_Continue # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON + 1E8D0..1E8D6 ; XID_Continue # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS + 1EE00..1EE03 ; XID_Continue # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL +@@ -8927,10 +9109,11 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA + 20000..2A6D6 ; XID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 + 2A700..2B734 ; XID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 + 2B740..2B81D ; XID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D ++2B820..2CEA1 ; XID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 + 2F800..2FA1D ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + E0100..E01EF ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 + +-# Total code points: 105324 ++# Total code points: 112333 + + # ================================================ + +@@ -9003,7 +9186,7 @@ E01F0..E0FFF ; Default_Ignorable_Code_Point # Cn [3600] ...... + 4DC0..4DFF;N # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION +-4E00..9FCC;W # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC +-9FCD..9FFF;W # Cn [51] .. ++4E00..9FD5;W # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5 ++9FD6..9FFF;W # Cn [42] .. + A000..A014;W # Lo [21] YI SYLLABLE IT..YI SYLLABLE E + A015;W # Lm YI SYLLABLE WU + A016..A48C;W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +@@ -1432,7 +1435,7 @@ A67E;N # Po CYRILLIC KAVYKA + A67F;N # Lm CYRILLIC PAYEROK + A680..A69B;N # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O + A69C..A69D;N # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN +-A69F;N # Mn COMBINING CYRILLIC LETTER IOTIFIED E ++A69E..A69F;N # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E + A6A0..A6E5;N # Lo [70] BAMUM LETTER A..BAMUM LETTER KI + A6E6..A6EF;N # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM + A6F0..A6F1;N # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS +@@ -1446,8 +1449,9 @@ A771..A787;N # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR + A788;N # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT + A789..A78A;N # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN + A78B..A78E;N # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT ++A78F;N # Lo LATIN LETTER SINOLOGICAL DOT + A790..A7AD;N # L& [30] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER L WITH BELT +-A7B0..A7B1;N # Lu [2] LATIN CAPITAL LETTER TURNED K..LATIN CAPITAL LETTER TURNED T ++A7B0..A7B7;N # L& [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA + A7F7;N # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I + A7F8..A7F9;N # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE + A7FA;N # Ll LATIN LETTER SMALL CAPITAL TURNED M +@@ -1479,6 +1483,8 @@ A8E0..A8F1;N # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAG + A8F2..A8F7;N # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA + A8F8..A8FA;N # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET + A8FB;N # Lo DEVANAGARI HEADSTROKE ++A8FC;N # Po DEVANAGARI SIGN SIDDHAM ++A8FD;N # Lo DEVANAGARI JAIN OM + A900..A909;N # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE + A90A..A925;N # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO + A926..A92D;N # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU +@@ -1560,7 +1566,8 @@ AB28..AB2E;N # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO + AB30..AB5A;N # Ll [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG + AB5B;N # Sk MODIFIER BREVE WITH INVERTED BREVE + AB5C..AB5F;N # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +-AB64..AB65;N # Ll [2] LATIN SMALL LETTER INVERTED ALPHA..GREEK LETTER SMALL CAPITAL OMEGA ++AB60..AB65;N # Ll [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA ++AB70..ABBF;N # Ll [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA + ABC0..ABE2;N # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM + ABE3..ABE4;N # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP + ABE5;N # Mn MEETEI MAYEK VOWEL SIGN ANAP +@@ -1609,7 +1616,7 @@ FE10..FE16;W # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION + FE17;W # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET + FE18;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET + FE19;W # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS +-FE20..FE2D;N # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON BELOW ++FE20..FE2F;N # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF + FE30;W # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER + FE31..FE32;W # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH + FE33..FE34;W # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE +@@ -1766,6 +1773,9 @@ FFFD;A # So REPLACEMENT CHARACTER + 10879..1087F;N # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY + 10880..1089E;N # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW + 108A7..108AF;N # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED ++108E0..108F2;N # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH ++108F4..108F5;N # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW ++108FB..108FF;N # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED + 10900..10915;N # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU + 10916..1091B;N # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE + 1091F;N # Po PHOENICIAN WORD SEPARATOR +@@ -1773,7 +1783,10 @@ FFFD;A # So REPLACEMENT CHARACTER + 1093F;N # Po LYDIAN TRIANGULAR MARK + 10980..1099F;N # Lo [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2 + 109A0..109B7;N # Lo [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA ++109BC..109BD;N # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF + 109BE..109BF;N # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN ++109C0..109CF;N # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY ++109D2..109FF;N # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS + 10A00;N # Lo KHAROSHTHI LETTER A + 10A01..10A03;N # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R + 10A05..10A06;N # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O +@@ -1806,6 +1819,9 @@ FFFD;A # So REPLACEMENT CHARACTER + 10B99..10B9C;N # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT + 10BA9..10BAF;N # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED + 10C00..10C48;N # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH ++10C80..10CB2;N # Lu [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US ++10CC0..10CF2;N # Ll [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US ++10CFA..10CFF;N # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND + 10E60..10E7E;N # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS + 11000;N # Mc BRAHMI SIGN CANDRABINDU + 11001;N # Mn BRAHMI SIGN ANUSVARA +@@ -1846,10 +1862,14 @@ FFFD;A # So REPLACEMENT CHARACTER + 111B6..111BE;N # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O + 111BF..111C0;N # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA + 111C1..111C4;N # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM +-111C5..111C8;N # Po [4] SHARADA DANDA..SHARADA SEPARATOR ++111C5..111C9;N # Po [5] SHARADA DANDA..SHARADA SANDHI MARK ++111CA..111CC;N # Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK + 111CD;N # Po SHARADA SUTRA MARK + 111D0..111D9;N # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE + 111DA;N # Lo SHARADA EKAM ++111DB;N # Po SHARADA SIGN SIDDHAM ++111DC;N # Lo SHARADA HEADSTROKE ++111DD..111DF;N # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 + 111E1..111F4;N # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND + 11200..11211;N # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA + 11213..1122B;N # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +@@ -1860,12 +1880,18 @@ FFFD;A # So REPLACEMENT CHARACTER + 11235;N # Mc KHOJKI SIGN VIRAMA + 11236..11237;N # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA + 11238..1123D;N # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN ++11280..11286;N # Lo [7] MULTANI LETTER A..MULTANI LETTER GA ++11288;N # Lo MULTANI LETTER GHA ++1128A..1128D;N # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA ++1128F..1129D;N # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA ++1129F..112A8;N # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA ++112A9;N # Po MULTANI SECTION MARK + 112B0..112DE;N # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA + 112DF;N # Mn KHUDAWADI SIGN ANUSVARA + 112E0..112E2;N # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II + 112E3..112EA;N # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA + 112F0..112F9;N # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE +-11301;N # Mn GRANTHA SIGN CANDRABINDU ++11300..11301;N # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU + 11302..11303;N # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA + 11305..1130C;N # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L + 1130F..11310;N # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +@@ -1880,6 +1906,7 @@ FFFD;A # So REPLACEMENT CHARACTER + 11341..11344;N # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR + 11347..11348;N # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI + 1134B..1134D;N # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA ++11350;N # Lo GRANTHA OM + 11357;N # Mc GRANTHA AU LENGTH MARK + 1135D..11361;N # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL + 11362..11363;N # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL +@@ -1905,7 +1932,9 @@ FFFD;A # So REPLACEMENT CHARACTER + 115BC..115BD;N # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA + 115BE;N # Mc SIDDHAM SIGN VISARGA + 115BF..115C0;N # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +-115C1..115C9;N # Po [9] SIDDHAM SIGN SIDDHAM..SIDDHAM END OF TEXT MARK ++115C1..115D7;N # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES ++115D8..115DB;N # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U ++115DC..115DD;N # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU + 11600..1162F;N # Lo [48] MODI LETTER A..MODI LETTER LLA + 11630..11632;N # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II + 11633..1163A;N # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI +@@ -1925,15 +1954,27 @@ FFFD;A # So REPLACEMENT CHARACTER + 116B6;N # Mc TAKRI SIGN VIRAMA + 116B7;N # Mn TAKRI SIGN NUKTA + 116C0..116C9;N # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE ++11700..11719;N # Lo [26] AHOM LETTER KA..AHOM LETTER JHA ++1171D..1171F;N # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA ++11720..11721;N # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA ++11722..11725;N # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU ++11726;N # Mc AHOM VOWEL SIGN E ++11727..1172B;N # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER ++11730..11739;N # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE ++1173A..1173B;N # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY ++1173C..1173E;N # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI ++1173F;N # So AHOM SYMBOL VI + 118A0..118DF;N # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO + 118E0..118E9;N # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE + 118EA..118F2;N # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY + 118FF;N # Lo WARANG CITI OM + 11AC0..11AF8;N # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +-12000..12398;N # Lo [921] CUNEIFORM SIGN A..CUNEIFORM SIGN UM TIMES ME ++12000..12399;N # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U + 12400..1246E;N # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM + 12470..12474;N # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON ++12480..12543;N # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU + 13000..1342E;N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 ++14400..14646;N # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 + 16800..16A38;N # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ + 16A40..16A5E;N # Lo [31] MRO LETTER TA..MRO LETTER TEK + 16A60..16A69;N # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE +@@ -1979,7 +2020,7 @@ FFFD;A # So REPLACEMENT CHARACTER + 1D185..1D18B;N # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE + 1D18C..1D1A9;N # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH + 1D1AA..1D1AD;N # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO +-1D1AE..1D1DD;N # So [48] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL PES SUBPUNCTIS ++1D1AE..1D1E8;N # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN + 1D200..1D241;N # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 + 1D242..1D244;N # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME + 1D245;N # So GREEK MUSICAL LEIMMA +@@ -2026,6 +2067,18 @@ FFFD;A # So REPLACEMENT CHARACTER + 1D7C3;N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL + 1D7C4..1D7CB;N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA + 1D7CE..1D7FF;N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE ++1D800..1D9FF;N # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD ++1DA00..1DA36;N # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN ++1DA37..1DA3A;N # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE ++1DA3B..1DA6C;N # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT ++1DA6D..1DA74;N # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING ++1DA75;N # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS ++1DA76..1DA83;N # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH ++1DA84;N # Mn SIGNWRITING LOCATION HEAD NECK ++1DA85..1DA86;N # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS ++1DA87..1DA8B;N # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS ++1DA9B..1DA9F;N # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 ++1DAA1..1DAAF;N # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 + 1E800..1E8C4;N # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON + 1E8C7..1E8CF;N # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE + 1E8D0..1E8D6;N # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS +@@ -2081,19 +2134,14 @@ FFFD;A # So REPLACEMENT CHARACTER + 1F210..1F23A;W # So [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6 + 1F240..1F248;W # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 + 1F250..1F251;W # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT +-1F300..1F32C;N # So [45] CYCLONE..WIND BLOWING FACE +-1F330..1F37D;N # So [78] CHESTNUT..FORK AND KNIFE WITH PLATE +-1F380..1F3CE;N # So [79] RIBBON..RACING CAR +-1F3D4..1F3F7;N # So [36] SNOW CAPPED MOUNTAIN..LABEL +-1F400..1F4FE;N # So [255] RAT..PORTABLE STEREO +-1F500..1F54A;N # So [75] TWISTED RIGHTWARDS ARROWS..DOVE OF PEACE +-1F550..1F579;N # So [42] CLOCK FACE ONE OCLOCK..JOYSTICK ++1F300..1F3FA;N # So [251] CYCLONE..AMPHORA ++1F3FB..1F3FF;N # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 ++1F400..1F579;N # So [378] RAT..JOYSTICK + 1F57B..1F5A3;N # So [41] LEFT HAND TELEPHONE RECEIVER..BLACK DOWN POINTING BACKHAND INDEX + 1F5A5..1F5FF;N # So [91] DESKTOP COMPUTER..MOYAI +-1F600..1F642;N # So [67] GRINNING FACE..SLIGHTLY SMILING FACE +-1F645..1F64F;N # So [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS ++1F600..1F64F;N # So [80] GRINNING FACE..PERSON WITH FOLDED HANDS + 1F650..1F67F;N # So [48] NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD +-1F680..1F6CF;N # So [80] ROCKET..BED ++1F680..1F6D0;N # So [81] ROCKET..PLACE OF WORSHIP + 1F6E0..1F6EC;N # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING + 1F6F0..1F6F3;N # So [4] SATELLITE..PASSENGER SHIP + 1F700..1F773;N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE +@@ -2103,12 +2151,17 @@ FFFD;A # So REPLACEMENT CHARACTER + 1F850..1F859;N # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW + 1F860..1F887;N # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW + 1F890..1F8AD;N # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS ++1F910..1F918;N # So [9] ZIPPER-MOUTH FACE..SIGN OF THE HORNS ++1F980..1F984;N # So [5] CRAB..UNICORN FACE ++1F9C0;N # So CHEESE WEDGE + 20000..2A6D6;W # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 + 2A6D7..2A6FF;W # Cn [41] .. + 2A700..2B734;W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 + 2B735..2B73F;W # Cn [11] .. + 2B740..2B81D;W # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +-2B81E..2F7FF;W # Cn [16354] .. ++2B81E..2B81F;W # Cn [2] .. ++2B820..2CEA1;W # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 ++2CEA2..2F7FF;W # Cn [10590] .. + 2F800..2FA1D;W # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + 2FA1E..2FFFD;W # Cn [1504] .. + 30000..3FFFD;W # Cn [65534] .. +diff --git a/localedata/unicode-gen/Makefile b/localedata/unicode-gen/Makefile +index 920bf0e..5b7305d 100644 +--- a/localedata/unicode-gen/Makefile ++++ b/localedata/unicode-gen/Makefile +@@ -35,7 +35,7 @@ + # files for making modifications. + + +-UNICODE_VERSION = 7.0.0 ++UNICODE_VERSION = 8.0.0 + + PYTHON3 = python3 + WGET = wget +diff --git a/localedata/unicode-gen/UnicodeData.txt b/localedata/unicode-gen/UnicodeData.txt +index 31c8a7e..aa0e914 100644 +--- a/localedata/unicode-gen/UnicodeData.txt ++++ b/localedata/unicode-gen/UnicodeData.txt +@@ -667,7 +667,7 @@ + 029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; + 029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; + 029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; +-029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;;; ++029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;A7B2;;A7B2 + 029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;A7B0;;A7B0 + 029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; + 02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; +@@ -2091,6 +2091,9 @@ + 08B0;ARABIC LETTER GAF WITH INVERTED STROKE;Lo;0;AL;;;;;N;;;;; + 08B1;ARABIC LETTER STRAIGHT WAW;Lo;0;AL;;;;;N;;;;; + 08B2;ARABIC LETTER ZAIN WITH INVERTED V ABOVE;Lo;0;AL;;;;;N;;;;; ++08B3;ARABIC LETTER AIN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; ++08B4;ARABIC LETTER KAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; ++08E3;ARABIC TURNED DAMMA BELOW;Mn;220;NSM;;;;;N;;;;; + 08E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;; + 08E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;; + 08E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;; +@@ -2503,6 +2506,7 @@ + 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; + 0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; + 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; ++0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;N;;;;; + 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; + 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; + 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +@@ -2738,6 +2742,7 @@ + 0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;; + 0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;; + 0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;; ++0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;; + 0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; + 0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; + 0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +@@ -2919,6 +2924,7 @@ + 0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; + 0D4E;MALAYALAM LETTER DOT REPH;Lo;0;L;;;;;N;;;;; + 0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; ++0D5F;MALAYALAM LETTER ARCHAIC II;Lo;0;L;;;;;N;;;;; + 0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; + 0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; + 0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +@@ -4289,91 +4295,98 @@ + 1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;; + 1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;; + 1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;; +-13A0;CHEROKEE LETTER A;Lo;0;L;;;;;N;;;;; +-13A1;CHEROKEE LETTER E;Lo;0;L;;;;;N;;;;; +-13A2;CHEROKEE LETTER I;Lo;0;L;;;;;N;;;;; +-13A3;CHEROKEE LETTER O;Lo;0;L;;;;;N;;;;; +-13A4;CHEROKEE LETTER U;Lo;0;L;;;;;N;;;;; +-13A5;CHEROKEE LETTER V;Lo;0;L;;;;;N;;;;; +-13A6;CHEROKEE LETTER GA;Lo;0;L;;;;;N;;;;; +-13A7;CHEROKEE LETTER KA;Lo;0;L;;;;;N;;;;; +-13A8;CHEROKEE LETTER GE;Lo;0;L;;;;;N;;;;; +-13A9;CHEROKEE LETTER GI;Lo;0;L;;;;;N;;;;; +-13AA;CHEROKEE LETTER GO;Lo;0;L;;;;;N;;;;; +-13AB;CHEROKEE LETTER GU;Lo;0;L;;;;;N;;;;; +-13AC;CHEROKEE LETTER GV;Lo;0;L;;;;;N;;;;; +-13AD;CHEROKEE LETTER HA;Lo;0;L;;;;;N;;;;; +-13AE;CHEROKEE LETTER HE;Lo;0;L;;;;;N;;;;; +-13AF;CHEROKEE LETTER HI;Lo;0;L;;;;;N;;;;; +-13B0;CHEROKEE LETTER HO;Lo;0;L;;;;;N;;;;; +-13B1;CHEROKEE LETTER HU;Lo;0;L;;;;;N;;;;; +-13B2;CHEROKEE LETTER HV;Lo;0;L;;;;;N;;;;; +-13B3;CHEROKEE LETTER LA;Lo;0;L;;;;;N;;;;; +-13B4;CHEROKEE LETTER LE;Lo;0;L;;;;;N;;;;; +-13B5;CHEROKEE LETTER LI;Lo;0;L;;;;;N;;;;; +-13B6;CHEROKEE LETTER LO;Lo;0;L;;;;;N;;;;; +-13B7;CHEROKEE LETTER LU;Lo;0;L;;;;;N;;;;; +-13B8;CHEROKEE LETTER LV;Lo;0;L;;;;;N;;;;; +-13B9;CHEROKEE LETTER MA;Lo;0;L;;;;;N;;;;; +-13BA;CHEROKEE LETTER ME;Lo;0;L;;;;;N;;;;; +-13BB;CHEROKEE LETTER MI;Lo;0;L;;;;;N;;;;; +-13BC;CHEROKEE LETTER MO;Lo;0;L;;;;;N;;;;; +-13BD;CHEROKEE LETTER MU;Lo;0;L;;;;;N;;;;; +-13BE;CHEROKEE LETTER NA;Lo;0;L;;;;;N;;;;; +-13BF;CHEROKEE LETTER HNA;Lo;0;L;;;;;N;;;;; +-13C0;CHEROKEE LETTER NAH;Lo;0;L;;;;;N;;;;; +-13C1;CHEROKEE LETTER NE;Lo;0;L;;;;;N;;;;; +-13C2;CHEROKEE LETTER NI;Lo;0;L;;;;;N;;;;; +-13C3;CHEROKEE LETTER NO;Lo;0;L;;;;;N;;;;; +-13C4;CHEROKEE LETTER NU;Lo;0;L;;;;;N;;;;; +-13C5;CHEROKEE LETTER NV;Lo;0;L;;;;;N;;;;; +-13C6;CHEROKEE LETTER QUA;Lo;0;L;;;;;N;;;;; +-13C7;CHEROKEE LETTER QUE;Lo;0;L;;;;;N;;;;; +-13C8;CHEROKEE LETTER QUI;Lo;0;L;;;;;N;;;;; +-13C9;CHEROKEE LETTER QUO;Lo;0;L;;;;;N;;;;; +-13CA;CHEROKEE LETTER QUU;Lo;0;L;;;;;N;;;;; +-13CB;CHEROKEE LETTER QUV;Lo;0;L;;;;;N;;;;; +-13CC;CHEROKEE LETTER SA;Lo;0;L;;;;;N;;;;; +-13CD;CHEROKEE LETTER S;Lo;0;L;;;;;N;;;;; +-13CE;CHEROKEE LETTER SE;Lo;0;L;;;;;N;;;;; +-13CF;CHEROKEE LETTER SI;Lo;0;L;;;;;N;;;;; +-13D0;CHEROKEE LETTER SO;Lo;0;L;;;;;N;;;;; +-13D1;CHEROKEE LETTER SU;Lo;0;L;;;;;N;;;;; +-13D2;CHEROKEE LETTER SV;Lo;0;L;;;;;N;;;;; +-13D3;CHEROKEE LETTER DA;Lo;0;L;;;;;N;;;;; +-13D4;CHEROKEE LETTER TA;Lo;0;L;;;;;N;;;;; +-13D5;CHEROKEE LETTER DE;Lo;0;L;;;;;N;;;;; +-13D6;CHEROKEE LETTER TE;Lo;0;L;;;;;N;;;;; +-13D7;CHEROKEE LETTER DI;Lo;0;L;;;;;N;;;;; +-13D8;CHEROKEE LETTER TI;Lo;0;L;;;;;N;;;;; +-13D9;CHEROKEE LETTER DO;Lo;0;L;;;;;N;;;;; +-13DA;CHEROKEE LETTER DU;Lo;0;L;;;;;N;;;;; +-13DB;CHEROKEE LETTER DV;Lo;0;L;;;;;N;;;;; +-13DC;CHEROKEE LETTER DLA;Lo;0;L;;;;;N;;;;; +-13DD;CHEROKEE LETTER TLA;Lo;0;L;;;;;N;;;;; +-13DE;CHEROKEE LETTER TLE;Lo;0;L;;;;;N;;;;; +-13DF;CHEROKEE LETTER TLI;Lo;0;L;;;;;N;;;;; +-13E0;CHEROKEE LETTER TLO;Lo;0;L;;;;;N;;;;; +-13E1;CHEROKEE LETTER TLU;Lo;0;L;;;;;N;;;;; +-13E2;CHEROKEE LETTER TLV;Lo;0;L;;;;;N;;;;; +-13E3;CHEROKEE LETTER TSA;Lo;0;L;;;;;N;;;;; +-13E4;CHEROKEE LETTER TSE;Lo;0;L;;;;;N;;;;; +-13E5;CHEROKEE LETTER TSI;Lo;0;L;;;;;N;;;;; +-13E6;CHEROKEE LETTER TSO;Lo;0;L;;;;;N;;;;; +-13E7;CHEROKEE LETTER TSU;Lo;0;L;;;;;N;;;;; +-13E8;CHEROKEE LETTER TSV;Lo;0;L;;;;;N;;;;; +-13E9;CHEROKEE LETTER WA;Lo;0;L;;;;;N;;;;; +-13EA;CHEROKEE LETTER WE;Lo;0;L;;;;;N;;;;; +-13EB;CHEROKEE LETTER WI;Lo;0;L;;;;;N;;;;; +-13EC;CHEROKEE LETTER WO;Lo;0;L;;;;;N;;;;; +-13ED;CHEROKEE LETTER WU;Lo;0;L;;;;;N;;;;; +-13EE;CHEROKEE LETTER WV;Lo;0;L;;;;;N;;;;; +-13EF;CHEROKEE LETTER YA;Lo;0;L;;;;;N;;;;; +-13F0;CHEROKEE LETTER YE;Lo;0;L;;;;;N;;;;; +-13F1;CHEROKEE LETTER YI;Lo;0;L;;;;;N;;;;; +-13F2;CHEROKEE LETTER YO;Lo;0;L;;;;;N;;;;; +-13F3;CHEROKEE LETTER YU;Lo;0;L;;;;;N;;;;; +-13F4;CHEROKEE LETTER YV;Lo;0;L;;;;;N;;;;; ++13A0;CHEROKEE LETTER A;Lu;0;L;;;;;N;;;;AB70; ++13A1;CHEROKEE LETTER E;Lu;0;L;;;;;N;;;;AB71; ++13A2;CHEROKEE LETTER I;Lu;0;L;;;;;N;;;;AB72; ++13A3;CHEROKEE LETTER O;Lu;0;L;;;;;N;;;;AB73; ++13A4;CHEROKEE LETTER U;Lu;0;L;;;;;N;;;;AB74; ++13A5;CHEROKEE LETTER V;Lu;0;L;;;;;N;;;;AB75; ++13A6;CHEROKEE LETTER GA;Lu;0;L;;;;;N;;;;AB76; ++13A7;CHEROKEE LETTER KA;Lu;0;L;;;;;N;;;;AB77; ++13A8;CHEROKEE LETTER GE;Lu;0;L;;;;;N;;;;AB78; ++13A9;CHEROKEE LETTER GI;Lu;0;L;;;;;N;;;;AB79; ++13AA;CHEROKEE LETTER GO;Lu;0;L;;;;;N;;;;AB7A; ++13AB;CHEROKEE LETTER GU;Lu;0;L;;;;;N;;;;AB7B; ++13AC;CHEROKEE LETTER GV;Lu;0;L;;;;;N;;;;AB7C; ++13AD;CHEROKEE LETTER HA;Lu;0;L;;;;;N;;;;AB7D; ++13AE;CHEROKEE LETTER HE;Lu;0;L;;;;;N;;;;AB7E; ++13AF;CHEROKEE LETTER HI;Lu;0;L;;;;;N;;;;AB7F; ++13B0;CHEROKEE LETTER HO;Lu;0;L;;;;;N;;;;AB80; ++13B1;CHEROKEE LETTER HU;Lu;0;L;;;;;N;;;;AB81; ++13B2;CHEROKEE LETTER HV;Lu;0;L;;;;;N;;;;AB82; ++13B3;CHEROKEE LETTER LA;Lu;0;L;;;;;N;;;;AB83; ++13B4;CHEROKEE LETTER LE;Lu;0;L;;;;;N;;;;AB84; ++13B5;CHEROKEE LETTER LI;Lu;0;L;;;;;N;;;;AB85; ++13B6;CHEROKEE LETTER LO;Lu;0;L;;;;;N;;;;AB86; ++13B7;CHEROKEE LETTER LU;Lu;0;L;;;;;N;;;;AB87; ++13B8;CHEROKEE LETTER LV;Lu;0;L;;;;;N;;;;AB88; ++13B9;CHEROKEE LETTER MA;Lu;0;L;;;;;N;;;;AB89; ++13BA;CHEROKEE LETTER ME;Lu;0;L;;;;;N;;;;AB8A; ++13BB;CHEROKEE LETTER MI;Lu;0;L;;;;;N;;;;AB8B; ++13BC;CHEROKEE LETTER MO;Lu;0;L;;;;;N;;;;AB8C; ++13BD;CHEROKEE LETTER MU;Lu;0;L;;;;;N;;;;AB8D; ++13BE;CHEROKEE LETTER NA;Lu;0;L;;;;;N;;;;AB8E; ++13BF;CHEROKEE LETTER HNA;Lu;0;L;;;;;N;;;;AB8F; ++13C0;CHEROKEE LETTER NAH;Lu;0;L;;;;;N;;;;AB90; ++13C1;CHEROKEE LETTER NE;Lu;0;L;;;;;N;;;;AB91; ++13C2;CHEROKEE LETTER NI;Lu;0;L;;;;;N;;;;AB92; ++13C3;CHEROKEE LETTER NO;Lu;0;L;;;;;N;;;;AB93; ++13C4;CHEROKEE LETTER NU;Lu;0;L;;;;;N;;;;AB94; ++13C5;CHEROKEE LETTER NV;Lu;0;L;;;;;N;;;;AB95; ++13C6;CHEROKEE LETTER QUA;Lu;0;L;;;;;N;;;;AB96; ++13C7;CHEROKEE LETTER QUE;Lu;0;L;;;;;N;;;;AB97; ++13C8;CHEROKEE LETTER QUI;Lu;0;L;;;;;N;;;;AB98; ++13C9;CHEROKEE LETTER QUO;Lu;0;L;;;;;N;;;;AB99; ++13CA;CHEROKEE LETTER QUU;Lu;0;L;;;;;N;;;;AB9A; ++13CB;CHEROKEE LETTER QUV;Lu;0;L;;;;;N;;;;AB9B; ++13CC;CHEROKEE LETTER SA;Lu;0;L;;;;;N;;;;AB9C; ++13CD;CHEROKEE LETTER S;Lu;0;L;;;;;N;;;;AB9D; ++13CE;CHEROKEE LETTER SE;Lu;0;L;;;;;N;;;;AB9E; ++13CF;CHEROKEE LETTER SI;Lu;0;L;;;;;N;;;;AB9F; ++13D0;CHEROKEE LETTER SO;Lu;0;L;;;;;N;;;;ABA0; ++13D1;CHEROKEE LETTER SU;Lu;0;L;;;;;N;;;;ABA1; ++13D2;CHEROKEE LETTER SV;Lu;0;L;;;;;N;;;;ABA2; ++13D3;CHEROKEE LETTER DA;Lu;0;L;;;;;N;;;;ABA3; ++13D4;CHEROKEE LETTER TA;Lu;0;L;;;;;N;;;;ABA4; ++13D5;CHEROKEE LETTER DE;Lu;0;L;;;;;N;;;;ABA5; ++13D6;CHEROKEE LETTER TE;Lu;0;L;;;;;N;;;;ABA6; ++13D7;CHEROKEE LETTER DI;Lu;0;L;;;;;N;;;;ABA7; ++13D8;CHEROKEE LETTER TI;Lu;0;L;;;;;N;;;;ABA8; ++13D9;CHEROKEE LETTER DO;Lu;0;L;;;;;N;;;;ABA9; ++13DA;CHEROKEE LETTER DU;Lu;0;L;;;;;N;;;;ABAA; ++13DB;CHEROKEE LETTER DV;Lu;0;L;;;;;N;;;;ABAB; ++13DC;CHEROKEE LETTER DLA;Lu;0;L;;;;;N;;;;ABAC; ++13DD;CHEROKEE LETTER TLA;Lu;0;L;;;;;N;;;;ABAD; ++13DE;CHEROKEE LETTER TLE;Lu;0;L;;;;;N;;;;ABAE; ++13DF;CHEROKEE LETTER TLI;Lu;0;L;;;;;N;;;;ABAF; ++13E0;CHEROKEE LETTER TLO;Lu;0;L;;;;;N;;;;ABB0; ++13E1;CHEROKEE LETTER TLU;Lu;0;L;;;;;N;;;;ABB1; ++13E2;CHEROKEE LETTER TLV;Lu;0;L;;;;;N;;;;ABB2; ++13E3;CHEROKEE LETTER TSA;Lu;0;L;;;;;N;;;;ABB3; ++13E4;CHEROKEE LETTER TSE;Lu;0;L;;;;;N;;;;ABB4; ++13E5;CHEROKEE LETTER TSI;Lu;0;L;;;;;N;;;;ABB5; ++13E6;CHEROKEE LETTER TSO;Lu;0;L;;;;;N;;;;ABB6; ++13E7;CHEROKEE LETTER TSU;Lu;0;L;;;;;N;;;;ABB7; ++13E8;CHEROKEE LETTER TSV;Lu;0;L;;;;;N;;;;ABB8; ++13E9;CHEROKEE LETTER WA;Lu;0;L;;;;;N;;;;ABB9; ++13EA;CHEROKEE LETTER WE;Lu;0;L;;;;;N;;;;ABBA; ++13EB;CHEROKEE LETTER WI;Lu;0;L;;;;;N;;;;ABBB; ++13EC;CHEROKEE LETTER WO;Lu;0;L;;;;;N;;;;ABBC; ++13ED;CHEROKEE LETTER WU;Lu;0;L;;;;;N;;;;ABBD; ++13EE;CHEROKEE LETTER WV;Lu;0;L;;;;;N;;;;ABBE; ++13EF;CHEROKEE LETTER YA;Lu;0;L;;;;;N;;;;ABBF; ++13F0;CHEROKEE LETTER YE;Lu;0;L;;;;;N;;;;13F8; ++13F1;CHEROKEE LETTER YI;Lu;0;L;;;;;N;;;;13F9; ++13F2;CHEROKEE LETTER YO;Lu;0;L;;;;;N;;;;13FA; ++13F3;CHEROKEE LETTER YU;Lu;0;L;;;;;N;;;;13FB; ++13F4;CHEROKEE LETTER YV;Lu;0;L;;;;;N;;;;13FC; ++13F5;CHEROKEE LETTER MV;Lu;0;L;;;;;N;;;;13FD; ++13F8;CHEROKEE SMALL LETTER YE;Ll;0;L;;;;;N;;;13F0;;13F0 ++13F9;CHEROKEE SMALL LETTER YI;Ll;0;L;;;;;N;;;13F1;;13F1 ++13FA;CHEROKEE SMALL LETTER YO;Ll;0;L;;;;;N;;;13F2;;13F2 ++13FB;CHEROKEE SMALL LETTER YU;Ll;0;L;;;;;N;;;13F3;;13F3 ++13FC;CHEROKEE SMALL LETTER YV;Ll;0;L;;;;;N;;;13F4;;13F4 ++13FD;CHEROKEE SMALL LETTER MV;Ll;0;L;;;;;N;;;13F5;;13F5 + 1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;; + 1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;; + 1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;; +@@ -5700,23 +5713,23 @@ + 19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;; + 19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;; + 19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;; +-19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Mc;0;L;;;;;N;;;;; +-19B1;NEW TAI LUE VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +-19B2;NEW TAI LUE VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +-19B3;NEW TAI LUE VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +-19B4;NEW TAI LUE VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +-19B5;NEW TAI LUE VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +-19B6;NEW TAI LUE VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +-19B7;NEW TAI LUE VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +-19B8;NEW TAI LUE VOWEL SIGN OA;Mc;0;L;;;;;N;;;;; +-19B9;NEW TAI LUE VOWEL SIGN UE;Mc;0;L;;;;;N;;;;; +-19BA;NEW TAI LUE VOWEL SIGN AY;Mc;0;L;;;;;N;;;;; +-19BB;NEW TAI LUE VOWEL SIGN AAY;Mc;0;L;;;;;N;;;;; +-19BC;NEW TAI LUE VOWEL SIGN UY;Mc;0;L;;;;;N;;;;; +-19BD;NEW TAI LUE VOWEL SIGN OY;Mc;0;L;;;;;N;;;;; +-19BE;NEW TAI LUE VOWEL SIGN OAY;Mc;0;L;;;;;N;;;;; +-19BF;NEW TAI LUE VOWEL SIGN UEY;Mc;0;L;;;;;N;;;;; +-19C0;NEW TAI LUE VOWEL SIGN IY;Mc;0;L;;;;;N;;;;; ++19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Lo;0;L;;;;;N;;;;; ++19B1;NEW TAI LUE VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; ++19B2;NEW TAI LUE VOWEL SIGN II;Lo;0;L;;;;;N;;;;; ++19B3;NEW TAI LUE VOWEL SIGN U;Lo;0;L;;;;;N;;;;; ++19B4;NEW TAI LUE VOWEL SIGN UU;Lo;0;L;;;;;N;;;;; ++19B5;NEW TAI LUE VOWEL SIGN E;Lo;0;L;;;;;N;;;;; ++19B6;NEW TAI LUE VOWEL SIGN AE;Lo;0;L;;;;;N;;;;; ++19B7;NEW TAI LUE VOWEL SIGN O;Lo;0;L;;;;;N;;;;; ++19B8;NEW TAI LUE VOWEL SIGN OA;Lo;0;L;;;;;N;;;;; ++19B9;NEW TAI LUE VOWEL SIGN UE;Lo;0;L;;;;;N;;;;; ++19BA;NEW TAI LUE VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; ++19BB;NEW TAI LUE VOWEL SIGN AAY;Lo;0;L;;;;;N;;;;; ++19BC;NEW TAI LUE VOWEL SIGN UY;Lo;0;L;;;;;N;;;;; ++19BD;NEW TAI LUE VOWEL SIGN OY;Lo;0;L;;;;;N;;;;; ++19BE;NEW TAI LUE VOWEL SIGN OAY;Lo;0;L;;;;;N;;;;; ++19BF;NEW TAI LUE VOWEL SIGN UEY;Lo;0;L;;;;;N;;;;; ++19C0;NEW TAI LUE VOWEL SIGN IY;Lo;0;L;;;;;N;;;;; + 19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;; + 19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;; + 19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;; +@@ -5724,8 +5737,8 @@ + 19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;; + 19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;; + 19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;; +-19C8;NEW TAI LUE TONE MARK-1;Mc;0;L;;;;;N;;;;; +-19C9;NEW TAI LUE TONE MARK-2;Mc;0;L;;;;;N;;;;; ++19C8;NEW TAI LUE TONE MARK-1;Lo;0;L;;;;;N;;;;; ++19C9;NEW TAI LUE TONE MARK-2;Lo;0;L;;;;;N;;;;; + 19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; + 19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; + 19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +@@ -7277,6 +7290,7 @@ + 20BB;NORDIC MARK SIGN;Sc;0;ET;;;;;N;;;;; + 20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;; + 20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;; ++20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;; + 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; + 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; + 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; +@@ -7448,6 +7462,8 @@ + 2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;; + 2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;; + 2189;VULGAR FRACTION ZERO THIRDS;No;0;ON; 0030 2044 0033;;;0;N;;;;; ++218A;TURNED DIGIT TWO;So;0;ON;;;;;N;;;;; ++218B;TURNED DIGIT THREE;So;0;ON;;;;;N;;;;; + 2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; + 2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; + 2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; +@@ -10015,6 +10031,10 @@ + 2BCF;ROTATED WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;; + 2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;; + 2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;; ++2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; ++2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; ++2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; ++2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; + 2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30; + 2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31; + 2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32; +@@ -11942,7 +11962,7 @@ + 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; + 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; + 4E00;;Lo;0;L;;;;;N;;;;; +-9FCC;;Lo;0;L;;;;;N;;;;; ++9FD5;;Lo;0;L;;;;;N;;;;; + A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; + A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; + A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; +@@ -13605,6 +13625,7 @@ A69A;CYRILLIC CAPITAL LETTER CROSSED O;Lu;0;L;;;;;N;;;;A69B; + A69B;CYRILLIC SMALL LETTER CROSSED O;Ll;0;L;;;;;N;;;A69A;;A69A + A69C;MODIFIER LETTER CYRILLIC HARD SIGN;Lm;0;L; 044A;;;;N;;;;; + A69D;MODIFIER LETTER CYRILLIC SOFT SIGN;Lm;0;L; 044C;;;;N;;;;; ++A69E;COMBINING CYRILLIC LETTER EF;Mn;230;NSM;;;;;N;;;;; + A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;; + A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;; + A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;; +@@ -13837,6 +13858,7 @@ A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C; + A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B + A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265; + A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;; ++A78F;LATIN LETTER SINOLOGICAL DOT;Lo;0;L;;;;;N;;;;; + A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791; + A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790 + A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793; +@@ -13869,6 +13891,12 @@ A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261; + A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C; + A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E; + A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287; ++A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D; ++A7B3;LATIN CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;AB53; ++A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5; ++A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4 ++A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7; ++A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6 + A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;; + A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L; 0126;;;;N;;;;; + A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L; 0153;;;;N;;;;; +@@ -14097,6 +14125,8 @@ A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;; + A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;; + A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;; + A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;; ++A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;; ++A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;; + A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; + A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; + A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +@@ -14610,7 +14640,7 @@ AB4F;LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;; + AB50;LATIN SMALL LETTER UI;Ll;0;L;;;;;N;;;;; + AB51;LATIN SMALL LETTER TURNED UI;Ll;0;L;;;;;N;;;;; + AB52;LATIN SMALL LETTER U WITH LEFT HOOK;Ll;0;L;;;;;N;;;;; +-AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;;; ++AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;A7B3;;A7B3 + AB54;LATIN SMALL LETTER CHI WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;; + AB55;LATIN SMALL LETTER CHI WITH LOW LEFT SERIF;Ll;0;L;;;;;N;;;;; + AB56;LATIN SMALL LETTER X WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;; +@@ -14623,8 +14653,92 @@ AB5C;MODIFIER LETTER SMALL HENG;Lm;0;L; A727;;;;N;;;;; + AB5D;MODIFIER LETTER SMALL L WITH INVERTED LAZY S;Lm;0;L; AB37;;;;N;;;;; + AB5E;MODIFIER LETTER SMALL L WITH MIDDLE TILDE;Lm;0;L; 026B;;;;N;;;;; + AB5F;MODIFIER LETTER SMALL U WITH LEFT HOOK;Lm;0;L; AB52;;;;N;;;;; ++AB60;LATIN SMALL LETTER SAKHA YAT;Ll;0;L;;;;;N;;;;; ++AB61;LATIN SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;;; ++AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;; ++AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;; + AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;; + AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;; ++AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0 ++AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1 ++AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2 ++AB73;CHEROKEE SMALL LETTER O;Ll;0;L;;;;;N;;;13A3;;13A3 ++AB74;CHEROKEE SMALL LETTER U;Ll;0;L;;;;;N;;;13A4;;13A4 ++AB75;CHEROKEE SMALL LETTER V;Ll;0;L;;;;;N;;;13A5;;13A5 ++AB76;CHEROKEE SMALL LETTER GA;Ll;0;L;;;;;N;;;13A6;;13A6 ++AB77;CHEROKEE SMALL LETTER KA;Ll;0;L;;;;;N;;;13A7;;13A7 ++AB78;CHEROKEE SMALL LETTER GE;Ll;0;L;;;;;N;;;13A8;;13A8 ++AB79;CHEROKEE SMALL LETTER GI;Ll;0;L;;;;;N;;;13A9;;13A9 ++AB7A;CHEROKEE SMALL LETTER GO;Ll;0;L;;;;;N;;;13AA;;13AA ++AB7B;CHEROKEE SMALL LETTER GU;Ll;0;L;;;;;N;;;13AB;;13AB ++AB7C;CHEROKEE SMALL LETTER GV;Ll;0;L;;;;;N;;;13AC;;13AC ++AB7D;CHEROKEE SMALL LETTER HA;Ll;0;L;;;;;N;;;13AD;;13AD ++AB7E;CHEROKEE SMALL LETTER HE;Ll;0;L;;;;;N;;;13AE;;13AE ++AB7F;CHEROKEE SMALL LETTER HI;Ll;0;L;;;;;N;;;13AF;;13AF ++AB80;CHEROKEE SMALL LETTER HO;Ll;0;L;;;;;N;;;13B0;;13B0 ++AB81;CHEROKEE SMALL LETTER HU;Ll;0;L;;;;;N;;;13B1;;13B1 ++AB82;CHEROKEE SMALL LETTER HV;Ll;0;L;;;;;N;;;13B2;;13B2 ++AB83;CHEROKEE SMALL LETTER LA;Ll;0;L;;;;;N;;;13B3;;13B3 ++AB84;CHEROKEE SMALL LETTER LE;Ll;0;L;;;;;N;;;13B4;;13B4 ++AB85;CHEROKEE SMALL LETTER LI;Ll;0;L;;;;;N;;;13B5;;13B5 ++AB86;CHEROKEE SMALL LETTER LO;Ll;0;L;;;;;N;;;13B6;;13B6 ++AB87;CHEROKEE SMALL LETTER LU;Ll;0;L;;;;;N;;;13B7;;13B7 ++AB88;CHEROKEE SMALL LETTER LV;Ll;0;L;;;;;N;;;13B8;;13B8 ++AB89;CHEROKEE SMALL LETTER MA;Ll;0;L;;;;;N;;;13B9;;13B9 ++AB8A;CHEROKEE SMALL LETTER ME;Ll;0;L;;;;;N;;;13BA;;13BA ++AB8B;CHEROKEE SMALL LETTER MI;Ll;0;L;;;;;N;;;13BB;;13BB ++AB8C;CHEROKEE SMALL LETTER MO;Ll;0;L;;;;;N;;;13BC;;13BC ++AB8D;CHEROKEE SMALL LETTER MU;Ll;0;L;;;;;N;;;13BD;;13BD ++AB8E;CHEROKEE SMALL LETTER NA;Ll;0;L;;;;;N;;;13BE;;13BE ++AB8F;CHEROKEE SMALL LETTER HNA;Ll;0;L;;;;;N;;;13BF;;13BF ++AB90;CHEROKEE SMALL LETTER NAH;Ll;0;L;;;;;N;;;13C0;;13C0 ++AB91;CHEROKEE SMALL LETTER NE;Ll;0;L;;;;;N;;;13C1;;13C1 ++AB92;CHEROKEE SMALL LETTER NI;Ll;0;L;;;;;N;;;13C2;;13C2 ++AB93;CHEROKEE SMALL LETTER NO;Ll;0;L;;;;;N;;;13C3;;13C3 ++AB94;CHEROKEE SMALL LETTER NU;Ll;0;L;;;;;N;;;13C4;;13C4 ++AB95;CHEROKEE SMALL LETTER NV;Ll;0;L;;;;;N;;;13C5;;13C5 ++AB96;CHEROKEE SMALL LETTER QUA;Ll;0;L;;;;;N;;;13C6;;13C6 ++AB97;CHEROKEE SMALL LETTER QUE;Ll;0;L;;;;;N;;;13C7;;13C7 ++AB98;CHEROKEE SMALL LETTER QUI;Ll;0;L;;;;;N;;;13C8;;13C8 ++AB99;CHEROKEE SMALL LETTER QUO;Ll;0;L;;;;;N;;;13C9;;13C9 ++AB9A;CHEROKEE SMALL LETTER QUU;Ll;0;L;;;;;N;;;13CA;;13CA ++AB9B;CHEROKEE SMALL LETTER QUV;Ll;0;L;;;;;N;;;13CB;;13CB ++AB9C;CHEROKEE SMALL LETTER SA;Ll;0;L;;;;;N;;;13CC;;13CC ++AB9D;CHEROKEE SMALL LETTER S;Ll;0;L;;;;;N;;;13CD;;13CD ++AB9E;CHEROKEE SMALL LETTER SE;Ll;0;L;;;;;N;;;13CE;;13CE ++AB9F;CHEROKEE SMALL LETTER SI;Ll;0;L;;;;;N;;;13CF;;13CF ++ABA0;CHEROKEE SMALL LETTER SO;Ll;0;L;;;;;N;;;13D0;;13D0 ++ABA1;CHEROKEE SMALL LETTER SU;Ll;0;L;;;;;N;;;13D1;;13D1 ++ABA2;CHEROKEE SMALL LETTER SV;Ll;0;L;;;;;N;;;13D2;;13D2 ++ABA3;CHEROKEE SMALL LETTER DA;Ll;0;L;;;;;N;;;13D3;;13D3 ++ABA4;CHEROKEE SMALL LETTER TA;Ll;0;L;;;;;N;;;13D4;;13D4 ++ABA5;CHEROKEE SMALL LETTER DE;Ll;0;L;;;;;N;;;13D5;;13D5 ++ABA6;CHEROKEE SMALL LETTER TE;Ll;0;L;;;;;N;;;13D6;;13D6 ++ABA7;CHEROKEE SMALL LETTER DI;Ll;0;L;;;;;N;;;13D7;;13D7 ++ABA8;CHEROKEE SMALL LETTER TI;Ll;0;L;;;;;N;;;13D8;;13D8 ++ABA9;CHEROKEE SMALL LETTER DO;Ll;0;L;;;;;N;;;13D9;;13D9 ++ABAA;CHEROKEE SMALL LETTER DU;Ll;0;L;;;;;N;;;13DA;;13DA ++ABAB;CHEROKEE SMALL LETTER DV;Ll;0;L;;;;;N;;;13DB;;13DB ++ABAC;CHEROKEE SMALL LETTER DLA;Ll;0;L;;;;;N;;;13DC;;13DC ++ABAD;CHEROKEE SMALL LETTER TLA;Ll;0;L;;;;;N;;;13DD;;13DD ++ABAE;CHEROKEE SMALL LETTER TLE;Ll;0;L;;;;;N;;;13DE;;13DE ++ABAF;CHEROKEE SMALL LETTER TLI;Ll;0;L;;;;;N;;;13DF;;13DF ++ABB0;CHEROKEE SMALL LETTER TLO;Ll;0;L;;;;;N;;;13E0;;13E0 ++ABB1;CHEROKEE SMALL LETTER TLU;Ll;0;L;;;;;N;;;13E1;;13E1 ++ABB2;CHEROKEE SMALL LETTER TLV;Ll;0;L;;;;;N;;;13E2;;13E2 ++ABB3;CHEROKEE SMALL LETTER TSA;Ll;0;L;;;;;N;;;13E3;;13E3 ++ABB4;CHEROKEE SMALL LETTER TSE;Ll;0;L;;;;;N;;;13E4;;13E4 ++ABB5;CHEROKEE SMALL LETTER TSI;Ll;0;L;;;;;N;;;13E5;;13E5 ++ABB6;CHEROKEE SMALL LETTER TSO;Ll;0;L;;;;;N;;;13E6;;13E6 ++ABB7;CHEROKEE SMALL LETTER TSU;Ll;0;L;;;;;N;;;13E7;;13E7 ++ABB8;CHEROKEE SMALL LETTER TSV;Ll;0;L;;;;;N;;;13E8;;13E8 ++ABB9;CHEROKEE SMALL LETTER WA;Ll;0;L;;;;;N;;;13E9;;13E9 ++ABBA;CHEROKEE SMALL LETTER WE;Ll;0;L;;;;;N;;;13EA;;13EA ++ABBB;CHEROKEE SMALL LETTER WI;Ll;0;L;;;;;N;;;13EB;;13EB ++ABBC;CHEROKEE SMALL LETTER WO;Ll;0;L;;;;;N;;;13EC;;13EC ++ABBD;CHEROKEE SMALL LETTER WU;Ll;0;L;;;;;N;;;13ED;;13ED ++ABBE;CHEROKEE SMALL LETTER WV;Ll;0;L;;;;;N;;;13EE;;13EE ++ABBF;CHEROKEE SMALL LETTER YA;Ll;0;L;;;;;N;;;13EF;;13EF + ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;; + ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;; + ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;; +@@ -15944,6 +16058,8 @@ FE2A;COMBINING TILDE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; + FE2B;COMBINING MACRON LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;; + FE2C;COMBINING MACRON RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; + FE2D;COMBINING CONJOINING MACRON BELOW;Mn;220;NSM;;;;;N;;;;; ++FE2E;COMBINING CYRILLIC TITLO LEFT HALF;Mn;230;NSM;;;;;N;;;;; ++FE2F;COMBINING CYRILLIC TITLO RIGHT HALF;Mn;230;NSM;;;;;N;;;;; + FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; + FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; + FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; +@@ -17830,6 +17946,32 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 108AD;NABATAEAN NUMBER TEN;No;0;R;;;;10;N;;;;; + 108AE;NABATAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; + 108AF;NABATAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; ++108E0;HATRAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; ++108E1;HATRAN LETTER BETH;Lo;0;R;;;;;N;;;;; ++108E2;HATRAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; ++108E3;HATRAN LETTER DALETH-RESH;Lo;0;R;;;;;N;;;;; ++108E4;HATRAN LETTER HE;Lo;0;R;;;;;N;;;;; ++108E5;HATRAN LETTER WAW;Lo;0;R;;;;;N;;;;; ++108E6;HATRAN LETTER ZAYN;Lo;0;R;;;;;N;;;;; ++108E7;HATRAN LETTER HETH;Lo;0;R;;;;;N;;;;; ++108E8;HATRAN LETTER TETH;Lo;0;R;;;;;N;;;;; ++108E9;HATRAN LETTER YODH;Lo;0;R;;;;;N;;;;; ++108EA;HATRAN LETTER KAPH;Lo;0;R;;;;;N;;;;; ++108EB;HATRAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; ++108EC;HATRAN LETTER MEM;Lo;0;R;;;;;N;;;;; ++108ED;HATRAN LETTER NUN;Lo;0;R;;;;;N;;;;; ++108EE;HATRAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; ++108EF;HATRAN LETTER AYN;Lo;0;R;;;;;N;;;;; ++108F0;HATRAN LETTER PE;Lo;0;R;;;;;N;;;;; ++108F1;HATRAN LETTER SADHE;Lo;0;R;;;;;N;;;;; ++108F2;HATRAN LETTER QOPH;Lo;0;R;;;;;N;;;;; ++108F4;HATRAN LETTER SHIN;Lo;0;R;;;;;N;;;;; ++108F5;HATRAN LETTER TAW;Lo;0;R;;;;;N;;;;; ++108FB;HATRAN NUMBER ONE;No;0;R;;;;1;N;;;;; ++108FC;HATRAN NUMBER FIVE;No;0;R;;;;5;N;;;;; ++108FD;HATRAN NUMBER TEN;No;0;R;;;;10;N;;;;; ++108FE;HATRAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; ++108FF;HATRAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; + 10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;; + 10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;; + 10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;; +@@ -17942,8 +18084,72 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;; + 109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;; + 109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;; ++109BC;MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS;No;0;R;;;;11/12;N;;;;; ++109BD;MEROITIC CURSIVE FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;; + 109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;; + 109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;; ++109C0;MEROITIC CURSIVE NUMBER ONE;No;0;R;;;;1;N;;;;; ++109C1;MEROITIC CURSIVE NUMBER TWO;No;0;R;;;;2;N;;;;; ++109C2;MEROITIC CURSIVE NUMBER THREE;No;0;R;;;;3;N;;;;; ++109C3;MEROITIC CURSIVE NUMBER FOUR;No;0;R;;;;4;N;;;;; ++109C4;MEROITIC CURSIVE NUMBER FIVE;No;0;R;;;;5;N;;;;; ++109C5;MEROITIC CURSIVE NUMBER SIX;No;0;R;;;;6;N;;;;; ++109C6;MEROITIC CURSIVE NUMBER SEVEN;No;0;R;;;;7;N;;;;; ++109C7;MEROITIC CURSIVE NUMBER EIGHT;No;0;R;;;;8;N;;;;; ++109C8;MEROITIC CURSIVE NUMBER NINE;No;0;R;;;;9;N;;;;; ++109C9;MEROITIC CURSIVE NUMBER TEN;No;0;R;;;;10;N;;;;; ++109CA;MEROITIC CURSIVE NUMBER TWENTY;No;0;R;;;;20;N;;;;; ++109CB;MEROITIC CURSIVE NUMBER THIRTY;No;0;R;;;;30;N;;;;; ++109CC;MEROITIC CURSIVE NUMBER FORTY;No;0;R;;;;40;N;;;;; ++109CD;MEROITIC CURSIVE NUMBER FIFTY;No;0;R;;;;50;N;;;;; ++109CE;MEROITIC CURSIVE NUMBER SIXTY;No;0;R;;;;60;N;;;;; ++109CF;MEROITIC CURSIVE NUMBER SEVENTY;No;0;R;;;;70;N;;;;; ++109D2;MEROITIC CURSIVE NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; ++109D3;MEROITIC CURSIVE NUMBER TWO HUNDRED;No;0;R;;;;200;N;;;;; ++109D4;MEROITIC CURSIVE NUMBER THREE HUNDRED;No;0;R;;;;300;N;;;;; ++109D5;MEROITIC CURSIVE NUMBER FOUR HUNDRED;No;0;R;;;;400;N;;;;; ++109D6;MEROITIC CURSIVE NUMBER FIVE HUNDRED;No;0;R;;;;500;N;;;;; ++109D7;MEROITIC CURSIVE NUMBER SIX HUNDRED;No;0;R;;;;600;N;;;;; ++109D8;MEROITIC CURSIVE NUMBER SEVEN HUNDRED;No;0;R;;;;700;N;;;;; ++109D9;MEROITIC CURSIVE NUMBER EIGHT HUNDRED;No;0;R;;;;800;N;;;;; ++109DA;MEROITIC CURSIVE NUMBER NINE HUNDRED;No;0;R;;;;900;N;;;;; ++109DB;MEROITIC CURSIVE NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; ++109DC;MEROITIC CURSIVE NUMBER TWO THOUSAND;No;0;R;;;;2000;N;;;;; ++109DD;MEROITIC CURSIVE NUMBER THREE THOUSAND;No;0;R;;;;3000;N;;;;; ++109DE;MEROITIC CURSIVE NUMBER FOUR THOUSAND;No;0;R;;;;4000;N;;;;; ++109DF;MEROITIC CURSIVE NUMBER FIVE THOUSAND;No;0;R;;;;5000;N;;;;; ++109E0;MEROITIC CURSIVE NUMBER SIX THOUSAND;No;0;R;;;;6000;N;;;;; ++109E1;MEROITIC CURSIVE NUMBER SEVEN THOUSAND;No;0;R;;;;7000;N;;;;; ++109E2;MEROITIC CURSIVE NUMBER EIGHT THOUSAND;No;0;R;;;;8000;N;;;;; ++109E3;MEROITIC CURSIVE NUMBER NINE THOUSAND;No;0;R;;;;9000;N;;;;; ++109E4;MEROITIC CURSIVE NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;; ++109E5;MEROITIC CURSIVE NUMBER TWENTY THOUSAND;No;0;R;;;;20000;N;;;;; ++109E6;MEROITIC CURSIVE NUMBER THIRTY THOUSAND;No;0;R;;;;30000;N;;;;; ++109E7;MEROITIC CURSIVE NUMBER FORTY THOUSAND;No;0;R;;;;40000;N;;;;; ++109E8;MEROITIC CURSIVE NUMBER FIFTY THOUSAND;No;0;R;;;;50000;N;;;;; ++109E9;MEROITIC CURSIVE NUMBER SIXTY THOUSAND;No;0;R;;;;60000;N;;;;; ++109EA;MEROITIC CURSIVE NUMBER SEVENTY THOUSAND;No;0;R;;;;70000;N;;;;; ++109EB;MEROITIC CURSIVE NUMBER EIGHTY THOUSAND;No;0;R;;;;80000;N;;;;; ++109EC;MEROITIC CURSIVE NUMBER NINETY THOUSAND;No;0;R;;;;90000;N;;;;; ++109ED;MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND;No;0;R;;;;100000;N;;;;; ++109EE;MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND;No;0;R;;;;200000;N;;;;; ++109EF;MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND;No;0;R;;;;300000;N;;;;; ++109F0;MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND;No;0;R;;;;400000;N;;;;; ++109F1;MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND;No;0;R;;;;500000;N;;;;; ++109F2;MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND;No;0;R;;;;600000;N;;;;; ++109F3;MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND;No;0;R;;;;700000;N;;;;; ++109F4;MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND;No;0;R;;;;800000;N;;;;; ++109F5;MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND;No;0;R;;;;900000;N;;;;; ++109F6;MEROITIC CURSIVE FRACTION ONE TWELFTH;No;0;R;;;;1/12;N;;;;; ++109F7;MEROITIC CURSIVE FRACTION TWO TWELFTHS;No;0;R;;;;2/12;N;;;;; ++109F8;MEROITIC CURSIVE FRACTION THREE TWELFTHS;No;0;R;;;;3/12;N;;;;; ++109F9;MEROITIC CURSIVE FRACTION FOUR TWELFTHS;No;0;R;;;;4/12;N;;;;; ++109FA;MEROITIC CURSIVE FRACTION FIVE TWELFTHS;No;0;R;;;;5/12;N;;;;; ++109FB;MEROITIC CURSIVE FRACTION SIX TWELFTHS;No;0;R;;;;6/12;N;;;;; ++109FC;MEROITIC CURSIVE FRACTION SEVEN TWELFTHS;No;0;R;;;;7/12;N;;;;; ++109FD;MEROITIC CURSIVE FRACTION EIGHT TWELFTHS;No;0;R;;;;8/12;N;;;;; ++109FE;MEROITIC CURSIVE FRACTION NINE TWELFTHS;No;0;R;;;;9/12;N;;;;; ++109FF;MEROITIC CURSIVE FRACTION TEN TWELFTHS;No;0;R;;;;10/12;N;;;;; + 10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;; + 10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; + 10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +@@ -18344,6 +18550,114 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;; + 10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;; + 10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;; ++10C80;OLD HUNGARIAN CAPITAL LETTER A;Lu;0;R;;;;;N;;;;10CC0; ++10C81;OLD HUNGARIAN CAPITAL LETTER AA;Lu;0;R;;;;;N;;;;10CC1; ++10C82;OLD HUNGARIAN CAPITAL LETTER EB;Lu;0;R;;;;;N;;;;10CC2; ++10C83;OLD HUNGARIAN CAPITAL LETTER AMB;Lu;0;R;;;;;N;;;;10CC3; ++10C84;OLD HUNGARIAN CAPITAL LETTER EC;Lu;0;R;;;;;N;;;;10CC4; ++10C85;OLD HUNGARIAN CAPITAL LETTER ENC;Lu;0;R;;;;;N;;;;10CC5; ++10C86;OLD HUNGARIAN CAPITAL LETTER ECS;Lu;0;R;;;;;N;;;;10CC6; ++10C87;OLD HUNGARIAN CAPITAL LETTER ED;Lu;0;R;;;;;N;;;;10CC7; ++10C88;OLD HUNGARIAN CAPITAL LETTER AND;Lu;0;R;;;;;N;;;;10CC8; ++10C89;OLD HUNGARIAN CAPITAL LETTER E;Lu;0;R;;;;;N;;;;10CC9; ++10C8A;OLD HUNGARIAN CAPITAL LETTER CLOSE E;Lu;0;R;;;;;N;;;;10CCA; ++10C8B;OLD HUNGARIAN CAPITAL LETTER EE;Lu;0;R;;;;;N;;;;10CCB; ++10C8C;OLD HUNGARIAN CAPITAL LETTER EF;Lu;0;R;;;;;N;;;;10CCC; ++10C8D;OLD HUNGARIAN CAPITAL LETTER EG;Lu;0;R;;;;;N;;;;10CCD; ++10C8E;OLD HUNGARIAN CAPITAL LETTER EGY;Lu;0;R;;;;;N;;;;10CCE; ++10C8F;OLD HUNGARIAN CAPITAL LETTER EH;Lu;0;R;;;;;N;;;;10CCF; ++10C90;OLD HUNGARIAN CAPITAL LETTER I;Lu;0;R;;;;;N;;;;10CD0; ++10C91;OLD HUNGARIAN CAPITAL LETTER II;Lu;0;R;;;;;N;;;;10CD1; ++10C92;OLD HUNGARIAN CAPITAL LETTER EJ;Lu;0;R;;;;;N;;;;10CD2; ++10C93;OLD HUNGARIAN CAPITAL LETTER EK;Lu;0;R;;;;;N;;;;10CD3; ++10C94;OLD HUNGARIAN CAPITAL LETTER AK;Lu;0;R;;;;;N;;;;10CD4; ++10C95;OLD HUNGARIAN CAPITAL LETTER UNK;Lu;0;R;;;;;N;;;;10CD5; ++10C96;OLD HUNGARIAN CAPITAL LETTER EL;Lu;0;R;;;;;N;;;;10CD6; ++10C97;OLD HUNGARIAN CAPITAL LETTER ELY;Lu;0;R;;;;;N;;;;10CD7; ++10C98;OLD HUNGARIAN CAPITAL LETTER EM;Lu;0;R;;;;;N;;;;10CD8; ++10C99;OLD HUNGARIAN CAPITAL LETTER EN;Lu;0;R;;;;;N;;;;10CD9; ++10C9A;OLD HUNGARIAN CAPITAL LETTER ENY;Lu;0;R;;;;;N;;;;10CDA; ++10C9B;OLD HUNGARIAN CAPITAL LETTER O;Lu;0;R;;;;;N;;;;10CDB; ++10C9C;OLD HUNGARIAN CAPITAL LETTER OO;Lu;0;R;;;;;N;;;;10CDC; ++10C9D;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE;Lu;0;R;;;;;N;;;;10CDD; ++10C9E;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE;Lu;0;R;;;;;N;;;;10CDE; ++10C9F;OLD HUNGARIAN CAPITAL LETTER OEE;Lu;0;R;;;;;N;;;;10CDF; ++10CA0;OLD HUNGARIAN CAPITAL LETTER EP;Lu;0;R;;;;;N;;;;10CE0; ++10CA1;OLD HUNGARIAN CAPITAL LETTER EMP;Lu;0;R;;;;;N;;;;10CE1; ++10CA2;OLD HUNGARIAN CAPITAL LETTER ER;Lu;0;R;;;;;N;;;;10CE2; ++10CA3;OLD HUNGARIAN CAPITAL LETTER SHORT ER;Lu;0;R;;;;;N;;;;10CE3; ++10CA4;OLD HUNGARIAN CAPITAL LETTER ES;Lu;0;R;;;;;N;;;;10CE4; ++10CA5;OLD HUNGARIAN CAPITAL LETTER ESZ;Lu;0;R;;;;;N;;;;10CE5; ++10CA6;OLD HUNGARIAN CAPITAL LETTER ET;Lu;0;R;;;;;N;;;;10CE6; ++10CA7;OLD HUNGARIAN CAPITAL LETTER ENT;Lu;0;R;;;;;N;;;;10CE7; ++10CA8;OLD HUNGARIAN CAPITAL LETTER ETY;Lu;0;R;;;;;N;;;;10CE8; ++10CA9;OLD HUNGARIAN CAPITAL LETTER ECH;Lu;0;R;;;;;N;;;;10CE9; ++10CAA;OLD HUNGARIAN CAPITAL LETTER U;Lu;0;R;;;;;N;;;;10CEA; ++10CAB;OLD HUNGARIAN CAPITAL LETTER UU;Lu;0;R;;;;;N;;;;10CEB; ++10CAC;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE;Lu;0;R;;;;;N;;;;10CEC; ++10CAD;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE;Lu;0;R;;;;;N;;;;10CED; ++10CAE;OLD HUNGARIAN CAPITAL LETTER EV;Lu;0;R;;;;;N;;;;10CEE; ++10CAF;OLD HUNGARIAN CAPITAL LETTER EZ;Lu;0;R;;;;;N;;;;10CEF; ++10CB0;OLD HUNGARIAN CAPITAL LETTER EZS;Lu;0;R;;;;;N;;;;10CF0; ++10CB1;OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN;Lu;0;R;;;;;N;;;;10CF1; ++10CB2;OLD HUNGARIAN CAPITAL LETTER US;Lu;0;R;;;;;N;;;;10CF2; ++10CC0;OLD HUNGARIAN SMALL LETTER A;Ll;0;R;;;;;N;;;10C80;;10C80 ++10CC1;OLD HUNGARIAN SMALL LETTER AA;Ll;0;R;;;;;N;;;10C81;;10C81 ++10CC2;OLD HUNGARIAN SMALL LETTER EB;Ll;0;R;;;;;N;;;10C82;;10C82 ++10CC3;OLD HUNGARIAN SMALL LETTER AMB;Ll;0;R;;;;;N;;;10C83;;10C83 ++10CC4;OLD HUNGARIAN SMALL LETTER EC;Ll;0;R;;;;;N;;;10C84;;10C84 ++10CC5;OLD HUNGARIAN SMALL LETTER ENC;Ll;0;R;;;;;N;;;10C85;;10C85 ++10CC6;OLD HUNGARIAN SMALL LETTER ECS;Ll;0;R;;;;;N;;;10C86;;10C86 ++10CC7;OLD HUNGARIAN SMALL LETTER ED;Ll;0;R;;;;;N;;;10C87;;10C87 ++10CC8;OLD HUNGARIAN SMALL LETTER AND;Ll;0;R;;;;;N;;;10C88;;10C88 ++10CC9;OLD HUNGARIAN SMALL LETTER E;Ll;0;R;;;;;N;;;10C89;;10C89 ++10CCA;OLD HUNGARIAN SMALL LETTER CLOSE E;Ll;0;R;;;;;N;;;10C8A;;10C8A ++10CCB;OLD HUNGARIAN SMALL LETTER EE;Ll;0;R;;;;;N;;;10C8B;;10C8B ++10CCC;OLD HUNGARIAN SMALL LETTER EF;Ll;0;R;;;;;N;;;10C8C;;10C8C ++10CCD;OLD HUNGARIAN SMALL LETTER EG;Ll;0;R;;;;;N;;;10C8D;;10C8D ++10CCE;OLD HUNGARIAN SMALL LETTER EGY;Ll;0;R;;;;;N;;;10C8E;;10C8E ++10CCF;OLD HUNGARIAN SMALL LETTER EH;Ll;0;R;;;;;N;;;10C8F;;10C8F ++10CD0;OLD HUNGARIAN SMALL LETTER I;Ll;0;R;;;;;N;;;10C90;;10C90 ++10CD1;OLD HUNGARIAN SMALL LETTER II;Ll;0;R;;;;;N;;;10C91;;10C91 ++10CD2;OLD HUNGARIAN SMALL LETTER EJ;Ll;0;R;;;;;N;;;10C92;;10C92 ++10CD3;OLD HUNGARIAN SMALL LETTER EK;Ll;0;R;;;;;N;;;10C93;;10C93 ++10CD4;OLD HUNGARIAN SMALL LETTER AK;Ll;0;R;;;;;N;;;10C94;;10C94 ++10CD5;OLD HUNGARIAN SMALL LETTER UNK;Ll;0;R;;;;;N;;;10C95;;10C95 ++10CD6;OLD HUNGARIAN SMALL LETTER EL;Ll;0;R;;;;;N;;;10C96;;10C96 ++10CD7;OLD HUNGARIAN SMALL LETTER ELY;Ll;0;R;;;;;N;;;10C97;;10C97 ++10CD8;OLD HUNGARIAN SMALL LETTER EM;Ll;0;R;;;;;N;;;10C98;;10C98 ++10CD9;OLD HUNGARIAN SMALL LETTER EN;Ll;0;R;;;;;N;;;10C99;;10C99 ++10CDA;OLD HUNGARIAN SMALL LETTER ENY;Ll;0;R;;;;;N;;;10C9A;;10C9A ++10CDB;OLD HUNGARIAN SMALL LETTER O;Ll;0;R;;;;;N;;;10C9B;;10C9B ++10CDC;OLD HUNGARIAN SMALL LETTER OO;Ll;0;R;;;;;N;;;10C9C;;10C9C ++10CDD;OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE;Ll;0;R;;;;;N;;;10C9D;;10C9D ++10CDE;OLD HUNGARIAN SMALL LETTER RUDIMENTA OE;Ll;0;R;;;;;N;;;10C9E;;10C9E ++10CDF;OLD HUNGARIAN SMALL LETTER OEE;Ll;0;R;;;;;N;;;10C9F;;10C9F ++10CE0;OLD HUNGARIAN SMALL LETTER EP;Ll;0;R;;;;;N;;;10CA0;;10CA0 ++10CE1;OLD HUNGARIAN SMALL LETTER EMP;Ll;0;R;;;;;N;;;10CA1;;10CA1 ++10CE2;OLD HUNGARIAN SMALL LETTER ER;Ll;0;R;;;;;N;;;10CA2;;10CA2 ++10CE3;OLD HUNGARIAN SMALL LETTER SHORT ER;Ll;0;R;;;;;N;;;10CA3;;10CA3 ++10CE4;OLD HUNGARIAN SMALL LETTER ES;Ll;0;R;;;;;N;;;10CA4;;10CA4 ++10CE5;OLD HUNGARIAN SMALL LETTER ESZ;Ll;0;R;;;;;N;;;10CA5;;10CA5 ++10CE6;OLD HUNGARIAN SMALL LETTER ET;Ll;0;R;;;;;N;;;10CA6;;10CA6 ++10CE7;OLD HUNGARIAN SMALL LETTER ENT;Ll;0;R;;;;;N;;;10CA7;;10CA7 ++10CE8;OLD HUNGARIAN SMALL LETTER ETY;Ll;0;R;;;;;N;;;10CA8;;10CA8 ++10CE9;OLD HUNGARIAN SMALL LETTER ECH;Ll;0;R;;;;;N;;;10CA9;;10CA9 ++10CEA;OLD HUNGARIAN SMALL LETTER U;Ll;0;R;;;;;N;;;10CAA;;10CAA ++10CEB;OLD HUNGARIAN SMALL LETTER UU;Ll;0;R;;;;;N;;;10CAB;;10CAB ++10CEC;OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE;Ll;0;R;;;;;N;;;10CAC;;10CAC ++10CED;OLD HUNGARIAN SMALL LETTER RUDIMENTA UE;Ll;0;R;;;;;N;;;10CAD;;10CAD ++10CEE;OLD HUNGARIAN SMALL LETTER EV;Ll;0;R;;;;;N;;;10CAE;;10CAE ++10CEF;OLD HUNGARIAN SMALL LETTER EZ;Ll;0;R;;;;;N;;;10CAF;;10CAF ++10CF0;OLD HUNGARIAN SMALL LETTER EZS;Ll;0;R;;;;;N;;;10CB0;;10CB0 ++10CF1;OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN;Ll;0;R;;;;;N;;;10CB1;;10CB1 ++10CF2;OLD HUNGARIAN SMALL LETTER US;Ll;0;R;;;;;N;;;10CB2;;10CB2 ++10CFA;OLD HUNGARIAN NUMBER ONE;No;0;R;;;;1;N;;;;; ++10CFB;OLD HUNGARIAN NUMBER FIVE;No;0;R;;;;5;N;;;;; ++10CFC;OLD HUNGARIAN NUMBER TEN;No;0;R;;;;10;N;;;;; ++10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;; ++10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; ++10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; + 10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;; + 10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;; + 10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;; +@@ -18764,6 +19078,10 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;; + 111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; + 111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;; ++111C9;SHARADA SANDHI MARK;Po;0;L;;;;;N;;;;; ++111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; ++111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;; ++111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;; + 111CD;SHARADA SUTRA MARK;Po;0;L;;;;;N;;;;; + 111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; + 111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +@@ -18776,6 +19094,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; + 111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; + 111DA;SHARADA EKAM;Lo;0;L;;;;;N;;;;; ++111DB;SHARADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;; ++111DC;SHARADA HEADSTROKE;Lo;0;L;;;;;N;;;;; ++111DD;SHARADA CONTINUATION SIGN;Po;0;L;;;;;N;;;;; ++111DE;SHARADA SECTION MARK-1;Po;0;L;;;;;N;;;;; ++111DF;SHARADA SECTION MARK-2;Po;0;L;;;;;N;;;;; + 111E1;SINHALA ARCHAIC DIGIT ONE;No;0;L;;;;1;N;;;;; + 111E2;SINHALA ARCHAIC DIGIT TWO;No;0;L;;;;2;N;;;;; + 111E3;SINHALA ARCHAIC DIGIT THREE;No;0;L;;;;3;N;;;;; +@@ -18857,6 +19180,44 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1123B;KHOJKI SECTION MARK;Po;0;L;;;;;N;;;;; + 1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;; + 1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; ++11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;; ++11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;; ++11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;; ++11283;MULTANI LETTER E;Lo;0;L;;;;;N;;;;; ++11284;MULTANI LETTER KA;Lo;0;L;;;;;N;;;;; ++11285;MULTANI LETTER KHA;Lo;0;L;;;;;N;;;;; ++11286;MULTANI LETTER GA;Lo;0;L;;;;;N;;;;; ++11288;MULTANI LETTER GHA;Lo;0;L;;;;;N;;;;; ++1128A;MULTANI LETTER CA;Lo;0;L;;;;;N;;;;; ++1128B;MULTANI LETTER CHA;Lo;0;L;;;;;N;;;;; ++1128C;MULTANI LETTER JA;Lo;0;L;;;;;N;;;;; ++1128D;MULTANI LETTER JJA;Lo;0;L;;;;;N;;;;; ++1128F;MULTANI LETTER NYA;Lo;0;L;;;;;N;;;;; ++11290;MULTANI LETTER TTA;Lo;0;L;;;;;N;;;;; ++11291;MULTANI LETTER TTHA;Lo;0;L;;;;;N;;;;; ++11292;MULTANI LETTER DDA;Lo;0;L;;;;;N;;;;; ++11293;MULTANI LETTER DDDA;Lo;0;L;;;;;N;;;;; ++11294;MULTANI LETTER DDHA;Lo;0;L;;;;;N;;;;; ++11295;MULTANI LETTER NNA;Lo;0;L;;;;;N;;;;; ++11296;MULTANI LETTER TA;Lo;0;L;;;;;N;;;;; ++11297;MULTANI LETTER THA;Lo;0;L;;;;;N;;;;; ++11298;MULTANI LETTER DA;Lo;0;L;;;;;N;;;;; ++11299;MULTANI LETTER DHA;Lo;0;L;;;;;N;;;;; ++1129A;MULTANI LETTER NA;Lo;0;L;;;;;N;;;;; ++1129B;MULTANI LETTER PA;Lo;0;L;;;;;N;;;;; ++1129C;MULTANI LETTER PHA;Lo;0;L;;;;;N;;;;; ++1129D;MULTANI LETTER BA;Lo;0;L;;;;;N;;;;; ++1129F;MULTANI LETTER BHA;Lo;0;L;;;;;N;;;;; ++112A0;MULTANI LETTER MA;Lo;0;L;;;;;N;;;;; ++112A1;MULTANI LETTER YA;Lo;0;L;;;;;N;;;;; ++112A2;MULTANI LETTER RA;Lo;0;L;;;;;N;;;;; ++112A3;MULTANI LETTER LA;Lo;0;L;;;;;N;;;;; ++112A4;MULTANI LETTER VA;Lo;0;L;;;;;N;;;;; ++112A5;MULTANI LETTER SA;Lo;0;L;;;;;N;;;;; ++112A6;MULTANI LETTER HA;Lo;0;L;;;;;N;;;;; ++112A7;MULTANI LETTER RRA;Lo;0;L;;;;;N;;;;; ++112A8;MULTANI LETTER RHA;Lo;0;L;;;;;N;;;;; ++112A9;MULTANI SECTION MARK;Po;0;L;;;;;N;;;;; + 112B0;KHUDAWADI LETTER A;Lo;0;L;;;;;N;;;;; + 112B1;KHUDAWADI LETTER AA;Lo;0;L;;;;;N;;;;; + 112B2;KHUDAWADI LETTER I;Lo;0;L;;;;;N;;;;; +@@ -18926,6 +19287,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 112F7;KHUDAWADI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; + 112F8;KHUDAWADI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; + 112F9;KHUDAWADI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; ++11300;GRANTHA SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;; + 11301;GRANTHA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; + 11302;GRANTHA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; + 11303;GRANTHA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +@@ -18989,6 +19351,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1134B;GRANTHA VOWEL SIGN OO;Mc;0;L;11347 1133E;;;;N;;;;; + 1134C;GRANTHA VOWEL SIGN AU;Mc;0;L;11347 11357;;;;N;;;;; + 1134D;GRANTHA SIGN VIRAMA;Mc;9;L;;;;;N;;;;; ++11350;GRANTHA OM;Lo;0;L;;;;;N;;;;; + 11357;GRANTHA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; + 1135D;GRANTHA SIGN PLUTA;Lo;0;L;;;;;N;;;;; + 1135E;GRANTHA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;; +@@ -19163,6 +19526,26 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 115C7;SIDDHAM REPETITION MARK-2;Po;0;L;;;;;N;;;;; + 115C8;SIDDHAM REPETITION MARK-3;Po;0;L;;;;;N;;;;; + 115C9;SIDDHAM END OF TEXT MARK;Po;0;L;;;;;N;;;;; ++115CA;SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS;Po;0;L;;;;;N;;;;; ++115CB;SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;; ++115CC;SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;; ++115CD;SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;; ++115CE;SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;; ++115CF;SIDDHAM SECTION MARK DOUBLE RING;Po;0;L;;;;;N;;;;; ++115D0;SIDDHAM SECTION MARK DOUBLE RING WITH RAYS;Po;0;L;;;;;N;;;;; ++115D1;SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;; ++115D2;SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;; ++115D3;SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS;Po;0;L;;;;;N;;;;; ++115D4;SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS;Po;0;L;;;;;N;;;;; ++115D5;SIDDHAM SECTION MARK WITH CIRCLES AND RAYS;Po;0;L;;;;;N;;;;; ++115D6;SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES;Po;0;L;;;;;N;;;;; ++115D7;SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES;Po;0;L;;;;;N;;;;; ++115D8;SIDDHAM LETTER THREE-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;; ++115D9;SIDDHAM LETTER TWO-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;; ++115DA;SIDDHAM LETTER TWO-CIRCLE ALTERNATE II;Lo;0;L;;;;;N;;;;; ++115DB;SIDDHAM LETTER ALTERNATE U;Lo;0;L;;;;;N;;;;; ++115DC;SIDDHAM VOWEL SIGN ALTERNATE U;Mn;0;NSM;;;;;N;;;;; ++115DD;SIDDHAM VOWEL SIGN ALTERNATE UU;Mn;0;NSM;;;;;N;;;;; + 11600;MODI LETTER A;Lo;0;L;;;;;N;;;;; + 11601;MODI LETTER AA;Lo;0;L;;;;;N;;;;; + 11602;MODI LETTER I;Lo;0;L;;;;;N;;;;; +@@ -19308,6 +19691,63 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; + 116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; + 116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; ++11700;AHOM LETTER KA;Lo;0;L;;;;;N;;;;; ++11701;AHOM LETTER KHA;Lo;0;L;;;;;N;;;;; ++11702;AHOM LETTER NGA;Lo;0;L;;;;;N;;;;; ++11703;AHOM LETTER NA;Lo;0;L;;;;;N;;;;; ++11704;AHOM LETTER TA;Lo;0;L;;;;;N;;;;; ++11705;AHOM LETTER ALTERNATE TA;Lo;0;L;;;;;N;;;;; ++11706;AHOM LETTER PA;Lo;0;L;;;;;N;;;;; ++11707;AHOM LETTER PHA;Lo;0;L;;;;;N;;;;; ++11708;AHOM LETTER BA;Lo;0;L;;;;;N;;;;; ++11709;AHOM LETTER MA;Lo;0;L;;;;;N;;;;; ++1170A;AHOM LETTER JA;Lo;0;L;;;;;N;;;;; ++1170B;AHOM LETTER CHA;Lo;0;L;;;;;N;;;;; ++1170C;AHOM LETTER THA;Lo;0;L;;;;;N;;;;; ++1170D;AHOM LETTER RA;Lo;0;L;;;;;N;;;;; ++1170E;AHOM LETTER LA;Lo;0;L;;;;;N;;;;; ++1170F;AHOM LETTER SA;Lo;0;L;;;;;N;;;;; ++11710;AHOM LETTER NYA;Lo;0;L;;;;;N;;;;; ++11711;AHOM LETTER HA;Lo;0;L;;;;;N;;;;; ++11712;AHOM LETTER A;Lo;0;L;;;;;N;;;;; ++11713;AHOM LETTER DA;Lo;0;L;;;;;N;;;;; ++11714;AHOM LETTER DHA;Lo;0;L;;;;;N;;;;; ++11715;AHOM LETTER GA;Lo;0;L;;;;;N;;;;; ++11716;AHOM LETTER ALTERNATE GA;Lo;0;L;;;;;N;;;;; ++11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;; ++11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;; ++11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;; ++1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;; ++1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;; ++1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;; ++11720;AHOM VOWEL SIGN A;Mc;0;L;;;;;N;;;;; ++11721;AHOM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; ++11722;AHOM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; ++11723;AHOM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; ++11724;AHOM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; ++11725;AHOM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; ++11726;AHOM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; ++11727;AHOM VOWEL SIGN AW;Mn;0;NSM;;;;;N;;;;; ++11728;AHOM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; ++11729;AHOM VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; ++1172A;AHOM VOWEL SIGN AM;Mn;0;NSM;;;;;N;;;;; ++1172B;AHOM SIGN KILLER;Mn;9;NSM;;;;;N;;;;; ++11730;AHOM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; ++11731;AHOM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; ++11732;AHOM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; ++11733;AHOM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; ++11734;AHOM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; ++11735;AHOM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; ++11736;AHOM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; ++11737;AHOM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; ++11738;AHOM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; ++11739;AHOM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; ++1173A;AHOM NUMBER TEN;No;0;L;;;;10;N;;;;; ++1173B;AHOM NUMBER TWENTY;No;0;L;;;;20;N;;;;; ++1173C;AHOM SIGN SMALL SECTION;Po;0;L;;;;;N;;;;; ++1173D;AHOM SIGN SECTION;Po;0;L;;;;;N;;;;; ++1173E;AHOM SIGN RULAI;Po;0;L;;;;;N;;;;; ++1173F;AHOM SYMBOL VI;So;0;L;;;;;N;;;;; + 118A0;WARANG CITI CAPITAL LETTER NGAA;Lu;0;L;;;;;N;;;;118C0; + 118A1;WARANG CITI CAPITAL LETTER A;Lu;0;L;;;;;N;;;;118C1; + 118A2;WARANG CITI CAPITAL LETTER WI;Lu;0;L;;;;;N;;;;118C2; +@@ -20370,6 +20810,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 12396;CUNEIFORM SIGN SAG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; + 12397;CUNEIFORM SIGN TI2;Lo;0;L;;;;;N;;;;; + 12398;CUNEIFORM SIGN UM TIMES ME;Lo;0;L;;;;;N;;;;; ++12399;CUNEIFORM SIGN U U;Lo;0;L;;;;;N;;;;; + 12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;; + 12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;; + 12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;; +@@ -20486,6 +20927,202 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;; + 12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;; + 12474;CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON;Po;0;L;;;;;N;;;;; ++12480;CUNEIFORM SIGN AB TIMES NUN TENU;Lo;0;L;;;;;N;;;;; ++12481;CUNEIFORM SIGN AB TIMES SHU2;Lo;0;L;;;;;N;;;;; ++12482;CUNEIFORM SIGN AD TIMES ESH2;Lo;0;L;;;;;N;;;;; ++12483;CUNEIFORM SIGN BAD TIMES DISH TENU;Lo;0;L;;;;;N;;;;; ++12484;CUNEIFORM SIGN BAHAR2 TIMES AB2;Lo;0;L;;;;;N;;;;; ++12485;CUNEIFORM SIGN BAHAR2 TIMES NI;Lo;0;L;;;;;N;;;;; ++12486;CUNEIFORM SIGN BAHAR2 TIMES ZA;Lo;0;L;;;;;N;;;;; ++12487;CUNEIFORM SIGN BU OVER BU TIMES NA2;Lo;0;L;;;;;N;;;;; ++12488;CUNEIFORM SIGN DA TIMES TAK4;Lo;0;L;;;;;N;;;;; ++12489;CUNEIFORM SIGN DAG TIMES KUR;Lo;0;L;;;;;N;;;;; ++1248A;CUNEIFORM SIGN DIM TIMES IGI;Lo;0;L;;;;;N;;;;; ++1248B;CUNEIFORM SIGN DIM TIMES U U U;Lo;0;L;;;;;N;;;;; ++1248C;CUNEIFORM SIGN DIM2 TIMES UD;Lo;0;L;;;;;N;;;;; ++1248D;CUNEIFORM SIGN DUG TIMES ANSHE;Lo;0;L;;;;;N;;;;; ++1248E;CUNEIFORM SIGN DUG TIMES ASH;Lo;0;L;;;;;N;;;;; ++1248F;CUNEIFORM SIGN DUG TIMES ASH AT LEFT;Lo;0;L;;;;;N;;;;; ++12490;CUNEIFORM SIGN DUG TIMES DIN;Lo;0;L;;;;;N;;;;; ++12491;CUNEIFORM SIGN DUG TIMES DUN;Lo;0;L;;;;;N;;;;; ++12492;CUNEIFORM SIGN DUG TIMES ERIN2;Lo;0;L;;;;;N;;;;; ++12493;CUNEIFORM SIGN DUG TIMES GA;Lo;0;L;;;;;N;;;;; ++12494;CUNEIFORM SIGN DUG TIMES GI;Lo;0;L;;;;;N;;;;; ++12495;CUNEIFORM SIGN DUG TIMES GIR2 GUNU;Lo;0;L;;;;;N;;;;; ++12496;CUNEIFORM SIGN DUG TIMES GISH;Lo;0;L;;;;;N;;;;; ++12497;CUNEIFORM SIGN DUG TIMES HA;Lo;0;L;;;;;N;;;;; ++12498;CUNEIFORM SIGN DUG TIMES HI;Lo;0;L;;;;;N;;;;; ++12499;CUNEIFORM SIGN DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; ++1249A;CUNEIFORM SIGN DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;; ++1249B;CUNEIFORM SIGN DUG TIMES KUR;Lo;0;L;;;;;N;;;;; ++1249C;CUNEIFORM SIGN DUG TIMES KUSHU2;Lo;0;L;;;;;N;;;;; ++1249D;CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;; ++1249E;CUNEIFORM SIGN DUG TIMES LAK-020;Lo;0;L;;;;;N;;;;; ++1249F;CUNEIFORM SIGN DUG TIMES LAM;Lo;0;L;;;;;N;;;;; ++124A0;CUNEIFORM SIGN DUG TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;; ++124A1;CUNEIFORM SIGN DUG TIMES LUH PLUS GISH;Lo;0;L;;;;;N;;;;; ++124A2;CUNEIFORM SIGN DUG TIMES MASH;Lo;0;L;;;;;N;;;;; ++124A3;CUNEIFORM SIGN DUG TIMES MES;Lo;0;L;;;;;N;;;;; ++124A4;CUNEIFORM SIGN DUG TIMES MI;Lo;0;L;;;;;N;;;;; ++124A5;CUNEIFORM SIGN DUG TIMES NI;Lo;0;L;;;;;N;;;;; ++124A6;CUNEIFORM SIGN DUG TIMES PI;Lo;0;L;;;;;N;;;;; ++124A7;CUNEIFORM SIGN DUG TIMES SHE;Lo;0;L;;;;;N;;;;; ++124A8;CUNEIFORM SIGN DUG TIMES SI GUNU;Lo;0;L;;;;;N;;;;; ++124A9;CUNEIFORM SIGN E2 TIMES KUR;Lo;0;L;;;;;N;;;;; ++124AA;CUNEIFORM SIGN E2 TIMES PAP;Lo;0;L;;;;;N;;;;; ++124AB;CUNEIFORM SIGN ERIN2 X;Lo;0;L;;;;;N;;;;; ++124AC;CUNEIFORM SIGN ESH2 CROSSING ESH2;Lo;0;L;;;;;N;;;;; ++124AD;CUNEIFORM SIGN EZEN SHESHIG TIMES ASH;Lo;0;L;;;;;N;;;;; ++124AE;CUNEIFORM SIGN EZEN SHESHIG TIMES HI;Lo;0;L;;;;;N;;;;; ++124AF;CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; ++124B0;CUNEIFORM SIGN EZEN SHESHIG TIMES LA;Lo;0;L;;;;;N;;;;; ++124B1;CUNEIFORM SIGN EZEN SHESHIG TIMES LAL;Lo;0;L;;;;;N;;;;; ++124B2;CUNEIFORM SIGN EZEN SHESHIG TIMES ME;Lo;0;L;;;;;N;;;;; ++124B3;CUNEIFORM SIGN EZEN SHESHIG TIMES MES;Lo;0;L;;;;;N;;;;; ++124B4;CUNEIFORM SIGN EZEN SHESHIG TIMES SU;Lo;0;L;;;;;N;;;;; ++124B5;CUNEIFORM SIGN EZEN TIMES SU;Lo;0;L;;;;;N;;;;; ++124B6;CUNEIFORM SIGN GA2 TIMES BAHAR2;Lo;0;L;;;;;N;;;;; ++124B7;CUNEIFORM SIGN GA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;; ++124B8;CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; ++124B9;CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;; ++124BA;CUNEIFORM SIGN GA2 TIMES EREN;Lo;0;L;;;;;N;;;;; ++124BB;CUNEIFORM SIGN GA2 TIMES GA;Lo;0;L;;;;;N;;;;; ++124BC;CUNEIFORM SIGN GA2 TIMES GAR PLUS DI;Lo;0;L;;;;;N;;;;; ++124BD;CUNEIFORM SIGN GA2 TIMES GAR PLUS NE;Lo;0;L;;;;;N;;;;; ++124BE;CUNEIFORM SIGN GA2 TIMES HA PLUS A;Lo;0;L;;;;;N;;;;; ++124BF;CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;; ++124C0;CUNEIFORM SIGN GA2 TIMES LAM;Lo;0;L;;;;;N;;;;; ++124C1;CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;; ++124C2;CUNEIFORM SIGN GA2 TIMES LUH;Lo;0;L;;;;;N;;;;; ++124C3;CUNEIFORM SIGN GA2 TIMES MUSH;Lo;0;L;;;;;N;;;;; ++124C4;CUNEIFORM SIGN GA2 TIMES NE;Lo;0;L;;;;;N;;;;; ++124C5;CUNEIFORM SIGN GA2 TIMES NE PLUS E2;Lo;0;L;;;;;N;;;;; ++124C6;CUNEIFORM SIGN GA2 TIMES NE PLUS GI;Lo;0;L;;;;;N;;;;; ++124C7;CUNEIFORM SIGN GA2 TIMES SHIM;Lo;0;L;;;;;N;;;;; ++124C8;CUNEIFORM SIGN GA2 TIMES ZIZ2;Lo;0;L;;;;;N;;;;; ++124C9;CUNEIFORM SIGN GABA ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;; ++124CA;CUNEIFORM SIGN GESHTIN TIMES U;Lo;0;L;;;;;N;;;;; ++124CB;CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; ++124CC;CUNEIFORM SIGN GU2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; ++124CD;CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4;Lo;0;L;;;;;N;;;;; ++124CE;CUNEIFORM SIGN HA TENU GUNU;Lo;0;L;;;;;N;;;;; ++124CF;CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH;Lo;0;L;;;;;N;;;;; ++124D0;CUNEIFORM SIGN KA TIMES BU;Lo;0;L;;;;;N;;;;; ++124D1;CUNEIFORM SIGN KA TIMES KA;Lo;0;L;;;;;N;;;;; ++124D2;CUNEIFORM SIGN KA TIMES U U U;Lo;0;L;;;;;N;;;;; ++124D3;CUNEIFORM SIGN KA TIMES UR;Lo;0;L;;;;;N;;;;; ++124D4;CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU;Lo;0;L;;;;;N;;;;; ++124D5;CUNEIFORM SIGN LAK-003;Lo;0;L;;;;;N;;;;; ++124D6;CUNEIFORM SIGN LAK-021;Lo;0;L;;;;;N;;;;; ++124D7;CUNEIFORM SIGN LAK-025;Lo;0;L;;;;;N;;;;; ++124D8;CUNEIFORM SIGN LAK-030;Lo;0;L;;;;;N;;;;; ++124D9;CUNEIFORM SIGN LAK-050;Lo;0;L;;;;;N;;;;; ++124DA;CUNEIFORM SIGN LAK-051;Lo;0;L;;;;;N;;;;; ++124DB;CUNEIFORM SIGN LAK-062;Lo;0;L;;;;;N;;;;; ++124DC;CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU;Lo;0;L;;;;;N;;;;; ++124DD;CUNEIFORM SIGN LAK-080;Lo;0;L;;;;;N;;;;; ++124DE;CUNEIFORM SIGN LAK-081 OVER LAK-081;Lo;0;L;;;;;N;;;;; ++124DF;CUNEIFORM SIGN LAK-092;Lo;0;L;;;;;N;;;;; ++124E0;CUNEIFORM SIGN LAK-130;Lo;0;L;;;;;N;;;;; ++124E1;CUNEIFORM SIGN LAK-142;Lo;0;L;;;;;N;;;;; ++124E2;CUNEIFORM SIGN LAK-210;Lo;0;L;;;;;N;;;;; ++124E3;CUNEIFORM SIGN LAK-219;Lo;0;L;;;;;N;;;;; ++124E4;CUNEIFORM SIGN LAK-220;Lo;0;L;;;;;N;;;;; ++124E5;CUNEIFORM SIGN LAK-225;Lo;0;L;;;;;N;;;;; ++124E6;CUNEIFORM SIGN LAK-228;Lo;0;L;;;;;N;;;;; ++124E7;CUNEIFORM SIGN LAK-238;Lo;0;L;;;;;N;;;;; ++124E8;CUNEIFORM SIGN LAK-265;Lo;0;L;;;;;N;;;;; ++124E9;CUNEIFORM SIGN LAK-266;Lo;0;L;;;;;N;;;;; ++124EA;CUNEIFORM SIGN LAK-343;Lo;0;L;;;;;N;;;;; ++124EB;CUNEIFORM SIGN LAK-347;Lo;0;L;;;;;N;;;;; ++124EC;CUNEIFORM SIGN LAK-348;Lo;0;L;;;;;N;;;;; ++124ED;CUNEIFORM SIGN LAK-383;Lo;0;L;;;;;N;;;;; ++124EE;CUNEIFORM SIGN LAK-384;Lo;0;L;;;;;N;;;;; ++124EF;CUNEIFORM SIGN LAK-390;Lo;0;L;;;;;N;;;;; ++124F0;CUNEIFORM SIGN LAK-441;Lo;0;L;;;;;N;;;;; ++124F1;CUNEIFORM SIGN LAK-449;Lo;0;L;;;;;N;;;;; ++124F2;CUNEIFORM SIGN LAK-449 TIMES GU;Lo;0;L;;;;;N;;;;; ++124F3;CUNEIFORM SIGN LAK-449 TIMES IGI;Lo;0;L;;;;;N;;;;; ++124F4;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3;Lo;0;L;;;;;N;;;;; ++124F5;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; ++124F6;CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA;Lo;0;L;;;;;N;;;;; ++124F7;CUNEIFORM SIGN LAK-450;Lo;0;L;;;;;N;;;;; ++124F8;CUNEIFORM SIGN LAK-457;Lo;0;L;;;;;N;;;;; ++124F9;CUNEIFORM SIGN LAK-470;Lo;0;L;;;;;N;;;;; ++124FA;CUNEIFORM SIGN LAK-483;Lo;0;L;;;;;N;;;;; ++124FB;CUNEIFORM SIGN LAK-490;Lo;0;L;;;;;N;;;;; ++124FC;CUNEIFORM SIGN LAK-492;Lo;0;L;;;;;N;;;;; ++124FD;CUNEIFORM SIGN LAK-493;Lo;0;L;;;;;N;;;;; ++124FE;CUNEIFORM SIGN LAK-495;Lo;0;L;;;;;N;;;;; ++124FF;CUNEIFORM SIGN LAK-550;Lo;0;L;;;;;N;;;;; ++12500;CUNEIFORM SIGN LAK-608;Lo;0;L;;;;;N;;;;; ++12501;CUNEIFORM SIGN LAK-617;Lo;0;L;;;;;N;;;;; ++12502;CUNEIFORM SIGN LAK-617 TIMES ASH;Lo;0;L;;;;;N;;;;; ++12503;CUNEIFORM SIGN LAK-617 TIMES BAD;Lo;0;L;;;;;N;;;;; ++12504;CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; ++12505;CUNEIFORM SIGN LAK-617 TIMES KU3;Lo;0;L;;;;;N;;;;; ++12506;CUNEIFORM SIGN LAK-617 TIMES LA;Lo;0;L;;;;;N;;;;; ++12507;CUNEIFORM SIGN LAK-617 TIMES TAR;Lo;0;L;;;;;N;;;;; ++12508;CUNEIFORM SIGN LAK-617 TIMES TE;Lo;0;L;;;;;N;;;;; ++12509;CUNEIFORM SIGN LAK-617 TIMES U2;Lo;0;L;;;;;N;;;;; ++1250A;CUNEIFORM SIGN LAK-617 TIMES UD;Lo;0;L;;;;;N;;;;; ++1250B;CUNEIFORM SIGN LAK-617 TIMES URUDA;Lo;0;L;;;;;N;;;;; ++1250C;CUNEIFORM SIGN LAK-636;Lo;0;L;;;;;N;;;;; ++1250D;CUNEIFORM SIGN LAK-648;Lo;0;L;;;;;N;;;;; ++1250E;CUNEIFORM SIGN LAK-648 TIMES DUB;Lo;0;L;;;;;N;;;;; ++1250F;CUNEIFORM SIGN LAK-648 TIMES GA;Lo;0;L;;;;;N;;;;; ++12510;CUNEIFORM SIGN LAK-648 TIMES IGI;Lo;0;L;;;;;N;;;;; ++12511;CUNEIFORM SIGN LAK-648 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; ++12512;CUNEIFORM SIGN LAK-648 TIMES NI;Lo;0;L;;;;;N;;;;; ++12513;CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; ++12514;CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI;Lo;0;L;;;;;N;;;;; ++12515;CUNEIFORM SIGN LAK-648 TIMES UD;Lo;0;L;;;;;N;;;;; ++12516;CUNEIFORM SIGN LAK-648 TIMES URUDA;Lo;0;L;;;;;N;;;;; ++12517;CUNEIFORM SIGN LAK-724;Lo;0;L;;;;;N;;;;; ++12518;CUNEIFORM SIGN LAK-749;Lo;0;L;;;;;N;;;;; ++12519;CUNEIFORM SIGN LU2 GUNU TIMES ASH;Lo;0;L;;;;;N;;;;; ++1251A;CUNEIFORM SIGN LU2 TIMES DISH;Lo;0;L;;;;;N;;;;; ++1251B;CUNEIFORM SIGN LU2 TIMES HAL;Lo;0;L;;;;;N;;;;; ++1251C;CUNEIFORM SIGN LU2 TIMES PAP;Lo;0;L;;;;;N;;;;; ++1251D;CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; ++1251E;CUNEIFORM SIGN LU2 TIMES TAK4;Lo;0;L;;;;;N;;;;; ++1251F;CUNEIFORM SIGN MI PLUS ZA7;Lo;0;L;;;;;N;;;;; ++12520;CUNEIFORM SIGN MUSH OVER MUSH TIMES GA;Lo;0;L;;;;;N;;;;; ++12521;CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK;Lo;0;L;;;;;N;;;;; ++12522;CUNEIFORM SIGN NINDA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;; ++12523;CUNEIFORM SIGN NINDA2 TIMES GISH;Lo;0;L;;;;;N;;;;; ++12524;CUNEIFORM SIGN NINDA2 TIMES GUL;Lo;0;L;;;;;N;;;;; ++12525;CUNEIFORM SIGN NINDA2 TIMES HI;Lo;0;L;;;;;N;;;;; ++12526;CUNEIFORM SIGN NINDA2 TIMES KESH2;Lo;0;L;;;;;N;;;;; ++12527;CUNEIFORM SIGN NINDA2 TIMES LAK-050;Lo;0;L;;;;;N;;;;; ++12528;CUNEIFORM SIGN NINDA2 TIMES MASH;Lo;0;L;;;;;N;;;;; ++12529;CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;; ++1252A;CUNEIFORM SIGN NINDA2 TIMES U;Lo;0;L;;;;;N;;;;; ++1252B;CUNEIFORM SIGN NINDA2 TIMES U PLUS U;Lo;0;L;;;;;N;;;;; ++1252C;CUNEIFORM SIGN NINDA2 TIMES URUDA;Lo;0;L;;;;;N;;;;; ++1252D;CUNEIFORM SIGN SAG GUNU TIMES HA;Lo;0;L;;;;;N;;;;; ++1252E;CUNEIFORM SIGN SAG TIMES EN;Lo;0;L;;;;;N;;;;; ++1252F;CUNEIFORM SIGN SAG TIMES SHE AT LEFT;Lo;0;L;;;;;N;;;;; ++12530;CUNEIFORM SIGN SAG TIMES TAK4;Lo;0;L;;;;;N;;;;; ++12531;CUNEIFORM SIGN SHA6 TENU;Lo;0;L;;;;;N;;;;; ++12532;CUNEIFORM SIGN SHE OVER SHE;Lo;0;L;;;;;N;;;;; ++12533;CUNEIFORM SIGN SHE PLUS HUB2;Lo;0;L;;;;;N;;;;; ++12534;CUNEIFORM SIGN SHE PLUS NAM2;Lo;0;L;;;;;N;;;;; ++12535;CUNEIFORM SIGN SHE PLUS SAR;Lo;0;L;;;;;N;;;;; ++12536;CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI;Lo;0;L;;;;;N;;;;; ++12537;CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN;Lo;0;L;;;;;N;;;;; ++12538;CUNEIFORM SIGN SI TIMES TAK4;Lo;0;L;;;;;N;;;;; ++12539;CUNEIFORM SIGN TAK4 PLUS SAG;Lo;0;L;;;;;N;;;;; ++1253A;CUNEIFORM SIGN TUM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; ++1253B;CUNEIFORM SIGN TUM TIMES THREE DISH;Lo;0;L;;;;;N;;;;; ++1253C;CUNEIFORM SIGN UR2 INVERTED;Lo;0;L;;;;;N;;;;; ++1253D;CUNEIFORM SIGN UR2 TIMES UD;Lo;0;L;;;;;N;;;;; ++1253E;CUNEIFORM SIGN URU TIMES DARA3;Lo;0;L;;;;;N;;;;; ++1253F;CUNEIFORM SIGN URU TIMES LAK-668;Lo;0;L;;;;;N;;;;; ++12540;CUNEIFORM SIGN URU TIMES LU3;Lo;0;L;;;;;N;;;;; ++12541;CUNEIFORM SIGN ZA7;Lo;0;L;;;;;N;;;;; ++12542;CUNEIFORM SIGN ZU OVER ZU PLUS SAR;Lo;0;L;;;;;N;;;;; ++12543;CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU;Lo;0;L;;;;;N;;;;; + 13000;EGYPTIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;; + 13001;EGYPTIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;; + 13002;EGYPTIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;; +@@ -21557,6 +22194,589 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;; + 1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;; + 1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;; ++14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;; ++14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;; ++14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;; ++14403;ANATOLIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;; ++14404;ANATOLIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;; ++14405;ANATOLIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;; ++14406;ANATOLIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;; ++14407;ANATOLIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;; ++14408;ANATOLIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;; ++14409;ANATOLIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;; ++1440A;ANATOLIAN HIEROGLYPH A010A;Lo;0;L;;;;;N;;;;; ++1440B;ANATOLIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;; ++1440C;ANATOLIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;; ++1440D;ANATOLIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;; ++1440E;ANATOLIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;; ++1440F;ANATOLIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;; ++14410;ANATOLIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;; ++14411;ANATOLIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;; ++14412;ANATOLIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;; ++14413;ANATOLIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;; ++14414;ANATOLIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;; ++14415;ANATOLIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;; ++14416;ANATOLIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;; ++14417;ANATOLIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;; ++14418;ANATOLIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;; ++14419;ANATOLIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;; ++1441A;ANATOLIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;; ++1441B;ANATOLIAN HIEROGLYPH A026A;Lo;0;L;;;;;N;;;;; ++1441C;ANATOLIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;; ++1441D;ANATOLIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;; ++1441E;ANATOLIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;; ++1441F;ANATOLIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;; ++14420;ANATOLIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;; ++14421;ANATOLIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;; ++14422;ANATOLIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;; ++14423;ANATOLIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;; ++14424;ANATOLIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;; ++14425;ANATOLIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;; ++14426;ANATOLIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;; ++14427;ANATOLIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;; ++14428;ANATOLIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;; ++14429;ANATOLIAN HIEROGLYPH A039A;Lo;0;L;;;;;N;;;;; ++1442A;ANATOLIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;; ++1442B;ANATOLIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;; ++1442C;ANATOLIAN HIEROGLYPH A041A;Lo;0;L;;;;;N;;;;; ++1442D;ANATOLIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;; ++1442E;ANATOLIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;; ++1442F;ANATOLIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;; ++14430;ANATOLIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;; ++14431;ANATOLIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;; ++14432;ANATOLIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;; ++14433;ANATOLIAN HIEROGLYPH A046A;Lo;0;L;;;;;N;;;;; ++14434;ANATOLIAN HIEROGLYPH A046B;Lo;0;L;;;;;N;;;;; ++14435;ANATOLIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;; ++14436;ANATOLIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;; ++14437;ANATOLIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;; ++14438;ANATOLIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;; ++14439;ANATOLIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;; ++1443A;ANATOLIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;; ++1443B;ANATOLIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;; ++1443C;ANATOLIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;; ++1443D;ANATOLIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;; ++1443E;ANATOLIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;; ++1443F;ANATOLIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;; ++14440;ANATOLIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;; ++14441;ANATOLIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;; ++14442;ANATOLIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;; ++14443;ANATOLIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;; ++14444;ANATOLIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;; ++14445;ANATOLIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;; ++14446;ANATOLIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;; ++14447;ANATOLIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;; ++14448;ANATOLIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;; ++14449;ANATOLIAN HIEROGLYPH A066A;Lo;0;L;;;;;N;;;;; ++1444A;ANATOLIAN HIEROGLYPH A066B;Lo;0;L;;;;;N;;;;; ++1444B;ANATOLIAN HIEROGLYPH A066C;Lo;0;L;;;;;N;;;;; ++1444C;ANATOLIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;; ++1444D;ANATOLIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;; ++1444E;ANATOLIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;; ++1444F;ANATOLIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;; ++14450;ANATOLIAN HIEROGLYPH A071;Lo;0;L;;;;;N;;;;; ++14451;ANATOLIAN HIEROGLYPH A072;Lo;0;L;;;;;N;;;;; ++14452;ANATOLIAN HIEROGLYPH A073;Lo;0;L;;;;;N;;;;; ++14453;ANATOLIAN HIEROGLYPH A074;Lo;0;L;;;;;N;;;;; ++14454;ANATOLIAN HIEROGLYPH A075;Lo;0;L;;;;;N;;;;; ++14455;ANATOLIAN HIEROGLYPH A076;Lo;0;L;;;;;N;;;;; ++14456;ANATOLIAN HIEROGLYPH A077;Lo;0;L;;;;;N;;;;; ++14457;ANATOLIAN HIEROGLYPH A078;Lo;0;L;;;;;N;;;;; ++14458;ANATOLIAN HIEROGLYPH A079;Lo;0;L;;;;;N;;;;; ++14459;ANATOLIAN HIEROGLYPH A080;Lo;0;L;;;;;N;;;;; ++1445A;ANATOLIAN HIEROGLYPH A081;Lo;0;L;;;;;N;;;;; ++1445B;ANATOLIAN HIEROGLYPH A082;Lo;0;L;;;;;N;;;;; ++1445C;ANATOLIAN HIEROGLYPH A083;Lo;0;L;;;;;N;;;;; ++1445D;ANATOLIAN HIEROGLYPH A084;Lo;0;L;;;;;N;;;;; ++1445E;ANATOLIAN HIEROGLYPH A085;Lo;0;L;;;;;N;;;;; ++1445F;ANATOLIAN HIEROGLYPH A086;Lo;0;L;;;;;N;;;;; ++14460;ANATOLIAN HIEROGLYPH A087;Lo;0;L;;;;;N;;;;; ++14461;ANATOLIAN HIEROGLYPH A088;Lo;0;L;;;;;N;;;;; ++14462;ANATOLIAN HIEROGLYPH A089;Lo;0;L;;;;;N;;;;; ++14463;ANATOLIAN HIEROGLYPH A090;Lo;0;L;;;;;N;;;;; ++14464;ANATOLIAN HIEROGLYPH A091;Lo;0;L;;;;;N;;;;; ++14465;ANATOLIAN HIEROGLYPH A092;Lo;0;L;;;;;N;;;;; ++14466;ANATOLIAN HIEROGLYPH A093;Lo;0;L;;;;;N;;;;; ++14467;ANATOLIAN HIEROGLYPH A094;Lo;0;L;;;;;N;;;;; ++14468;ANATOLIAN HIEROGLYPH A095;Lo;0;L;;;;;N;;;;; ++14469;ANATOLIAN HIEROGLYPH A096;Lo;0;L;;;;;N;;;;; ++1446A;ANATOLIAN HIEROGLYPH A097;Lo;0;L;;;;;N;;;;; ++1446B;ANATOLIAN HIEROGLYPH A097A;Lo;0;L;;;;;N;;;;; ++1446C;ANATOLIAN HIEROGLYPH A098;Lo;0;L;;;;;N;;;;; ++1446D;ANATOLIAN HIEROGLYPH A098A;Lo;0;L;;;;;N;;;;; ++1446E;ANATOLIAN HIEROGLYPH A099;Lo;0;L;;;;;N;;;;; ++1446F;ANATOLIAN HIEROGLYPH A100;Lo;0;L;;;;;N;;;;; ++14470;ANATOLIAN HIEROGLYPH A100A;Lo;0;L;;;;;N;;;;; ++14471;ANATOLIAN HIEROGLYPH A101;Lo;0;L;;;;;N;;;;; ++14472;ANATOLIAN HIEROGLYPH A101A;Lo;0;L;;;;;N;;;;; ++14473;ANATOLIAN HIEROGLYPH A102;Lo;0;L;;;;;N;;;;; ++14474;ANATOLIAN HIEROGLYPH A102A;Lo;0;L;;;;;N;;;;; ++14475;ANATOLIAN HIEROGLYPH A103;Lo;0;L;;;;;N;;;;; ++14476;ANATOLIAN HIEROGLYPH A104;Lo;0;L;;;;;N;;;;; ++14477;ANATOLIAN HIEROGLYPH A104A;Lo;0;L;;;;;N;;;;; ++14478;ANATOLIAN HIEROGLYPH A104B;Lo;0;L;;;;;N;;;;; ++14479;ANATOLIAN HIEROGLYPH A104C;Lo;0;L;;;;;N;;;;; ++1447A;ANATOLIAN HIEROGLYPH A105;Lo;0;L;;;;;N;;;;; ++1447B;ANATOLIAN HIEROGLYPH A105A;Lo;0;L;;;;;N;;;;; ++1447C;ANATOLIAN HIEROGLYPH A105B;Lo;0;L;;;;;N;;;;; ++1447D;ANATOLIAN HIEROGLYPH A106;Lo;0;L;;;;;N;;;;; ++1447E;ANATOLIAN HIEROGLYPH A107;Lo;0;L;;;;;N;;;;; ++1447F;ANATOLIAN HIEROGLYPH A107A;Lo;0;L;;;;;N;;;;; ++14480;ANATOLIAN HIEROGLYPH A107B;Lo;0;L;;;;;N;;;;; ++14481;ANATOLIAN HIEROGLYPH A107C;Lo;0;L;;;;;N;;;;; ++14482;ANATOLIAN HIEROGLYPH A108;Lo;0;L;;;;;N;;;;; ++14483;ANATOLIAN HIEROGLYPH A109;Lo;0;L;;;;;N;;;;; ++14484;ANATOLIAN HIEROGLYPH A110;Lo;0;L;;;;;N;;;;; ++14485;ANATOLIAN HIEROGLYPH A110A;Lo;0;L;;;;;N;;;;; ++14486;ANATOLIAN HIEROGLYPH A110B;Lo;0;L;;;;;N;;;;; ++14487;ANATOLIAN HIEROGLYPH A111;Lo;0;L;;;;;N;;;;; ++14488;ANATOLIAN HIEROGLYPH A112;Lo;0;L;;;;;N;;;;; ++14489;ANATOLIAN HIEROGLYPH A113;Lo;0;L;;;;;N;;;;; ++1448A;ANATOLIAN HIEROGLYPH A114;Lo;0;L;;;;;N;;;;; ++1448B;ANATOLIAN HIEROGLYPH A115;Lo;0;L;;;;;N;;;;; ++1448C;ANATOLIAN HIEROGLYPH A115A;Lo;0;L;;;;;N;;;;; ++1448D;ANATOLIAN HIEROGLYPH A116;Lo;0;L;;;;;N;;;;; ++1448E;ANATOLIAN HIEROGLYPH A117;Lo;0;L;;;;;N;;;;; ++1448F;ANATOLIAN HIEROGLYPH A118;Lo;0;L;;;;;N;;;;; ++14490;ANATOLIAN HIEROGLYPH A119;Lo;0;L;;;;;N;;;;; ++14491;ANATOLIAN HIEROGLYPH A120;Lo;0;L;;;;;N;;;;; ++14492;ANATOLIAN HIEROGLYPH A121;Lo;0;L;;;;;N;;;;; ++14493;ANATOLIAN HIEROGLYPH A122;Lo;0;L;;;;;N;;;;; ++14494;ANATOLIAN HIEROGLYPH A123;Lo;0;L;;;;;N;;;;; ++14495;ANATOLIAN HIEROGLYPH A124;Lo;0;L;;;;;N;;;;; ++14496;ANATOLIAN HIEROGLYPH A125;Lo;0;L;;;;;N;;;;; ++14497;ANATOLIAN HIEROGLYPH A125A;Lo;0;L;;;;;N;;;;; ++14498;ANATOLIAN HIEROGLYPH A126;Lo;0;L;;;;;N;;;;; ++14499;ANATOLIAN HIEROGLYPH A127;Lo;0;L;;;;;N;;;;; ++1449A;ANATOLIAN HIEROGLYPH A128;Lo;0;L;;;;;N;;;;; ++1449B;ANATOLIAN HIEROGLYPH A129;Lo;0;L;;;;;N;;;;; ++1449C;ANATOLIAN HIEROGLYPH A130;Lo;0;L;;;;;N;;;;; ++1449D;ANATOLIAN HIEROGLYPH A131;Lo;0;L;;;;;N;;;;; ++1449E;ANATOLIAN HIEROGLYPH A132;Lo;0;L;;;;;N;;;;; ++1449F;ANATOLIAN HIEROGLYPH A133;Lo;0;L;;;;;N;;;;; ++144A0;ANATOLIAN HIEROGLYPH A134;Lo;0;L;;;;;N;;;;; ++144A1;ANATOLIAN HIEROGLYPH A135;Lo;0;L;;;;;N;;;;; ++144A2;ANATOLIAN HIEROGLYPH A135A;Lo;0;L;;;;;N;;;;; ++144A3;ANATOLIAN HIEROGLYPH A136;Lo;0;L;;;;;N;;;;; ++144A4;ANATOLIAN HIEROGLYPH A137;Lo;0;L;;;;;N;;;;; ++144A5;ANATOLIAN HIEROGLYPH A138;Lo;0;L;;;;;N;;;;; ++144A6;ANATOLIAN HIEROGLYPH A139;Lo;0;L;;;;;N;;;;; ++144A7;ANATOLIAN HIEROGLYPH A140;Lo;0;L;;;;;N;;;;; ++144A8;ANATOLIAN HIEROGLYPH A141;Lo;0;L;;;;;N;;;;; ++144A9;ANATOLIAN HIEROGLYPH A142;Lo;0;L;;;;;N;;;;; ++144AA;ANATOLIAN HIEROGLYPH A143;Lo;0;L;;;;;N;;;;; ++144AB;ANATOLIAN HIEROGLYPH A144;Lo;0;L;;;;;N;;;;; ++144AC;ANATOLIAN HIEROGLYPH A145;Lo;0;L;;;;;N;;;;; ++144AD;ANATOLIAN HIEROGLYPH A146;Lo;0;L;;;;;N;;;;; ++144AE;ANATOLIAN HIEROGLYPH A147;Lo;0;L;;;;;N;;;;; ++144AF;ANATOLIAN HIEROGLYPH A148;Lo;0;L;;;;;N;;;;; ++144B0;ANATOLIAN HIEROGLYPH A149;Lo;0;L;;;;;N;;;;; ++144B1;ANATOLIAN HIEROGLYPH A150;Lo;0;L;;;;;N;;;;; ++144B2;ANATOLIAN HIEROGLYPH A151;Lo;0;L;;;;;N;;;;; ++144B3;ANATOLIAN HIEROGLYPH A152;Lo;0;L;;;;;N;;;;; ++144B4;ANATOLIAN HIEROGLYPH A153;Lo;0;L;;;;;N;;;;; ++144B5;ANATOLIAN HIEROGLYPH A154;Lo;0;L;;;;;N;;;;; ++144B6;ANATOLIAN HIEROGLYPH A155;Lo;0;L;;;;;N;;;;; ++144B7;ANATOLIAN HIEROGLYPH A156;Lo;0;L;;;;;N;;;;; ++144B8;ANATOLIAN HIEROGLYPH A157;Lo;0;L;;;;;N;;;;; ++144B9;ANATOLIAN HIEROGLYPH A158;Lo;0;L;;;;;N;;;;; ++144BA;ANATOLIAN HIEROGLYPH A159;Lo;0;L;;;;;N;;;;; ++144BB;ANATOLIAN HIEROGLYPH A160;Lo;0;L;;;;;N;;;;; ++144BC;ANATOLIAN HIEROGLYPH A161;Lo;0;L;;;;;N;;;;; ++144BD;ANATOLIAN HIEROGLYPH A162;Lo;0;L;;;;;N;;;;; ++144BE;ANATOLIAN HIEROGLYPH A163;Lo;0;L;;;;;N;;;;; ++144BF;ANATOLIAN HIEROGLYPH A164;Lo;0;L;;;;;N;;;;; ++144C0;ANATOLIAN HIEROGLYPH A165;Lo;0;L;;;;;N;;;;; ++144C1;ANATOLIAN HIEROGLYPH A166;Lo;0;L;;;;;N;;;;; ++144C2;ANATOLIAN HIEROGLYPH A167;Lo;0;L;;;;;N;;;;; ++144C3;ANATOLIAN HIEROGLYPH A168;Lo;0;L;;;;;N;;;;; ++144C4;ANATOLIAN HIEROGLYPH A169;Lo;0;L;;;;;N;;;;; ++144C5;ANATOLIAN HIEROGLYPH A170;Lo;0;L;;;;;N;;;;; ++144C6;ANATOLIAN HIEROGLYPH A171;Lo;0;L;;;;;N;;;;; ++144C7;ANATOLIAN HIEROGLYPH A172;Lo;0;L;;;;;N;;;;; ++144C8;ANATOLIAN HIEROGLYPH A173;Lo;0;L;;;;;N;;;;; ++144C9;ANATOLIAN HIEROGLYPH A174;Lo;0;L;;;;;N;;;;; ++144CA;ANATOLIAN HIEROGLYPH A175;Lo;0;L;;;;;N;;;;; ++144CB;ANATOLIAN HIEROGLYPH A176;Lo;0;L;;;;;N;;;;; ++144CC;ANATOLIAN HIEROGLYPH A177;Lo;0;L;;;;;N;;;;; ++144CD;ANATOLIAN HIEROGLYPH A178;Lo;0;L;;;;;N;;;;; ++144CE;ANATOLIAN HIEROGLYPH A179;Lo;0;L;;;;;N;;;;; ++144CF;ANATOLIAN HIEROGLYPH A180;Lo;0;L;;;;;N;;;;; ++144D0;ANATOLIAN HIEROGLYPH A181;Lo;0;L;;;;;N;;;;; ++144D1;ANATOLIAN HIEROGLYPH A182;Lo;0;L;;;;;N;;;;; ++144D2;ANATOLIAN HIEROGLYPH A183;Lo;0;L;;;;;N;;;;; ++144D3;ANATOLIAN HIEROGLYPH A184;Lo;0;L;;;;;N;;;;; ++144D4;ANATOLIAN HIEROGLYPH A185;Lo;0;L;;;;;N;;;;; ++144D5;ANATOLIAN HIEROGLYPH A186;Lo;0;L;;;;;N;;;;; ++144D6;ANATOLIAN HIEROGLYPH A187;Lo;0;L;;;;;N;;;;; ++144D7;ANATOLIAN HIEROGLYPH A188;Lo;0;L;;;;;N;;;;; ++144D8;ANATOLIAN HIEROGLYPH A189;Lo;0;L;;;;;N;;;;; ++144D9;ANATOLIAN HIEROGLYPH A190;Lo;0;L;;;;;N;;;;; ++144DA;ANATOLIAN HIEROGLYPH A191;Lo;0;L;;;;;N;;;;; ++144DB;ANATOLIAN HIEROGLYPH A192;Lo;0;L;;;;;N;;;;; ++144DC;ANATOLIAN HIEROGLYPH A193;Lo;0;L;;;;;N;;;;; ++144DD;ANATOLIAN HIEROGLYPH A194;Lo;0;L;;;;;N;;;;; ++144DE;ANATOLIAN HIEROGLYPH A195;Lo;0;L;;;;;N;;;;; ++144DF;ANATOLIAN HIEROGLYPH A196;Lo;0;L;;;;;N;;;;; ++144E0;ANATOLIAN HIEROGLYPH A197;Lo;0;L;;;;;N;;;;; ++144E1;ANATOLIAN HIEROGLYPH A198;Lo;0;L;;;;;N;;;;; ++144E2;ANATOLIAN HIEROGLYPH A199;Lo;0;L;;;;;N;;;;; ++144E3;ANATOLIAN HIEROGLYPH A200;Lo;0;L;;;;;N;;;;; ++144E4;ANATOLIAN HIEROGLYPH A201;Lo;0;L;;;;;N;;;;; ++144E5;ANATOLIAN HIEROGLYPH A202;Lo;0;L;;;;;N;;;;; ++144E6;ANATOLIAN HIEROGLYPH A202A;Lo;0;L;;;;;N;;;;; ++144E7;ANATOLIAN HIEROGLYPH A202B;Lo;0;L;;;;;N;;;;; ++144E8;ANATOLIAN HIEROGLYPH A203;Lo;0;L;;;;;N;;;;; ++144E9;ANATOLIAN HIEROGLYPH A204;Lo;0;L;;;;;N;;;;; ++144EA;ANATOLIAN HIEROGLYPH A205;Lo;0;L;;;;;N;;;;; ++144EB;ANATOLIAN HIEROGLYPH A206;Lo;0;L;;;;;N;;;;; ++144EC;ANATOLIAN HIEROGLYPH A207;Lo;0;L;;;;;N;;;;; ++144ED;ANATOLIAN HIEROGLYPH A207A;Lo;0;L;;;;;N;;;;; ++144EE;ANATOLIAN HIEROGLYPH A208;Lo;0;L;;;;;N;;;;; ++144EF;ANATOLIAN HIEROGLYPH A209;Lo;0;L;;;;;N;;;;; ++144F0;ANATOLIAN HIEROGLYPH A209A;Lo;0;L;;;;;N;;;;; ++144F1;ANATOLIAN HIEROGLYPH A210;Lo;0;L;;;;;N;;;;; ++144F2;ANATOLIAN HIEROGLYPH A211;Lo;0;L;;;;;N;;;;; ++144F3;ANATOLIAN HIEROGLYPH A212;Lo;0;L;;;;;N;;;;; ++144F4;ANATOLIAN HIEROGLYPH A213;Lo;0;L;;;;;N;;;;; ++144F5;ANATOLIAN HIEROGLYPH A214;Lo;0;L;;;;;N;;;;; ++144F6;ANATOLIAN HIEROGLYPH A215;Lo;0;L;;;;;N;;;;; ++144F7;ANATOLIAN HIEROGLYPH A215A;Lo;0;L;;;;;N;;;;; ++144F8;ANATOLIAN HIEROGLYPH A216;Lo;0;L;;;;;N;;;;; ++144F9;ANATOLIAN HIEROGLYPH A216A;Lo;0;L;;;;;N;;;;; ++144FA;ANATOLIAN HIEROGLYPH A217;Lo;0;L;;;;;N;;;;; ++144FB;ANATOLIAN HIEROGLYPH A218;Lo;0;L;;;;;N;;;;; ++144FC;ANATOLIAN HIEROGLYPH A219;Lo;0;L;;;;;N;;;;; ++144FD;ANATOLIAN HIEROGLYPH A220;Lo;0;L;;;;;N;;;;; ++144FE;ANATOLIAN HIEROGLYPH A221;Lo;0;L;;;;;N;;;;; ++144FF;ANATOLIAN HIEROGLYPH A222;Lo;0;L;;;;;N;;;;; ++14500;ANATOLIAN HIEROGLYPH A223;Lo;0;L;;;;;N;;;;; ++14501;ANATOLIAN HIEROGLYPH A224;Lo;0;L;;;;;N;;;;; ++14502;ANATOLIAN HIEROGLYPH A225;Lo;0;L;;;;;N;;;;; ++14503;ANATOLIAN HIEROGLYPH A226;Lo;0;L;;;;;N;;;;; ++14504;ANATOLIAN HIEROGLYPH A227;Lo;0;L;;;;;N;;;;; ++14505;ANATOLIAN HIEROGLYPH A227A;Lo;0;L;;;;;N;;;;; ++14506;ANATOLIAN HIEROGLYPH A228;Lo;0;L;;;;;N;;;;; ++14507;ANATOLIAN HIEROGLYPH A229;Lo;0;L;;;;;N;;;;; ++14508;ANATOLIAN HIEROGLYPH A230;Lo;0;L;;;;;N;;;;; ++14509;ANATOLIAN HIEROGLYPH A231;Lo;0;L;;;;;N;;;;; ++1450A;ANATOLIAN HIEROGLYPH A232;Lo;0;L;;;;;N;;;;; ++1450B;ANATOLIAN HIEROGLYPH A233;Lo;0;L;;;;;N;;;;; ++1450C;ANATOLIAN HIEROGLYPH A234;Lo;0;L;;;;;N;;;;; ++1450D;ANATOLIAN HIEROGLYPH A235;Lo;0;L;;;;;N;;;;; ++1450E;ANATOLIAN HIEROGLYPH A236;Lo;0;L;;;;;N;;;;; ++1450F;ANATOLIAN HIEROGLYPH A237;Lo;0;L;;;;;N;;;;; ++14510;ANATOLIAN HIEROGLYPH A238;Lo;0;L;;;;;N;;;;; ++14511;ANATOLIAN HIEROGLYPH A239;Lo;0;L;;;;;N;;;;; ++14512;ANATOLIAN HIEROGLYPH A240;Lo;0;L;;;;;N;;;;; ++14513;ANATOLIAN HIEROGLYPH A241;Lo;0;L;;;;;N;;;;; ++14514;ANATOLIAN HIEROGLYPH A242;Lo;0;L;;;;;N;;;;; ++14515;ANATOLIAN HIEROGLYPH A243;Lo;0;L;;;;;N;;;;; ++14516;ANATOLIAN HIEROGLYPH A244;Lo;0;L;;;;;N;;;;; ++14517;ANATOLIAN HIEROGLYPH A245;Lo;0;L;;;;;N;;;;; ++14518;ANATOLIAN HIEROGLYPH A246;Lo;0;L;;;;;N;;;;; ++14519;ANATOLIAN HIEROGLYPH A247;Lo;0;L;;;;;N;;;;; ++1451A;ANATOLIAN HIEROGLYPH A248;Lo;0;L;;;;;N;;;;; ++1451B;ANATOLIAN HIEROGLYPH A249;Lo;0;L;;;;;N;;;;; ++1451C;ANATOLIAN HIEROGLYPH A250;Lo;0;L;;;;;N;;;;; ++1451D;ANATOLIAN HIEROGLYPH A251;Lo;0;L;;;;;N;;;;; ++1451E;ANATOLIAN HIEROGLYPH A252;Lo;0;L;;;;;N;;;;; ++1451F;ANATOLIAN HIEROGLYPH A253;Lo;0;L;;;;;N;;;;; ++14520;ANATOLIAN HIEROGLYPH A254;Lo;0;L;;;;;N;;;;; ++14521;ANATOLIAN HIEROGLYPH A255;Lo;0;L;;;;;N;;;;; ++14522;ANATOLIAN HIEROGLYPH A256;Lo;0;L;;;;;N;;;;; ++14523;ANATOLIAN HIEROGLYPH A257;Lo;0;L;;;;;N;;;;; ++14524;ANATOLIAN HIEROGLYPH A258;Lo;0;L;;;;;N;;;;; ++14525;ANATOLIAN HIEROGLYPH A259;Lo;0;L;;;;;N;;;;; ++14526;ANATOLIAN HIEROGLYPH A260;Lo;0;L;;;;;N;;;;; ++14527;ANATOLIAN HIEROGLYPH A261;Lo;0;L;;;;;N;;;;; ++14528;ANATOLIAN HIEROGLYPH A262;Lo;0;L;;;;;N;;;;; ++14529;ANATOLIAN HIEROGLYPH A263;Lo;0;L;;;;;N;;;;; ++1452A;ANATOLIAN HIEROGLYPH A264;Lo;0;L;;;;;N;;;;; ++1452B;ANATOLIAN HIEROGLYPH A265;Lo;0;L;;;;;N;;;;; ++1452C;ANATOLIAN HIEROGLYPH A266;Lo;0;L;;;;;N;;;;; ++1452D;ANATOLIAN HIEROGLYPH A267;Lo;0;L;;;;;N;;;;; ++1452E;ANATOLIAN HIEROGLYPH A267A;Lo;0;L;;;;;N;;;;; ++1452F;ANATOLIAN HIEROGLYPH A268;Lo;0;L;;;;;N;;;;; ++14530;ANATOLIAN HIEROGLYPH A269;Lo;0;L;;;;;N;;;;; ++14531;ANATOLIAN HIEROGLYPH A270;Lo;0;L;;;;;N;;;;; ++14532;ANATOLIAN HIEROGLYPH A271;Lo;0;L;;;;;N;;;;; ++14533;ANATOLIAN HIEROGLYPH A272;Lo;0;L;;;;;N;;;;; ++14534;ANATOLIAN HIEROGLYPH A273;Lo;0;L;;;;;N;;;;; ++14535;ANATOLIAN HIEROGLYPH A274;Lo;0;L;;;;;N;;;;; ++14536;ANATOLIAN HIEROGLYPH A275;Lo;0;L;;;;;N;;;;; ++14537;ANATOLIAN HIEROGLYPH A276;Lo;0;L;;;;;N;;;;; ++14538;ANATOLIAN HIEROGLYPH A277;Lo;0;L;;;;;N;;;;; ++14539;ANATOLIAN HIEROGLYPH A278;Lo;0;L;;;;;N;;;;; ++1453A;ANATOLIAN HIEROGLYPH A279;Lo;0;L;;;;;N;;;;; ++1453B;ANATOLIAN HIEROGLYPH A280;Lo;0;L;;;;;N;;;;; ++1453C;ANATOLIAN HIEROGLYPH A281;Lo;0;L;;;;;N;;;;; ++1453D;ANATOLIAN HIEROGLYPH A282;Lo;0;L;;;;;N;;;;; ++1453E;ANATOLIAN HIEROGLYPH A283;Lo;0;L;;;;;N;;;;; ++1453F;ANATOLIAN HIEROGLYPH A284;Lo;0;L;;;;;N;;;;; ++14540;ANATOLIAN HIEROGLYPH A285;Lo;0;L;;;;;N;;;;; ++14541;ANATOLIAN HIEROGLYPH A286;Lo;0;L;;;;;N;;;;; ++14542;ANATOLIAN HIEROGLYPH A287;Lo;0;L;;;;;N;;;;; ++14543;ANATOLIAN HIEROGLYPH A288;Lo;0;L;;;;;N;;;;; ++14544;ANATOLIAN HIEROGLYPH A289;Lo;0;L;;;;;N;;;;; ++14545;ANATOLIAN HIEROGLYPH A289A;Lo;0;L;;;;;N;;;;; ++14546;ANATOLIAN HIEROGLYPH A290;Lo;0;L;;;;;N;;;;; ++14547;ANATOLIAN HIEROGLYPH A291;Lo;0;L;;;;;N;;;;; ++14548;ANATOLIAN HIEROGLYPH A292;Lo;0;L;;;;;N;;;;; ++14549;ANATOLIAN HIEROGLYPH A293;Lo;0;L;;;;;N;;;;; ++1454A;ANATOLIAN HIEROGLYPH A294;Lo;0;L;;;;;N;;;;; ++1454B;ANATOLIAN HIEROGLYPH A294A;Lo;0;L;;;;;N;;;;; ++1454C;ANATOLIAN HIEROGLYPH A295;Lo;0;L;;;;;N;;;;; ++1454D;ANATOLIAN HIEROGLYPH A296;Lo;0;L;;;;;N;;;;; ++1454E;ANATOLIAN HIEROGLYPH A297;Lo;0;L;;;;;N;;;;; ++1454F;ANATOLIAN HIEROGLYPH A298;Lo;0;L;;;;;N;;;;; ++14550;ANATOLIAN HIEROGLYPH A299;Lo;0;L;;;;;N;;;;; ++14551;ANATOLIAN HIEROGLYPH A299A;Lo;0;L;;;;;N;;;;; ++14552;ANATOLIAN HIEROGLYPH A300;Lo;0;L;;;;;N;;;;; ++14553;ANATOLIAN HIEROGLYPH A301;Lo;0;L;;;;;N;;;;; ++14554;ANATOLIAN HIEROGLYPH A302;Lo;0;L;;;;;N;;;;; ++14555;ANATOLIAN HIEROGLYPH A303;Lo;0;L;;;;;N;;;;; ++14556;ANATOLIAN HIEROGLYPH A304;Lo;0;L;;;;;N;;;;; ++14557;ANATOLIAN HIEROGLYPH A305;Lo;0;L;;;;;N;;;;; ++14558;ANATOLIAN HIEROGLYPH A306;Lo;0;L;;;;;N;;;;; ++14559;ANATOLIAN HIEROGLYPH A307;Lo;0;L;;;;;N;;;;; ++1455A;ANATOLIAN HIEROGLYPH A308;Lo;0;L;;;;;N;;;;; ++1455B;ANATOLIAN HIEROGLYPH A309;Lo;0;L;;;;;N;;;;; ++1455C;ANATOLIAN HIEROGLYPH A309A;Lo;0;L;;;;;N;;;;; ++1455D;ANATOLIAN HIEROGLYPH A310;Lo;0;L;;;;;N;;;;; ++1455E;ANATOLIAN HIEROGLYPH A311;Lo;0;L;;;;;N;;;;; ++1455F;ANATOLIAN HIEROGLYPH A312;Lo;0;L;;;;;N;;;;; ++14560;ANATOLIAN HIEROGLYPH A313;Lo;0;L;;;;;N;;;;; ++14561;ANATOLIAN HIEROGLYPH A314;Lo;0;L;;;;;N;;;;; ++14562;ANATOLIAN HIEROGLYPH A315;Lo;0;L;;;;;N;;;;; ++14563;ANATOLIAN HIEROGLYPH A316;Lo;0;L;;;;;N;;;;; ++14564;ANATOLIAN HIEROGLYPH A317;Lo;0;L;;;;;N;;;;; ++14565;ANATOLIAN HIEROGLYPH A318;Lo;0;L;;;;;N;;;;; ++14566;ANATOLIAN HIEROGLYPH A319;Lo;0;L;;;;;N;;;;; ++14567;ANATOLIAN HIEROGLYPH A320;Lo;0;L;;;;;N;;;;; ++14568;ANATOLIAN HIEROGLYPH A321;Lo;0;L;;;;;N;;;;; ++14569;ANATOLIAN HIEROGLYPH A322;Lo;0;L;;;;;N;;;;; ++1456A;ANATOLIAN HIEROGLYPH A323;Lo;0;L;;;;;N;;;;; ++1456B;ANATOLIAN HIEROGLYPH A324;Lo;0;L;;;;;N;;;;; ++1456C;ANATOLIAN HIEROGLYPH A325;Lo;0;L;;;;;N;;;;; ++1456D;ANATOLIAN HIEROGLYPH A326;Lo;0;L;;;;;N;;;;; ++1456E;ANATOLIAN HIEROGLYPH A327;Lo;0;L;;;;;N;;;;; ++1456F;ANATOLIAN HIEROGLYPH A328;Lo;0;L;;;;;N;;;;; ++14570;ANATOLIAN HIEROGLYPH A329;Lo;0;L;;;;;N;;;;; ++14571;ANATOLIAN HIEROGLYPH A329A;Lo;0;L;;;;;N;;;;; ++14572;ANATOLIAN HIEROGLYPH A330;Lo;0;L;;;;;N;;;;; ++14573;ANATOLIAN HIEROGLYPH A331;Lo;0;L;;;;;N;;;;; ++14574;ANATOLIAN HIEROGLYPH A332A;Lo;0;L;;;;;N;;;;; ++14575;ANATOLIAN HIEROGLYPH A332B;Lo;0;L;;;;;N;;;;; ++14576;ANATOLIAN HIEROGLYPH A332C;Lo;0;L;;;;;N;;;;; ++14577;ANATOLIAN HIEROGLYPH A333;Lo;0;L;;;;;N;;;;; ++14578;ANATOLIAN HIEROGLYPH A334;Lo;0;L;;;;;N;;;;; ++14579;ANATOLIAN HIEROGLYPH A335;Lo;0;L;;;;;N;;;;; ++1457A;ANATOLIAN HIEROGLYPH A336;Lo;0;L;;;;;N;;;;; ++1457B;ANATOLIAN HIEROGLYPH A336A;Lo;0;L;;;;;N;;;;; ++1457C;ANATOLIAN HIEROGLYPH A336B;Lo;0;L;;;;;N;;;;; ++1457D;ANATOLIAN HIEROGLYPH A336C;Lo;0;L;;;;;N;;;;; ++1457E;ANATOLIAN HIEROGLYPH A337;Lo;0;L;;;;;N;;;;; ++1457F;ANATOLIAN HIEROGLYPH A338;Lo;0;L;;;;;N;;;;; ++14580;ANATOLIAN HIEROGLYPH A339;Lo;0;L;;;;;N;;;;; ++14581;ANATOLIAN HIEROGLYPH A340;Lo;0;L;;;;;N;;;;; ++14582;ANATOLIAN HIEROGLYPH A341;Lo;0;L;;;;;N;;;;; ++14583;ANATOLIAN HIEROGLYPH A342;Lo;0;L;;;;;N;;;;; ++14584;ANATOLIAN HIEROGLYPH A343;Lo;0;L;;;;;N;;;;; ++14585;ANATOLIAN HIEROGLYPH A344;Lo;0;L;;;;;N;;;;; ++14586;ANATOLIAN HIEROGLYPH A345;Lo;0;L;;;;;N;;;;; ++14587;ANATOLIAN HIEROGLYPH A346;Lo;0;L;;;;;N;;;;; ++14588;ANATOLIAN HIEROGLYPH A347;Lo;0;L;;;;;N;;;;; ++14589;ANATOLIAN HIEROGLYPH A348;Lo;0;L;;;;;N;;;;; ++1458A;ANATOLIAN HIEROGLYPH A349;Lo;0;L;;;;;N;;;;; ++1458B;ANATOLIAN HIEROGLYPH A350;Lo;0;L;;;;;N;;;;; ++1458C;ANATOLIAN HIEROGLYPH A351;Lo;0;L;;;;;N;;;;; ++1458D;ANATOLIAN HIEROGLYPH A352;Lo;0;L;;;;;N;;;;; ++1458E;ANATOLIAN HIEROGLYPH A353;Lo;0;L;;;;;N;;;;; ++1458F;ANATOLIAN HIEROGLYPH A354;Lo;0;L;;;;;N;;;;; ++14590;ANATOLIAN HIEROGLYPH A355;Lo;0;L;;;;;N;;;;; ++14591;ANATOLIAN HIEROGLYPH A356;Lo;0;L;;;;;N;;;;; ++14592;ANATOLIAN HIEROGLYPH A357;Lo;0;L;;;;;N;;;;; ++14593;ANATOLIAN HIEROGLYPH A358;Lo;0;L;;;;;N;;;;; ++14594;ANATOLIAN HIEROGLYPH A359;Lo;0;L;;;;;N;;;;; ++14595;ANATOLIAN HIEROGLYPH A359A;Lo;0;L;;;;;N;;;;; ++14596;ANATOLIAN HIEROGLYPH A360;Lo;0;L;;;;;N;;;;; ++14597;ANATOLIAN HIEROGLYPH A361;Lo;0;L;;;;;N;;;;; ++14598;ANATOLIAN HIEROGLYPH A362;Lo;0;L;;;;;N;;;;; ++14599;ANATOLIAN HIEROGLYPH A363;Lo;0;L;;;;;N;;;;; ++1459A;ANATOLIAN HIEROGLYPH A364;Lo;0;L;;;;;N;;;;; ++1459B;ANATOLIAN HIEROGLYPH A364A;Lo;0;L;;;;;N;;;;; ++1459C;ANATOLIAN HIEROGLYPH A365;Lo;0;L;;;;;N;;;;; ++1459D;ANATOLIAN HIEROGLYPH A366;Lo;0;L;;;;;N;;;;; ++1459E;ANATOLIAN HIEROGLYPH A367;Lo;0;L;;;;;N;;;;; ++1459F;ANATOLIAN HIEROGLYPH A368;Lo;0;L;;;;;N;;;;; ++145A0;ANATOLIAN HIEROGLYPH A368A;Lo;0;L;;;;;N;;;;; ++145A1;ANATOLIAN HIEROGLYPH A369;Lo;0;L;;;;;N;;;;; ++145A2;ANATOLIAN HIEROGLYPH A370;Lo;0;L;;;;;N;;;;; ++145A3;ANATOLIAN HIEROGLYPH A371;Lo;0;L;;;;;N;;;;; ++145A4;ANATOLIAN HIEROGLYPH A371A;Lo;0;L;;;;;N;;;;; ++145A5;ANATOLIAN HIEROGLYPH A372;Lo;0;L;;;;;N;;;;; ++145A6;ANATOLIAN HIEROGLYPH A373;Lo;0;L;;;;;N;;;;; ++145A7;ANATOLIAN HIEROGLYPH A374;Lo;0;L;;;;;N;;;;; ++145A8;ANATOLIAN HIEROGLYPH A375;Lo;0;L;;;;;N;;;;; ++145A9;ANATOLIAN HIEROGLYPH A376;Lo;0;L;;;;;N;;;;; ++145AA;ANATOLIAN HIEROGLYPH A377;Lo;0;L;;;;;N;;;;; ++145AB;ANATOLIAN HIEROGLYPH A378;Lo;0;L;;;;;N;;;;; ++145AC;ANATOLIAN HIEROGLYPH A379;Lo;0;L;;;;;N;;;;; ++145AD;ANATOLIAN HIEROGLYPH A380;Lo;0;L;;;;;N;;;;; ++145AE;ANATOLIAN HIEROGLYPH A381;Lo;0;L;;;;;N;;;;; ++145AF;ANATOLIAN HIEROGLYPH A381A;Lo;0;L;;;;;N;;;;; ++145B0;ANATOLIAN HIEROGLYPH A382;Lo;0;L;;;;;N;;;;; ++145B1;ANATOLIAN HIEROGLYPH A383 RA OR RI;Lo;0;L;;;;;N;;;;; ++145B2;ANATOLIAN HIEROGLYPH A383A;Lo;0;L;;;;;N;;;;; ++145B3;ANATOLIAN HIEROGLYPH A384;Lo;0;L;;;;;N;;;;; ++145B4;ANATOLIAN HIEROGLYPH A385;Lo;0;L;;;;;N;;;;; ++145B5;ANATOLIAN HIEROGLYPH A386;Lo;0;L;;;;;N;;;;; ++145B6;ANATOLIAN HIEROGLYPH A386A;Lo;0;L;;;;;N;;;;; ++145B7;ANATOLIAN HIEROGLYPH A387;Lo;0;L;;;;;N;;;;; ++145B8;ANATOLIAN HIEROGLYPH A388;Lo;0;L;;;;;N;;;;; ++145B9;ANATOLIAN HIEROGLYPH A389;Lo;0;L;;;;;N;;;;; ++145BA;ANATOLIAN HIEROGLYPH A390;Lo;0;L;;;;;N;;;;; ++145BB;ANATOLIAN HIEROGLYPH A391;Lo;0;L;;;;;N;;;;; ++145BC;ANATOLIAN HIEROGLYPH A392;Lo;0;L;;;;;N;;;;; ++145BD;ANATOLIAN HIEROGLYPH A393 EIGHT;Lo;0;L;;;;;N;;;;; ++145BE;ANATOLIAN HIEROGLYPH A394;Lo;0;L;;;;;N;;;;; ++145BF;ANATOLIAN HIEROGLYPH A395;Lo;0;L;;;;;N;;;;; ++145C0;ANATOLIAN HIEROGLYPH A396;Lo;0;L;;;;;N;;;;; ++145C1;ANATOLIAN HIEROGLYPH A397;Lo;0;L;;;;;N;;;;; ++145C2;ANATOLIAN HIEROGLYPH A398;Lo;0;L;;;;;N;;;;; ++145C3;ANATOLIAN HIEROGLYPH A399;Lo;0;L;;;;;N;;;;; ++145C4;ANATOLIAN HIEROGLYPH A400;Lo;0;L;;;;;N;;;;; ++145C5;ANATOLIAN HIEROGLYPH A401;Lo;0;L;;;;;N;;;;; ++145C6;ANATOLIAN HIEROGLYPH A402;Lo;0;L;;;;;N;;;;; ++145C7;ANATOLIAN HIEROGLYPH A403;Lo;0;L;;;;;N;;;;; ++145C8;ANATOLIAN HIEROGLYPH A404;Lo;0;L;;;;;N;;;;; ++145C9;ANATOLIAN HIEROGLYPH A405;Lo;0;L;;;;;N;;;;; ++145CA;ANATOLIAN HIEROGLYPH A406;Lo;0;L;;;;;N;;;;; ++145CB;ANATOLIAN HIEROGLYPH A407;Lo;0;L;;;;;N;;;;; ++145CC;ANATOLIAN HIEROGLYPH A408;Lo;0;L;;;;;N;;;;; ++145CD;ANATOLIAN HIEROGLYPH A409;Lo;0;L;;;;;N;;;;; ++145CE;ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK;Lo;0;L;;;;;N;;;;; ++145CF;ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK;Lo;0;L;;;;;N;;;;; ++145D0;ANATOLIAN HIEROGLYPH A411;Lo;0;L;;;;;N;;;;; ++145D1;ANATOLIAN HIEROGLYPH A412;Lo;0;L;;;;;N;;;;; ++145D2;ANATOLIAN HIEROGLYPH A413;Lo;0;L;;;;;N;;;;; ++145D3;ANATOLIAN HIEROGLYPH A414;Lo;0;L;;;;;N;;;;; ++145D4;ANATOLIAN HIEROGLYPH A415;Lo;0;L;;;;;N;;;;; ++145D5;ANATOLIAN HIEROGLYPH A416;Lo;0;L;;;;;N;;;;; ++145D6;ANATOLIAN HIEROGLYPH A417;Lo;0;L;;;;;N;;;;; ++145D7;ANATOLIAN HIEROGLYPH A418;Lo;0;L;;;;;N;;;;; ++145D8;ANATOLIAN HIEROGLYPH A419;Lo;0;L;;;;;N;;;;; ++145D9;ANATOLIAN HIEROGLYPH A420;Lo;0;L;;;;;N;;;;; ++145DA;ANATOLIAN HIEROGLYPH A421;Lo;0;L;;;;;N;;;;; ++145DB;ANATOLIAN HIEROGLYPH A422;Lo;0;L;;;;;N;;;;; ++145DC;ANATOLIAN HIEROGLYPH A423;Lo;0;L;;;;;N;;;;; ++145DD;ANATOLIAN HIEROGLYPH A424;Lo;0;L;;;;;N;;;;; ++145DE;ANATOLIAN HIEROGLYPH A425;Lo;0;L;;;;;N;;;;; ++145DF;ANATOLIAN HIEROGLYPH A426;Lo;0;L;;;;;N;;;;; ++145E0;ANATOLIAN HIEROGLYPH A427;Lo;0;L;;;;;N;;;;; ++145E1;ANATOLIAN HIEROGLYPH A428;Lo;0;L;;;;;N;;;;; ++145E2;ANATOLIAN HIEROGLYPH A429;Lo;0;L;;;;;N;;;;; ++145E3;ANATOLIAN HIEROGLYPH A430;Lo;0;L;;;;;N;;;;; ++145E4;ANATOLIAN HIEROGLYPH A431;Lo;0;L;;;;;N;;;;; ++145E5;ANATOLIAN HIEROGLYPH A432;Lo;0;L;;;;;N;;;;; ++145E6;ANATOLIAN HIEROGLYPH A433;Lo;0;L;;;;;N;;;;; ++145E7;ANATOLIAN HIEROGLYPH A434;Lo;0;L;;;;;N;;;;; ++145E8;ANATOLIAN HIEROGLYPH A435;Lo;0;L;;;;;N;;;;; ++145E9;ANATOLIAN HIEROGLYPH A436;Lo;0;L;;;;;N;;;;; ++145EA;ANATOLIAN HIEROGLYPH A437;Lo;0;L;;;;;N;;;;; ++145EB;ANATOLIAN HIEROGLYPH A438;Lo;0;L;;;;;N;;;;; ++145EC;ANATOLIAN HIEROGLYPH A439;Lo;0;L;;;;;N;;;;; ++145ED;ANATOLIAN HIEROGLYPH A440;Lo;0;L;;;;;N;;;;; ++145EE;ANATOLIAN HIEROGLYPH A441;Lo;0;L;;;;;N;;;;; ++145EF;ANATOLIAN HIEROGLYPH A442;Lo;0;L;;;;;N;;;;; ++145F0;ANATOLIAN HIEROGLYPH A443;Lo;0;L;;;;;N;;;;; ++145F1;ANATOLIAN HIEROGLYPH A444;Lo;0;L;;;;;N;;;;; ++145F2;ANATOLIAN HIEROGLYPH A445;Lo;0;L;;;;;N;;;;; ++145F3;ANATOLIAN HIEROGLYPH A446;Lo;0;L;;;;;N;;;;; ++145F4;ANATOLIAN HIEROGLYPH A447;Lo;0;L;;;;;N;;;;; ++145F5;ANATOLIAN HIEROGLYPH A448;Lo;0;L;;;;;N;;;;; ++145F6;ANATOLIAN HIEROGLYPH A449;Lo;0;L;;;;;N;;;;; ++145F7;ANATOLIAN HIEROGLYPH A450;Lo;0;L;;;;;N;;;;; ++145F8;ANATOLIAN HIEROGLYPH A450A;Lo;0;L;;;;;N;;;;; ++145F9;ANATOLIAN HIEROGLYPH A451;Lo;0;L;;;;;N;;;;; ++145FA;ANATOLIAN HIEROGLYPH A452;Lo;0;L;;;;;N;;;;; ++145FB;ANATOLIAN HIEROGLYPH A453;Lo;0;L;;;;;N;;;;; ++145FC;ANATOLIAN HIEROGLYPH A454;Lo;0;L;;;;;N;;;;; ++145FD;ANATOLIAN HIEROGLYPH A455;Lo;0;L;;;;;N;;;;; ++145FE;ANATOLIAN HIEROGLYPH A456;Lo;0;L;;;;;N;;;;; ++145FF;ANATOLIAN HIEROGLYPH A457;Lo;0;L;;;;;N;;;;; ++14600;ANATOLIAN HIEROGLYPH A457A;Lo;0;L;;;;;N;;;;; ++14601;ANATOLIAN HIEROGLYPH A458;Lo;0;L;;;;;N;;;;; ++14602;ANATOLIAN HIEROGLYPH A459;Lo;0;L;;;;;N;;;;; ++14603;ANATOLIAN HIEROGLYPH A460;Lo;0;L;;;;;N;;;;; ++14604;ANATOLIAN HIEROGLYPH A461;Lo;0;L;;;;;N;;;;; ++14605;ANATOLIAN HIEROGLYPH A462;Lo;0;L;;;;;N;;;;; ++14606;ANATOLIAN HIEROGLYPH A463;Lo;0;L;;;;;N;;;;; ++14607;ANATOLIAN HIEROGLYPH A464;Lo;0;L;;;;;N;;;;; ++14608;ANATOLIAN HIEROGLYPH A465;Lo;0;L;;;;;N;;;;; ++14609;ANATOLIAN HIEROGLYPH A466;Lo;0;L;;;;;N;;;;; ++1460A;ANATOLIAN HIEROGLYPH A467;Lo;0;L;;;;;N;;;;; ++1460B;ANATOLIAN HIEROGLYPH A468;Lo;0;L;;;;;N;;;;; ++1460C;ANATOLIAN HIEROGLYPH A469;Lo;0;L;;;;;N;;;;; ++1460D;ANATOLIAN HIEROGLYPH A470;Lo;0;L;;;;;N;;;;; ++1460E;ANATOLIAN HIEROGLYPH A471;Lo;0;L;;;;;N;;;;; ++1460F;ANATOLIAN HIEROGLYPH A472;Lo;0;L;;;;;N;;;;; ++14610;ANATOLIAN HIEROGLYPH A473;Lo;0;L;;;;;N;;;;; ++14611;ANATOLIAN HIEROGLYPH A474;Lo;0;L;;;;;N;;;;; ++14612;ANATOLIAN HIEROGLYPH A475;Lo;0;L;;;;;N;;;;; ++14613;ANATOLIAN HIEROGLYPH A476;Lo;0;L;;;;;N;;;;; ++14614;ANATOLIAN HIEROGLYPH A477;Lo;0;L;;;;;N;;;;; ++14615;ANATOLIAN HIEROGLYPH A478;Lo;0;L;;;;;N;;;;; ++14616;ANATOLIAN HIEROGLYPH A479;Lo;0;L;;;;;N;;;;; ++14617;ANATOLIAN HIEROGLYPH A480;Lo;0;L;;;;;N;;;;; ++14618;ANATOLIAN HIEROGLYPH A481;Lo;0;L;;;;;N;;;;; ++14619;ANATOLIAN HIEROGLYPH A482;Lo;0;L;;;;;N;;;;; ++1461A;ANATOLIAN HIEROGLYPH A483;Lo;0;L;;;;;N;;;;; ++1461B;ANATOLIAN HIEROGLYPH A484;Lo;0;L;;;;;N;;;;; ++1461C;ANATOLIAN HIEROGLYPH A485;Lo;0;L;;;;;N;;;;; ++1461D;ANATOLIAN HIEROGLYPH A486;Lo;0;L;;;;;N;;;;; ++1461E;ANATOLIAN HIEROGLYPH A487;Lo;0;L;;;;;N;;;;; ++1461F;ANATOLIAN HIEROGLYPH A488;Lo;0;L;;;;;N;;;;; ++14620;ANATOLIAN HIEROGLYPH A489;Lo;0;L;;;;;N;;;;; ++14621;ANATOLIAN HIEROGLYPH A490;Lo;0;L;;;;;N;;;;; ++14622;ANATOLIAN HIEROGLYPH A491;Lo;0;L;;;;;N;;;;; ++14623;ANATOLIAN HIEROGLYPH A492;Lo;0;L;;;;;N;;;;; ++14624;ANATOLIAN HIEROGLYPH A493;Lo;0;L;;;;;N;;;;; ++14625;ANATOLIAN HIEROGLYPH A494;Lo;0;L;;;;;N;;;;; ++14626;ANATOLIAN HIEROGLYPH A495;Lo;0;L;;;;;N;;;;; ++14627;ANATOLIAN HIEROGLYPH A496;Lo;0;L;;;;;N;;;;; ++14628;ANATOLIAN HIEROGLYPH A497;Lo;0;L;;;;;N;;;;; ++14629;ANATOLIAN HIEROGLYPH A501;Lo;0;L;;;;;N;;;;; ++1462A;ANATOLIAN HIEROGLYPH A502;Lo;0;L;;;;;N;;;;; ++1462B;ANATOLIAN HIEROGLYPH A503;Lo;0;L;;;;;N;;;;; ++1462C;ANATOLIAN HIEROGLYPH A504;Lo;0;L;;;;;N;;;;; ++1462D;ANATOLIAN HIEROGLYPH A505;Lo;0;L;;;;;N;;;;; ++1462E;ANATOLIAN HIEROGLYPH A506;Lo;0;L;;;;;N;;;;; ++1462F;ANATOLIAN HIEROGLYPH A507;Lo;0;L;;;;;N;;;;; ++14630;ANATOLIAN HIEROGLYPH A508;Lo;0;L;;;;;N;;;;; ++14631;ANATOLIAN HIEROGLYPH A509;Lo;0;L;;;;;N;;;;; ++14632;ANATOLIAN HIEROGLYPH A510;Lo;0;L;;;;;N;;;;; ++14633;ANATOLIAN HIEROGLYPH A511;Lo;0;L;;;;;N;;;;; ++14634;ANATOLIAN HIEROGLYPH A512;Lo;0;L;;;;;N;;;;; ++14635;ANATOLIAN HIEROGLYPH A513;Lo;0;L;;;;;N;;;;; ++14636;ANATOLIAN HIEROGLYPH A514;Lo;0;L;;;;;N;;;;; ++14637;ANATOLIAN HIEROGLYPH A515;Lo;0;L;;;;;N;;;;; ++14638;ANATOLIAN HIEROGLYPH A516;Lo;0;L;;;;;N;;;;; ++14639;ANATOLIAN HIEROGLYPH A517;Lo;0;L;;;;;N;;;;; ++1463A;ANATOLIAN HIEROGLYPH A518;Lo;0;L;;;;;N;;;;; ++1463B;ANATOLIAN HIEROGLYPH A519;Lo;0;L;;;;;N;;;;; ++1463C;ANATOLIAN HIEROGLYPH A520;Lo;0;L;;;;;N;;;;; ++1463D;ANATOLIAN HIEROGLYPH A521;Lo;0;L;;;;;N;;;;; ++1463E;ANATOLIAN HIEROGLYPH A522;Lo;0;L;;;;;N;;;;; ++1463F;ANATOLIAN HIEROGLYPH A523;Lo;0;L;;;;;N;;;;; ++14640;ANATOLIAN HIEROGLYPH A524;Lo;0;L;;;;;N;;;;; ++14641;ANATOLIAN HIEROGLYPH A525;Lo;0;L;;;;;N;;;;; ++14642;ANATOLIAN HIEROGLYPH A526;Lo;0;L;;;;;N;;;;; ++14643;ANATOLIAN HIEROGLYPH A527;Lo;0;L;;;;;N;;;;; ++14644;ANATOLIAN HIEROGLYPH A528;Lo;0;L;;;;;N;;;;; ++14645;ANATOLIAN HIEROGLYPH A529;Lo;0;L;;;;;N;;;;; ++14646;ANATOLIAN HIEROGLYPH A530;Lo;0;L;;;;;N;;;;; + 16800;BAMUM LETTER PHASE-A NGKUE MFON;Lo;0;L;;;;;N;;;;; + 16801;BAMUM LETTER PHASE-A GBIEE FON;Lo;0;L;;;;;N;;;;; + 16802;BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE;Lo;0;L;;;;;N;;;;; +@@ -23080,6 +24300,17 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;; + 1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;; + 1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;; ++1D1DE;MUSICAL SYMBOL KIEVAN C CLEF;So;0;L;;;;;N;;;;; ++1D1DF;MUSICAL SYMBOL KIEVAN END OF PIECE;So;0;L;;;;;N;;;;; ++1D1E0;MUSICAL SYMBOL KIEVAN FINAL NOTE;So;0;L;;;;;N;;;;; ++1D1E1;MUSICAL SYMBOL KIEVAN RECITATIVE MARK;So;0;L;;;;;N;;;;; ++1D1E2;MUSICAL SYMBOL KIEVAN WHOLE NOTE;So;0;L;;;;;N;;;;; ++1D1E3;MUSICAL SYMBOL KIEVAN HALF NOTE;So;0;L;;;;;N;;;;; ++1D1E4;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN;So;0;L;;;;;N;;;;; ++1D1E5;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP;So;0;L;;;;;N;;;;; ++1D1E6;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN;So;0;L;;;;;N;;;;; ++1D1E7;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP;So;0;L;;;;;N;;;;; ++1D1E8;MUSICAL SYMBOL KIEVAN FLAT SIGN;So;0;L;;;;;N;;;;; + 1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;; + 1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;; + 1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;; +@@ -24251,6 +25482,678 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; + 1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; + 1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; ++1D800;SIGNWRITING HAND-FIST INDEX;So;0;L;;;;;N;;;;; ++1D801;SIGNWRITING HAND-CIRCLE INDEX;So;0;L;;;;;N;;;;; ++1D802;SIGNWRITING HAND-CUP INDEX;So;0;L;;;;;N;;;;; ++1D803;SIGNWRITING HAND-OVAL INDEX;So;0;L;;;;;N;;;;; ++1D804;SIGNWRITING HAND-HINGE INDEX;So;0;L;;;;;N;;;;; ++1D805;SIGNWRITING HAND-ANGLE INDEX;So;0;L;;;;;N;;;;; ++1D806;SIGNWRITING HAND-FIST INDEX BENT;So;0;L;;;;;N;;;;; ++1D807;SIGNWRITING HAND-CIRCLE INDEX BENT;So;0;L;;;;;N;;;;; ++1D808;SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT;So;0;L;;;;;N;;;;; ++1D809;SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE;So;0;L;;;;;N;;;;; ++1D80A;SIGNWRITING HAND-FIST INDEX CUPPED;So;0;L;;;;;N;;;;; ++1D80B;SIGNWRITING HAND-FIST INDEX HINGED;So;0;L;;;;;N;;;;; ++1D80C;SIGNWRITING HAND-FIST INDEX HINGED LOW;So;0;L;;;;;N;;;;; ++1D80D;SIGNWRITING HAND-CIRCLE INDEX HINGE;So;0;L;;;;;N;;;;; ++1D80E;SIGNWRITING HAND-FIST INDEX MIDDLE;So;0;L;;;;;N;;;;; ++1D80F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE;So;0;L;;;;;N;;;;; ++1D810;SIGNWRITING HAND-FIST INDEX MIDDLE BENT;So;0;L;;;;;N;;;;; ++1D811;SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;; ++1D812;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED;So;0;L;;;;;N;;;;; ++1D813;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED;So;0;L;;;;;N;;;;; ++1D814;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP;So;0;L;;;;;N;;;;; ++1D815;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED;So;0;L;;;;;N;;;;; ++1D816;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT;So;0;L;;;;;N;;;;; ++1D817;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT;So;0;L;;;;;N;;;;; ++1D818;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED;So;0;L;;;;;N;;;;; ++1D819;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED;So;0;L;;;;;N;;;;; ++1D81A;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;; ++1D81B;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;; ++1D81C;SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX;So;0;L;;;;;N;;;;; ++1D81D;SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE;So;0;L;;;;;N;;;;; ++1D81E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;; ++1D81F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;; ++1D820;SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT;So;0;L;;;;;N;;;;; ++1D821;SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT;So;0;L;;;;;N;;;;; ++1D822;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT;So;0;L;;;;;N;;;;; ++1D823;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE;So;0;L;;;;;N;;;;; ++1D824;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE;So;0;L;;;;;N;;;;; ++1D825;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED;So;0;L;;;;;N;;;;; ++1D826;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;; ++1D827;SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D828;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED;So;0;L;;;;;N;;;;; ++1D829;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED;So;0;L;;;;;N;;;;; ++1D82A;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED;So;0;L;;;;;N;;;;; ++1D82B;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED;So;0;L;;;;;N;;;;; ++1D82C;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT;So;0;L;;;;;N;;;;; ++1D82D;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE;So;0;L;;;;;N;;;;; ++1D82E;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;; ++1D82F;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT;So;0;L;;;;;N;;;;; ++1D830;SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP;So;0;L;;;;;N;;;;; ++1D831;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP;So;0;L;;;;;N;;;;; ++1D832;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE;So;0;L;;;;;N;;;;; ++1D833;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE;So;0;L;;;;;N;;;;; ++1D834;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D835;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D836;SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP;So;0;L;;;;;N;;;;; ++1D837;SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP;So;0;L;;;;;N;;;;; ++1D838;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP;So;0;L;;;;;N;;;;; ++1D839;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED;So;0;L;;;;;N;;;;; ++1D83A;SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP;So;0;L;;;;;N;;;;; ++1D83B;SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP;So;0;L;;;;;N;;;;; ++1D83C;SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP;So;0;L;;;;;N;;;;; ++1D83D;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED;So;0;L;;;;;N;;;;; ++1D83E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT;So;0;L;;;;;N;;;;; ++1D83F;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED;So;0;L;;;;;N;;;;; ++1D840;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP;So;0;L;;;;;N;;;;; ++1D841;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED;So;0;L;;;;;N;;;;; ++1D842;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP;So;0;L;;;;;N;;;;; ++1D843;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED;So;0;L;;;;;N;;;;; ++1D844;SIGNWRITING HAND-FLAT FOUR FINGERS;So;0;L;;;;;N;;;;; ++1D845;SIGNWRITING HAND-FLAT FOUR FINGERS BENT;So;0;L;;;;;N;;;;; ++1D846;SIGNWRITING HAND-FLAT FOUR FINGERS HINGED;So;0;L;;;;;N;;;;; ++1D847;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; ++1D848;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT;So;0;L;;;;;N;;;;; ++1D849;SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; ++1D84A;SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT;So;0;L;;;;;N;;;;; ++1D84B;SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; ++1D84C;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; ++1D84D;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; ++1D84E;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;; ++1D84F;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;; ++1D850;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;; ++1D851;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;; ++1D852;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D853;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; ++1D854;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;; ++1D855;SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;; ++1D856;SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; ++1D857;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED;So;0;L;;;;;N;;;;; ++1D858;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE;So;0;L;;;;;N;;;;; ++1D859;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB;So;0;L;;;;;N;;;;; ++1D85A;SIGNWRITING HAND-FLAT;So;0;L;;;;;N;;;;; ++1D85B;SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS;So;0;L;;;;;N;;;;; ++1D85C;SIGNWRITING HAND-FLAT HEEL;So;0;L;;;;;N;;;;; ++1D85D;SIGNWRITING HAND-FLAT THUMB SIDE;So;0;L;;;;;N;;;;; ++1D85E;SIGNWRITING HAND-FLAT HEEL THUMB SIDE;So;0;L;;;;;N;;;;; ++1D85F;SIGNWRITING HAND-FLAT THUMB BENT;So;0;L;;;;;N;;;;; ++1D860;SIGNWRITING HAND-FLAT THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D861;SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE;So;0;L;;;;;N;;;;; ++1D862;SIGNWRITING HAND-FLAT SPLIT CENTRE;So;0;L;;;;;N;;;;; ++1D863;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE;So;0;L;;;;;N;;;;; ++1D864;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT;So;0;L;;;;;N;;;;; ++1D865;SIGNWRITING HAND-FLAT SPLIT LITTLE;So;0;L;;;;;N;;;;; ++1D866;SIGNWRITING HAND-CLAW;So;0;L;;;;;N;;;;; ++1D867;SIGNWRITING HAND-CLAW THUMB SIDE;So;0;L;;;;;N;;;;; ++1D868;SIGNWRITING HAND-CLAW NO THUMB;So;0;L;;;;;N;;;;; ++1D869;SIGNWRITING HAND-CLAW THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D86A;SIGNWRITING HAND-HOOK CURLICUE;So;0;L;;;;;N;;;;; ++1D86B;SIGNWRITING HAND-HOOK;So;0;L;;;;;N;;;;; ++1D86C;SIGNWRITING HAND-CUP OPEN;So;0;L;;;;;N;;;;; ++1D86D;SIGNWRITING HAND-CUP;So;0;L;;;;;N;;;;; ++1D86E;SIGNWRITING HAND-CUP OPEN THUMB SIDE;So;0;L;;;;;N;;;;; ++1D86F;SIGNWRITING HAND-CUP THUMB SIDE;So;0;L;;;;;N;;;;; ++1D870;SIGNWRITING HAND-CUP OPEN NO THUMB;So;0;L;;;;;N;;;;; ++1D871;SIGNWRITING HAND-CUP NO THUMB;So;0;L;;;;;N;;;;; ++1D872;SIGNWRITING HAND-CUP OPEN THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D873;SIGNWRITING HAND-CUP THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D874;SIGNWRITING HAND-CURLICUE OPEN;So;0;L;;;;;N;;;;; ++1D875;SIGNWRITING HAND-CURLICUE;So;0;L;;;;;N;;;;; ++1D876;SIGNWRITING HAND-CIRCLE;So;0;L;;;;;N;;;;; ++1D877;SIGNWRITING HAND-OVAL;So;0;L;;;;;N;;;;; ++1D878;SIGNWRITING HAND-OVAL THUMB SIDE;So;0;L;;;;;N;;;;; ++1D879;SIGNWRITING HAND-OVAL NO THUMB;So;0;L;;;;;N;;;;; ++1D87A;SIGNWRITING HAND-OVAL THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D87B;SIGNWRITING HAND-HINGE OPEN;So;0;L;;;;;N;;;;; ++1D87C;SIGNWRITING HAND-HINGE OPEN THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D87D;SIGNWRITING HAND-HINGE;So;0;L;;;;;N;;;;; ++1D87E;SIGNWRITING HAND-HINGE SMALL;So;0;L;;;;;N;;;;; ++1D87F;SIGNWRITING HAND-HINGE OPEN THUMB SIDE;So;0;L;;;;;N;;;;; ++1D880;SIGNWRITING HAND-HINGE THUMB SIDE;So;0;L;;;;;N;;;;; ++1D881;SIGNWRITING HAND-HINGE OPEN NO THUMB;So;0;L;;;;;N;;;;; ++1D882;SIGNWRITING HAND-HINGE NO THUMB;So;0;L;;;;;N;;;;; ++1D883;SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX;So;0;L;;;;;N;;;;; ++1D884;SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;; ++1D885;SIGNWRITING HAND-ANGLE;So;0;L;;;;;N;;;;; ++1D886;SIGNWRITING HAND-FIST INDEX MIDDLE RING;So;0;L;;;;;N;;;;; ++1D887;SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; ++1D888;SIGNWRITING HAND-HINGE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; ++1D889;SIGNWRITING HAND-ANGLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; ++1D88A;SIGNWRITING HAND-HINGE LITTLE;So;0;L;;;;;N;;;;; ++1D88B;SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT;So;0;L;;;;;N;;;;; ++1D88C;SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;; ++1D88D;SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;; ++1D88E;SIGNWRITING HAND-FIST LITTLE DOWN;So;0;L;;;;;N;;;;; ++1D88F;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT;So;0;L;;;;;N;;;;; ++1D890;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED;So;0;L;;;;;N;;;;; ++1D891;SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED;So;0;L;;;;;N;;;;; ++1D892;SIGNWRITING HAND-FIST LITTLE UP;So;0;L;;;;;N;;;;; ++1D893;SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP;So;0;L;;;;;N;;;;; ++1D894;SIGNWRITING HAND-CIRCLE LITTLE UP;So;0;L;;;;;N;;;;; ++1D895;SIGNWRITING HAND-OVAL LITTLE UP;So;0;L;;;;;N;;;;; ++1D896;SIGNWRITING HAND-ANGLE LITTLE UP;So;0;L;;;;;N;;;;; ++1D897;SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE;So;0;L;;;;;N;;;;; ++1D898;SIGNWRITING HAND-FIST LITTLE BENT;So;0;L;;;;;N;;;;; ++1D899;SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB;So;0;L;;;;;N;;;;; ++1D89A;SIGNWRITING HAND-FIST LITTLE THUMB;So;0;L;;;;;N;;;;; ++1D89B;SIGNWRITING HAND-HINGE LITTLE THUMB;So;0;L;;;;;N;;;;; ++1D89C;SIGNWRITING HAND-FIST LITTLE INDEX THUMB;So;0;L;;;;;N;;;;; ++1D89D;SIGNWRITING HAND-HINGE LITTLE INDEX THUMB;So;0;L;;;;;N;;;;; ++1D89E;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT;So;0;L;;;;;N;;;;; ++1D89F;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB;So;0;L;;;;;N;;;;; ++1D8A0;SIGNWRITING HAND-FIST LITTLE INDEX;So;0;L;;;;;N;;;;; ++1D8A1;SIGNWRITING HAND-CIRCLE LITTLE INDEX;So;0;L;;;;;N;;;;; ++1D8A2;SIGNWRITING HAND-HINGE LITTLE INDEX;So;0;L;;;;;N;;;;; ++1D8A3;SIGNWRITING HAND-ANGLE LITTLE INDEX;So;0;L;;;;;N;;;;; ++1D8A4;SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; ++1D8A5;SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; ++1D8A6;SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; ++1D8A7;SIGNWRITING HAND-HINGE RING;So;0;L;;;;;N;;;;; ++1D8A8;SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; ++1D8A9;SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;; ++1D8AA;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;; ++1D8AB;SIGNWRITING HAND-FIST RING DOWN;So;0;L;;;;;N;;;;; ++1D8AC;SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE;So;0;L;;;;;N;;;;; ++1D8AD;SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS;So;0;L;;;;;N;;;;; ++1D8AE;SIGNWRITING HAND-FIST RING UP;So;0;L;;;;;N;;;;; ++1D8AF;SIGNWRITING HAND-FIST RING RAISED KNUCKLE;So;0;L;;;;;N;;;;; ++1D8B0;SIGNWRITING HAND-FIST RING LITTLE;So;0;L;;;;;N;;;;; ++1D8B1;SIGNWRITING HAND-CIRCLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8B2;SIGNWRITING HAND-OVAL RING LITTLE;So;0;L;;;;;N;;;;; ++1D8B3;SIGNWRITING HAND-ANGLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8B4;SIGNWRITING HAND-FIST RING MIDDLE;So;0;L;;;;;N;;;;; ++1D8B5;SIGNWRITING HAND-FIST RING MIDDLE CONJOINED;So;0;L;;;;;N;;;;; ++1D8B6;SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;; ++1D8B7;SIGNWRITING HAND-FIST RING INDEX;So;0;L;;;;;N;;;;; ++1D8B8;SIGNWRITING HAND-FIST RING THUMB;So;0;L;;;;;N;;;;; ++1D8B9;SIGNWRITING HAND-HOOK RING THUMB;So;0;L;;;;;N;;;;; ++1D8BA;SIGNWRITING HAND-FIST INDEX RING LITTLE;So;0;L;;;;;N;;;;; ++1D8BB;SIGNWRITING HAND-CIRCLE INDEX RING LITTLE;So;0;L;;;;;N;;;;; ++1D8BC;SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON;So;0;L;;;;;N;;;;; ++1D8BD;SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;; ++1D8BE;SIGNWRITING HAND-HOOK INDEX RING LITTLE IN;So;0;L;;;;;N;;;;; ++1D8BF;SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER;So;0;L;;;;;N;;;;; ++1D8C0;SIGNWRITING HAND-CUP INDEX RING LITTLE;So;0;L;;;;;N;;;;; ++1D8C1;SIGNWRITING HAND-HINGE INDEX RING LITTLE;So;0;L;;;;;N;;;;; ++1D8C2;SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;; ++1D8C3;SIGNWRITING HAND-ANGLE INDEX RING LITTLE;So;0;L;;;;;N;;;;; ++1D8C4;SIGNWRITING HAND-FIST MIDDLE DOWN;So;0;L;;;;;N;;;;; ++1D8C5;SIGNWRITING HAND-HINGE MIDDLE;So;0;L;;;;;N;;;;; ++1D8C6;SIGNWRITING HAND-FIST MIDDLE UP;So;0;L;;;;;N;;;;; ++1D8C7;SIGNWRITING HAND-CIRCLE MIDDLE UP;So;0;L;;;;;N;;;;; ++1D8C8;SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE;So;0;L;;;;;N;;;;; ++1D8C9;SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;; ++1D8CA;SIGNWRITING HAND-HOOK MIDDLE THUMB;So;0;L;;;;;N;;;;; ++1D8CB;SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE;So;0;L;;;;;N;;;;; ++1D8CC;SIGNWRITING HAND-FIST MIDDLE LITTLE;So;0;L;;;;;N;;;;; ++1D8CD;SIGNWRITING HAND-FIST MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8CE;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8CF;SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON;So;0;L;;;;;N;;;;; ++1D8D0;SIGNWRITING HAND-CUP MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8D1;SIGNWRITING HAND-HINGE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8D2;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT;So;0;L;;;;;N;;;;; ++1D8D3;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN;So;0;L;;;;;N;;;;; ++1D8D4;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; ++1D8D5;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT;So;0;L;;;;;N;;;;; ++1D8D6;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;; ++1D8D7;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE;So;0;L;;;;;N;;;;; ++1D8D8;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT;So;0;L;;;;;N;;;;; ++1D8D9;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN;So;0;L;;;;;N;;;;; ++1D8DA;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;; ++1D8DB;SIGNWRITING HAND-HINGE INDEX HINGED;So;0;L;;;;;N;;;;; ++1D8DC;SIGNWRITING HAND-FIST INDEX THUMB SIDE;So;0;L;;;;;N;;;;; ++1D8DD;SIGNWRITING HAND-HINGE INDEX THUMB SIDE;So;0;L;;;;;N;;;;; ++1D8DE;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL;So;0;L;;;;;N;;;;; ++1D8DF;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED;So;0;L;;;;;N;;;;; ++1D8E0;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT;So;0;L;;;;;N;;;;; ++1D8E1;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT;So;0;L;;;;;N;;;;; ++1D8E2;SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT;So;0;L;;;;;N;;;;; ++1D8E3;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE;So;0;L;;;;;N;;;;; ++1D8E4;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT;So;0;L;;;;;N;;;;; ++1D8E5;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT;So;0;L;;;;;N;;;;; ++1D8E6;SIGNWRITING HAND-FIST INDEX THUMB HOOK;So;0;L;;;;;N;;;;; ++1D8E7;SIGNWRITING HAND-FIST INDEX THUMB CURLICUE;So;0;L;;;;;N;;;;; ++1D8E8;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;; ++1D8E9;SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;; ++1D8EA;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER;So;0;L;;;;;N;;;;; ++1D8EB;SIGNWRITING HAND-FIST INDEX THUMB CIRCLE;So;0;L;;;;;N;;;;; ++1D8EC;SIGNWRITING HAND-CUP INDEX THUMB;So;0;L;;;;;N;;;;; ++1D8ED;SIGNWRITING HAND-CUP INDEX THUMB OPEN;So;0;L;;;;;N;;;;; ++1D8EE;SIGNWRITING HAND-HINGE INDEX THUMB OPEN;So;0;L;;;;;N;;;;; ++1D8EF;SIGNWRITING HAND-HINGE INDEX THUMB LARGE;So;0;L;;;;;N;;;;; ++1D8F0;SIGNWRITING HAND-HINGE INDEX THUMB;So;0;L;;;;;N;;;;; ++1D8F1;SIGNWRITING HAND-HINGE INDEX THUMB SMALL;So;0;L;;;;;N;;;;; ++1D8F2;SIGNWRITING HAND-ANGLE INDEX THUMB OUT;So;0;L;;;;;N;;;;; ++1D8F3;SIGNWRITING HAND-ANGLE INDEX THUMB IN;So;0;L;;;;;N;;;;; ++1D8F4;SIGNWRITING HAND-ANGLE INDEX THUMB;So;0;L;;;;;N;;;;; ++1D8F5;SIGNWRITING HAND-FIST THUMB;So;0;L;;;;;N;;;;; ++1D8F6;SIGNWRITING HAND-FIST THUMB HEEL;So;0;L;;;;;N;;;;; ++1D8F7;SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL;So;0;L;;;;;N;;;;; ++1D8F8;SIGNWRITING HAND-FIST THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;; ++1D8F9;SIGNWRITING HAND-FIST THUMB SIDE BENT;So;0;L;;;;;N;;;;; ++1D8FA;SIGNWRITING HAND-FIST THUMB FORWARD;So;0;L;;;;;N;;;;; ++1D8FB;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE;So;0;L;;;;;N;;;;; ++1D8FC;SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;; ++1D8FD;SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE;So;0;L;;;;;N;;;;; ++1D8FE;SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS;So;0;L;;;;;N;;;;; ++1D8FF;SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS;So;0;L;;;;;N;;;;; ++1D900;SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS;So;0;L;;;;;N;;;;; ++1D901;SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS;So;0;L;;;;;N;;;;; ++1D902;SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES;So;0;L;;;;;N;;;;; ++1D903;SIGNWRITING HAND-FIST;So;0;L;;;;;N;;;;; ++1D904;SIGNWRITING HAND-FIST HEEL;So;0;L;;;;;N;;;;; ++1D905;SIGNWRITING TOUCH SINGLE;So;0;L;;;;;N;;;;; ++1D906;SIGNWRITING TOUCH MULTIPLE;So;0;L;;;;;N;;;;; ++1D907;SIGNWRITING TOUCH BETWEEN;So;0;L;;;;;N;;;;; ++1D908;SIGNWRITING GRASP SINGLE;So;0;L;;;;;N;;;;; ++1D909;SIGNWRITING GRASP MULTIPLE;So;0;L;;;;;N;;;;; ++1D90A;SIGNWRITING GRASP BETWEEN;So;0;L;;;;;N;;;;; ++1D90B;SIGNWRITING STRIKE SINGLE;So;0;L;;;;;N;;;;; ++1D90C;SIGNWRITING STRIKE MULTIPLE;So;0;L;;;;;N;;;;; ++1D90D;SIGNWRITING STRIKE BETWEEN;So;0;L;;;;;N;;;;; ++1D90E;SIGNWRITING BRUSH SINGLE;So;0;L;;;;;N;;;;; ++1D90F;SIGNWRITING BRUSH MULTIPLE;So;0;L;;;;;N;;;;; ++1D910;SIGNWRITING BRUSH BETWEEN;So;0;L;;;;;N;;;;; ++1D911;SIGNWRITING RUB SINGLE;So;0;L;;;;;N;;;;; ++1D912;SIGNWRITING RUB MULTIPLE;So;0;L;;;;;N;;;;; ++1D913;SIGNWRITING RUB BETWEEN;So;0;L;;;;;N;;;;; ++1D914;SIGNWRITING SURFACE SYMBOLS;So;0;L;;;;;N;;;;; ++1D915;SIGNWRITING SURFACE BETWEEN;So;0;L;;;;;N;;;;; ++1D916;SIGNWRITING SQUEEZE LARGE SINGLE;So;0;L;;;;;N;;;;; ++1D917;SIGNWRITING SQUEEZE SMALL SINGLE;So;0;L;;;;;N;;;;; ++1D918;SIGNWRITING SQUEEZE LARGE MULTIPLE;So;0;L;;;;;N;;;;; ++1D919;SIGNWRITING SQUEEZE SMALL MULTIPLE;So;0;L;;;;;N;;;;; ++1D91A;SIGNWRITING SQUEEZE SEQUENTIAL;So;0;L;;;;;N;;;;; ++1D91B;SIGNWRITING FLICK LARGE SINGLE;So;0;L;;;;;N;;;;; ++1D91C;SIGNWRITING FLICK SMALL SINGLE;So;0;L;;;;;N;;;;; ++1D91D;SIGNWRITING FLICK LARGE MULTIPLE;So;0;L;;;;;N;;;;; ++1D91E;SIGNWRITING FLICK SMALL MULTIPLE;So;0;L;;;;;N;;;;; ++1D91F;SIGNWRITING FLICK SEQUENTIAL;So;0;L;;;;;N;;;;; ++1D920;SIGNWRITING SQUEEZE FLICK ALTERNATING;So;0;L;;;;;N;;;;; ++1D921;SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE;So;0;L;;;;;N;;;;; ++1D922;SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL;So;0;L;;;;;N;;;;; ++1D923;SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL;So;0;L;;;;;N;;;;; ++1D924;SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL;So;0;L;;;;;N;;;;; ++1D925;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE;So;0;L;;;;;N;;;;; ++1D926;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL;So;0;L;;;;;N;;;;; ++1D927;SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS;So;0;L;;;;;N;;;;; ++1D928;SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT;So;0;L;;;;;N;;;;; ++1D929;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT;So;0;L;;;;;N;;;;; ++1D92A;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;; ++1D92B;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;; ++1D92C;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;; ++1D92D;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;; ++1D92E;SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;; ++1D92F;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;; ++1D930;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;; ++1D931;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;; ++1D932;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; ++1D933;SIGNWRITING MOVEMENT-WALLPLANE CROSS;So;0;L;;;;;N;;;;; ++1D934;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;; ++1D935;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;; ++1D936;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING;So;0;L;;;;;N;;;;; ++1D937;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; ++1D938;SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL;So;0;L;;;;;N;;;;; ++1D939;SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM;So;0;L;;;;;N;;;;; ++1D93A;SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE;So;0;L;;;;;N;;;;; ++1D93B;SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL;So;0;L;;;;;N;;;;; ++1D93C;SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;; ++1D93D;SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE;So;0;L;;;;;N;;;;; ++1D93E;SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION;So;0;L;;;;;N;;;;; ++1D93F;SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL;So;0;L;;;;;N;;;;; ++1D940;SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM;So;0;L;;;;;N;;;;; ++1D941;SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE;So;0;L;;;;;N;;;;; ++1D942;SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL;So;0;L;;;;;N;;;;; ++1D943;SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM;So;0;L;;;;;N;;;;; ++1D944;SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE;So;0;L;;;;;N;;;;; ++1D945;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;; ++1D946;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;; ++1D947;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;; ++1D948;SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL;So;0;L;;;;;N;;;;; ++1D949;SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;; ++1D94A;SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE;So;0;L;;;;;N;;;;; ++1D94B;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; ++1D94C;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; ++1D94D;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;; ++1D94E;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; ++1D94F;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; ++1D950;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; ++1D951;SIGNWRITING TRAVEL-WALLPLANE SHAKING;So;0;L;;;;;N;;;;; ++1D952;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE;So;0;L;;;;;N;;;;; ++1D953;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE;So;0;L;;;;;N;;;;; ++1D954;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE;So;0;L;;;;;N;;;;; ++1D955;SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL;So;0;L;;;;;N;;;;; ++1D956;SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM;So;0;L;;;;;N;;;;; ++1D957;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE;So;0;L;;;;;N;;;;; ++1D958;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST;So;0;L;;;;;N;;;;; ++1D959;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL;So;0;L;;;;;N;;;;; ++1D95A;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM;So;0;L;;;;;N;;;;; ++1D95B;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE;So;0;L;;;;;N;;;;; ++1D95C;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST;So;0;L;;;;;N;;;;; ++1D95D;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL;So;0;L;;;;;N;;;;; ++1D95E;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM;So;0;L;;;;;N;;;;; ++1D95F;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE;So;0;L;;;;;N;;;;; ++1D960;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST;So;0;L;;;;;N;;;;; ++1D961;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL;So;0;L;;;;;N;;;;; ++1D962;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM;So;0;L;;;;;N;;;;; ++1D963;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE;So;0;L;;;;;N;;;;; ++1D964;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST;So;0;L;;;;;N;;;;; ++1D965;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;; ++1D966;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;; ++1D967;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;; ++1D968;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;; ++1D969;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;; ++1D96A;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;; ++1D96B;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;; ++1D96C;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;; ++1D96D;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; ++1D96E;SIGNWRITING MOVEMENT-FLOORPLANE CROSS;So;0;L;;;;;N;;;;; ++1D96F;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;; ++1D970;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;; ++1D971;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT;So;0;L;;;;;N;;;;; ++1D972;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; ++1D973;SIGNWRITING MOVEMENT-FLOORPLANE BEND;So;0;L;;;;;N;;;;; ++1D974;SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL;So;0;L;;;;;N;;;;; ++1D975;SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;; ++1D976;SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE;So;0;L;;;;;N;;;;; ++1D977;SIGNWRITING MOVEMENT-FLOORPLANE CHECK;So;0;L;;;;;N;;;;; ++1D978;SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL;So;0;L;;;;;N;;;;; ++1D979;SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM;So;0;L;;;;;N;;;;; ++1D97A;SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE;So;0;L;;;;;N;;;;; ++1D97B;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;; ++1D97C;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;; ++1D97D;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;; ++1D97E;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL;So;0;L;;;;;N;;;;; ++1D97F;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;; ++1D980;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE;So;0;L;;;;;N;;;;; ++1D981;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; ++1D982;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; ++1D983;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; ++1D984;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; ++1D985;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; ++1D986;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;; ++1D987;SIGNWRITING TRAVEL-FLOORPLANE SHAKING;So;0;L;;;;;N;;;;; ++1D988;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL;So;0;L;;;;;N;;;;; ++1D989;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM;So;0;L;;;;;N;;;;; ++1D98A;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE;So;0;L;;;;;N;;;;; ++1D98B;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST;So;0;L;;;;;N;;;;; ++1D98C;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL;So;0;L;;;;;N;;;;; ++1D98D;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM;So;0;L;;;;;N;;;;; ++1D98E;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE;So;0;L;;;;;N;;;;; ++1D98F;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST;So;0;L;;;;;N;;;;; ++1D990;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL;So;0;L;;;;;N;;;;; ++1D991;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM;So;0;L;;;;;N;;;;; ++1D992;SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL;So;0;L;;;;;N;;;;; ++1D993;SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM;So;0;L;;;;;N;;;;; ++1D994;SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE;So;0;L;;;;;N;;;;; ++1D995;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL;So;0;L;;;;;N;;;;; ++1D996;SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM;So;0;L;;;;;N;;;;; ++1D997;SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE;So;0;L;;;;;N;;;;; ++1D998;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D999;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL;So;0;L;;;;;N;;;;; ++1D99A;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM;So;0;L;;;;;N;;;;; ++1D99B;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE;So;0;L;;;;;N;;;;; ++1D99C;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL;So;0;L;;;;;N;;;;; ++1D99D;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM;So;0;L;;;;;N;;;;; ++1D99E;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE;So;0;L;;;;;N;;;;; ++1D99F;SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT;So;0;L;;;;;N;;;;; ++1D9A0;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL;So;0;L;;;;;N;;;;; ++1D9A1;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM;So;0;L;;;;;N;;;;; ++1D9A2;SIGNWRITING ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; ++1D9A3;SIGNWRITING ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; ++1D9A4;SIGNWRITING ROTATION-WALLPLANE ALTERNATE;So;0;L;;;;;N;;;;; ++1D9A5;SIGNWRITING MOVEMENT-WALLPLANE SHAKING;So;0;L;;;;;N;;;;; ++1D9A6;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9A7;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9A8;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9A9;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9AA;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9AB;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9AC;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL;So;0;L;;;;;N;;;;; ++1D9AD;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9AE;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9AF;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9B0;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9B1;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9B2;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9B3;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST;So;0;L;;;;;N;;;;; ++1D9B4;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL;So;0;L;;;;;N;;;;; ++1D9B5;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM;So;0;L;;;;;N;;;;; ++1D9B6;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE;So;0;L;;;;;N;;;;; ++1D9B7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;; ++1D9B8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;; ++1D9B9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9BA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;; ++1D9BB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE;So;0;L;;;;;N;;;;; ++1D9BC;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE;So;0;L;;;;;N;;;;; ++1D9BD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE;So;0;L;;;;;N;;;;; ++1D9BE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE;So;0;L;;;;;N;;;;; ++1D9BF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9C0;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;; ++1D9C1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;; ++1D9C2;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;; ++1D9C3;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING;So;0;L;;;;;N;;;;; ++1D9C4;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING;So;0;L;;;;;N;;;;; ++1D9C5;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING;So;0;L;;;;;N;;;;; ++1D9C6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;; ++1D9C7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;; ++1D9C8;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9C9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;; ++1D9CA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE;So;0;L;;;;;N;;;;; ++1D9CB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE;So;0;L;;;;;N;;;;; ++1D9CC;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE;So;0;L;;;;;N;;;;; ++1D9CD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE;So;0;L;;;;;N;;;;; ++1D9CE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9CF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;; ++1D9D0;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;; ++1D9D1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;; ++1D9D2;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR;So;0;L;;;;;N;;;;; ++1D9D3;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR;So;0;L;;;;;N;;;;; ++1D9D4;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR;So;0;L;;;;;N;;;;; ++1D9D5;SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL;So;0;L;;;;;N;;;;; ++1D9D6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM;So;0;L;;;;;N;;;;; ++1D9D7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE;So;0;L;;;;;N;;;;; ++1D9D8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST;So;0;L;;;;;N;;;;; ++1D9D9;SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED;So;0;L;;;;;N;;;;; ++1D9DA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL;So;0;L;;;;;N;;;;; ++1D9DB;SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL;So;0;L;;;;;N;;;;; ++1D9DC;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE;So;0;L;;;;;N;;;;; ++1D9DD;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL;So;0;L;;;;;N;;;;; ++1D9DE;SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE;So;0;L;;;;;N;;;;; ++1D9DF;SIGNWRITING ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; ++1D9E0;SIGNWRITING ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; ++1D9E1;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; ++1D9E2;SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL;So;0;L;;;;;N;;;;; ++1D9E3;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE;So;0;L;;;;;N;;;;; ++1D9E4;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE;So;0;L;;;;;N;;;;; ++1D9E5;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9E6;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE;So;0;L;;;;;N;;;;; ++1D9E7;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE;So;0;L;;;;;N;;;;; ++1D9E8;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE;So;0;L;;;;;N;;;;; ++1D9E9;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE;So;0;L;;;;;N;;;;; ++1D9EA;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9EB;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE;So;0;L;;;;;N;;;;; ++1D9EC;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE;So;0;L;;;;;N;;;;; ++1D9ED;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE;So;0;L;;;;;N;;;;; ++1D9EE;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE;So;0;L;;;;;N;;;;; ++1D9EF;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE;So;0;L;;;;;N;;;;; ++1D9F0;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9F1;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE;So;0;L;;;;;N;;;;; ++1D9F2;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE;So;0;L;;;;;N;;;;; ++1D9F3;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE;So;0;L;;;;;N;;;;; ++1D9F4;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE;So;0;L;;;;;N;;;;; ++1D9F5;SIGNWRITING DYNAMIC ARROWHEAD SMALL;So;0;L;;;;;N;;;;; ++1D9F6;SIGNWRITING DYNAMIC ARROWHEAD LARGE;So;0;L;;;;;N;;;;; ++1D9F7;SIGNWRITING DYNAMIC FAST;So;0;L;;;;;N;;;;; ++1D9F8;SIGNWRITING DYNAMIC SLOW;So;0;L;;;;;N;;;;; ++1D9F9;SIGNWRITING DYNAMIC TENSE;So;0;L;;;;;N;;;;; ++1D9FA;SIGNWRITING DYNAMIC RELAXED;So;0;L;;;;;N;;;;; ++1D9FB;SIGNWRITING DYNAMIC SIMULTANEOUS;So;0;L;;;;;N;;;;; ++1D9FC;SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING;So;0;L;;;;;N;;;;; ++1D9FD;SIGNWRITING DYNAMIC EVERY OTHER TIME;So;0;L;;;;;N;;;;; ++1D9FE;SIGNWRITING DYNAMIC GRADUAL;So;0;L;;;;;N;;;;; ++1D9FF;SIGNWRITING HEAD;So;0;L;;;;;N;;;;; ++1DA00;SIGNWRITING HEAD RIM;Mn;0;NSM;;;;;N;;;;; ++1DA01;SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; ++1DA02;SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT;Mn;0;NSM;;;;;N;;;;; ++1DA03;SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; ++1DA04;SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE;Mn;0;NSM;;;;;N;;;;; ++1DA05;SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE;Mn;0;NSM;;;;;N;;;;; ++1DA06;SIGNWRITING HEAD MOVEMENT CIRCLE;Mn;0;NSM;;;;;N;;;;; ++1DA07;SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING;Mn;0;NSM;;;;;N;;;;; ++1DA08;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN;Mn;0;NSM;;;;;N;;;;; ++1DA09;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING;Mn;0;NSM;;;;;N;;;;; ++1DA0A;SIGNWRITING EYEBROWS STRAIGHT UP;Mn;0;NSM;;;;;N;;;;; ++1DA0B;SIGNWRITING EYEBROWS STRAIGHT NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA0C;SIGNWRITING EYEBROWS STRAIGHT DOWN;Mn;0;NSM;;;;;N;;;;; ++1DA0D;SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN;Mn;0;NSM;;;;;N;;;;; ++1DA0E;SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA0F;SIGNWRITING DREAMY EYEBROWS UP NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA10;SIGNWRITING DREAMY EYEBROWS NEUTRAL UP;Mn;0;NSM;;;;;N;;;;; ++1DA11;SIGNWRITING FOREHEAD NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA12;SIGNWRITING FOREHEAD CONTACT;Mn;0;NSM;;;;;N;;;;; ++1DA13;SIGNWRITING FOREHEAD WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA14;SIGNWRITING EYES OPEN;Mn;0;NSM;;;;;N;;;;; ++1DA15;SIGNWRITING EYES SQUEEZED;Mn;0;NSM;;;;;N;;;;; ++1DA16;SIGNWRITING EYES CLOSED;Mn;0;NSM;;;;;N;;;;; ++1DA17;SIGNWRITING EYE BLINK SINGLE;Mn;0;NSM;;;;;N;;;;; ++1DA18;SIGNWRITING EYE BLINK MULTIPLE;Mn;0;NSM;;;;;N;;;;; ++1DA19;SIGNWRITING EYES HALF OPEN;Mn;0;NSM;;;;;N;;;;; ++1DA1A;SIGNWRITING EYES WIDE OPEN;Mn;0;NSM;;;;;N;;;;; ++1DA1B;SIGNWRITING EYES HALF CLOSED;Mn;0;NSM;;;;;N;;;;; ++1DA1C;SIGNWRITING EYES WIDENING MOVEMENT;Mn;0;NSM;;;;;N;;;;; ++1DA1D;SIGNWRITING EYE WINK;Mn;0;NSM;;;;;N;;;;; ++1DA1E;SIGNWRITING EYELASHES UP;Mn;0;NSM;;;;;N;;;;; ++1DA1F;SIGNWRITING EYELASHES DOWN;Mn;0;NSM;;;;;N;;;;; ++1DA20;SIGNWRITING EYELASHES FLUTTERING;Mn;0;NSM;;;;;N;;;;; ++1DA21;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; ++1DA22;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;; ++1DA23;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;; ++1DA24;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; ++1DA25;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;; ++1DA26;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;; ++1DA27;SIGNWRITING EYEGAZE-WALLPLANE CURVED;Mn;0;NSM;;;;;N;;;;; ++1DA28;SIGNWRITING EYEGAZE-FLOORPLANE CURVED;Mn;0;NSM;;;;;N;;;;; ++1DA29;SIGNWRITING EYEGAZE-WALLPLANE CIRCLING;Mn;0;NSM;;;;;N;;;;; ++1DA2A;SIGNWRITING CHEEKS PUFFED;Mn;0;NSM;;;;;N;;;;; ++1DA2B;SIGNWRITING CHEEKS NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA2C;SIGNWRITING CHEEKS SUCKED;Mn;0;NSM;;;;;N;;;;; ++1DA2D;SIGNWRITING TENSE CHEEKS HIGH;Mn;0;NSM;;;;;N;;;;; ++1DA2E;SIGNWRITING TENSE CHEEKS MIDDLE;Mn;0;NSM;;;;;N;;;;; ++1DA2F;SIGNWRITING TENSE CHEEKS LOW;Mn;0;NSM;;;;;N;;;;; ++1DA30;SIGNWRITING EARS;Mn;0;NSM;;;;;N;;;;; ++1DA31;SIGNWRITING NOSE NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA32;SIGNWRITING NOSE CONTACT;Mn;0;NSM;;;;;N;;;;; ++1DA33;SIGNWRITING NOSE WRINKLES;Mn;0;NSM;;;;;N;;;;; ++1DA34;SIGNWRITING NOSE WIGGLES;Mn;0;NSM;;;;;N;;;;; ++1DA35;SIGNWRITING AIR BLOWING OUT;Mn;0;NSM;;;;;N;;;;; ++1DA36;SIGNWRITING AIR SUCKING IN;Mn;0;NSM;;;;;N;;;;; ++1DA37;SIGNWRITING AIR BLOW SMALL ROTATIONS;So;0;L;;;;;N;;;;; ++1DA38;SIGNWRITING AIR SUCK SMALL ROTATIONS;So;0;L;;;;;N;;;;; ++1DA39;SIGNWRITING BREATH INHALE;So;0;L;;;;;N;;;;; ++1DA3A;SIGNWRITING BREATH EXHALE;So;0;L;;;;;N;;;;; ++1DA3B;SIGNWRITING MOUTH CLOSED NEUTRAL;Mn;0;NSM;;;;;N;;;;; ++1DA3C;SIGNWRITING MOUTH CLOSED FORWARD;Mn;0;NSM;;;;;N;;;;; ++1DA3D;SIGNWRITING MOUTH CLOSED CONTACT;Mn;0;NSM;;;;;N;;;;; ++1DA3E;SIGNWRITING MOUTH SMILE;Mn;0;NSM;;;;;N;;;;; ++1DA3F;SIGNWRITING MOUTH SMILE WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA40;SIGNWRITING MOUTH SMILE OPEN;Mn;0;NSM;;;;;N;;;;; ++1DA41;SIGNWRITING MOUTH FROWN;Mn;0;NSM;;;;;N;;;;; ++1DA42;SIGNWRITING MOUTH FROWN WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA43;SIGNWRITING MOUTH FROWN OPEN;Mn;0;NSM;;;;;N;;;;; ++1DA44;SIGNWRITING MOUTH OPEN CIRCLE;Mn;0;NSM;;;;;N;;;;; ++1DA45;SIGNWRITING MOUTH OPEN FORWARD;Mn;0;NSM;;;;;N;;;;; ++1DA46;SIGNWRITING MOUTH OPEN WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA47;SIGNWRITING MOUTH OPEN OVAL;Mn;0;NSM;;;;;N;;;;; ++1DA48;SIGNWRITING MOUTH OPEN OVAL WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA49;SIGNWRITING MOUTH OPEN OVAL YAWN;Mn;0;NSM;;;;;N;;;;; ++1DA4A;SIGNWRITING MOUTH OPEN RECTANGLE;Mn;0;NSM;;;;;N;;;;; ++1DA4B;SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA4C;SIGNWRITING MOUTH OPEN RECTANGLE YAWN;Mn;0;NSM;;;;;N;;;;; ++1DA4D;SIGNWRITING MOUTH KISS;Mn;0;NSM;;;;;N;;;;; ++1DA4E;SIGNWRITING MOUTH KISS FORWARD;Mn;0;NSM;;;;;N;;;;; ++1DA4F;SIGNWRITING MOUTH KISS WRINKLED;Mn;0;NSM;;;;;N;;;;; ++1DA50;SIGNWRITING MOUTH TENSE;Mn;0;NSM;;;;;N;;;;; ++1DA51;SIGNWRITING MOUTH TENSE FORWARD;Mn;0;NSM;;;;;N;;;;; ++1DA52;SIGNWRITING MOUTH TENSE SUCKED;Mn;0;NSM;;;;;N;;;;; ++1DA53;SIGNWRITING LIPS PRESSED TOGETHER;Mn;0;NSM;;;;;N;;;;; ++1DA54;SIGNWRITING LIP LOWER OVER UPPER;Mn;0;NSM;;;;;N;;;;; ++1DA55;SIGNWRITING LIP UPPER OVER LOWER;Mn;0;NSM;;;;;N;;;;; ++1DA56;SIGNWRITING MOUTH CORNERS;Mn;0;NSM;;;;;N;;;;; ++1DA57;SIGNWRITING MOUTH WRINKLES SINGLE;Mn;0;NSM;;;;;N;;;;; ++1DA58;SIGNWRITING MOUTH WRINKLES DOUBLE;Mn;0;NSM;;;;;N;;;;; ++1DA59;SIGNWRITING TONGUE STICKING OUT FAR;Mn;0;NSM;;;;;N;;;;; ++1DA5A;SIGNWRITING TONGUE LICKING LIPS;Mn;0;NSM;;;;;N;;;;; ++1DA5B;SIGNWRITING TONGUE TIP BETWEEN LIPS;Mn;0;NSM;;;;;N;;;;; ++1DA5C;SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;; ++1DA5D;SIGNWRITING TONGUE INSIDE MOUTH RELAXED;Mn;0;NSM;;;;;N;;;;; ++1DA5E;SIGNWRITING TONGUE MOVES AGAINST CHEEK;Mn;0;NSM;;;;;N;;;;; ++1DA5F;SIGNWRITING TONGUE CENTRE STICKING OUT;Mn;0;NSM;;;;;N;;;;; ++1DA60;SIGNWRITING TONGUE CENTRE INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;; ++1DA61;SIGNWRITING TEETH;Mn;0;NSM;;;;;N;;;;; ++1DA62;SIGNWRITING TEETH MOVEMENT;Mn;0;NSM;;;;;N;;;;; ++1DA63;SIGNWRITING TEETH ON TONGUE;Mn;0;NSM;;;;;N;;;;; ++1DA64;SIGNWRITING TEETH ON TONGUE MOVEMENT;Mn;0;NSM;;;;;N;;;;; ++1DA65;SIGNWRITING TEETH ON LIPS;Mn;0;NSM;;;;;N;;;;; ++1DA66;SIGNWRITING TEETH ON LIPS MOVEMENT;Mn;0;NSM;;;;;N;;;;; ++1DA67;SIGNWRITING TEETH BITE LIPS;Mn;0;NSM;;;;;N;;;;; ++1DA68;SIGNWRITING MOVEMENT-WALLPLANE JAW;Mn;0;NSM;;;;;N;;;;; ++1DA69;SIGNWRITING MOVEMENT-FLOORPLANE JAW;Mn;0;NSM;;;;;N;;;;; ++1DA6A;SIGNWRITING NECK;Mn;0;NSM;;;;;N;;;;; ++1DA6B;SIGNWRITING HAIR;Mn;0;NSM;;;;;N;;;;; ++1DA6C;SIGNWRITING EXCITEMENT;Mn;0;NSM;;;;;N;;;;; ++1DA6D;SIGNWRITING SHOULDER HIP SPINE;So;0;L;;;;;N;;;;; ++1DA6E;SIGNWRITING SHOULDER HIP POSITIONS;So;0;L;;;;;N;;;;; ++1DA6F;SIGNWRITING WALLPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;; ++1DA70;SIGNWRITING FLOORPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;; ++1DA71;SIGNWRITING SHOULDER TILTING FROM WAIST;So;0;L;;;;;N;;;;; ++1DA72;SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH;So;0;L;;;;;N;;;;; ++1DA73;SIGNWRITING TORSO-WALLPLANE CURVED BEND;So;0;L;;;;;N;;;;; ++1DA74;SIGNWRITING TORSO-FLOORPLANE TWISTING;So;0;L;;;;;N;;;;; ++1DA75;SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS;Mn;0;NSM;;;;;N;;;;; ++1DA76;SIGNWRITING LIMB COMBINATION;So;0;L;;;;;N;;;;; ++1DA77;SIGNWRITING LIMB LENGTH-1;So;0;L;;;;;N;;;;; ++1DA78;SIGNWRITING LIMB LENGTH-2;So;0;L;;;;;N;;;;; ++1DA79;SIGNWRITING LIMB LENGTH-3;So;0;L;;;;;N;;;;; ++1DA7A;SIGNWRITING LIMB LENGTH-4;So;0;L;;;;;N;;;;; ++1DA7B;SIGNWRITING LIMB LENGTH-5;So;0;L;;;;;N;;;;; ++1DA7C;SIGNWRITING LIMB LENGTH-6;So;0;L;;;;;N;;;;; ++1DA7D;SIGNWRITING LIMB LENGTH-7;So;0;L;;;;;N;;;;; ++1DA7E;SIGNWRITING FINGER;So;0;L;;;;;N;;;;; ++1DA7F;SIGNWRITING LOCATION-WALLPLANE SPACE;So;0;L;;;;;N;;;;; ++1DA80;SIGNWRITING LOCATION-FLOORPLANE SPACE;So;0;L;;;;;N;;;;; ++1DA81;SIGNWRITING LOCATION HEIGHT;So;0;L;;;;;N;;;;; ++1DA82;SIGNWRITING LOCATION WIDTH;So;0;L;;;;;N;;;;; ++1DA83;SIGNWRITING LOCATION DEPTH;So;0;L;;;;;N;;;;; ++1DA84;SIGNWRITING LOCATION HEAD NECK;Mn;0;NSM;;;;;N;;;;; ++1DA85;SIGNWRITING LOCATION TORSO;So;0;L;;;;;N;;;;; ++1DA86;SIGNWRITING LOCATION LIMBS DIGITS;So;0;L;;;;;N;;;;; ++1DA87;SIGNWRITING COMMA;Po;0;L;;;;;N;;;;; ++1DA88;SIGNWRITING FULL STOP;Po;0;L;;;;;N;;;;; ++1DA89;SIGNWRITING SEMICOLON;Po;0;L;;;;;N;;;;; ++1DA8A;SIGNWRITING COLON;Po;0;L;;;;;N;;;;; ++1DA8B;SIGNWRITING PARENTHESIS;Po;0;L;;;;;N;;;;; ++1DA9B;SIGNWRITING FILL MODIFIER-2;Mn;0;NSM;;;;;N;;;;; ++1DA9C;SIGNWRITING FILL MODIFIER-3;Mn;0;NSM;;;;;N;;;;; ++1DA9D;SIGNWRITING FILL MODIFIER-4;Mn;0;NSM;;;;;N;;;;; ++1DA9E;SIGNWRITING FILL MODIFIER-5;Mn;0;NSM;;;;;N;;;;; ++1DA9F;SIGNWRITING FILL MODIFIER-6;Mn;0;NSM;;;;;N;;;;; ++1DAA1;SIGNWRITING ROTATION MODIFIER-2;Mn;0;NSM;;;;;N;;;;; ++1DAA2;SIGNWRITING ROTATION MODIFIER-3;Mn;0;NSM;;;;;N;;;;; ++1DAA3;SIGNWRITING ROTATION MODIFIER-4;Mn;0;NSM;;;;;N;;;;; ++1DAA4;SIGNWRITING ROTATION MODIFIER-5;Mn;0;NSM;;;;;N;;;;; ++1DAA5;SIGNWRITING ROTATION MODIFIER-6;Mn;0;NSM;;;;;N;;;;; ++1DAA6;SIGNWRITING ROTATION MODIFIER-7;Mn;0;NSM;;;;;N;;;;; ++1DAA7;SIGNWRITING ROTATION MODIFIER-8;Mn;0;NSM;;;;;N;;;;; ++1DAA8;SIGNWRITING ROTATION MODIFIER-9;Mn;0;NSM;;;;;N;;;;; ++1DAA9;SIGNWRITING ROTATION MODIFIER-10;Mn;0;NSM;;;;;N;;;;; ++1DAAA;SIGNWRITING ROTATION MODIFIER-11;Mn;0;NSM;;;;;N;;;;; ++1DAAB;SIGNWRITING ROTATION MODIFIER-12;Mn;0;NSM;;;;;N;;;;; ++1DAAC;SIGNWRITING ROTATION MODIFIER-13;Mn;0;NSM;;;;;N;;;;; ++1DAAD;SIGNWRITING ROTATION MODIFIER-14;Mn;0;NSM;;;;;N;;;;; ++1DAAE;SIGNWRITING ROTATION MODIFIER-15;Mn;0;NSM;;;;;N;;;;; ++1DAAF;SIGNWRITING ROTATION MODIFIER-16;Mn;0;NSM;;;;;N;;;;; + 1E800;MENDE KIKAKUI SYLLABLE M001 KI;Lo;0;R;;;;;N;;;;; + 1E801;MENDE KIKAKUI SYLLABLE M002 KA;Lo;0;R;;;;;N;;;;; + 1E802;MENDE KIKAKUI SYLLABLE M003 KU;Lo;0;R;;;;;N;;;;; +@@ -25108,6 +27011,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F32A;CLOUD WITH TORNADO;So;0;ON;;;;;N;;;;; + 1F32B;FOG;So;0;ON;;;;;N;;;;; + 1F32C;WIND BLOWING FACE;So;0;ON;;;;;N;;;;; ++1F32D;HOT DOG;So;0;ON;;;;;N;;;;; ++1F32E;TACO;So;0;ON;;;;;N;;;;; ++1F32F;BURRITO;So;0;ON;;;;;N;;;;; + 1F330;CHESTNUT;So;0;ON;;;;;N;;;;; + 1F331;SEEDLING;So;0;ON;;;;;N;;;;; + 1F332;EVERGREEN TREE;So;0;ON;;;;;N;;;;; +@@ -25186,6 +27092,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F37B;CLINKING BEER MUGS;So;0;ON;;;;;N;;;;; + 1F37C;BABY BOTTLE;So;0;ON;;;;;N;;;;; + 1F37D;FORK AND KNIFE WITH PLATE;So;0;ON;;;;;N;;;;; ++1F37E;BOTTLE WITH POPPING CORK;So;0;ON;;;;;N;;;;; ++1F37F;POPCORN;So;0;ON;;;;;N;;;;; + 1F380;RIBBON;So;0;ON;;;;;N;;;;; + 1F381;WRAPPED PRESENT;So;0;ON;;;;;N;;;;; + 1F382;BIRTHDAY CAKE;So;0;ON;;;;;N;;;;; +@@ -25265,6 +27173,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F3CC;GOLFER;So;0;ON;;;;;N;;;;; + 1F3CD;RACING MOTORCYCLE;So;0;ON;;;;;N;;;;; + 1F3CE;RACING CAR;So;0;ON;;;;;N;;;;; ++1F3CF;CRICKET BAT AND BALL;So;0;ON;;;;;N;;;;; ++1F3D0;VOLLEYBALL;So;0;ON;;;;;N;;;;; ++1F3D1;FIELD HOCKEY STICK AND BALL;So;0;ON;;;;;N;;;;; ++1F3D2;ICE HOCKEY STICK AND PUCK;So;0;ON;;;;;N;;;;; ++1F3D3;TABLE TENNIS PADDLE AND BALL;So;0;ON;;;;;N;;;;; + 1F3D4;SNOW CAPPED MOUNTAIN;So;0;ON;;;;;N;;;;; + 1F3D5;CAMPING;So;0;ON;;;;;N;;;;; + 1F3D6;BEACH WITH UMBRELLA;So;0;ON;;;;;N;;;;; +@@ -25301,6 +27214,14 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F3F5;ROSETTE;So;0;ON;;;;;N;;;;; + 1F3F6;BLACK ROSETTE;So;0;ON;;;;;N;;;;; + 1F3F7;LABEL;So;0;ON;;;;;N;;;;; ++1F3F8;BADMINTON RACQUET AND SHUTTLECOCK;So;0;ON;;;;;N;;;;; ++1F3F9;BOW AND ARROW;So;0;ON;;;;;N;;;;; ++1F3FA;AMPHORA;So;0;ON;;;;;N;;;;; ++1F3FB;EMOJI MODIFIER FITZPATRICK TYPE-1-2;Sk;0;ON;;;;;N;;;;; ++1F3FC;EMOJI MODIFIER FITZPATRICK TYPE-3;Sk;0;ON;;;;;N;;;;; ++1F3FD;EMOJI MODIFIER FITZPATRICK TYPE-4;Sk;0;ON;;;;;N;;;;; ++1F3FE;EMOJI MODIFIER FITZPATRICK TYPE-5;Sk;0;ON;;;;;N;;;;; ++1F3FF;EMOJI MODIFIER FITZPATRICK TYPE-6;Sk;0;ON;;;;;N;;;;; + 1F400;RAT;So;0;ON;;;;;N;;;;; + 1F401;MOUSE;So;0;ON;;;;;N;;;;; + 1F402;OX;So;0;ON;;;;;N;;;;; +@@ -25556,6 +27477,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F4FC;VIDEOCASSETTE;So;0;ON;;;;;N;;;;; + 1F4FD;FILM PROJECTOR;So;0;ON;;;;;N;;;;; + 1F4FE;PORTABLE STEREO;So;0;ON;;;;;N;;;;; ++1F4FF;PRAYER BEADS;So;0;ON;;;;;N;;;;; + 1F500;TWISTED RIGHTWARDS ARROWS;So;0;ON;;;;;N;;;;; + 1F501;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;; + 1F502;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY;So;0;ON;;;;;N;;;;; +@@ -25631,6 +27553,11 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F548;CELTIC CROSS;So;0;ON;;;;;N;;;;; + 1F549;OM SYMBOL;So;0;ON;;;;;N;;;;; + 1F54A;DOVE OF PEACE;So;0;ON;;;;;N;;;;; ++1F54B;KAABA;So;0;ON;;;;;N;;;;; ++1F54C;MOSQUE;So;0;ON;;;;;N;;;;; ++1F54D;SYNAGOGUE;So;0;ON;;;;;N;;;;; ++1F54E;MENORAH WITH NINE BRANCHES;So;0;ON;;;;;N;;;;; ++1F54F;BOWL OF HYGIEIA;So;0;ON;;;;;N;;;;; + 1F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;; + 1F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;; + 1F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;; +@@ -25872,6 +27799,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F640;WEARY CAT FACE;So;0;ON;;;;;N;;;;; + 1F641;SLIGHTLY FROWNING FACE;So;0;ON;;;;;N;;;;; + 1F642;SLIGHTLY SMILING FACE;So;0;ON;;;;;N;;;;; ++1F643;UPSIDE-DOWN FACE;So;0;ON;;;;;N;;;;; ++1F644;FACE WITH ROLLING EYES;So;0;ON;;;;;N;;;;; + 1F645;FACE WITH NO GOOD GESTURE;So;0;ON;;;;;N;;;;; + 1F646;FACE WITH OK GESTURE;So;0;ON;;;;;N;;;;; + 1F647;PERSON BOWING DEEPLY;So;0;ON;;;;;N;;;;; +@@ -26011,6 +27940,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F6CD;SHOPPING BAGS;So;0;ON;;;;;N;;;;; + 1F6CE;BELLHOP BELL;So;0;ON;;;;;N;;;;; + 1F6CF;BED;So;0;ON;;;;;N;;;;; ++1F6D0;PLACE OF WORSHIP;So;0;ON;;;;;N;;;;; + 1F6E0;HAMMER AND WRENCH;So;0;ON;;;;;N;;;;; + 1F6E1;SHIELD;So;0;ON;;;;;N;;;;; + 1F6E2;OIL DRUM;So;0;ON;;;;;N;;;;; +@@ -26377,12 +28307,29 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; + 1F8AB;RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;; + 1F8AC;WHITE ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;; + 1F8AD;WHITE ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;; ++1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;; ++1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;; ++1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;; ++1F913;NERD FACE;So;0;ON;;;;;N;;;;; ++1F914;THINKING FACE;So;0;ON;;;;;N;;;;; ++1F915;FACE WITH HEAD-BANDAGE;So;0;ON;;;;;N;;;;; ++1F916;ROBOT FACE;So;0;ON;;;;;N;;;;; ++1F917;HUGGING FACE;So;0;ON;;;;;N;;;;; ++1F918;SIGN OF THE HORNS;So;0;ON;;;;;N;;;;; ++1F980;CRAB;So;0;ON;;;;;N;;;;; ++1F981;LION FACE;So;0;ON;;;;;N;;;;; ++1F982;SCORPION;So;0;ON;;;;;N;;;;; ++1F983;TURKEY;So;0;ON;;;;;N;;;;; ++1F984;UNICORN FACE;So;0;ON;;;;;N;;;;; ++1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;; + 20000;;Lo;0;L;;;;;N;;;;; + 2A6D6;;Lo;0;L;;;;;N;;;;; + 2A700;;Lo;0;L;;;;;N;;;;; + 2B734;;Lo;0;L;;;;;N;;;;; + 2B740;;Lo;0;L;;;;;N;;;;; + 2B81D;;Lo;0;L;;;;;N;;;;; ++2B820;;Lo;0;L;;;;;N;;;;; ++2CEA1;;Lo;0;L;;;;;N;;;;; + 2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;; + 2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;; + 2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;; +diff --git a/localedata/unicode-gen/gen_translit_combining.py b/localedata/unicode-gen/gen_translit_combining.py +index 07ed739..11250c6 100755 +--- a/localedata/unicode-gen/gen_translit_combining.py ++++ b/localedata/unicode-gen/gen_translit_combining.py +@@ -168,7 +168,9 @@ def is_combining_remove(code_point): + 'PAHAWH HMONG', + 'MIAO', + 'DUPLOYAN', +- 'MENDE KIKAKUI' ++ 'MENDE KIKAKUI', ++ 'AHOM', ++ 'SIGNWRITING' + ): + if substring in name: + return False +-- +2.4.3 + diff --git a/glibc-rh1238412-update-the-translit-files-to-unicode-7.0.0.patch b/glibc-rh1238412-update-the-translit-files-to-unicode-7.0.0.patch new file mode 100644 index 0000000..5a81eb3 --- /dev/null +++ b/glibc-rh1238412-update-the-translit-files-to-unicode-7.0.0.patch @@ -0,0 +1,5399 @@ +From e1663b8dc7ca04db26a37d745bfe043df83d3a64 Mon Sep 17 00:00:00 2001 +From: Mike FABIAN +Date: Fri, 17 Apr 2015 09:12:05 +0200 +Subject: [PATCH 3/5] Update the translit files to Unicode 7.0.0 + +for localedata/ChangeLog + + [BZ #16061] + * unicode_utils.py: New. + * existing scripts changed to used unicode_utils.py + * gen_translit_circle.py: New + * gen_translit_cjk_compat.py: New + * gen_translit_combining.py: New + * gen_translit_compat.py: New + * gen_translit_font.py: New + * gen_translit_fraction.py: New + * locales/translit_circle: Update. + * locales/translit_cjk_compat: Update. + * locales/translit_combining: Update. + * locales/translit_compat: Update. + * locales/translit_font: Update. + * locales/translit_fraction: Update. +--- + localedata/locales/translit_circle | 30 +- + localedata/locales/translit_cjk_compat | 422 +++++++++++++- + localedata/locales/translit_combining | 636 +++++++++++++++++++++- + localedata/locales/translit_compat | 578 +++++++++++++++++++- + localedata/locales/translit_font | 151 ++++- + localedata/locales/translit_fraction | 15 +- + localedata/unicode-gen/Makefile | 42 +- + localedata/unicode-gen/gen_translit_circle.py | 149 +++++ + localedata/unicode-gen/gen_translit_cjk_compat.py | 219 ++++++++ + localedata/unicode-gen/gen_translit_combining.py | 441 +++++++++++++++ + localedata/unicode-gen/gen_translit_compat.py | 325 +++++++++++ + localedata/unicode-gen/gen_translit_font.py | 155 ++++++ + localedata/unicode-gen/gen_translit_fraction.py | 196 +++++++ + localedata/unicode-gen/gen_unicode_ctype.py | 497 +---------------- + localedata/unicode-gen/unicode_utils.py | 502 +++++++++++++++++ + localedata/unicode-gen/utf8_compatibility.py | 217 ++------ + localedata/unicode-gen/utf8_gen.py | 28 +- + 17 files changed, 3890 insertions(+), 713 deletions(-) + create mode 100755 localedata/unicode-gen/gen_translit_circle.py + create mode 100755 localedata/unicode-gen/gen_translit_cjk_compat.py + create mode 100755 localedata/unicode-gen/gen_translit_combining.py + create mode 100755 localedata/unicode-gen/gen_translit_compat.py + create mode 100755 localedata/unicode-gen/gen_translit_font.py + create mode 100755 localedata/unicode-gen/gen_translit_fraction.py + create mode 100644 localedata/unicode-gen/unicode_utils.py + +diff --git a/localedata/locales/translit_circle b/localedata/locales/translit_circle +index f701bc9..5d5f58c 100644 +--- a/localedata/locales/translit_circle ++++ b/localedata/locales/translit_circle +@@ -2,9 +2,7 @@ escape_char / + comment_char % + + % Transliterations of encircled characters. +-% Generated through +-% $ grep '^[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;' UnicodeData.txt | \ +-% sed -e 's/^\([^;]*\);\([^;]*\);[^;]*;[^;]*;[^;]*; \([^;]*\);.*$/ ""% \2/' -e 'h' -e 's/^\([^%]*\)% .*$/\1/' -e 's/\([0-9A-F]\) \([0-9A-F]\)/\1> "" + % CIRCLED DIGIT ZERO + "" ++% CIRCLED IDEOGRAPH QUESTION ++ "" ++% CIRCLED IDEOGRAPH KINDERGARTEN ++ "" ++% CIRCLED IDEOGRAPH SCHOOL ++ "" ++% CIRCLED IDEOGRAPH KOTO ++ "" + % CIRCLED NUMBER TWENTY ONE + "" + % CIRCLED NUMBER TWENTY TWO +@@ -242,6 +248,12 @@ translit_start + "" + % CIRCLED HANGUL HIEUH A + "" ++% CIRCLED KOREAN CHARACTER CHAMKO ++ "" ++% CIRCLED KOREAN CHARACTER JUEUI ++ "" ++% CIRCLED HANGUL IEUNG U ++ "" + % CIRCLED IDEOGRAPH ONE + "" + % CIRCLED IDEOGRAPH TWO +@@ -464,6 +476,18 @@ translit_start + "" + % CIRCLED KATAKANA WO + "" ++% CIRCLED ITALIC LATIN CAPITAL LETTER C ++ "" ++% CIRCLED ITALIC LATIN CAPITAL LETTER R ++ "" ++% CIRCLED CD ++ "" ++% CIRCLED WZ ++ "" ++% CIRCLED IDEOGRAPH ADVANTAGE ++ "" ++% CIRCLED IDEOGRAPH ACCEPT ++ "" + + translit_end + +diff --git a/localedata/locales/translit_cjk_compat b/localedata/locales/translit_cjk_compat +index c73e5e3..a20c6ca 100644 +--- a/localedata/locales/translit_cjk_compat ++++ b/localedata/locales/translit_cjk_compat +@@ -2,18 +2,22 @@ escape_char / + comment_char % + + % Transliterations of CJK compatibility characters. +-% Generated through +-% $ grep '^[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;' UnicodeData.txt | \ +-% sed -e 's/^\([^;]*\);\([^;]*\);[^;]*;[^;]*;[^;]*; \([^;]*\);.*$/ ""% \2/' | sed -e 'h' -e 's/^\([^%]*\)% .*$/\1/' -e 's/\([0-9A-F]\) \([0-9A-F]\)/\1> % \2/' | sed -e 'h' -e 's/^\([^%]*\)% .*$/\1/' -e 's/\([0-9A-F]\) \([0-9A-F]\)/\1>//g' ++% Generated automatically from UnicodeData.txt by gen_translit_cjk_compat.py on 2015-06-10 for Unicode 7.0.0. + + LC_CTYPE + + translit_start + ++% PARTNERSHIP SIGN ++ "" ++% SQUARE HG ++ "" ++% SQUARE ERG ++ "" ++% SQUARE EV ++ "" ++% LIMITED LIABILITY SIGN ++ "" + % SQUARE APAATO + "" + % SQUARE ARUHUA +@@ -202,6 +206,14 @@ translit_start + "" + % SQUARE PC + "" ++% SQUARE DM ++ "" ++% SQUARE DM SQUARED ++ "";"" ++% SQUARE DM CUBED ++ "";"" ++% SQUARE IU ++ "" + % SQUARE ERA NAME HEISEI + "" + % SQUARE ERA NAME SYOUWA +@@ -400,6 +412,170 @@ translit_start + "" + % SQUARE WB + "" ++% SQUARE V OVER M ++ "";"" ++% SQUARE A OVER M ++ "";"" ++% SQUARE GAL ++ "" ++% SQUARED LATIN CAPITAL LETTER A ++ ++% SQUARED LATIN CAPITAL LETTER B ++ ++% SQUARED LATIN CAPITAL LETTER C ++ ++% SQUARED LATIN CAPITAL LETTER D ++ ++% SQUARED LATIN CAPITAL LETTER E ++ ++% SQUARED LATIN CAPITAL LETTER F ++ ++% SQUARED LATIN CAPITAL LETTER G ++ ++% SQUARED LATIN CAPITAL LETTER H ++ ++% SQUARED LATIN CAPITAL LETTER I ++ ++% SQUARED LATIN CAPITAL LETTER J ++ ++% SQUARED LATIN CAPITAL LETTER K ++ ++% SQUARED LATIN CAPITAL LETTER L ++ ++% SQUARED LATIN CAPITAL LETTER M ++ ++% SQUARED LATIN CAPITAL LETTER N ++ ++% SQUARED LATIN CAPITAL LETTER O ++ ++% SQUARED LATIN CAPITAL LETTER P ++ ++% SQUARED LATIN CAPITAL LETTER Q ++ ++% SQUARED LATIN CAPITAL LETTER R ++ ++% SQUARED LATIN CAPITAL LETTER S ++ ++% SQUARED LATIN CAPITAL LETTER T ++ ++% SQUARED LATIN CAPITAL LETTER U ++ ++% SQUARED LATIN CAPITAL LETTER V ++ ++% SQUARED LATIN CAPITAL LETTER W ++ ++% SQUARED LATIN CAPITAL LETTER X ++ ++% SQUARED LATIN CAPITAL LETTER Y ++ ++% SQUARED LATIN CAPITAL LETTER Z ++ ++% SQUARED HV ++ "" ++% SQUARED MV ++ "" ++% SQUARED SD ++ "" ++% SQUARED SS ++ "" ++% SQUARED PPV ++ "" ++% SQUARED WC ++ "" ++% SQUARE DJ ++ "" ++% SQUARE HIRAGANA HOKA ++ "" ++% SQUARED KATAKANA KOKO ++ "" ++% SQUARED KATAKANA SA ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-624B ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5B57 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-53CC ++ ++% SQUARED KATAKANA DE ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-4E8C ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-591A ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-89E3 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5929 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-4EA4 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6620 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-7121 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6599 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-524D ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5F8C ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-518D ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-65B0 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-521D ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-7D42 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-751F ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-8CA9 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-58F0 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5439 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6F14 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6295 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6355 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-4E00 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-4E09 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-904A ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5DE6 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-4E2D ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-53F3 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6307 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-8D70 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6253 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-7981 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-7A7A ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5408 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6E80 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6709 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-6708 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-7533 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-5272 ++ ++% SQUARED CJK UNIFIED IDEOGRAPH-55B6 ++ + % CJK COMPATIBILITY IDEOGRAPH-F900 + + % CJK COMPATIBILITY IDEOGRAPH-F901 +@@ -980,6 +1156,10 @@ translit_start + + % CJK COMPATIBILITY IDEOGRAPH-FA2D + ++% CJK COMPATIBILITY IDEOGRAPH-FA2E ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA2F ++ + % CJK COMPATIBILITY IDEOGRAPH-FA30 + + % CJK COMPATIBILITY IDEOGRAPH-FA31 +@@ -1098,6 +1278,224 @@ translit_start + + % CJK COMPATIBILITY IDEOGRAPH-FA6A + ++% CJK COMPATIBILITY IDEOGRAPH-FA6B ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA6C ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA6D ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA70 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA71 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA72 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA73 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA74 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA75 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA76 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA77 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA78 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA79 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA7A ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA7B ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA7C ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA7D ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA7E ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA7F ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA80 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA81 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA82 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA83 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA84 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA85 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA86 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA87 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA88 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA89 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA8A ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA8B ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA8C ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA8D ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA8E ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA8F ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA90 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA91 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA92 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA93 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA94 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA95 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA96 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA97 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA98 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA99 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA9A ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA9B ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA9C ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA9D ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA9E ++ ++% CJK COMPATIBILITY IDEOGRAPH-FA9F ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA0 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA1 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA2 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA3 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA4 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA5 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA6 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA7 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA8 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAA9 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAAA ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAAB ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAAC ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAAD ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAAE ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAAF ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB0 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB1 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB2 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB3 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB4 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB5 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB6 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB7 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB8 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAB9 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FABA ++ ++% CJK COMPATIBILITY IDEOGRAPH-FABB ++ ++% CJK COMPATIBILITY IDEOGRAPH-FABC ++ ++% CJK COMPATIBILITY IDEOGRAPH-FABD ++ ++% CJK COMPATIBILITY IDEOGRAPH-FABE ++ ++% CJK COMPATIBILITY IDEOGRAPH-FABF ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC0 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC1 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC2 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC3 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC4 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC5 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC6 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC7 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC8 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAC9 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FACA ++ ++% CJK COMPATIBILITY IDEOGRAPH-FACB ++ ++% CJK COMPATIBILITY IDEOGRAPH-FACC ++ ++% CJK COMPATIBILITY IDEOGRAPH-FACD ++ ++% CJK COMPATIBILITY IDEOGRAPH-FACE ++ ++% CJK COMPATIBILITY IDEOGRAPH-FACF ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD0 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD1 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD2 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD3 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD4 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD5 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD6 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD7 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD8 ++ ++% CJK COMPATIBILITY IDEOGRAPH-FAD9 ++ + % CJK COMPATIBILITY IDEOGRAPH-2F800 + + % CJK COMPATIBILITY IDEOGRAPH-2F801 +@@ -1307,7 +1705,7 @@ translit_start + % CJK COMPATIBILITY IDEOGRAPH-2F867 + + % CJK COMPATIBILITY IDEOGRAPH-2F868 +- ++ + % CJK COMPATIBILITY IDEOGRAPH-2F869 + + % CJK COMPATIBILITY IDEOGRAPH-2F86A +@@ -1331,7 +1729,7 @@ translit_start + % CJK COMPATIBILITY IDEOGRAPH-2F873 + + % CJK COMPATIBILITY IDEOGRAPH-2F874 +- ++ + % CJK COMPATIBILITY IDEOGRAPH-2F875 + + % CJK COMPATIBILITY IDEOGRAPH-2F876 +@@ -1673,7 +2071,7 @@ translit_start + % CJK COMPATIBILITY IDEOGRAPH-2F91E + + % CJK COMPATIBILITY IDEOGRAPH-2F91F +- ++ + % CJK COMPATIBILITY IDEOGRAPH-2F920 + + % CJK COMPATIBILITY IDEOGRAPH-2F921 +@@ -1801,7 +2199,7 @@ translit_start + % CJK COMPATIBILITY IDEOGRAPH-2F95E + + % CJK COMPATIBILITY IDEOGRAPH-2F95F +- ++ + % CJK COMPATIBILITY IDEOGRAPH-2F960 + + % CJK COMPATIBILITY IDEOGRAPH-2F961 +@@ -1993,7 +2391,7 @@ translit_start + % CJK COMPATIBILITY IDEOGRAPH-2F9BE + + % CJK COMPATIBILITY IDEOGRAPH-2F9BF +- ++ + % CJK COMPATIBILITY IDEOGRAPH-2F9C0 + + % CJK COMPATIBILITY IDEOGRAPH-2F9C1 +diff --git a/localedata/locales/translit_combining b/localedata/locales/translit_combining +index 44c62f9..b1b5345 100644 +--- a/localedata/locales/translit_combining ++++ b/localedata/locales/translit_combining +@@ -3,7 +3,7 @@ comment_char % + + % Transliterations that remove all combining characters (accents, + % pronounciation marks, etc.). +-% Generated from UnicodeData.txt. ++% Generated automatically from UnicodeData.txt by gen_translit_combining.py on 2015-06-10 for Unicode 7.0.0. + + LC_CTYPE + +@@ -167,6 +167,40 @@ translit_start + "" + % COMBINING UPWARDS ARROW BELOW + "" ++% COMBINING GRAPHEME JOINER ++ "" ++% COMBINING RIGHT ARROWHEAD ABOVE ++ "" ++% COMBINING LEFT HALF RING ABOVE ++ "" ++% COMBINING FERMATA ++ "" ++% COMBINING X BELOW ++ "" ++% COMBINING LEFT ARROWHEAD BELOW ++ "" ++% COMBINING RIGHT ARROWHEAD BELOW ++ "" ++% COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW ++ "" ++% COMBINING RIGHT HALF RING ABOVE ++ "" ++% COMBINING DOT ABOVE RIGHT ++ "" ++% COMBINING ASTERISK BELOW ++ "" ++% COMBINING DOUBLE RING BELOW ++ "" ++% COMBINING ZIGZAG ABOVE ++ "" ++% COMBINING DOUBLE BREVE BELOW ++ "" ++% COMBINING DOUBLE BREVE ++ "" ++% COMBINING DOUBLE MACRON ++ "" ++% COMBINING DOUBLE MACRON BELOW ++ "" + % COMBINING DOUBLE TILDE + "" + % COMBINING DOUBLE INVERTED BREVE +@@ -199,6 +233,68 @@ translit_start + "" + % COMBINING LATIN SMALL LETTER X + "" ++% HEBREW ACCENT ETNAHTA ++ "" ++% HEBREW ACCENT SEGOL ++ "" ++% HEBREW ACCENT SHALSHELET ++ "" ++% HEBREW ACCENT ZAQEF QATAN ++ "" ++% HEBREW ACCENT ZAQEF GADOL ++ "" ++% HEBREW ACCENT TIPEHA ++ "" ++% HEBREW ACCENT REVIA ++ "" ++% HEBREW ACCENT ZARQA ++ "" ++% HEBREW ACCENT PASHTA ++ "" ++% HEBREW ACCENT YETIV ++ "" ++% HEBREW ACCENT TEVIR ++ "" ++% HEBREW ACCENT GERESH ++ "" ++% HEBREW ACCENT GERESH MUQDAM ++ "" ++% HEBREW ACCENT GERSHAYIM ++ "" ++% HEBREW ACCENT QARNEY PARA ++ "" ++% HEBREW ACCENT TELISHA GEDOLA ++ "" ++% HEBREW ACCENT PAZER ++ "" ++% HEBREW ACCENT ATNAH HAFUKH ++ "" ++% HEBREW ACCENT MUNAH ++ "" ++% HEBREW ACCENT MAHAPAKH ++ "" ++% HEBREW ACCENT MERKHA ++ "" ++% HEBREW ACCENT MERKHA KEFULA ++ "" ++% HEBREW ACCENT DARGA ++ "" ++% HEBREW ACCENT QADMA ++ "" ++% HEBREW ACCENT TELISHA QETANA ++ "" ++% HEBREW ACCENT YERAH BEN YOMO ++ "" ++% HEBREW ACCENT OLE ++ "" ++% HEBREW ACCENT ILUY ++ "" ++% HEBREW ACCENT DEHI ++ "" ++% HEBREW ACCENT ZINOR ++ "" ++% HEBREW MARK MASORA CIRCLE ++ "" + % HEBREW POINT SHEVA + "" + % HEBREW POINT HATAF SEGOL +@@ -219,6 +315,8 @@ translit_start + "" + % HEBREW POINT HOLAM + "" ++% HEBREW POINT HOLAM HASER FOR VAV ++ "" + % HEBREW POINT QUBUTS + "" + % HEBREW POINT DAGESH OR MAPIQ +@@ -231,12 +329,358 @@ translit_start + "" + % HEBREW POINT SIN DOT + "" ++% HEBREW MARK UPPER DOT ++ "" ++% HEBREW MARK LOWER DOT ++ "" ++% HEBREW POINT QAMATS QATAN ++ "" ++% ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM ++ "" ++% ARABIC SIGN ALAYHE ASSALLAM ++ "" ++% ARABIC SIGN RAHMATULLAH ALAYHE ++ "" ++% ARABIC SIGN RADI ALLAHOU ANHU ++ "" ++% ARABIC SIGN TAKHALLUS ++ "" ++% ARABIC SMALL HIGH TAH ++ "" ++% ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH ++ "" ++% ARABIC SMALL HIGH ZAIN ++ "" ++% ARABIC SMALL FATHA ++ "" ++% ARABIC SMALL DAMMA ++ "" ++% ARABIC SMALL KASRA ++ "" ++% ARABIC FATHATAN ++ "" ++% ARABIC DAMMATAN ++ "" ++% ARABIC KASRATAN ++ "" ++% ARABIC FATHA ++ "" ++% ARABIC DAMMA ++ "" ++% ARABIC KASRA ++ "" ++% ARABIC SHADDA ++ "" ++% ARABIC SUKUN ++ "" + % ARABIC MADDAH ABOVE + "" + % ARABIC HAMZA ABOVE + "" + % ARABIC HAMZA BELOW + "" ++% ARABIC SUBSCRIPT ALEF ++ "" ++% ARABIC INVERTED DAMMA ++ "" ++% ARABIC MARK NOON GHUNNA ++ "" ++% ARABIC ZWARAKAY ++ "" ++% ARABIC VOWEL SIGN SMALL V ABOVE ++ "" ++% ARABIC VOWEL SIGN INVERTED SMALL V ABOVE ++ "" ++% ARABIC VOWEL SIGN DOT BELOW ++ "" ++% ARABIC REVERSED DAMMA ++ "" ++% ARABIC FATHA WITH TWO DOTS ++ "" ++% ARABIC WAVY HAMZA BELOW ++ "" ++% ARABIC LETTER SUPERSCRIPT ALEF ++ "" ++% ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA ++ "" ++% ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA ++ "" ++% ARABIC SMALL HIGH MEEM INITIAL FORM ++ "" ++% ARABIC SMALL HIGH LAM ALEF ++ "" ++% ARABIC SMALL HIGH JEEM ++ "" ++% ARABIC SMALL HIGH THREE DOTS ++ "" ++% ARABIC SMALL HIGH SEEN ++ "" ++% ARABIC SMALL HIGH ROUNDED ZERO ++ "" ++% ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO ++ "" ++% ARABIC SMALL HIGH DOTLESS HEAD OF KHAH ++ "" ++% ARABIC SMALL HIGH MEEM ISOLATED FORM ++ "" ++% ARABIC SMALL LOW SEEN ++ "" ++% ARABIC SMALL HIGH MADDA ++ "" ++% ARABIC SMALL HIGH YEH ++ "" ++% ARABIC SMALL HIGH NOON ++ "" ++% ARABIC EMPTY CENTRE LOW STOP ++ "" ++% ARABIC EMPTY CENTRE HIGH STOP ++ "" ++% ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE ++ "" ++% ARABIC SMALL LOW MEEM ++ "" ++% ARABIC CURLY FATHA ++ "" ++% ARABIC CURLY DAMMA ++ "" ++% ARABIC CURLY KASRA ++ "" ++% ARABIC CURLY FATHATAN ++ "" ++% ARABIC CURLY DAMMATAN ++ "" ++% ARABIC CURLY KASRATAN ++ "" ++% ARABIC TONE ONE DOT ABOVE ++ "" ++% ARABIC TONE TWO DOTS ABOVE ++ "" ++% ARABIC TONE LOOP ABOVE ++ "" ++% ARABIC TONE ONE DOT BELOW ++ "" ++% ARABIC TONE TWO DOTS BELOW ++ "" ++% ARABIC TONE LOOP BELOW ++ "" ++% ARABIC OPEN FATHATAN ++ "" ++% ARABIC OPEN DAMMATAN ++ "" ++% ARABIC OPEN KASRATAN ++ "" ++% ARABIC SMALL HIGH WAW ++ "" ++% ARABIC FATHA WITH RING ++ "" ++% ARABIC FATHA WITH DOT ABOVE ++ "" ++% ARABIC KASRA WITH DOT BELOW ++ "" ++% ARABIC LEFT ARROWHEAD ABOVE ++ "" ++% ARABIC RIGHT ARROWHEAD ABOVE ++ "" ++% ARABIC LEFT ARROWHEAD BELOW ++ "" ++% ARABIC RIGHT ARROWHEAD BELOW ++ "" ++% ARABIC DOUBLE RIGHT ARROWHEAD ABOVE ++ "" ++% ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT ++ "" ++% ARABIC RIGHT ARROWHEAD ABOVE WITH DOT ++ "" ++% ARABIC DAMMA WITH DOT ++ "" ++% ARABIC MARK SIDEWAYS NOON GHUNNA ++ "" ++% COMBINING DOUBLED CIRCUMFLEX ACCENT ++ "" ++% COMBINING DIAERESIS-RING ++ "" ++% COMBINING INFINITY ++ "" ++% COMBINING DOWNWARDS ARROW ++ "" ++% COMBINING TRIPLE DOT ++ "" ++% COMBINING X-X BELOW ++ "" ++% COMBINING WIGGLY LINE BELOW ++ "" ++% COMBINING OPEN MARK BELOW ++ "" ++% COMBINING DOUBLE OPEN MARK BELOW ++ "" ++% COMBINING LIGHT CENTRALIZATION STROKE BELOW ++ "" ++% COMBINING STRONG CENTRALIZATION STROKE BELOW ++ "" ++% COMBINING PARENTHESES ABOVE ++ "" ++% COMBINING DOUBLE PARENTHESES ABOVE ++ "" ++% COMBINING PARENTHESES BELOW ++ "" ++% COMBINING PARENTHESES OVERLAY ++ "" ++% COMBINING DOTTED GRAVE ACCENT ++ "" ++% COMBINING DOTTED ACUTE ACCENT ++ "" ++% COMBINING SNAKE BELOW ++ "" ++% COMBINING SUSPENSION MARK ++ "" ++% COMBINING MACRON-ACUTE ++ "" ++% COMBINING GRAVE-MACRON ++ "" ++% COMBINING MACRON-GRAVE ++ "" ++% COMBINING ACUTE-MACRON ++ "" ++% COMBINING GRAVE-ACUTE-GRAVE ++ "" ++% COMBINING ACUTE-GRAVE-ACUTE ++ "" ++% COMBINING LATIN SMALL LETTER R BELOW ++ "" ++% COMBINING BREVE-MACRON ++ "" ++% COMBINING MACRON-BREVE ++ "" ++% COMBINING DOUBLE CIRCUMFLEX ABOVE ++ "" ++% COMBINING OGONEK ABOVE ++ "" ++% COMBINING ZIGZAG BELOW ++ "" ++% COMBINING IS BELOW ++ "" ++% COMBINING UR ABOVE ++ "" ++% COMBINING US ABOVE ++ "" ++% COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE ++ "" ++% COMBINING LATIN SMALL LETTER AE ++ "" ++% COMBINING LATIN SMALL LETTER AO ++ "" ++% COMBINING LATIN SMALL LETTER AV ++ "" ++% COMBINING LATIN SMALL LETTER C CEDILLA ++ "" ++% COMBINING LATIN SMALL LETTER INSULAR D ++ "" ++% COMBINING LATIN SMALL LETTER ETH ++ "" ++% COMBINING LATIN SMALL LETTER G ++ "" ++% COMBINING LATIN LETTER SMALL CAPITAL G ++ "" ++% COMBINING LATIN SMALL LETTER K ++ "" ++% COMBINING LATIN SMALL LETTER L ++ "" ++% COMBINING LATIN LETTER SMALL CAPITAL L ++ "" ++% COMBINING LATIN LETTER SMALL CAPITAL M ++ "" ++% COMBINING LATIN SMALL LETTER N ++ "" ++% COMBINING LATIN LETTER SMALL CAPITAL N ++ "" ++% COMBINING LATIN LETTER SMALL CAPITAL R ++ "" ++% COMBINING LATIN SMALL LETTER R ROTUNDA ++ "" ++% COMBINING LATIN SMALL LETTER S ++ "" ++% COMBINING LATIN SMALL LETTER LONG S ++ "" ++% COMBINING LATIN SMALL LETTER Z ++ "" ++% COMBINING LATIN SMALL LETTER ALPHA ++ "" ++% COMBINING LATIN SMALL LETTER B ++ "" ++% COMBINING LATIN SMALL LETTER BETA ++ "" ++% COMBINING LATIN SMALL LETTER SCHWA ++ "" ++% COMBINING LATIN SMALL LETTER F ++ "" ++% COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE ++ "" ++% COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE ++ "" ++% COMBINING LATIN SMALL LETTER P ++ "" ++% COMBINING LATIN SMALL LETTER ESH ++ "" ++% COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE ++ "" ++% COMBINING LATIN SMALL LETTER W ++ "" ++% COMBINING LATIN SMALL LETTER A WITH DIAERESIS ++ "" ++% COMBINING LATIN SMALL LETTER O WITH DIAERESIS ++ "" ++% COMBINING LATIN SMALL LETTER U WITH DIAERESIS ++ "" ++% COMBINING UP TACK ABOVE ++ "" ++% COMBINING DOUBLE INVERTED BREVE BELOW ++ "" ++% COMBINING ALMOST EQUAL TO BELOW ++ "" ++% COMBINING LEFT ARROWHEAD ABOVE ++ "" ++% COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW ++ "" ++% COMBINING LEFT HARPOON ABOVE ++ "" ++% COMBINING RIGHT HARPOON ABOVE ++ "" ++% COMBINING LONG VERTICAL LINE OVERLAY ++ "" ++% COMBINING SHORT VERTICAL LINE OVERLAY ++ "" ++% COMBINING ANTICLOCKWISE ARROW ABOVE ++ "" ++% COMBINING CLOCKWISE ARROW ABOVE ++ "" ++% COMBINING LEFT ARROW ABOVE ++ "" ++% COMBINING RIGHT ARROW ABOVE ++ "" ++% COMBINING RING OVERLAY ++ "" ++% COMBINING CLOCKWISE RING OVERLAY ++ "" ++% COMBINING ANTICLOCKWISE RING OVERLAY ++ "" ++% COMBINING THREE DOTS ABOVE ++ "" ++% COMBINING FOUR DOTS ABOVE ++ "" ++% COMBINING ENCLOSING CIRCLE ++ "" ++% COMBINING ENCLOSING SQUARE ++ "" ++% COMBINING ENCLOSING DIAMOND ++ "" ++% COMBINING ENCLOSING CIRCLE BACKSLASH ++ "" ++% COMBINING LEFT RIGHT ARROW ABOVE ++ "" ++% COMBINING ENCLOSING SCREEN ++ "" ++% COMBINING ENCLOSING KEYCAP ++ "" + % COMBINING ENCLOSING UPWARD POINTING TRIANGLE + "" + % COMBINING REVERSE SOLIDUS OVERLAY +@@ -251,10 +695,70 @@ translit_start + "" + % COMBINING LEFTWARDS ARROW OVERLAY + "" ++% COMBINING LONG DOUBLE SOLIDUS OVERLAY ++ "" ++% COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS ++ "" ++% COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS ++ "" ++% COMBINING LEFT ARROW BELOW ++ "" ++% COMBINING RIGHT ARROW BELOW ++ "" ++% COMBINING ASTERISK ABOVE ++ "" + % COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK + "" + % COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + "" ++% HEBREW POINT JUDEO-SPANISH VARIKA ++ "" ++% COMBINING LIGATURE LEFT HALF ++ "" ++% COMBINING LIGATURE RIGHT HALF ++ "" ++% COMBINING DOUBLE TILDE LEFT HALF ++ "" ++% COMBINING DOUBLE TILDE RIGHT HALF ++ "" ++% COMBINING MACRON LEFT HALF ++ "" ++% COMBINING MACRON RIGHT HALF ++ "" ++% COMBINING CONJOINING MACRON ++ "" ++% COMBINING LIGATURE LEFT HALF BELOW ++ "" ++% COMBINING LIGATURE RIGHT HALF BELOW ++ "" ++% COMBINING TILDE LEFT HALF BELOW ++ "" ++% COMBINING TILDE RIGHT HALF BELOW ++ "" ++% COMBINING MACRON LEFT HALF BELOW ++ "" ++% COMBINING MACRON RIGHT HALF BELOW ++ "" ++% COMBINING CONJOINING MACRON BELOW ++ "" ++% PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE ++ "" ++% COMBINING OLD PERMIC LETTER AN ++ "" ++% COMBINING OLD PERMIC LETTER DOI ++ "" ++% COMBINING OLD PERMIC LETTER ZATA ++ "" ++% COMBINING OLD PERMIC LETTER NENOE ++ "" ++% COMBINING OLD PERMIC LETTER SII ++ "" ++% COMBINING GREEK MUSICAL TRISEME ++ "" ++% COMBINING GREEK MUSICAL TETRASEME ++ "" ++% COMBINING GREEK MUSICAL PENTASEME ++ "" + + % LATIN CAPITAL LETTER A WITH GRAVE + +@@ -268,6 +772,8 @@ translit_start + + % LATIN CAPITAL LETTER A WITH RING ABOVE + ++% LATIN CAPITAL LETTER AE ++ "" + % LATIN CAPITAL LETTER C WITH CEDILLA + + % LATIN CAPITAL LETTER E WITH GRAVE +@@ -298,6 +804,8 @@ translit_start + + % LATIN CAPITAL LETTER O WITH DIAERESIS + ++% LATIN CAPITAL LETTER O WITH STROKE ++ + % LATIN CAPITAL LETTER U WITH GRAVE + + % LATIN CAPITAL LETTER U WITH ACUTE +@@ -320,6 +828,8 @@ translit_start + + % LATIN SMALL LETTER A WITH RING ABOVE + ++% LATIN SMALL LETTER AE ++ "" + % LATIN SMALL LETTER C WITH CEDILLA + + % LATIN SMALL LETTER E WITH GRAVE +@@ -350,6 +860,8 @@ translit_start + + % LATIN SMALL LETTER O WITH DIAERESIS + ++% LATIN SMALL LETTER O WITH STROKE ++ + % LATIN SMALL LETTER U WITH GRAVE + + % LATIN SMALL LETTER U WITH ACUTE +@@ -472,10 +984,6 @@ translit_start + + % LATIN SMALL LETTER L WITH CARON + +-% LATIN CAPITAL LETTER L WITH STROKE +- +-% LATIN SMALL LETTER L WITH STROKE +- + % LATIN CAPITAL LETTER N WITH ACUTE + + % LATIN SMALL LETTER N WITH ACUTE +@@ -673,9 +1181,9 @@ translit_start + % LATIN SMALL LETTER AE WITH ACUTE + ;"" + % LATIN CAPITAL LETTER O WITH STROKE AND ACUTE +- ++ ; + % LATIN SMALL LETTER O WITH STROKE AND ACUTE +- ++ ; + % LATIN CAPITAL LETTER A WITH DOUBLE GRAVE + + % LATIN SMALL LETTER A WITH DOUBLE GRAVE +@@ -764,14 +1272,6 @@ translit_start + + % LATIN SMALL LETTER Y WITH MACRON + +-% COMBINING GRAVE TONE MARK +- +-% COMBINING ACUTE TONE MARK +- +-% COMBINING GREEK KORONIS +- +-% COMBINING GREEK DIALYTIKA TONOS +- + % GREEK NUMERAL SIGN + + % GREEK QUESTION MARK +@@ -928,6 +1428,8 @@ translit_start + + % CYRILLIC SMALL LETTER YERU WITH DIAERESIS + ++% HEBREW LIGATURE YIDDISH DOUBLE YOD ++ "" + % ARABIC LETTER ALEF WITH MADDA ABOVE + + % ARABIC LETTER ALEF WITH HAMZA ABOVE +@@ -1017,7 +1519,7 @@ translit_start + % KANNADA VOWEL SIGN O + "" + % KANNADA VOWEL SIGN OO +- "" ++ "" + % MALAYALAM VOWEL SIGN O + "" + % MALAYALAM VOWEL SIGN OO +@@ -1029,7 +1531,7 @@ translit_start + % SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA + "" + % SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA +- "" ++ "" + % SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA + "" + % TIBETAN LETTER GHA +@@ -2020,16 +2522,114 @@ translit_start + ; + % EM QUAD + ; ++% EN SPACE ++ ++% EM SPACE ++ + % OHM SIGN + + % KELVIN SIGN + + % ANGSTROM SIGN +- ++ ++% LEFTWARDS ARROW WITH STROKE ++ ++% RIGHTWARDS ARROW WITH STROKE ++ ++% LEFT RIGHT ARROW WITH STROKE ++ "" ++% LEFTWARDS DOUBLE ARROW WITH STROKE ++ "" ++% LEFT RIGHT DOUBLE ARROW WITH STROKE ++ "" ++% RIGHTWARDS DOUBLE ARROW WITH STROKE ++ "" ++% THERE DOES NOT EXIST ++ "" ++% NOT AN ELEMENT OF ++ "" ++% DOES NOT CONTAIN AS MEMBER ++ "" ++% DOES NOT DIVIDE ++ "" ++% NOT PARALLEL TO ++ "" ++% NOT TILDE ++ "" ++% NOT ASYMPTOTICALLY EQUAL TO ++ "" ++% NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO ++ "" ++% NOT ALMOST EQUAL TO ++ "" ++% NOT EQUAL TO ++ "" ++% NOT IDENTICAL TO ++ "" ++% NOT EQUIVALENT TO ++ "" ++% NOT LESS-THAN ++ "" ++% NOT GREATER-THAN ++ "" ++% NEITHER LESS-THAN NOR EQUAL TO ++ "" ++% NEITHER GREATER-THAN NOR EQUAL TO ++ "" ++% NEITHER LESS-THAN NOR EQUIVALENT TO ++ "" ++% NEITHER GREATER-THAN NOR EQUIVALENT TO ++ "" ++% NEITHER LESS-THAN NOR GREATER-THAN ++ "" ++% NEITHER GREATER-THAN NOR LESS-THAN ++ "" ++% DOES NOT PRECEDE ++ "" ++% DOES NOT SUCCEED ++ "" ++% NOT A SUBSET OF ++ "" ++% NOT A SUPERSET OF ++ "" ++% NEITHER A SUBSET OF NOR EQUAL TO ++ "" ++% NEITHER A SUPERSET OF NOR EQUAL TO ++ "" ++% DOES NOT PROVE ++ "" ++% NOT TRUE ++ "" ++% DOES NOT FORCE ++ "" ++% NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE ++ "" ++% DOES NOT PRECEDE OR EQUAL ++ "" ++% DOES NOT SUCCEED OR EQUAL ++ "" ++% NOT SQUARE IMAGE OF OR EQUAL TO ++ "" ++% NOT SQUARE ORIGINAL OF OR EQUAL TO ++ "" ++% NOT NORMAL SUBGROUP OF ++ "" ++% DOES NOT CONTAIN AS NORMAL SUBGROUP ++ "" ++% NOT NORMAL SUBGROUP OF OR EQUAL TO ++ "" ++% DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL ++ "" + % LEFT-POINTING ANGLE BRACKET + ; + % RIGHT-POINTING ANGLE BRACKET + ; ++% FORKING ++ "" ++% LEFT ANGLE BRACKET ++ ++% RIGHT ANGLE BRACKET ++ + % HIRAGANA LETTER GA + + % HIRAGANA LETTER GI +diff --git a/localedata/locales/translit_compat b/localedata/locales/translit_compat +index bb9d660..6e45220 100644 +--- a/localedata/locales/translit_compat ++++ b/localedata/locales/translit_compat +@@ -2,18 +2,24 @@ escape_char / + comment_char % + + % Transliterations of compatibility characters and ligatures. +-% Generated through +-% $ grep '^[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;' UnicodeData.txt | \ +-% sed -e 's/^\([^;]*\);\([^;]*\);[^;]*;[^;]*;[^;]*; \([^;]*\);.*$/ ""% \2/' | grep -v '0020 03[0-6][0-9A-F]' | sed -e 'h' -e 's/^\([^%]*\)% .*$/\1/' -e 's/\([0-9A-F]\) \([0-9A-F]\)/\1> "" ++% SUPERSCRIPT TWO ++ "" ++% SUPERSCRIPT THREE ++ "" + % MICRO SIGN +- ""; ++ "";"" ++% SUPERSCRIPT ONE ++ "" ++% MASCULINE ORDINAL INDICATOR ++ "" + % LATIN CAPITAL LIGATURE IJ + "" + % LATIN SMALL LIGATURE IJ +@@ -54,6 +60,38 @@ translit_start + "" + % LATIN SMALL LETTER DZ + "" ++% MODIFIER LETTER SMALL H ++ "" ++% MODIFIER LETTER SMALL H WITH HOOK ++ "" ++% MODIFIER LETTER SMALL J ++ "" ++% MODIFIER LETTER SMALL R ++ "" ++% MODIFIER LETTER SMALL TURNED R ++ "" ++% MODIFIER LETTER SMALL TURNED R WITH HOOK ++ "" ++% MODIFIER LETTER SMALL CAPITAL INVERTED R ++ "" ++% MODIFIER LETTER SMALL W ++ "" ++% MODIFIER LETTER SMALL Y ++ "" ++% MODIFIER LETTER APOSTROPHE ++ "" ++% MODIFIER LETTER SMALL GAMMA ++ "" ++% MODIFIER LETTER SMALL L ++ "" ++% MODIFIER LETTER SMALL S ++ "" ++% MODIFIER LETTER SMALL X ++ "" ++% MODIFIER LETTER SMALL REVERSED GLOTTAL STOP ++ "" ++% GREEK SMALL LETTER MU ++ "" + % GREEK BETA SYMBOL + "" + % GREEK THETA SYMBOL +@@ -74,6 +112,20 @@ translit_start + "" + % GREEK LUNATE EPSILON SYMBOL + "" ++% GREEK CAPITAL LUNATE SIGMA SYMBOL ++ "" ++% CYRILLIC CAPITAL LIGATURE EN GHE ++ "" ++% CYRILLIC SMALL LIGATURE EN GHE ++ "" ++% CYRILLIC CAPITAL LIGATURE TE TSE ++ "" ++% CYRILLIC SMALL LIGATURE TE TSE ++ "" ++% CYRILLIC CAPITAL LIGATURE A IE ++ "" ++% CYRILLIC SMALL LIGATURE A IE ++ "" + % ARMENIAN SMALL LIGATURE ECH YIWN + "" + % HEBREW LIGATURE YIDDISH DOUBLE VAV +@@ -102,6 +154,204 @@ translit_start + "" + % TIBETAN VOWEL SIGN VOCALIC LL + "" ++% MODIFIER LETTER GEORGIAN NAR ++ "" ++% MODIFIER LETTER CAPITAL A ++ "" ++% MODIFIER LETTER CAPITAL AE ++ "" ++% MODIFIER LETTER CAPITAL B ++ "" ++% MODIFIER LETTER CAPITAL D ++ "" ++% MODIFIER LETTER CAPITAL E ++ "" ++% MODIFIER LETTER CAPITAL REVERSED E ++ "" ++% MODIFIER LETTER CAPITAL G ++ "" ++% MODIFIER LETTER CAPITAL H ++ "" ++% MODIFIER LETTER CAPITAL I ++ "" ++% MODIFIER LETTER CAPITAL J ++ "" ++% MODIFIER LETTER CAPITAL K ++ "" ++% MODIFIER LETTER CAPITAL L ++ "" ++% MODIFIER LETTER CAPITAL M ++ "" ++% MODIFIER LETTER CAPITAL N ++ "" ++% MODIFIER LETTER CAPITAL O ++ "" ++% MODIFIER LETTER CAPITAL OU ++ "" ++% MODIFIER LETTER CAPITAL P ++ "" ++% MODIFIER LETTER CAPITAL R ++ "" ++% MODIFIER LETTER CAPITAL T ++ "" ++% MODIFIER LETTER CAPITAL U ++ "" ++% MODIFIER LETTER CAPITAL W ++ "" ++% MODIFIER LETTER SMALL A ++ "" ++% MODIFIER LETTER SMALL TURNED A ++ "" ++% MODIFIER LETTER SMALL ALPHA ++ "" ++% MODIFIER LETTER SMALL TURNED AE ++ "" ++% MODIFIER LETTER SMALL B ++ "" ++% MODIFIER LETTER SMALL D ++ "" ++% MODIFIER LETTER SMALL E ++ "" ++% MODIFIER LETTER SMALL SCHWA ++ "" ++% MODIFIER LETTER SMALL OPEN E ++ "" ++% MODIFIER LETTER SMALL TURNED OPEN E ++ "" ++% MODIFIER LETTER SMALL G ++ "" ++% MODIFIER LETTER SMALL K ++ "" ++% MODIFIER LETTER SMALL M ++ "" ++% MODIFIER LETTER SMALL ENG ++ "" ++% MODIFIER LETTER SMALL O ++ "" ++% MODIFIER LETTER SMALL OPEN O ++ "" ++% MODIFIER LETTER SMALL TOP HALF O ++ "" ++% MODIFIER LETTER SMALL BOTTOM HALF O ++ "" ++% MODIFIER LETTER SMALL P ++ "" ++% MODIFIER LETTER SMALL T ++ "" ++% MODIFIER LETTER SMALL U ++ "" ++% MODIFIER LETTER SMALL SIDEWAYS U ++ "" ++% MODIFIER LETTER SMALL TURNED M ++ "" ++% MODIFIER LETTER SMALL V ++ "" ++% MODIFIER LETTER SMALL AIN ++ "" ++% MODIFIER LETTER SMALL BETA ++ "" ++% MODIFIER LETTER SMALL GREEK GAMMA ++ "" ++% MODIFIER LETTER SMALL DELTA ++ "" ++% MODIFIER LETTER SMALL GREEK PHI ++ "" ++% MODIFIER LETTER SMALL CHI ++ "" ++% LATIN SUBSCRIPT SMALL LETTER I ++ "" ++% LATIN SUBSCRIPT SMALL LETTER R ++ "" ++% LATIN SUBSCRIPT SMALL LETTER U ++ "" ++% LATIN SUBSCRIPT SMALL LETTER V ++ "" ++% GREEK SUBSCRIPT SMALL LETTER BETA ++ "" ++% GREEK SUBSCRIPT SMALL LETTER GAMMA ++ "" ++% GREEK SUBSCRIPT SMALL LETTER RHO ++ "" ++% GREEK SUBSCRIPT SMALL LETTER PHI ++ "" ++% GREEK SUBSCRIPT SMALL LETTER CHI ++ "" ++% MODIFIER LETTER CYRILLIC EN ++ "" ++% MODIFIER LETTER SMALL TURNED ALPHA ++ "" ++% MODIFIER LETTER SMALL C ++ "" ++% MODIFIER LETTER SMALL C WITH CURL ++ "" ++% MODIFIER LETTER SMALL ETH ++ "" ++% MODIFIER LETTER SMALL REVERSED OPEN E ++ "" ++% MODIFIER LETTER SMALL F ++ "" ++% MODIFIER LETTER SMALL DOTLESS J WITH STROKE ++ "" ++% MODIFIER LETTER SMALL SCRIPT G ++ "" ++% MODIFIER LETTER SMALL TURNED H ++ "" ++% MODIFIER LETTER SMALL I WITH STROKE ++ "" ++% MODIFIER LETTER SMALL IOTA ++ "" ++% MODIFIER LETTER SMALL CAPITAL I ++ "" ++% MODIFIER LETTER SMALL CAPITAL I WITH STROKE ++ "" ++% MODIFIER LETTER SMALL J WITH CROSSED-TAIL ++ "" ++% MODIFIER LETTER SMALL L WITH RETROFLEX HOOK ++ "" ++% MODIFIER LETTER SMALL L WITH PALATAL HOOK ++ "" ++% MODIFIER LETTER SMALL CAPITAL L ++ "" ++% MODIFIER LETTER SMALL M WITH HOOK ++ "" ++% MODIFIER LETTER SMALL TURNED M WITH LONG LEG ++ "" ++% MODIFIER LETTER SMALL N WITH LEFT HOOK ++ "" ++% MODIFIER LETTER SMALL N WITH RETROFLEX HOOK ++ "" ++% MODIFIER LETTER SMALL CAPITAL N ++ "" ++% MODIFIER LETTER SMALL BARRED O ++ "" ++% MODIFIER LETTER SMALL PHI ++ "" ++% MODIFIER LETTER SMALL S WITH HOOK ++ "" ++% MODIFIER LETTER SMALL ESH ++ "" ++% MODIFIER LETTER SMALL T WITH PALATAL HOOK ++ "" ++% MODIFIER LETTER SMALL U BAR ++ "" ++% MODIFIER LETTER SMALL UPSILON ++ "" ++% MODIFIER LETTER SMALL CAPITAL U ++ "" ++% MODIFIER LETTER SMALL V WITH HOOK ++ "" ++% MODIFIER LETTER SMALL TURNED V ++ "" ++% MODIFIER LETTER SMALL Z ++ "" ++% MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK ++ "" ++% MODIFIER LETTER SMALL Z WITH CURL ++ "" ++% MODIFIER LETTER SMALL EZH ++ "" ++% MODIFIER LETTER SMALL THETA ++ "" + % LATIN SMALL LETTER A WITH RIGHT HALF RING + "" + % EN SPACE +@@ -146,6 +396,90 @@ translit_start + "" + % MEDIUM MATHEMATICAL SPACE + "" ++% SUPERSCRIPT ZERO ++ "" ++% SUPERSCRIPT LATIN SMALL LETTER I ++ "" ++% SUPERSCRIPT FOUR ++ "" ++% SUPERSCRIPT FIVE ++ "" ++% SUPERSCRIPT SIX ++ "" ++% SUPERSCRIPT SEVEN ++ "" ++% SUPERSCRIPT EIGHT ++ "" ++% SUPERSCRIPT NINE ++ "" ++% SUPERSCRIPT PLUS SIGN ++ "" ++% SUPERSCRIPT MINUS ++ "" ++% SUPERSCRIPT EQUALS SIGN ++ "" ++% SUPERSCRIPT LEFT PARENTHESIS ++ "" ++% SUPERSCRIPT RIGHT PARENTHESIS ++ "" ++% SUPERSCRIPT LATIN SMALL LETTER N ++ "" ++% SUBSCRIPT ZERO ++ "" ++% SUBSCRIPT ONE ++ "" ++% SUBSCRIPT TWO ++ "" ++% SUBSCRIPT THREE ++ "" ++% SUBSCRIPT FOUR ++ "" ++% SUBSCRIPT FIVE ++ "" ++% SUBSCRIPT SIX ++ "" ++% SUBSCRIPT SEVEN ++ "" ++% SUBSCRIPT EIGHT ++ "" ++% SUBSCRIPT NINE ++ "" ++% SUBSCRIPT PLUS SIGN ++ "" ++% SUBSCRIPT MINUS ++ "" ++% SUBSCRIPT EQUALS SIGN ++ "" ++% SUBSCRIPT LEFT PARENTHESIS ++ "" ++% SUBSCRIPT RIGHT PARENTHESIS ++ "" ++% LATIN SUBSCRIPT SMALL LETTER A ++ "" ++% LATIN SUBSCRIPT SMALL LETTER E ++ "" ++% LATIN SUBSCRIPT SMALL LETTER O ++ "" ++% LATIN SUBSCRIPT SMALL LETTER X ++ "" ++% LATIN SUBSCRIPT SMALL LETTER SCHWA ++ "" ++% LATIN SUBSCRIPT SMALL LETTER H ++ "" ++% LATIN SUBSCRIPT SMALL LETTER K ++ "" ++% LATIN SUBSCRIPT SMALL LETTER L ++ "" ++% LATIN SUBSCRIPT SMALL LETTER M ++ "" ++% LATIN SUBSCRIPT SMALL LETTER N ++ "" ++% LATIN SUBSCRIPT SMALL LETTER P ++ "" ++% LATIN SUBSCRIPT SMALL LETTER S ++ "" ++% LATIN SUBSCRIPT SMALL LETTER T ++ "" + % RUPEE SIGN + "" + % ACCOUNT OF +@@ -164,8 +498,12 @@ translit_start + "" + % NUMERO SIGN + "" ++% SERVICE MARK ++ "" + % TELEPHONE SIGN + "" ++% TRADE MARK SIGN ++ "" + % ALEF SYMBOL + "" + % BET SYMBOL +@@ -174,6 +512,8 @@ translit_start + "" + % DALET SYMBOL + "" ++% FACSIMILE SIGN ++ "" + % ROMAN NUMERAL ONE + "" + % ROMAN NUMERAL TWO +@@ -386,6 +726,12 @@ translit_start + "" + % THREE CONSECUTIVE EQUALS SIGNS + "" ++% LATIN SUBSCRIPT SMALL LETTER J ++ "" ++% MODIFIER LETTER CAPITAL V ++ "" ++% TIFINAGH MODIFIER LETTER LABIALIZATION MARK ++ "" + % CJK RADICAL MOTHER + "" + % CJK RADICAL C-SIMPLIFIED TURTLE +@@ -830,6 +1176,10 @@ translit_start + "" + % KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + "" ++% HIRAGANA DIGRAPH YORI ++ "" ++% KATAKANA DIGRAPH KOTO ++ "" + % HANGUL LETTER KIYEOK + "" + % HANGUL LETTER SSANGKIYEOK +@@ -1018,6 +1368,34 @@ translit_start + "" + % HANGUL LETTER ARAEAE + "" ++% IDEOGRAPHIC ANNOTATION ONE MARK ++ "" ++% IDEOGRAPHIC ANNOTATION TWO MARK ++ "" ++% IDEOGRAPHIC ANNOTATION THREE MARK ++ "" ++% IDEOGRAPHIC ANNOTATION FOUR MARK ++ "" ++% IDEOGRAPHIC ANNOTATION TOP MARK ++ "" ++% IDEOGRAPHIC ANNOTATION MIDDLE MARK ++ "" ++% IDEOGRAPHIC ANNOTATION BOTTOM MARK ++ "" ++% IDEOGRAPHIC ANNOTATION FIRST MARK ++ "" ++% IDEOGRAPHIC ANNOTATION SECOND MARK ++ "" ++% IDEOGRAPHIC ANNOTATION THIRD MARK ++ "" ++% IDEOGRAPHIC ANNOTATION FOURTH MARK ++ "" ++% IDEOGRAPHIC ANNOTATION HEAVEN MARK ++ "" ++% IDEOGRAPHIC ANNOTATION EARTH MARK ++ "" ++% IDEOGRAPHIC ANNOTATION MAN MARK ++ "" + % PARENTHESIZED HANGUL KIYEOK + "" + % PARENTHESIZED HANGUL NIEUN +@@ -1076,6 +1454,10 @@ translit_start + "" + % PARENTHESIZED HANGUL CIEUC U + "" ++% PARENTHESIZED KOREAN CHARACTER OJEON ++ "" ++% PARENTHESIZED KOREAN CHARACTER O HU ++ "" + % PARENTHESIZED IDEOGRAPH ONE + "" + % PARENTHESIZED IDEOGRAPH TWO +@@ -1284,6 +1666,24 @@ translit_start + "" + % IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE + "" ++% MODIFIER LETTER CYRILLIC HARD SIGN ++ "" ++% MODIFIER LETTER CYRILLIC SOFT SIGN ++ "" ++% MODIFIER LETTER US ++ "" ++% MODIFIER LETTER CAPITAL H WITH STROKE ++ "" ++% MODIFIER LETTER SMALL LIGATURE OE ++ "" ++% MODIFIER LETTER SMALL HENG ++ "" ++% MODIFIER LETTER SMALL L WITH INVERTED LAZY S ++ "" ++% MODIFIER LETTER SMALL L WITH MIDDLE TILDE ++ "" ++% MODIFIER LETTER SMALL U WITH LEFT HOOK ++ "" + % LATIN SMALL LIGATURE FF + "" + % LATIN SMALL LIGATURE FI +@@ -1295,7 +1695,7 @@ translit_start + % LATIN SMALL LIGATURE FFL + "" + % LATIN SMALL LIGATURE LONG S T +- "" ++ "" + % LATIN SMALL LIGATURE ST + "" + % ARMENIAN SMALL LIGATURE MEN NOW +@@ -1310,6 +1710,72 @@ translit_start + "" + % HEBREW LIGATURE ALEF LAMED + "" ++% PRESENTATION FORM FOR VERTICAL COMMA ++ "" ++% PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA ++ "" ++% PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP ++ "" ++% PRESENTATION FORM FOR VERTICAL COLON ++ "" ++% PRESENTATION FORM FOR VERTICAL SEMICOLON ++ "" ++% PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK ++ "" ++% PRESENTATION FORM FOR VERTICAL QUESTION MARK ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET ++ "" ++% PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS ++ "" ++% PRESENTATION FORM FOR VERTICAL TWO DOT LEADER ++ "" ++% PRESENTATION FORM FOR VERTICAL EM DASH ++ "" ++% PRESENTATION FORM FOR VERTICAL EN DASH ++ "" ++% PRESENTATION FORM FOR VERTICAL LOW LINE ++ "" ++% PRESENTATION FORM FOR VERTICAL WAVY LOW LINE ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET ++ "" ++% PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET ++ "" + % DASHED OVERLINE + "" + % CENTRELINE OVERLINE +@@ -1324,6 +1790,104 @@ translit_start + "" + % WAVY LOW LINE + "" ++% DIGIT ZERO FULL STOP ++ "" ++% DIGIT ZERO COMMA ++ "" ++% DIGIT ONE COMMA ++ "" ++% DIGIT TWO COMMA ++ "" ++% DIGIT THREE COMMA ++ "" ++% DIGIT FOUR COMMA ++ "" ++% DIGIT FIVE COMMA ++ "" ++% DIGIT SIX COMMA ++ "" ++% DIGIT SEVEN COMMA ++ "" ++% DIGIT EIGHT COMMA ++ "" ++% DIGIT NINE COMMA ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER A ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER B ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER C ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER D ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER E ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER F ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER G ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER H ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER I ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER J ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER K ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER L ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER M ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER N ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER O ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER P ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER Q ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER R ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER S ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER T ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER U ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER V ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER W ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER X ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER Y ++ "" ++% PARENTHESIZED LATIN CAPITAL LETTER Z ++ "" ++% TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S ++ "" ++% RAISED MC SIGN ++ "" ++% RAISED MD SIGN ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09 ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89 ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9 ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253 ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7 ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD ++ "" ++% TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 ++ "" + + translit_end + +diff --git a/localedata/locales/translit_font b/localedata/locales/translit_font +index 9347bd4..65e0d90 100644 +--- a/localedata/locales/translit_font ++++ b/localedata/locales/translit_font +@@ -2,9 +2,7 @@ escape_char / + comment_char % + + % Transliterations of font equivalents. +-% Generated through +-% $ grep '^[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;' UnicodeData.txt | \ +-% sed -e 's/^\([^;]*\);\([^;]*\);[^;]*;[^;]*;[^;]*; \([^;]*\);.*$/ % \2/' ++% Generated automatically from UnicodeData.txt by gen_translit_font.py on 2015-06-10 for Unicode 7.0.0. + + LC_CTYPE + +@@ -37,6 +35,7 @@ translit_start + % SCRIPT CAPITAL M + % SCRIPT SMALL O + % INFORMATION SOURCE ++ % DOUBLE-STRUCK SMALL PI + % DOUBLE-STRUCK SMALL GAMMA + % DOUBLE-STRUCK CAPITAL GAMMA + % DOUBLE-STRUCK CAPITAL PI +@@ -238,6 +237,7 @@ translit_start + % MATHEMATICAL SCRIPT SMALL I + % MATHEMATICAL SCRIPT SMALL J + % MATHEMATICAL SCRIPT SMALL K ++ % MATHEMATICAL SCRIPT SMALL L + % MATHEMATICAL SCRIPT SMALL M + % MATHEMATICAL SCRIPT SMALL N + % MATHEMATICAL SCRIPT SMALL P +@@ -707,6 +707,8 @@ translit_start + % MATHEMATICAL MONOSPACE SMALL X + % MATHEMATICAL MONOSPACE SMALL Y + % MATHEMATICAL MONOSPACE SMALL Z ++ % MATHEMATICAL ITALIC SMALL DOTLESS I ++ % MATHEMATICAL ITALIC SMALL DOTLESS J + % MATHEMATICAL BOLD CAPITAL ALPHA + % MATHEMATICAL BOLD CAPITAL BETA + % MATHEMATICAL BOLD CAPITAL GAMMA +@@ -997,6 +999,8 @@ translit_start + % MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL + % MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL + % MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL ++ % MATHEMATICAL BOLD CAPITAL DIGAMMA ++ % MATHEMATICAL BOLD SMALL DIGAMMA + % MATHEMATICAL BOLD DIGIT ZERO + % MATHEMATICAL BOLD DIGIT ONE + % MATHEMATICAL BOLD DIGIT TWO +@@ -1047,6 +1051,147 @@ translit_start + % MATHEMATICAL MONOSPACE DIGIT SEVEN + % MATHEMATICAL MONOSPACE DIGIT EIGHT + % MATHEMATICAL MONOSPACE DIGIT NINE ++ % ARABIC MATHEMATICAL ALEF ++ % ARABIC MATHEMATICAL BEH ++ % ARABIC MATHEMATICAL JEEM ++ % ARABIC MATHEMATICAL DAL ++ % ARABIC MATHEMATICAL WAW ++ % ARABIC MATHEMATICAL ZAIN ++ % ARABIC MATHEMATICAL HAH ++ % ARABIC MATHEMATICAL TAH ++ % ARABIC MATHEMATICAL YEH ++ % ARABIC MATHEMATICAL KAF ++ % ARABIC MATHEMATICAL LAM ++ % ARABIC MATHEMATICAL MEEM ++ % ARABIC MATHEMATICAL NOON ++ % ARABIC MATHEMATICAL SEEN ++ % ARABIC MATHEMATICAL AIN ++ % ARABIC MATHEMATICAL FEH ++ % ARABIC MATHEMATICAL SAD ++ % ARABIC MATHEMATICAL QAF ++ % ARABIC MATHEMATICAL REH ++ % ARABIC MATHEMATICAL SHEEN ++ % ARABIC MATHEMATICAL TEH ++ % ARABIC MATHEMATICAL THEH ++ % ARABIC MATHEMATICAL KHAH ++ % ARABIC MATHEMATICAL THAL ++ % ARABIC MATHEMATICAL DAD ++ % ARABIC MATHEMATICAL ZAH ++ % ARABIC MATHEMATICAL GHAIN ++ % ARABIC MATHEMATICAL DOTLESS BEH ++ % ARABIC MATHEMATICAL DOTLESS NOON ++ % ARABIC MATHEMATICAL DOTLESS FEH ++ % ARABIC MATHEMATICAL DOTLESS QAF ++ % ARABIC MATHEMATICAL INITIAL BEH ++ % ARABIC MATHEMATICAL INITIAL JEEM ++ % ARABIC MATHEMATICAL INITIAL HEH ++ % ARABIC MATHEMATICAL INITIAL HAH ++ % ARABIC MATHEMATICAL INITIAL YEH ++ % ARABIC MATHEMATICAL INITIAL KAF ++ % ARABIC MATHEMATICAL INITIAL LAM ++ % ARABIC MATHEMATICAL INITIAL MEEM ++ % ARABIC MATHEMATICAL INITIAL NOON ++ % ARABIC MATHEMATICAL INITIAL SEEN ++ % ARABIC MATHEMATICAL INITIAL AIN ++ % ARABIC MATHEMATICAL INITIAL FEH ++ % ARABIC MATHEMATICAL INITIAL SAD ++ % ARABIC MATHEMATICAL INITIAL QAF ++ % ARABIC MATHEMATICAL INITIAL SHEEN ++ % ARABIC MATHEMATICAL INITIAL TEH ++ % ARABIC MATHEMATICAL INITIAL THEH ++ % ARABIC MATHEMATICAL INITIAL KHAH ++ % ARABIC MATHEMATICAL INITIAL DAD ++ % ARABIC MATHEMATICAL INITIAL GHAIN ++ % ARABIC MATHEMATICAL TAILED JEEM ++ % ARABIC MATHEMATICAL TAILED HAH ++ % ARABIC MATHEMATICAL TAILED YEH ++ % ARABIC MATHEMATICAL TAILED LAM ++ % ARABIC MATHEMATICAL TAILED NOON ++ % ARABIC MATHEMATICAL TAILED SEEN ++ % ARABIC MATHEMATICAL TAILED AIN ++ % ARABIC MATHEMATICAL TAILED SAD ++ % ARABIC MATHEMATICAL TAILED QAF ++ % ARABIC MATHEMATICAL TAILED SHEEN ++ % ARABIC MATHEMATICAL TAILED KHAH ++ % ARABIC MATHEMATICAL TAILED DAD ++ % ARABIC MATHEMATICAL TAILED GHAIN ++ % ARABIC MATHEMATICAL TAILED DOTLESS NOON ++ % ARABIC MATHEMATICAL TAILED DOTLESS QAF ++ % ARABIC MATHEMATICAL STRETCHED BEH ++ % ARABIC MATHEMATICAL STRETCHED JEEM ++ % ARABIC MATHEMATICAL STRETCHED HEH ++ % ARABIC MATHEMATICAL STRETCHED HAH ++ % ARABIC MATHEMATICAL STRETCHED TAH ++ % ARABIC MATHEMATICAL STRETCHED YEH ++ % ARABIC MATHEMATICAL STRETCHED KAF ++ % ARABIC MATHEMATICAL STRETCHED MEEM ++ % ARABIC MATHEMATICAL STRETCHED NOON ++ % ARABIC MATHEMATICAL STRETCHED SEEN ++ % ARABIC MATHEMATICAL STRETCHED AIN ++ % ARABIC MATHEMATICAL STRETCHED FEH ++ % ARABIC MATHEMATICAL STRETCHED SAD ++ % ARABIC MATHEMATICAL STRETCHED QAF ++ % ARABIC MATHEMATICAL STRETCHED SHEEN ++ % ARABIC MATHEMATICAL STRETCHED TEH ++ % ARABIC MATHEMATICAL STRETCHED THEH ++ % ARABIC MATHEMATICAL STRETCHED KHAH ++ % ARABIC MATHEMATICAL STRETCHED DAD ++ % ARABIC MATHEMATICAL STRETCHED ZAH ++ % ARABIC MATHEMATICAL STRETCHED GHAIN ++ % ARABIC MATHEMATICAL STRETCHED DOTLESS BEH ++ % ARABIC MATHEMATICAL STRETCHED DOTLESS FEH ++ % ARABIC MATHEMATICAL LOOPED ALEF ++ % ARABIC MATHEMATICAL LOOPED BEH ++ % ARABIC MATHEMATICAL LOOPED JEEM ++ % ARABIC MATHEMATICAL LOOPED DAL ++ % ARABIC MATHEMATICAL LOOPED HEH ++ % ARABIC MATHEMATICAL LOOPED WAW ++ % ARABIC MATHEMATICAL LOOPED ZAIN ++ % ARABIC MATHEMATICAL LOOPED HAH ++ % ARABIC MATHEMATICAL LOOPED TAH ++ % ARABIC MATHEMATICAL LOOPED YEH ++ % ARABIC MATHEMATICAL LOOPED LAM ++ % ARABIC MATHEMATICAL LOOPED MEEM ++ % ARABIC MATHEMATICAL LOOPED NOON ++ % ARABIC MATHEMATICAL LOOPED SEEN ++ % ARABIC MATHEMATICAL LOOPED AIN ++ % ARABIC MATHEMATICAL LOOPED FEH ++ % ARABIC MATHEMATICAL LOOPED SAD ++ % ARABIC MATHEMATICAL LOOPED QAF ++ % ARABIC MATHEMATICAL LOOPED REH ++ % ARABIC MATHEMATICAL LOOPED SHEEN ++ % ARABIC MATHEMATICAL LOOPED TEH ++ % ARABIC MATHEMATICAL LOOPED THEH ++ % ARABIC MATHEMATICAL LOOPED KHAH ++ % ARABIC MATHEMATICAL LOOPED THAL ++ % ARABIC MATHEMATICAL LOOPED DAD ++ % ARABIC MATHEMATICAL LOOPED ZAH ++ % ARABIC MATHEMATICAL LOOPED GHAIN ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK BEH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK DAL ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK WAW ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK HAH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK TAH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK YEH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK LAM ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK NOON ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK AIN ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK FEH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK SAD ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK QAF ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK REH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK TEH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK THEH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK THAL ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK DAD ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH ++ % ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN + + translit_end + +diff --git a/localedata/locales/translit_fraction b/localedata/locales/translit_fraction +index 50dbd78..30f2843 100644 +--- a/localedata/locales/translit_fraction ++++ b/localedata/locales/translit_fraction +@@ -2,10 +2,7 @@ escape_char / + comment_char % + + % Transliterations of fractions. +-% Generated through +-% $ grep '^[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;' UnicodeData.txt | \ +-% sed -e 's/^\([^;]*\);\([^;]*\);[^;]*;[^;]*;[^;]*; \([^;]*\);.*$/ ""% \2/' -e 'h' -e 's/^\([^%]*\)% .*$/\1/' -e 's/\([0-9A-F]\) \([0-9A-F]\)/\1> "";"" + % VULGAR FRACTION THREE QUARTERS + "";"" ++% VULGAR FRACTION ONE SEVENTH ++ "";"" ++% VULGAR FRACTION ONE NINTH ++ "";"" ++% VULGAR FRACTION ONE TENTH ++ "";"" + % VULGAR FRACTION ONE THIRD + "";"" + % VULGAR FRACTION TWO THIRDS +@@ -44,7 +47,9 @@ translit_start + % VULGAR FRACTION SEVEN EIGHTHS + "";"" + % FRACTION NUMERATOR ONE +- "";"" ++ "";"" ++% VULGAR FRACTION ZERO THIRDS ++ "";"" + + translit_end + +diff --git a/localedata/unicode-gen/Makefile b/localedata/unicode-gen/Makefile +index 166ee31..920bf0e 100644 +--- a/localedata/unicode-gen/Makefile ++++ b/localedata/unicode-gen/Makefile +@@ -41,7 +41,7 @@ PYTHON3 = python3 + WGET = wget + + DOWNLOADS = UnicodeData.txt DerivedCoreProperties.txt EastAsianWidth.txt +-GENERATED = i18n UTF-8 ++GENERATED = i18n UTF-8 translit_combining translit_compat translit_circle translit_cjk_compat translit_font translit_fraction + REPORTS = i18n-report UTF-8-report + + all: $(GENERATED) +@@ -51,6 +51,12 @@ check: check-i18n check-UTF-8 + install: + cp -p i18n ../locales/i18n + cp -p UTF-8 ../charmaps/UTF-8 ++ cp -p translit_combining ../locales/translit_combining ++ cp -p translit_compat ../locales/translit_compat ++ cp -p translit_circle ../locales/translit_circle ++ cp -p translit_cjk_compat ../locales/translit_cjk_compat ++ cp -p translit_font ../locales/translit_font ++ cp -p translit_fraction ../locales/translit_fraction + + clean: mostlyclean + -rm -rf __pycache__ +@@ -82,13 +88,43 @@ UTF-8: utf8_gen.py + + UTF-8-report: UTF-8 ../charmaps/UTF-8 + UTF-8-report: utf8_compatibility.py +- $(PYTHON3) ./utf8_compatibility.py -o ../charmaps/UTF-8 \ +- -n UTF-8 -a -m > $@ ++ $(PYTHON3) ./utf8_compatibility.py -u UnicodeData.txt \ ++ -e EastAsianWidth.txt -o ../charmaps/UTF-8 \ ++ -n UTF-8 -a -m -c > $@ + + check-UTF-8: UTF-8-report + @if grep '^Total.*: [^0]' UTF-8-report; \ + then echo manual verification required; false; else true; fi + ++translit_combining: UnicodeData.txt ++translit_combining: gen_translit_combining.py ++ $(PYTHON3) ./gen_translit_combining.py -u UnicodeData.txt \ ++ -o $@ --unicode_version $(UNICODE_VERSION) ++ ++translit_compat: UnicodeData.txt ++translit_compat: gen_translit_compat.py ++ $(PYTHON3) ./gen_translit_compat.py -u UnicodeData.txt \ ++ -o $@ --unicode_version $(UNICODE_VERSION) ++ ++translit_circle: UnicodeData.txt ++translit_circle: gen_translit_circle.py ++ $(PYTHON3) ./gen_translit_circle.py -u UnicodeData.txt \ ++ -o $@ --unicode_version $(UNICODE_VERSION) ++ ++translit_cjk_compat: UnicodeData.txt ++translit_cjk_compat: gen_translit_cjk_compat.py ++ $(PYTHON3) ./gen_translit_cjk_compat.py -u UnicodeData.txt \ ++ -o $@ --unicode_version $(UNICODE_VERSION) ++ ++translit_font: UnicodeData.txt ++translit_font: gen_translit_font.py ++ $(PYTHON3) ./gen_translit_font.py -u UnicodeData.txt \ ++ -o $@ --unicode_version $(UNICODE_VERSION) ++ ++translit_fraction: UnicodeData.txt ++translit_fraction: gen_translit_fraction.py ++ $(PYTHON3) ./gen_translit_fraction.py -u UnicodeData.txt \ ++ -o $@ --unicode_version $(UNICODE_VERSION) + + .PHONY: downloads clean-downloads + downloads: $(DOWNLOADS) +diff --git a/localedata/unicode-gen/gen_translit_circle.py b/localedata/unicode-gen/gen_translit_circle.py +new file mode 100755 +index 0000000..a146e7f +--- /dev/null ++++ b/localedata/unicode-gen/gen_translit_circle.py +@@ -0,0 +1,149 @@ ++#!/usr/bin/python3 ++# ++# Generate a translit_circle file from a UnicodeData file. ++# Copyright (C) 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++Generate a translit_circle file from UnicodeData.txt ++ ++To see how this script is used, call it with the “-h” option: ++ ++ $ ./gen_translit_circle -h ++ … prints usage message … ++''' ++ ++import argparse ++import time ++import unicode_utils ++ ++def read_input_file(filename): ++ '''Reads the original glibc translit_circle file to get the ++ original head and tail. ++ ++ We want to replace only the part of the file between ++ “translit_start” and “translit_end” ++ ''' ++ head = tail = '' ++ with open(filename, mode='r') as translit_file: ++ for line in translit_file: ++ head = head + line ++ if line.startswith('translit_start'): ++ break ++ for line in translit_file: ++ if line.startswith('translit_end'): ++ tail = line ++ break ++ for line in translit_file: ++ tail = tail + line ++ return (head, tail) ++ ++def output_head(translit_file, unicode_version, head=''): ++ '''Write the header of the output file, i.e. the part of the file ++ before the “translit_start” line. ++ ''' ++ if ARGS.input_file and head: ++ translit_file.write(head) ++ else: ++ translit_file.write('escape_char /\n') ++ translit_file.write('comment_char %\n') ++ translit_file.write('\n') ++ translit_file.write('% Transliterations of encircled characters.\n') ++ translit_file.write('% Generated automatically from UnicodeData.txt ' ++ + 'by gen_translit_circle.py ' ++ + 'on {:s} '.format(time.strftime('%Y-%m-%d')) ++ + 'for Unicode {:s}.\n'.format(unicode_version)) ++ translit_file.write('\n') ++ translit_file.write('LC_CTYPE\n') ++ translit_file.write('\n') ++ translit_file.write('translit_start\n') ++ ++def output_tail(translit_file, tail=''): ++ '''Write the tail of the output file''' ++ if ARGS.input_file and tail: ++ translit_file.write(tail) ++ else: ++ translit_file.write('translit_end\n') ++ translit_file.write('\n') ++ translit_file.write('END LC_CTYPE\n') ++ ++def output_transliteration(translit_file): ++ '''Write the new transliteration to the output file''' ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ if decomposition.startswith(''): ++ decomposition = decomposition[9:] ++ decomposed_code_points = [int(x, 16) ++ for x in decomposition.split(' ')] ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} "'.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for decomposed_code_point in decomposed_code_points: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ translit_file.write('"\n') ++ translit_file.write('\n') ++ ++ ++if __name__ == "__main__": ++ PARSER = argparse.ArgumentParser( ++ description=''' ++ Generate a translit_circle file from UnicodeData.txt. ++ ''') ++ PARSER.add_argument( ++ '-u', '--unicode_data_file', ++ nargs='?', ++ type=str, ++ default='UnicodeData.txt', ++ help=('The UnicodeData.txt file to read, ' ++ + 'default: %(default)s')) ++ PARSER.add_argument( ++ '-i', '--input_file', ++ nargs='?', ++ type=str, ++ help=''' The original glibc/localedata/locales/translit_combining ++ file.''') ++ PARSER.add_argument( ++ '-o', '--output_file', ++ nargs='?', ++ type=str, ++ default='translit_circle.new', ++ help='''The new translit_circle file, default: %(default)s. If the ++ original glibc/localedata/locales/translit_circle file has ++ been given as an option, the header up to the ++ “translit_start” line and the tail from the “translit_end” ++ line to the end of the file will be copied unchanged into the ++ output file. ''') ++ PARSER.add_argument( ++ '--unicode_version', ++ nargs='?', ++ required=True, ++ type=str, ++ help='The Unicode version of the input files used.') ++ ARGS = PARSER.parse_args() ++ ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) ++ HEAD = TAIL = '' ++ if ARGS.input_file: ++ (HEAD, TAIL) = read_input_file(ARGS.input_file) ++ with open(ARGS.output_file, mode='w') as TRANSLIT_FILE: ++ output_head(TRANSLIT_FILE, ARGS.unicode_version, head=HEAD) ++ output_transliteration(TRANSLIT_FILE) ++ output_tail(TRANSLIT_FILE, tail=TAIL) +diff --git a/localedata/unicode-gen/gen_translit_cjk_compat.py b/localedata/unicode-gen/gen_translit_cjk_compat.py +new file mode 100755 +index 0000000..a87d546 +--- /dev/null ++++ b/localedata/unicode-gen/gen_translit_cjk_compat.py +@@ -0,0 +1,219 @@ ++#!/usr/bin/python3 ++# ++# Generate a translit_cjk_compat file from a UnicodeData file. ++# Copyright (C) 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++Generate a translit_cjk_compat file from UnicodeData.txt ++ ++To see how this script is used, call it with the “-h” option: ++ ++ $ ./gen_translit_cjk_compat -h ++ … prints usage message … ++''' ++ ++import argparse ++import time ++import sys ++import unicode_utils ++ ++def read_input_file(filename): ++ '''Reads the original glibc translit_cjk_compat file to get the ++ original head and tail. ++ ++ We want to replace only the part of the file between ++ “translit_start” and “translit_end” ++ ''' ++ head = tail = '' ++ with open(filename, mode='r') as translit_file: ++ for line in translit_file: ++ head = head + line ++ if line.startswith('translit_start'): ++ break ++ for line in translit_file: ++ if line.startswith('translit_end'): ++ tail = line ++ break ++ for line in translit_file: ++ tail = tail + line ++ return (head, tail) ++ ++def output_head(translit_file, unicode_version, head=''): ++ '''Write the header of the output file, i.e. the part of the file ++ before the “translit_start” line. ++ ''' ++ if ARGS.input_file and head: ++ translit_file.write(head) ++ else: ++ translit_file.write('escape_char /\n') ++ translit_file.write('comment_char %\n') ++ translit_file.write('\n') ++ translit_file.write('% Transliterations of CJK compatibility ') ++ translit_file.write('characters.\n') ++ translit_file.write('% Generated automatically from UnicodeData.txt ' ++ + 'by gen_translit_cjk_compat.py ' ++ + 'on {:s} '.format(time.strftime('%Y-%m-%d')) ++ + 'for Unicode {:s}.\n'.format(unicode_version)) ++ translit_file.write('\n') ++ translit_file.write('LC_CTYPE\n') ++ translit_file.write('\n') ++ translit_file.write('translit_start\n') ++ ++def output_tail(translit_file, tail=''): ++ '''Write the tail of the output file''' ++ if ARGS.input_file and tail: ++ translit_file.write(tail) ++ else: ++ translit_file.write('translit_end\n') ++ translit_file.write('\n') ++ translit_file.write('END LC_CTYPE\n') ++ ++def special_decompose(code_point_list): ++ ''' ++ Decompositions which are not in UnicodeData.txt at all but which ++ were used in the original translit_cjk_compat file in glibc and ++ which seem to make sense. I want to keep the update of ++ translit_cjk_compat close to the spirit of the original file, ++ therefore I added this special decomposition rules here. ++ ''' ++ special_decompose_dict = { ++ (0x2215,): [0x002F], # ∕ → / ++ (0x00B2,): [0x005E, 0x0032], # ² → ^2 ++ (0x03BC,): [0x00B5], # μ → µ (GREEK SMALL LETTER MU → MICRO SIGN) ++ (0x2113,): [0x006C], # ℓ → l ++ (0x00B3,): [0x005E, 0x0033], # ³ → ^3 ++ (0x00B5,): [0x0075], # µ → u ++ (0x03BC, 0x2113): [0x03BC, 0x006C], # μℓ → μl ++ (0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x00B2): [ ++ 0x0072, 0x0061, 0x0064, 0x002F, 0x0073, 0x00B2], ++ (0x006D, 0x2215, 0x0073, 0x00B2): [0x006D, 0x002F, 0x0073, 0x00B2], ++ } ++ if tuple(code_point_list) in special_decompose_dict: ++ return special_decompose_dict[tuple(code_point_list)] ++ else: ++ return code_point_list ++ ++def output_transliteration(translit_file): ++ '''Write the new transliteration to the output file''' ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ if decomposition.startswith(''): ++ decomposition = decomposition[9:] ++ decomposed_code_points = [[int(x, 16) ++ for x in decomposition.split(' ')]] ++ if decomposed_code_points[0]: ++ while True: ++ special_decomposed_code_points = special_decompose( ++ decomposed_code_points[-1]) ++ if (special_decomposed_code_points ++ != decomposed_code_points[-1]): ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ continue ++ special_decomposed_code_points = [] ++ for decomposed_code_point in decomposed_code_points[-1]: ++ special_decomposed_code_points += special_decompose( ++ [decomposed_code_point]) ++ if (special_decomposed_code_points ++ == decomposed_code_points[-1]): ++ break ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for index in range(0, len(decomposed_code_points)): ++ if index > 0: ++ translit_file.write(';') ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ for decomposed_code_point in decomposed_code_points[index]: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ if decomposition and name.startswith('CJK COMPATIBILITY IDEOGRAPH'): ++ decomposed_code_points = [int(x, 16) ++ for x in decomposition.split(' ')] ++ if len(decomposed_code_points) != 1: ++ sys.stderr.write( ++ 'Unexpected decomposition length {:x} {:s} {:s}\n'.format( ++ code_point, name, decomposition)) ++ exit(1) ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for decomposed_code_point in decomposed_code_points: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ translit_file.write('\n') ++ translit_file.write('\n') ++ ++if __name__ == "__main__": ++ PARSER = argparse.ArgumentParser( ++ description=''' ++ Generate a translit_cjk_compat file from UnicodeData.txt. ++ ''') ++ PARSER.add_argument( ++ '-u', '--unicode_data_file', ++ nargs='?', ++ type=str, ++ default='UnicodeData.txt', ++ help=('The UnicodeData.txt file to read, ' ++ + 'default: %(default)s')) ++ PARSER.add_argument( ++ '-i', '--input_file', ++ nargs='?', ++ type=str, ++ help=''' The original glibc/localedata/locales/translit_cjk_compat ++ file.''') ++ PARSER.add_argument( ++ '-o', '--output_file', ++ nargs='?', ++ type=str, ++ default='translit_cjk_compat.new', ++ help='''The new translit_cjk_compat file, default: %(default)s. If the ++ original glibc/localedata/locales/translit_cjk_compat file has ++ been given as an option, the header up to the ++ “translit_start” line and the tail from the “translit_end” ++ line to the end of the file will be copied unchanged into the ++ output file. ''') ++ PARSER.add_argument( ++ '--unicode_version', ++ nargs='?', ++ required=True, ++ type=str, ++ help='The Unicode version of the input files used.') ++ ARGS = PARSER.parse_args() ++ ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) ++ HEAD = TAIL = '' ++ if ARGS.input_file: ++ (HEAD, TAIL) = read_input_file(ARGS.input_file) ++ with open(ARGS.output_file, mode='w') as TRANSLIT_FILE: ++ output_head(TRANSLIT_FILE, ARGS.unicode_version, head=HEAD) ++ output_transliteration(TRANSLIT_FILE) ++ output_tail(TRANSLIT_FILE, tail=TAIL) +diff --git a/localedata/unicode-gen/gen_translit_combining.py b/localedata/unicode-gen/gen_translit_combining.py +new file mode 100755 +index 0000000..07ed739 +--- /dev/null ++++ b/localedata/unicode-gen/gen_translit_combining.py +@@ -0,0 +1,441 @@ ++#!/usr/bin/python3 ++# ++# Generate a translit_combining file from a UnicodeData file. ++# Copyright (C) 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++Generate a translit_combining file from UnicodeData.txt ++ ++To see how this script is used, call it with the “-h” option: ++ ++ $ ./gen_translit_combining -h ++ … prints usage message … ++''' ++ ++import argparse ++import time ++import unicode_utils ++ ++def read_input_file(filename): ++ '''Reads the original glibc translit_combining file to get the ++ original head and tail. ++ ++ We want to replace only the part of the file between ++ “translit_start” and “translit_end” ++ ''' ++ head = tail = '' ++ with open(filename, mode='r') as translit_file: ++ for line in translit_file: ++ head = head + line ++ if line.startswith('translit_start'): ++ break ++ for line in translit_file: ++ if line.startswith('translit_end'): ++ tail = line ++ break ++ for line in translit_file: ++ tail = tail + line ++ return (head, tail) ++ ++def output_head(translit_file, unicode_version, head=''): ++ '''Write the header of the output file, i.e. the part of the file ++ before the “translit_start” line. ++ ''' ++ if ARGS.input_file and head: ++ translit_file.write(head) ++ else: ++ translit_file.write('escape_char /\n') ++ translit_file.write('comment_char %\n') ++ translit_file.write('\n') ++ translit_file.write('% Transliterations that remove all ') ++ translit_file.write('combining characters (accents,\n') ++ translit_file.write('% pronounciation marks, etc.).\n') ++ translit_file.write('% Generated automatically from UnicodeData.txt ' ++ + 'by gen_translit_combining.py ' ++ + 'on {:s} '.format(time.strftime('%Y-%m-%d')) ++ + 'for Unicode {:s}.\n'.format(unicode_version)) ++ translit_file.write('\n') ++ translit_file.write('LC_CTYPE\n') ++ translit_file.write('\n') ++ translit_file.write('translit_start\n') ++ ++def output_tail(translit_file, tail=''): ++ '''Write the tail of the output file''' ++ if ARGS.input_file and tail: ++ translit_file.write(tail) ++ else: ++ translit_file.write('translit_end\n') ++ translit_file.write('\n') ++ translit_file.write('END LC_CTYPE\n') ++ ++def is_combining_remove(code_point): ++ '''Check whether this is a combining character which should be listed ++ in the section of the translit_combining file where combining ++ characters are replaced by empty strings. ++ ++ We ignore combining characters from many scripts here because ++ the original translit_combining file didn’t do this for the ++ combining characters from these scripts either and I am not ++ sure yet whether this would be useful to do for all combining ++ characters or not. For the moment I think it is better to keep ++ close to the spirit of the original file. ++ ''' ++ if not unicode_utils.is_combining(code_point): ++ return False ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ for substring in ('DEVANAGARI', ++ 'BENGALI', ++ 'CYRILLIC', ++ 'SYRIAC', ++ 'THAANA', ++ 'NKO', ++ 'GURMUKHI', ++ 'TAMIL', ++ 'GUJARATI', ++ 'ORIYA', ++ 'TELUGU', ++ 'KANNADA', ++ 'MALAYALAM', ++ 'SINHALA', ++ 'THAI', ++ 'LAO', ++ 'TIBETAN', ++ 'MYANMAR', ++ 'ETHIOPIC', ++ 'TAGALOG', ++ 'HANUNOO', ++ 'BUHID', ++ 'TAGBANWA', ++ 'KHMER', ++ 'MONGOLIAN', ++ 'LIMBU', ++ 'NEW TAI LUE', ++ 'BUGINESE', ++ 'BALINESE', ++ 'SUNDANESE', ++ 'LEPCHA', ++ 'IDEOGRAPHIC', ++ 'HANGUL', ++ 'SYLOTI', ++ 'SAURASHTRA', ++ 'KAYAH', ++ 'REJANG', ++ 'CHAM', ++ 'VARIATION SELECTOR', ++ 'KHAROSHTHI', ++ 'MUSICAL SYMBOL', ++ 'SAMARITAN', ++ 'MANDAIC', ++ 'TAI THAM', ++ 'BATAK', ++ 'VEDIC', ++ 'COPTIC', ++ 'TIFINAGH', ++ 'BAMUM', ++ 'JAVANESE', ++ 'TAI VIET', ++ 'MEETEI', ++ 'MANICHAEAN', ++ 'BRAHMI', ++ 'KAITHI', ++ 'CHAKMA', ++ 'MAHAJANI', ++ 'SHARADA', ++ 'KHOJKI', ++ 'KHUDAWADI', ++ 'GRANTHA', ++ 'TIRHUTA', ++ 'SIDDHAM', ++ 'MODI VOWEL', ++ 'MODI SIGN', ++ 'TAKRI', ++ 'BASSA VAH', ++ 'PAHAWH HMONG', ++ 'MIAO', ++ 'DUPLOYAN', ++ 'MENDE KIKAKUI' ++ ): ++ if substring in name: ++ return False ++ return True ++ ++def canonical_decompose(code_point): ++ '''http://www.unicode.org/reports/tr44/#Character_Decomposition_Mappings ++ ++ In some instances a canonical mapping or a compatibility mapping ++ may consist of a single character. For a canonical mapping, this ++ indicates that the character is a canonical equivalent of another ++ single character. For a compatibility mapping, this indicates that ++ the character is a compatibility equivalent of another single ++ character. ++ ++ A canonical mapping may also consist of a pair of characters, but ++ is never longer than two characters. When a canonical mapping ++ consists of a pair of characters, the first character may itself ++ be a character with a decomposition mapping, but the second ++ character never has a decomposition mapping. ++ ++ We ignore the canonical decomposition for code points ++ matching certain substrings because the original translit_combining ++ file didn’t include these types of characters either. I am unsure ++ about the usefulness of including them and want to keep close ++ to the spirit of the original file for the moment. ++ ''' ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ for substring in ('MUSICAL SYMBOL', ++ 'CJK COMPATIBILITY IDEOGRAPH', ++ 'BALINESE', ++ 'KAITHI LETTER', ++ 'CHAKMA VOWEL', ++ 'GRANTHA VOWEL', ++ 'TIRHUTA VOWEL', ++ 'SIDDHAM VOWEL'): ++ if substring in name: ++ return [] ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ if decomposition and not decomposition.startswith('<'): ++ decomposed_code_points = [int(x, 16) for x in decomposition.split(' ')] ++ if decomposed_code_points: ++ cd0 = canonical_decompose(decomposed_code_points[0]) ++ if cd0: ++ decomposed_code_points = cd0 + decomposed_code_points[1:] ++ return decomposed_code_points ++ else: ++ return [] ++ ++def special_decompose(code_point_list): ++ ''' ++ Decompositions which are not canonical or which are not in ++ UnicodeData.txt at all but some of these were used in the original ++ translit_combining file in glibc and they seemed to make sense. ++ I want to keep the update of translit_combining close to the ++ spirit of the original file, therefore I added these special ++ decomposition rules here. ++ ''' ++ special_decompose_dict = { ++ # Ø U+00D8 is already handled in translit_neutral. But ++ # translit_combining is usually included after translit_neutral ++ # and Ǿ U+01FE LATIN CAPITAL LETTER O WITH STROKE AND ACUTE ++ # has a canonical decomposition to Ø U+00D8 and we want to ++ # further decompose this to U+004F. ++ (0x00D8,): [0x004F], # Ø → O ++ # ø U+00F8 is already handled in translit_neutral. But ++ # translit_combining is usually included after translit_neutral ++ # and ǿ U+01FF LATIN SMALL LETTER O WITH STROKE AND ACUTE ++ # has a canonical decomposition to ø U+00F8 and we want to ++ # further decompose this to U+006F. ++ (0x00F8,): [0x006F], # ø → o ++ # æ U+00E6 is already in translit_compat because ligatures ++ # are handled in translit_compat. But ǣ U+01E3 has a ++ # canonical decomposition to U+00E6, U+0304 and we want to ++ # further decompose this to “ae”. ++ (0x00E6,): [0x0061, 0x0065], # æ → ae ++ # Æ U+00C6 is already in translit_compat because ligatures ++ # are handled in translit_compat. But Ǣ U+01E2 has a ++ # canonical decomposition to U+00C6, U+0304 and we want to ++ # further decompose this to “AE” ++ (0x00C6,): [0x0041, 0x0045], # Æ → AE ++ # U+05F2 HEBREW LIGATURE YIDDISH DOUBLE YOD is already in ++ # translit_compat because ligatures are handled in translit_compat. ++ # But U+FB1F has a canonical decomposition to U+05F2 and ++ # we want to further decompose this to U+05D9, U+05D9. ++ (0x05F2,): [0x05D9, 0x05D9], # ײ → יי ++ # 0x2002 has a decomposition to 0x0020 in UnicodeData.txt ++ # But U+2000 EN QUAD has a canonical decomposition U+2002 ++ # and we want to further decompose this to U+0020. ++ (0x2002,): [0x0020], # EN SPACE → SPACE ++ # 0x2003 has a decomposition to 0x0020 in UnicodeData.txt ++ # But U+2001 EM QUAD has a canonical decomposition to U+2003 ++ # and we want to further decompose this to U+0020. ++ (0x2003,): [0x0020], # EM SPACE → SPACE ++ # U+2260 ≠ has the canonical decomposition U+003D U+0338 ++ # (= followed by ̸). After stripping the combining characters, ++ # the result is only = which reverses the meaning. ++ # Therefore, we add a special rules here for such mathematical ++ # negations: ++ (0x21AE,): [0x0021, 0x003C, 0x002D, 0x003E], # ↮ → !<-> ++ (0x21CD,): [0x0021, 0x003C, 0x003D], # ⇍ → !<= ++ (0x21CE,): [0x0021, 0x003C, 0x003D, 0x003E], # ⇎ → !<=> ++ (0x21CF,): [0x0021, 0x003D, 0x003E], # ⇏ → !=> ++ (0x2204,): [0x0021, 0x2203], # ∄ → !∃ ++ (0x2209,): [0x0021, 0x2208], # ∉ → !∈ ++ (0x220C,): [0x0021, 0x220B], # ∌ → !∋ ++ (0x2224,): [0x0021, 0x2223], # ∤ → !∣ ++ (0x2226,): [0x0021, 0x2225], # ∦ → !∥ ++ (0x2241,): [0x0021, 0x007E], # ≁ → !~ ++ (0x2244,): [0x0021, 0x007E, 0x002D], # ≄ → !~- ++ (0x2247,): [0x0021, 0x007E, 0x003D ], # ≇ → !~= ++ (0x2249,): [0x0021, 0x007E, 0x007E], # ≉ → !~~ ++ (0x2260,): [0x0021, 0x003D], # ≠ → != ++ (0x2262,): [0x0021, 0x003D, 0x003D], # ≢ → !== ++ (0x226D,): [0x0021, 0x224D], # ≭ → !≍ ++ (0x226E,): [0x0021, 0x003C], # ≮ → !< ++ (0x226F,): [0x0021, 0x003E], # ≯ → !> ++ (0x2270,): [0x0021, 0x003C, 0x003D], # ≰ → !<= ++ (0x2271,): [0x0021, 0x003E, 0x003D], # ≱ → !>= ++ (0x2274,): [0x0021, 0x003C, 0x007E], # ≴ → !<~ ++ (0x2275,): [0x0021, 0x003E, 0x007E], # ≵ → !>~ ++ (0x2278,): [0x0021, 0x003C, 0x003E], # ≸ → !<> ++ (0x2279,): [0x0021, 0x003E, 0x003C], # ≹ → !>< ++ (0x2280,): [0x0021, 0x227A], # ⊀ → !≺ ++ (0x2281,): [0x0021, 0x227B], # ⊁ → !≻ ++ (0x2284,): [0x0021, 0x2282], # ⊄ → !⊂ ++ (0x2285,): [0x0021, 0x2283], # ⊅ → !⊃ ++ (0x2288,): [0x0021, 0x2282, 0x003D], # ⊈ → !⊂= ++ (0x2289,): [0x0021, 0x2283, 0x003D], # ⊉ → !⊃= ++ (0x22AC,): [0x0021, 0x22A2], # ⊬ → !⊢ ++ (0x22AD,): [0x0021, 0x22A8], # ⊭ → !⊨ ++ (0x22AE,): [0x0021, 0x22A9], # ⊮ → !⊩ ++ (0x22AF,): [0x0021, 0x22AB], # ⊯ → !⊫ ++ (0x22E0,): [0x0021, 0x227C], # ⋠ → !≼ ++ (0x22E1,): [0x0021, 0x227D], # ⋡ → !≽ ++ (0x22E2,): [0x0021, 0x2291], # ⋢ → !⊑ ++ (0x22E3,): [0x0021, 0x2292], # ⋣ → !⊒ ++ (0x22EA,): [0x0021, 0x22B2], # ⋪ → !⊲ ++ (0x22EB,): [0x0021, 0x22B3], # ⋫ → !⊳ ++ (0x22EC,): [0x0021, 0x22B4], # ⋬ → !⊴ ++ (0x22ED,): [0x0021, 0x22B5], # ⋭ → !⊵ ++ (0x2ADC,): [0x0021, 0x2ADD], # ⫝̸ → !⫝ ++ # Special rule for 〈 U+3008 is added ++ # because 〉 U+2329 has the canonical decomposition U+3008 ++ # and we want to further decompose this to > U+003C. ++ (0x3008,): [0x003C], # 〈 → < ++ # Special rule for 〉 U+3009 is added ++ # because 〉 U+232A has the canonical decomposition U+3009 ++ # and we want to further decompose this to < U+003E. ++ (0x3009,): [0x003E], # 〉→ > ++ } ++ if tuple(code_point_list) in special_decompose_dict: ++ return special_decompose_dict[tuple(code_point_list)] ++ else: ++ return code_point_list ++ ++def output_combining_remove(translit_file): ++ '''Write the section of the translit_combining file where combining ++ characters are replaced by empty strings. ++ ''' ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ if is_combining_remove(code_point): ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} ""\n'.format( ++ unicode_utils.ucs_symbol(code_point))) ++ translit_file.write('\n') ++ ++def output_decompositions(translit_file): ++ '''Write the section of the translit_combining file where characters ++ characters are decomposed and combining characters stripped from ++ the decompositions. ++ ''' ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ if special_decompose([code_point]) != [code_point]: ++ decomposed_code_points = [special_decompose([code_point])] ++ else: ++ decomposed_code_points = [canonical_decompose(code_point)] ++ if decomposed_code_points[0]: ++ while True: ++ special_decomposed_code_points = special_decompose( ++ decomposed_code_points[-1]) ++ if (special_decomposed_code_points ++ != decomposed_code_points[-1]): ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ continue ++ special_decomposed_code_points = [] ++ for decomposed_code_point in decomposed_code_points[-1]: ++ special_decomposed_code_points += special_decompose( ++ [decomposed_code_point]) ++ if (special_decomposed_code_points ++ == decomposed_code_points[-1]): ++ break ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ for index in range(0, len(decomposed_code_points)): ++ decomposed_code_points[index] = [ ++ x for x in decomposed_code_points[index] ++ if not is_combining_remove(x)] ++ if decomposed_code_points[0]: ++ translit_file.write('% {:s}\n'.format( ++ unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'])) ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for index in range(0, len(decomposed_code_points)): ++ if index > 0: ++ translit_file.write(';') ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ for decomposed_code_point in decomposed_code_points[index]: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ translit_file.write('\n') ++ translit_file.write('\n') ++ ++def output_transliteration(translit_file): ++ '''Write the new transliteration to the output file''' ++ output_combining_remove(translit_file) ++ output_decompositions(translit_file) ++ ++if __name__ == "__main__": ++ PARSER = argparse.ArgumentParser( ++ description=''' ++ Generate a translit_combining file from UnicodeData.txt. ++ ''') ++ PARSER.add_argument( ++ '-u', '--unicode_data_file', ++ nargs='?', ++ type=str, ++ default='UnicodeData.txt', ++ help=('The UnicodeData.txt file to read, ' ++ + 'default: %(default)s')) ++ PARSER.add_argument( ++ '-i', '--input_file', ++ nargs='?', ++ type=str, ++ help=''' The original glibc/localedata/locales/translit_combining ++ file.''') ++ PARSER.add_argument( ++ '-o', '--output_file', ++ nargs='?', ++ type=str, ++ default='translit_combining.new', ++ help='''The new translit_combining file, default: %(default)s. If the ++ original glibc/localedata/locales/translit_combining file has ++ been given as an option, the header up to the ++ “translit_start” line and the tail from the “translit_end” ++ line to the end of the file will be copied unchanged into the ++ output file. ''') ++ PARSER.add_argument( ++ '--unicode_version', ++ nargs='?', ++ required=True, ++ type=str, ++ help='The Unicode version of the input files used.') ++ ARGS = PARSER.parse_args() ++ ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) ++ HEAD = TAIL = '' ++ if ARGS.input_file: ++ (HEAD, TAIL) = read_input_file(ARGS.input_file) ++ with open(ARGS.output_file, mode='w') as TRANSLIT_FILE: ++ output_head(TRANSLIT_FILE, ARGS.unicode_version, head=HEAD) ++ output_transliteration(TRANSLIT_FILE) ++ output_tail(TRANSLIT_FILE, tail=TAIL) +diff --git a/localedata/unicode-gen/gen_translit_compat.py b/localedata/unicode-gen/gen_translit_compat.py +new file mode 100755 +index 0000000..d99e56d +--- /dev/null ++++ b/localedata/unicode-gen/gen_translit_compat.py +@@ -0,0 +1,325 @@ ++#!/usr/bin/python3 ++# ++# Generate a translit_compat file from a UnicodeData file. ++# Copyright (C) 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++Generate a translit_compat file from UnicodeData.txt ++ ++To see how this script is used, call it with the “-h” option: ++ ++ $ ./gen_translit_compat -h ++ … prints usage message … ++''' ++ ++import argparse ++import time ++import unicode_utils ++ ++def read_input_file(filename): ++ '''Reads the original glibc translit_compat file to get the ++ original head and tail. ++ ++ We want to replace only the part of the file between ++ “translit_start” and “translit_end” ++ ''' ++ head = tail = '' ++ with open(filename, mode='r') as translit_file: ++ for line in translit_file: ++ head = head + line ++ if line.startswith('translit_start'): ++ break ++ for line in translit_file: ++ if line.startswith('translit_end'): ++ tail = line ++ break ++ for line in translit_file: ++ tail = tail + line ++ return (head, tail) ++ ++def output_head(translit_file, unicode_version, head=''): ++ '''Write the header of the output file, i.e. the part of the file ++ before the “translit_start” line. ++ ''' ++ if ARGS.input_file and head: ++ translit_file.write(head) ++ else: ++ translit_file.write('escape_char /\n') ++ translit_file.write('comment_char %\n') ++ translit_file.write('\n') ++ translit_file.write('% Transliterations of compatibility characters ') ++ translit_file.write('and ligatures.\n') ++ translit_file.write('% Generated automatically from UnicodeData.txt ' ++ + 'by gen_translit_compat.py ' ++ + 'on {:s} '.format(time.strftime('%Y-%m-%d')) ++ + 'for Unicode {:s}.\n'.format(unicode_version)) ++ translit_file.write('\n') ++ translit_file.write('LC_CTYPE\n') ++ translit_file.write('\n') ++ translit_file.write('translit_start\n') ++ ++def output_tail(translit_file, tail=''): ++ '''Write the tail of the output file''' ++ if ARGS.input_file and tail: ++ translit_file.write(tail) ++ else: ++ translit_file.write('translit_end\n') ++ translit_file.write('\n') ++ translit_file.write('END LC_CTYPE\n') ++ ++def compatibility_decompose(code_point): ++ '''http://www.unicode.org/reports/tr44/#Character_Decomposition_Mappings ++ ++ “The compatibility decomposition is formed by recursively applying ++ the canonical and compatibility mappings, then applying the ++ Canonical Ordering Algorithm.” ++ ++ We don’t do the canonical decomposition here because this is ++ done in gen_translit_combining.py to generate translit_combining. ++ ++ And we ignore some of the possible compatibility formatting tags ++ here. Some of them are used in other translit_* files, not ++ translit_compat: ++ ++ : translit_font ++ : translit_circle ++ : translit_wide ++ : translit_narrow ++ : translit_cjk_compat ++ : translit_fraction ++ ++ And we ignore ++ ++ , , , , ++ ++ because they seem to be not useful for transliteration. ++ ''' ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ compatibility_tags = ( ++ '', '', '', '') ++ for compatibility_tag in compatibility_tags: ++ if decomposition.startswith(compatibility_tag): ++ decomposition = decomposition[len(compatibility_tag)+1:] ++ decomposed_code_points = [int(x, 16) ++ for x in decomposition.split(' ')] ++ if (len(decomposed_code_points) > 1 ++ and decomposed_code_points[0] == 0x0020 ++ and decomposed_code_points[1] >= 0x0300 ++ and decomposed_code_points[1] <= 0x03FF): ++ # Decomposes into a space followed by a combining character. ++ # This is not useful fo transliteration. ++ return [] ++ else: ++ return_value = [] ++ for index in range(0, len(decomposed_code_points)): ++ cd_code_points = compatibility_decompose( ++ decomposed_code_points[index]) ++ if cd_code_points: ++ return_value += cd_code_points ++ else: ++ return_value += [decomposed_code_points[index]] ++ return return_value ++ return [] ++ ++def special_decompose(code_point_list): ++ ''' ++ Decompositions which are not in UnicodeData.txt at all but which ++ were used in the original translit_compat file in glibc and ++ which seem to make sense. I want to keep the update of ++ translit_compat close to the spirit of the original file, ++ therefore I added this special decomposition rules here. ++ ''' ++ special_decompose_dict = { ++ (0x03BC,): [0x0075], # μ → u ++ (0x02BC,): [0x0027], # ʼ → ' ++ } ++ if tuple(code_point_list) in special_decompose_dict: ++ return special_decompose_dict[tuple(code_point_list)] ++ else: ++ return code_point_list ++ ++def special_ligature_decompose(code_point): ++ ''' ++ Decompositions for ligatures which are not in UnicodeData.txt at ++ all but which were used in the original translit_compat file in ++ glibc and which seem to make sense. I want to keep the update of ++ translit_compat close to the spirit of the original file, ++ therefore I added these special ligature decomposition rules here. ++ ++ ''' ++ special_ligature_decompose_dict = { ++ 0x00E6: [0x0061, 0x0065], # æ → ae ++ 0x00C6: [0x0041, 0x0045], # Æ → AE ++ # These following 5 special ligature decompositions were ++ # in the original glibc/localedata/locales/translit_compat file ++ 0x0152: [0x004F, 0x0045], # Œ → OE ++ 0x0153: [0x006F, 0x0065], # œ → oe ++ 0x05F0: [0x05D5, 0x05D5], # װ → וו ++ 0x05F1: [0x05D5, 0x05D9], # ױ → וי ++ 0x05F2: [0x05D9, 0x05D9], # ײ → יי ++ # The following special ligature decompositions were ++ # not in the original glibc/localedata/locales/translit_compat file ++ # U+04A4 CYRILLIC CAPITAL LIGATURE EN GHE ++ # → U+041D CYRILLIC CAPITAL LETTER EN, ++ # U+0413 CYRILLIC CAPITAL LETTER GHE ++ 0x04A4: [0x041D, 0x0413], # Ҥ → НГ ++ # U+04A5 CYRILLIC SMALL LIGATURE EN GHE ++ # → U+043D CYRILLIC SMALL LETTER EN, ++ # U+0433 CYRILLIC SMALL LETTER GHE ++ 0x04A5: [0x043D, 0x0433], # ҥ → нг ++ # U+04B4 CYRILLIC CAPITAL LIGATURE TE TSE ++ # → U+0422 CYRILLIC CAPITAL LETTER TE, ++ # U+0426 CYRILLIC CAPITAL LETTER TSE ++ 0x04B4: [0x0422, 0x0426], # Ҵ → ТЦ ++ # U+04B5 CYRILLIC SMALL LIGATURE TE TSE ++ # → U+0442 CYRILLIC SMALL LETTER TE, ++ # U+0446 CYRILLIC SMALL LETTER TSE ++ 0x04B5: [0x0442, 0x0446], # ҵ → тц ++ # U+04d4 CYRILLIC CAPITAL LIGATURE A IE ++ # → U+0410 CYRILLIC CAPITAL LETTER A ++ # U+0415;CYRILLIC CAPITAL LETTER IE ++ 0x04D4: [0x0410, 0x0415], # Ӕ → АЕ ++ # U+04D5 CYRILLIC SMALL LIGATURE A IE ++ # → U+0430 CYRILLIC SMALL LETTER A, ++ # U+0435 CYRILLIC SMALL LETTER IE ++ 0x04D5: [0x0430, 0x0435], # ӕ → ае ++ # I am not sure what to do with the following ligatures ++ # maybe it makes no sense to decompose them: ++ # U+0616 ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH ++ # U+06d6 ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA ++ # U+06d7 ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA ++ # U+fdfd ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM ++ # U+fe20 COMBINING LIGATURE LEFT HALF ++ # U+fe21 COMBINING LIGATURE RIGHT HALF ++ # U+fe27 COMBINING LIGATURE LEFT HALF BELOW ++ # U+fe28 COMBINING LIGATURE RIGHT HALF BELOW ++ # U+11176 MAHAJANI LIGATURE SHRI ++ # U+1f670 SCRIPT LIGATURE ET ORNAMENT ++ # U+1f671 HEAVY SCRIPT LIGATURE ET ORNAMENT ++ # U+1f672 LIGATURE OPEN ET ORNAMENT ++ # U+1f673 HEAVY LIGATURE OPEN ET ORNAMENT ++ } ++ if code_point in special_ligature_decompose_dict: ++ return special_ligature_decompose_dict[code_point] ++ else: ++ return [code_point] ++ ++def output_transliteration(translit_file): ++ '''Write the new transliteration to the output file''' ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ decomposed_code_points = [compatibility_decompose(code_point)] ++ if not decomposed_code_points[0]: ++ if special_decompose([code_point]) != [code_point]: ++ decomposed_code_points[0] = special_decompose([code_point]) ++ else: ++ special_decomposed_code_points = [] ++ while True: ++ special_decomposed_code_points = special_decompose( ++ decomposed_code_points[-1]) ++ if (special_decomposed_code_points ++ != decomposed_code_points[-1]): ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ continue ++ special_decomposed_code_points = [] ++ for decomposed_code_point in decomposed_code_points[-1]: ++ special_decomposed_code_points += special_decompose( ++ [decomposed_code_point]) ++ if (special_decomposed_code_points ++ == decomposed_code_points[-1]): ++ break ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ if decomposed_code_points[0]: ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for index in range(0, len(decomposed_code_points)): ++ if index > 0: ++ translit_file.write(';') ++ translit_file.write('"') ++ for decomposed_code_point in decomposed_code_points[index]: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ translit_file.write('"') ++ translit_file.write('\n') ++ elif 'LIGATURE' in name and 'ARABIC' not in name: ++ decomposed_code_points = special_ligature_decompose(code_point) ++ if decomposed_code_points[0] != code_point: ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ translit_file.write('"') ++ for decomposed_code_point in decomposed_code_points: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ translit_file.write('"') ++ translit_file.write('\n') ++ else: ++ print('Warning: unhandled ligature: {:x} {:s}'.format( ++ code_point, name)) ++ translit_file.write('\n') ++ ++if __name__ == "__main__": ++ PARSER = argparse.ArgumentParser( ++ description=''' ++ Generate a translit_compat file from UnicodeData.txt. ++ ''') ++ PARSER.add_argument( ++ '-u', '--unicode_data_file', ++ nargs='?', ++ type=str, ++ default='UnicodeData.txt', ++ help=('The UnicodeData.txt file to read, ' ++ + 'default: %(default)s')) ++ PARSER.add_argument( ++ '-i', '--input_file', ++ nargs='?', ++ type=str, ++ help=''' The original glibc/localedata/locales/translit_compat ++ file.''') ++ PARSER.add_argument( ++ '-o', '--output_file', ++ nargs='?', ++ type=str, ++ default='translit_compat.new', ++ help='''The new translit_compat file, default: %(default)s. If the ++ original glibc/localedata/locales/translit_compat file has ++ been given as an option, the header up to the ++ “translit_start” line and the tail from the “translit_end” ++ line to the end of the file will be copied unchanged into the ++ output file. ''') ++ PARSER.add_argument( ++ '--unicode_version', ++ nargs='?', ++ required=True, ++ type=str, ++ help='The Unicode version of the input files used.') ++ ARGS = PARSER.parse_args() ++ ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) ++ HEAD = TAIL = '' ++ if ARGS.input_file: ++ (HEAD, TAIL) = read_input_file(ARGS.input_file) ++ with open(ARGS.output_file, mode='w') as TRANSLIT_FILE: ++ output_head(TRANSLIT_FILE, ARGS.unicode_version, head=HEAD) ++ output_transliteration(TRANSLIT_FILE) ++ output_tail(TRANSLIT_FILE, tail=TAIL) +diff --git a/localedata/unicode-gen/gen_translit_font.py b/localedata/unicode-gen/gen_translit_font.py +new file mode 100755 +index 0000000..c7ec509 +--- /dev/null ++++ b/localedata/unicode-gen/gen_translit_font.py +@@ -0,0 +1,155 @@ ++#!/usr/bin/python3 ++# ++# Generate a translit_font file from a UnicodeData file. ++# Copyright (C) 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++Generate a translit_font file from UnicodeData.txt ++ ++To see how this script is used, call it with the “-h” option: ++ ++ $ ./gen_translit_font -h ++ … prints usage message … ++''' ++ ++import argparse ++import time ++import unicode_utils ++ ++def read_input_file(filename): ++ '''Reads the original glibc translit_font file to get the ++ original head and tail. ++ ++ We want to replace only the part of the file between ++ “translit_start” and “translit_end” ++ ''' ++ head = tail = '' ++ with open(filename, mode='r') as translit_file: ++ for line in translit_file: ++ head = head + line ++ if line.startswith('translit_start'): ++ break ++ for line in translit_file: ++ if line.startswith('translit_end'): ++ tail = line ++ break ++ for line in translit_file: ++ tail = tail + line ++ return (head, tail) ++ ++def output_head(translit_file, unicode_version, head=''): ++ '''Write the header of the output file, i.e. the part of the file ++ before the “translit_start” line. ++ ''' ++ if ARGS.input_file and head: ++ translit_file.write(head) ++ else: ++ translit_file.write('escape_char /\n') ++ translit_file.write('comment_char %\n') ++ translit_file.write('\n') ++ translit_file.write('% Transliterations of font equivalents.\n') ++ translit_file.write('% Generated automatically from UnicodeData.txt ' ++ + 'by gen_translit_font.py ' ++ + 'on {:s} '.format(time.strftime('%Y-%m-%d')) ++ + 'for Unicode {:s}.\n'.format(unicode_version)) ++ translit_file.write('\n') ++ translit_file.write('LC_CTYPE\n') ++ translit_file.write('\n') ++ translit_file.write('translit_start\n') ++ ++def output_tail(translit_file, tail=''): ++ '''Write the tail of the output file''' ++ if ARGS.input_file and tail: ++ translit_file.write(tail) ++ else: ++ translit_file.write('translit_end\n') ++ translit_file.write('\n') ++ translit_file.write('END LC_CTYPE\n') ++ ++def output_transliteration(translit_file): ++ '''Write the new transliteration to the output file''' ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ if decomposition.startswith(''): ++ decomposition = decomposition[7:] ++ decomposed_code_points = [[int(x, 16) ++ for x in decomposition.split(' ')]] ++ if decomposed_code_points[0]: ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for index in range(0, len(decomposed_code_points)): ++ if index > 0: ++ translit_file.write(';') ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ for decomposed_code_point in decomposed_code_points[index]: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ translit_file.write(' % {:s}\n'.format(name)) ++ translit_file.write('\n') ++ ++if __name__ == "__main__": ++ PARSER = argparse.ArgumentParser( ++ description=''' ++ Generate a translit_font file from UnicodeData.txt. ++ ''') ++ PARSER.add_argument( ++ '-u', '--unicode_data_file', ++ nargs='?', ++ type=str, ++ default='UnicodeData.txt', ++ help=('The UnicodeData.txt file to read, ' ++ + 'default: %(default)s')) ++ PARSER.add_argument( ++ '-i', '--input_file', ++ nargs='?', ++ type=str, ++ help=''' The original glibc/localedata/locales/translit_font ++ file.''') ++ PARSER.add_argument( ++ '-o', '--output_file', ++ nargs='?', ++ type=str, ++ default='translit_font.new', ++ help='''The new translit_font file, default: %(default)s. If the ++ original glibc/localedata/locales/translit_font file has ++ been given as an option, the header up to the ++ “translit_start” line and the tail from the “translit_end” ++ line to the end of the file will be copied unchanged into the ++ output file. ''') ++ PARSER.add_argument( ++ '--unicode_version', ++ nargs='?', ++ required=True, ++ type=str, ++ help='The Unicode version of the input files used.') ++ ARGS = PARSER.parse_args() ++ ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) ++ HEAD = TAIL = '' ++ if ARGS.input_file: ++ (HEAD, TAIL) = read_input_file(ARGS.input_file) ++ with open(ARGS.output_file, mode='w') as TRANSLIT_FILE: ++ output_head(TRANSLIT_FILE, ARGS.unicode_version, head=HEAD) ++ output_transliteration(TRANSLIT_FILE) ++ output_tail(TRANSLIT_FILE, tail=TAIL) +diff --git a/localedata/unicode-gen/gen_translit_fraction.py b/localedata/unicode-gen/gen_translit_fraction.py +new file mode 100755 +index 0000000..bf460f2 +--- /dev/null ++++ b/localedata/unicode-gen/gen_translit_fraction.py +@@ -0,0 +1,196 @@ ++#!/usr/bin/python3 ++# ++# Generate a translit_fraction file from a UnicodeData file. ++# Copyright (C) 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++Generate a translit_fraction file from UnicodeData.txt ++ ++To see how this script is used, call it with the “-h” option: ++ ++ $ ./gen_translit_fraction -h ++ … prints usage message … ++''' ++ ++import argparse ++import time ++import unicode_utils ++ ++def read_input_file(filename): ++ '''Reads the original glibc translit_fraction file to get the ++ original head and tail. ++ ++ We want to replace only the part of the file between ++ “translit_start” and “translit_end” ++ ''' ++ head = tail = '' ++ with open(filename, mode='r') as translit_file: ++ for line in translit_file: ++ head = head + line ++ if line.startswith('translit_start'): ++ break ++ for line in translit_file: ++ if line.startswith('translit_end'): ++ tail = line ++ break ++ for line in translit_file: ++ tail = tail + line ++ return (head, tail) ++ ++def output_head(translit_file, unicode_version, head=''): ++ '''Write the header of the output file, i.e. the part of the file ++ before the “translit_start” line. ++ ''' ++ if ARGS.input_file and head: ++ translit_file.write(head) ++ else: ++ translit_file.write('escape_char /\n') ++ translit_file.write('comment_char %\n') ++ translit_file.write('\n') ++ translit_file.write('% Transliterations of fractions.\n') ++ translit_file.write('% Generated automatically from UnicodeData.txt ' ++ + 'by gen_translit_fraction.py ' ++ + 'on {:s} '.format(time.strftime('%Y-%m-%d')) ++ + 'for Unicode {:s}.\n'.format(unicode_version)) ++ translit_file.write('% The replacements have been surrounded ') ++ translit_file.write('with spaces, because fractions are\n') ++ translit_file.write('% often preceded by a decimal number and ') ++ translit_file.write('followed by a unit or a math symbol.\n') ++ translit_file.write('\n') ++ translit_file.write('LC_CTYPE\n') ++ translit_file.write('\n') ++ translit_file.write('translit_start\n') ++ ++def output_tail(translit_file, tail=''): ++ '''Write the tail of the output file''' ++ if ARGS.input_file and tail: ++ translit_file.write(tail) ++ else: ++ translit_file.write('translit_end\n') ++ translit_file.write('\n') ++ translit_file.write('END LC_CTYPE\n') ++ ++def special_decompose(code_point_list): ++ ''' ++ Decompositions which are not in UnicodeData.txt at all but which ++ were used in the original translit_fraction file in glibc and ++ which seem to make sense. I want to keep the update of ++ translit_fraction close to the spirit of the original file, ++ therefore I added this special decomposition rules here. ++ ''' ++ special_decompose_dict = { ++ (0x2044,): [0x002F], # ⁄ → / ++ } ++ if tuple(code_point_list) in special_decompose_dict: ++ return special_decompose_dict[tuple(code_point_list)] ++ else: ++ return code_point_list ++ ++def output_transliteration(translit_file): ++ '''Write the new transliteration to the output file''' ++ translit_file.write('\n') ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): ++ name = unicode_utils.UNICODE_ATTRIBUTES[code_point]['name'] ++ decomposition = unicode_utils.UNICODE_ATTRIBUTES[ ++ code_point]['decomposition'] ++ if decomposition.startswith(''): ++ decomposition = decomposition[11:] ++ decomposed_code_points = [[int(x, 16) ++ for x in decomposition.split(' ')]] ++ if decomposed_code_points[0]: ++ decomposed_code_points[0] = [0x0020] \ ++ + decomposed_code_points[0] \ ++ + [0x0020] ++ while True: ++ special_decomposed_code_points = special_decompose( ++ decomposed_code_points[-1]) ++ if (special_decomposed_code_points ++ != decomposed_code_points[-1]): ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ continue ++ special_decomposed_code_points = [] ++ for decomposed_code_point in decomposed_code_points[-1]: ++ special_decomposed_code_points += special_decompose( ++ [decomposed_code_point]) ++ if (special_decomposed_code_points ++ == decomposed_code_points[-1]): ++ break ++ decomposed_code_points.append( ++ special_decomposed_code_points) ++ translit_file.write('% {:s}\n'.format(name)) ++ translit_file.write('{:s} '.format( ++ unicode_utils.ucs_symbol(code_point))) ++ for index in range(0, len(decomposed_code_points)): ++ if index > 0: ++ translit_file.write(';') ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ for decomposed_code_point in decomposed_code_points[index]: ++ translit_file.write('{:s}'.format( ++ unicode_utils.ucs_symbol(decomposed_code_point))) ++ if len(decomposed_code_points[index]) > 1: ++ translit_file.write('"') ++ translit_file.write('\n') ++ translit_file.write('\n') ++ ++if __name__ == "__main__": ++ PARSER = argparse.ArgumentParser( ++ description=''' ++ Generate a translit_cjk_compat file from UnicodeData.txt. ++ ''') ++ PARSER.add_argument( ++ '-u', '--unicode_data_file', ++ nargs='?', ++ type=str, ++ default='UnicodeData.txt', ++ help=('The UnicodeData.txt file to read, ' ++ + 'default: %(default)s')) ++ PARSER.add_argument( ++ '-i', '--input_file', ++ nargs='?', ++ type=str, ++ help=''' The original glibc/localedata/locales/translit_fraction ++ file.''') ++ PARSER.add_argument( ++ '-o', '--output_file', ++ nargs='?', ++ type=str, ++ default='translit_fraction.new', ++ help='''The new translit_fraction file, default: %(default)s. If the ++ original glibc/localedata/locales/translit_fraction file has ++ been given as an option, the header up to the ++ “translit_start” line and the tail from the “translit_end” ++ line to the end of the file will be copied unchanged into the ++ output file. ''') ++ PARSER.add_argument( ++ '--unicode_version', ++ nargs='?', ++ required=True, ++ type=str, ++ help='The Unicode version of the input files used.') ++ ARGS = PARSER.parse_args() ++ ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) ++ HEAD = TAIL = '' ++ if ARGS.input_file: ++ (HEAD, TAIL) = read_input_file(ARGS.input_file) ++ with open(ARGS.output_file, mode='w') as TRANSLIT_FILE: ++ output_head(TRANSLIT_FILE, ARGS.unicode_version, head=HEAD) ++ output_transliteration(TRANSLIT_FILE) ++ output_tail(TRANSLIT_FILE, tail=TAIL) +diff --git a/localedata/unicode-gen/gen_unicode_ctype.py b/localedata/unicode-gen/gen_unicode_ctype.py +index 0c74f2a..0f064f5 100755 +--- a/localedata/unicode-gen/gen_unicode_ctype.py ++++ b/localedata/unicode-gen/gen_unicode_ctype.py +@@ -30,345 +30,9 @@ To see how this script is used, call it with the “-h” option: + ''' + + import argparse +-import sys + import time + import re +- +-# Dictionary holding the entire contents of the UnicodeData.txt file +-# +-# Contents of this dictionary look like this: +-# +-# {0: {'category': 'Cc', +-# 'title': None, +-# 'digit': '', +-# 'name': '', +-# 'bidi': 'BN', +-# 'combining': '0', +-# 'comment': '', +-# 'oldname': 'NULL', +-# 'decomposition': '', +-# 'upper': None, +-# 'mirrored': 'N', +-# 'lower': None, +-# 'decdigit': '', +-# 'numeric': ''}, +-# … +-# } +-UNICODE_ATTRIBUTES = {} +- +-# Dictionary holding the entire contents of the DerivedCoreProperties.txt file +-# +-# Contents of this dictionary look like this: +-# +-# {917504: ['Default_Ignorable_Code_Point'], +-# 917505: ['Case_Ignorable', 'Default_Ignorable_Code_Point'], +-# … +-# } +-DERIVED_CORE_PROPERTIES = {} +- +-def fill_attribute(code_point, fields): +- '''Stores in UNICODE_ATTRIBUTES[code_point] the values from the fields. +- +- One entry in the UNICODE_ATTRIBUTES dictionary represents one line +- in the UnicodeData.txt file. +- +- ''' +- UNICODE_ATTRIBUTES[code_point] = { +- 'name': fields[1], # Character name +- 'category': fields[2], # General category +- 'combining': fields[3], # Canonical combining classes +- 'bidi': fields[4], # Bidirectional category +- 'decomposition': fields[5], # Character decomposition mapping +- 'decdigit': fields[6], # Decimal digit value +- 'digit': fields[7], # Digit value +- 'numeric': fields[8], # Numeric value +- 'mirrored': fields[9], # mirrored +- 'oldname': fields[10], # Old Unicode 1.0 name +- 'comment': fields[11], # comment +- # Uppercase mapping +- 'upper': int(fields[12], 16) if fields[12] else None, +- # Lowercase mapping +- 'lower': int(fields[13], 16) if fields[13] else None, +- # Titlecase mapping +- 'title': int(fields[14], 16) if fields[14] else None, +- } +- +-def fill_attributes(filename): +- '''Stores the entire contents of the UnicodeData.txt file +- in the UNICODE_ATTRIBUTES dictionary. +- +- A typical line for a single code point in UnicodeData.txt looks +- like this: +- +- 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; +- +- Code point ranges are indicated by pairs of lines like this: +- +- 4E00;;Lo;0;L;;;;;N;;;;; +- 9FCC;;Lo;0;L;;;;;N;;;;; +- ''' +- with open(filename, mode='r') as unicode_data_file: +- fields_start = [] +- for line in unicode_data_file: +- fields = line.strip().split(';') +- if len(fields) != 15: +- sys.stderr.write( +- 'short line in file "%(f)s": %(l)s\n' %{ +- 'f': filename, 'l': line}) +- exit(1) +- if fields[2] == 'Cs': +- # Surrogates are UTF-16 artefacts, +- # not real characters. Ignore them. +- fields_start = [] +- continue +- if fields[1].endswith(', First>'): +- fields_start = fields +- fields_start[1] = fields_start[1].split(',')[0][1:] +- continue +- if fields[1].endswith(', Last>'): +- fields[1] = fields[1].split(',')[0][1:] +- if fields[1:] != fields_start[1:]: +- sys.stderr.write( +- 'broken code point range in file "%(f)s": %(l)s\n' %{ +- 'f': filename, 'l': line}) +- exit(1) +- for code_point in range( +- int(fields_start[0], 16), +- int(fields[0], 16)+1): +- fill_attribute(code_point, fields) +- fields_start = [] +- continue +- fill_attribute(int(fields[0], 16), fields) +- fields_start = [] +- +-def fill_derived_core_properties(filename): +- '''Stores the entire contents of the DerivedCoreProperties.txt file +- in the DERIVED_CORE_PROPERTIES dictionary. +- +- Lines in DerivedCoreProperties.txt are either a code point range like +- this: +- +- 0061..007A ; Lowercase # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z +- +- or a single code point like this: +- +- 00AA ; Lowercase # Lo FEMININE ORDINAL INDICATOR +- +- ''' +- with open(filename, mode='r') as derived_core_properties_file: +- for line in derived_core_properties_file: +- match = re.match( +- r'^(?P[0-9A-F]{4,6})' +- + r'(?:\.\.(?P[0-9A-F]{4,6}))?' +- + r'\s*;\s*(?P[a-zA-Z_]+)', +- line) +- if not match: +- continue +- start = match.group('codepoint1') +- end = match.group('codepoint2') +- if not end: +- end = start +- for code_point in range(int(start, 16), int(end, 16)+1): +- prop = match.group('property') +- if code_point in DERIVED_CORE_PROPERTIES: +- DERIVED_CORE_PROPERTIES[code_point].append(prop) +- else: +- DERIVED_CORE_PROPERTIES[code_point] = [prop] +- +-def to_upper(code_point): +- '''Returns the code point of the uppercase version +- of the given code point''' +- if (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['upper']): +- return UNICODE_ATTRIBUTES[code_point]['upper'] +- else: +- return code_point +- +-def to_lower(code_point): +- '''Returns the code point of the lowercase version +- of the given code point''' +- if (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['lower']): +- return UNICODE_ATTRIBUTES[code_point]['lower'] +- else: +- return code_point +- +-def to_title(code_point): +- '''Returns the code point of the titlecase version +- of the given code point''' +- if (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['title']): +- return UNICODE_ATTRIBUTES[code_point]['title'] +- else: +- return code_point +- +-def is_upper(code_point): +- '''Checks whether the character with this code point is uppercase''' +- return (to_lower(code_point) != code_point +- or (code_point in DERIVED_CORE_PROPERTIES +- and 'Uppercase' in DERIVED_CORE_PROPERTIES[code_point])) +- +-def is_lower(code_point): +- '''Checks whether the character with this code point is lowercase''' +- # Some characters are defined as “Lowercase” in +- # DerivedCoreProperties.txt but do not have a mapping to upper +- # case. For example, ꜰ U+A72F “LATIN LETTER SMALL CAPITAL F” is +- # one of these. +- return (to_upper(code_point) != code_point +- # is lowercase, but without simple to_upper mapping. +- or code_point == 0x00DF +- or (code_point in DERIVED_CORE_PROPERTIES +- and 'Lowercase' in DERIVED_CORE_PROPERTIES[code_point])) +- +-def is_alpha(code_point): +- '''Checks whether the character with this code point is alphabetic''' +- return ((code_point in DERIVED_CORE_PROPERTIES +- and +- 'Alphabetic' in DERIVED_CORE_PROPERTIES[code_point]) +- or +- # Consider all the non-ASCII digits as alphabetic. +- # ISO C 99 forbids us to have them in category “digit”, +- # but we want iswalnum to return true on them. +- (UNICODE_ATTRIBUTES[code_point]['category'] == 'Nd' +- and not (code_point >= 0x0030 and code_point <= 0x0039))) +- +-def is_digit(code_point): +- '''Checks whether the character with this code point is a digit''' +- if False: +- return (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['category'] == 'Nd') +- # Note: U+0BE7..U+0BEF and U+1369..U+1371 are digit systems without +- # a zero. Must add <0> in front of them by hand. +- else: +- # SUSV2 gives us some freedom for the "digit" category, but ISO C 99 +- # takes it away: +- # 7.25.2.1.5: +- # The iswdigit function tests for any wide character that +- # corresponds to a decimal-digit character (as defined in 5.2.1). +- # 5.2.1: +- # the 10 decimal digits 0 1 2 3 4 5 6 7 8 9 +- return (code_point >= 0x0030 and code_point <= 0x0039) +- +-def is_outdigit(code_point): +- '''Checks whether the character with this code point is outdigit''' +- return (code_point >= 0x0030 and code_point <= 0x0039) +- +-def is_blank(code_point): +- '''Checks whether the character with this code point is blank''' +- return (code_point == 0x0009 # '\t' +- # Category Zs without mention of '' +- or (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['category'] == 'Zs' +- and '' not in +- UNICODE_ATTRIBUTES[code_point]['decomposition'])) +- +-def is_space(code_point): +- '''Checks whether the character with this code point is a space''' +- # Don’t make U+00A0 a space. Non-breaking space means that all programs +- # should treat it like a punctuation character, not like a space. +- return (code_point == 0x0020 # ' ' +- or code_point == 0x000C # '\f' +- or code_point == 0x000A # '\n' +- or code_point == 0x000D # '\r' +- or code_point == 0x0009 # '\t' +- or code_point == 0x000B # '\v' +- # Categories Zl, Zp, and Zs without mention of "" +- or (UNICODE_ATTRIBUTES[code_point]['name'] +- and +- (UNICODE_ATTRIBUTES[code_point]['category'] in ['Zl', 'Zp'] +- or +- (UNICODE_ATTRIBUTES[code_point]['category'] in ['Zs'] +- and +- '' not in +- UNICODE_ATTRIBUTES[code_point]['decomposition'])))) +- +-def is_cntrl(code_point): +- '''Checks whether the character with this code point is +- a control character''' +- return (UNICODE_ATTRIBUTES[code_point]['name'] +- and (UNICODE_ATTRIBUTES[code_point]['name'] == '' +- or +- UNICODE_ATTRIBUTES[code_point]['category'] in ['Zl', 'Zp'])) +- +-def is_xdigit(code_point): +- '''Checks whether the character with this code point is +- a hexadecimal digit''' +- if False: +- return (is_digit(code_point) +- or (code_point >= 0x0041 and code_point <= 0x0046) +- or (code_point >= 0x0061 and code_point <= 0x0066)) +- else: +- # SUSV2 gives us some freedom for the "xdigit" category, but ISO C 99 +- # takes it away: +- # 7.25.2.1.12: +- # The iswxdigit function tests for any wide character that +- # corresponds to a hexadecimal-digit character (as defined +- # in 6.4.4.1). +- # 6.4.4.1: +- # hexadecimal-digit: one of +- # 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F +- return ((code_point >= 0x0030 and code_point <= 0x0039) +- or (code_point >= 0x0041 and code_point <= 0x0046) +- or (code_point >= 0x0061 and code_point <= 0x0066)) +- +-def is_graph(code_point): +- '''Checks whether the character with this code point is +- a graphical character''' +- return (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['name'] != '' +- and not is_space(code_point)) +- +-def is_print(code_point): +- '''Checks whether the character with this code point is printable''' +- return (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['name'] != '' +- and UNICODE_ATTRIBUTES[code_point]['category'] not in ['Zl', 'Zp']) +- +-def is_punct(code_point): +- '''Checks whether the character with this code point is punctuation''' +- if False: +- return (UNICODE_ATTRIBUTES[code_point]['name'] +- and UNICODE_ATTRIBUTES[code_point]['category'].startswith('P')) +- else: +- # The traditional POSIX definition of punctuation is every graphic, +- # non-alphanumeric character. +- return (is_graph(code_point) +- and not is_alpha(code_point) +- and not is_digit(code_point)) +- +-def is_combining(code_point): +- '''Checks whether the character with this code point is +- a combining character''' +- # Up to Unicode 3.0.1 we took the Combining property from the PropList.txt +- # file. In 3.0.1 it was identical to the union of the general categories +- # "Mn", "Mc", "Me". In Unicode 3.1 this property has been dropped from the +- # PropList.txt file, so we take the latter definition. +- return (UNICODE_ATTRIBUTES[code_point]['name'] +- and +- UNICODE_ATTRIBUTES[code_point]['category'] in ['Mn', 'Mc', 'Me']) +- +-def is_combining_level3(code_point): +- '''Checks whether the character with this code point is +- a combining level3 character''' +- return (is_combining(code_point) +- and +- int(UNICODE_ATTRIBUTES[code_point]['combining']) in range(0, 200)) +- +-def ucs_symbol(code_point): +- '''Return the UCS symbol string for a Unicode character.''' +- if code_point < 0x10000: +- return ''.format(code_point) +- else: +- return ''.format(code_point) +- +-def ucs_symbol_range(code_point_low, code_point_high): +- '''Returns a string UCS symbol string for a code point range. +- +- Example: +- +- .. +- ''' +- return ucs_symbol(code_point_low) + '..' + ucs_symbol(code_point_high) ++import unicode_utils + + def code_point_ranges(is_class_function): + '''Returns a list of ranges of code points for which is_class_function +@@ -379,7 +43,7 @@ def code_point_ranges(is_class_function): + [[65, 90], [192, 214], [216, 222], [256], … ] + ''' + cp_ranges = [] +- for code_point in sorted(UNICODE_ATTRIBUTES): ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): + if is_class_function(code_point): + if (cp_ranges + and cp_ranges[-1][-1] == code_point - 1): +@@ -413,9 +77,9 @@ def output_charclass(i18n_file, class_name, is_class_function): + if line.strip(): + line += ';' + if len(code_point_range) == 1: +- range_string = ucs_symbol(code_point_range[0]) ++ range_string = unicode_utils.ucs_symbol(code_point_range[0]) + else: +- range_string = ucs_symbol_range( ++ range_string = unicode_utils.ucs_symbol_range( + code_point_range[0], code_point_range[-1]) + if len(line+range_string) > max_column: + i18n_file.write(line+'/\n') +@@ -441,15 +105,15 @@ def output_charmap(i18n_file, map_name, map_function): + line = prefix + map_string = '' + i18n_file.write('%s /\n' %map_name) +- for code_point in sorted(UNICODE_ATTRIBUTES): ++ for code_point in sorted(unicode_utils.UNICODE_ATTRIBUTES): + mapped = map_function(code_point) + if code_point != mapped: + if line.strip(): + line += ';' + map_string = '(' \ +- + ucs_symbol(code_point) \ ++ + unicode_utils.ucs_symbol(code_point) \ + + ',' \ +- + ucs_symbol(mapped) \ ++ + unicode_utils.ucs_symbol(mapped) \ + + ')' + if len(line+map_string) > max_column: + i18n_file.write(line+'/\n') +@@ -459,110 +123,6 @@ def output_charmap(i18n_file, map_name, map_function): + i18n_file.write(line+'\n') + i18n_file.write('\n') + +-def verifications(): +- '''Tests whether the is_* functions observe the known restrictions''' +- for code_point in sorted(UNICODE_ATTRIBUTES): +- # toupper restriction: "Only characters specified for the keywords +- # lower and upper shall be specified. +- if (to_upper(code_point) != code_point +- and not (is_lower(code_point) or is_upper(code_point))): +- sys.stderr.write( +- ('%(sym)s is not upper|lower ' +- + 'but toupper(0x%(c)04X) = 0x%(uc)04X\n') %{ +- 'sym': ucs_symbol(code_point), +- 'c': code_point, +- 'uc': to_upper(code_point)}) +- # tolower restriction: "Only characters specified for the keywords +- # lower and upper shall be specified. +- if (to_lower(code_point) != code_point +- and not (is_lower(code_point) or is_upper(code_point))): +- sys.stderr.write( +- ('%(sym)s is not upper|lower ' +- + 'but tolower(0x%(c)04X) = 0x%(uc)04X\n') %{ +- 'sym': ucs_symbol(code_point), +- 'c': code_point, +- 'uc': to_lower(code_point)}) +- # alpha restriction: "Characters classified as either upper or lower +- # shall automatically belong to this class. +- if ((is_lower(code_point) or is_upper(code_point)) +- and not is_alpha(code_point)): +- sys.stderr.write('%(sym)s is upper|lower but not alpha\n' %{ +- 'sym': ucs_symbol(code_point)}) +- # alpha restriction: “No character specified for the keywords cntrl, +- # digit, punct or space shall be specified.” +- if (is_alpha(code_point) and is_cntrl(code_point)): +- sys.stderr.write('%(sym)s is alpha and cntrl\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_alpha(code_point) and is_digit(code_point)): +- sys.stderr.write('%(sym)s is alpha and digit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_alpha(code_point) and is_punct(code_point)): +- sys.stderr.write('%(sym)s is alpha and punct\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_alpha(code_point) and is_space(code_point)): +- sys.stderr.write('%(sym)s is alpha and space\n' %{ +- 'sym': ucs_symbol(code_point)}) +- # space restriction: “No character specified for the keywords upper, +- # lower, alpha, digit, graph or xdigit shall be specified.” +- # upper, lower, alpha already checked above. +- if (is_space(code_point) and is_digit(code_point)): +- sys.stderr.write('%(sym)s is space and digit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_space(code_point) and is_graph(code_point)): +- sys.stderr.write('%(sym)s is space and graph\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_space(code_point) and is_xdigit(code_point)): +- sys.stderr.write('%(sym)s is space and xdigit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- # cntrl restriction: “No character specified for the keywords upper, +- # lower, alpha, digit, punct, graph, print or xdigit shall be +- # specified.” upper, lower, alpha already checked above. +- if (is_cntrl(code_point) and is_digit(code_point)): +- sys.stderr.write('%(sym)s is cntrl and digit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_cntrl(code_point) and is_punct(code_point)): +- sys.stderr.write('%(sym)s is cntrl and punct\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_cntrl(code_point) and is_graph(code_point)): +- sys.stderr.write('%(sym)s is cntrl and graph\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_cntrl(code_point) and is_print(code_point)): +- sys.stderr.write('%(sym)s is cntrl and print\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_cntrl(code_point) and is_xdigit(code_point)): +- sys.stderr.write('%(sym)s is cntrl and xdigit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- # punct restriction: “No character specified for the keywords upper, +- # lower, alpha, digit, cntrl, xdigit or as the character shall +- # be specified.” upper, lower, alpha, cntrl already checked above. +- if (is_punct(code_point) and is_digit(code_point)): +- sys.stderr.write('%(sym)s is punct and digit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_punct(code_point) and is_xdigit(code_point)): +- sys.stderr.write('%(sym)s is punct and xdigit\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (is_punct(code_point) and code_point == 0x0020): +- sys.stderr.write('%(sym)s is punct\n' %{ +- 'sym': ucs_symbol(code_point)}) +- # graph restriction: “No character specified for the keyword cntrl +- # shall be specified.” Already checked above. +- +- # print restriction: “No character specified for the keyword cntrl +- # shall be specified.” Already checked above. +- +- # graph - print relation: differ only in the character. +- # How is this possible if there are more than one space character?! +- # I think susv2/xbd/locale.html should speak of “space characters”, +- # not “space character”. +- if (is_print(code_point) +- and not (is_graph(code_point) or is_space(code_point))): +- sys.stderr.write('%(sym)s is print but not graph|\n' %{ +- 'sym': ucs_symbol(code_point)}) +- if (not is_print(code_point) +- and (is_graph(code_point) or code_point == 0x0020)): +- sys.stderr.write('%(sym)s is graph| but not print\n' %{ +- 'sym': ucs_symbol(code_point)}) +- + def read_input_file(filename): + '''Reads the original glibc i18n file to get the original head + and tail. +@@ -648,18 +208,18 @@ def output_tables(i18n_file, unicode_version): + + 'program.\n\n') + i18n_file.write('% The "upper" class reflects the uppercase ' + + 'characters of class "alpha"\n') +- output_charclass(i18n_file, 'upper', is_upper) ++ output_charclass(i18n_file, 'upper', unicode_utils.is_upper) + i18n_file.write('% The "lower" class reflects the lowercase ' + + 'characters of class "alpha"\n') +- output_charclass(i18n_file, 'lower', is_lower) ++ output_charclass(i18n_file, 'lower', unicode_utils.is_lower) + i18n_file.write('% The "alpha" class of the "i18n" FDCC-set is ' + + 'reflecting\n') + i18n_file.write('% the recommendations in TR 10176 annex A\n') +- output_charclass(i18n_file, 'alpha', is_alpha) ++ output_charclass(i18n_file, 'alpha', unicode_utils.is_alpha) + i18n_file.write('% The "digit" class must only contain the ' + + 'BASIC LATIN digits, says ISO C 99\n') + i18n_file.write('% (sections 7.25.2.1.5 and 5.2.1).\n') +- output_charclass(i18n_file, 'digit', is_digit) ++ output_charclass(i18n_file, 'digit', unicode_utils.is_digit) + i18n_file.write('% The "outdigit" information is by default ' + + '"0" to "9". We don\'t have to\n') + i18n_file.write('% provide it here since localedef will fill ' +@@ -669,29 +229,30 @@ def output_tables(i18n_file, unicode_version): + i18n_file.write('% outdigit /\n') + i18n_file.write('% ..\n\n') + # output_charclass(i18n_file, 'outdigit', is_outdigit) +- output_charclass(i18n_file, 'space', is_space) +- output_charclass(i18n_file, 'cntrl', is_cntrl) +- output_charclass(i18n_file, 'punct', is_punct) +- output_charclass(i18n_file, 'graph', is_graph) +- output_charclass(i18n_file, 'print', is_print) ++ output_charclass(i18n_file, 'space', unicode_utils.is_space) ++ output_charclass(i18n_file, 'cntrl', unicode_utils.is_cntrl) ++ output_charclass(i18n_file, 'punct', unicode_utils.is_punct) ++ output_charclass(i18n_file, 'graph', unicode_utils.is_graph) ++ output_charclass(i18n_file, 'print', unicode_utils.is_print) + i18n_file.write('% The "xdigit" class must only contain the ' + + 'BASIC LATIN digits and A-F, a-f,\n') + i18n_file.write('% says ISO C 99 ' + + '(sections 7.25.2.1.12 and 6.4.4.1).\n') +- output_charclass(i18n_file, 'xdigit', is_xdigit) +- output_charclass(i18n_file, 'blank', is_blank) +- output_charmap(i18n_file, 'toupper', to_upper) +- output_charmap(i18n_file, 'tolower', to_lower) +- output_charmap(i18n_file, 'map "totitle";', to_title) ++ output_charclass(i18n_file, 'xdigit', unicode_utils.is_xdigit) ++ output_charclass(i18n_file, 'blank', unicode_utils.is_blank) ++ output_charmap(i18n_file, 'toupper', unicode_utils.to_upper) ++ output_charmap(i18n_file, 'tolower', unicode_utils.to_lower) ++ output_charmap(i18n_file, 'map "totitle";', unicode_utils.to_title) + i18n_file.write('% The "combining" class reflects ISO/IEC 10646-1 ' + + 'annex B.1\n') + i18n_file.write('% That is, all combining characters (level 2+3).\n') +- output_charclass(i18n_file, 'class "combining";', is_combining) ++ output_charclass(i18n_file, 'class "combining";', ++ unicode_utils.is_combining) + i18n_file.write('% The "combining_level3" class reflects ' + + 'ISO/IEC 10646-1 annex B.2\n') + i18n_file.write('% That is, combining characters of level 3.\n') +- output_charclass(i18n_file, +- 'class "combining_level3";', is_combining_level3) ++ output_charclass(i18n_file, 'class "combining_level3";', ++ unicode_utils.is_combining_level3) + + if __name__ == "__main__": + PARSER = argparse.ArgumentParser( +@@ -739,9 +300,11 @@ if __name__ == "__main__": + help='The Unicode version of the input files used.') + ARGS = PARSER.parse_args() + +- fill_attributes(ARGS.unicode_data_file) +- fill_derived_core_properties(ARGS.derived_core_properties_file) +- verifications() ++ unicode_utils.fill_attributes( ++ ARGS.unicode_data_file) ++ unicode_utils.fill_derived_core_properties( ++ ARGS.derived_core_properties_file) ++ unicode_utils.verifications() + HEAD = TAIL = '' + if ARGS.input_file: + (HEAD, TAIL) = read_input_file(ARGS.input_file) +diff --git a/localedata/unicode-gen/unicode_utils.py b/localedata/unicode-gen/unicode_utils.py +new file mode 100644 +index 0000000..ee91582 +--- /dev/null ++++ b/localedata/unicode-gen/unicode_utils.py +@@ -0,0 +1,502 @@ ++# Utilities to generate Unicode data for glibc from upstream Unicode data. ++# ++# Copyright (C) 2014, 2015 Free Software Foundation, Inc. ++# This file is part of the GNU C Library. ++# ++# The GNU C Library is free software; you can redistribute it and/or ++# modify it under the terms of the GNU Lesser General Public ++# License as published by the Free Software Foundation; either ++# version 2.1 of the License, or (at your option) any later version. ++# ++# The GNU C Library is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public ++# License along with the GNU C Library; if not, see ++# . ++ ++''' ++This module contains utilities used by the scripts to generate ++Unicode data for glibc from upstream Unicode data files. ++''' ++ ++import sys ++import re ++ ++# Dictionary holding the entire contents of the UnicodeData.txt file ++# ++# Contents of this dictionary look like this: ++# ++# {0: {'category': 'Cc', ++# 'title': None, ++# 'digit': '', ++# 'name': '', ++# 'bidi': 'BN', ++# 'combining': '0', ++# 'comment': '', ++# 'oldname': 'NULL', ++# 'decomposition': '', ++# 'upper': None, ++# 'mirrored': 'N', ++# 'lower': None, ++# 'decdigit': '', ++# 'numeric': ''}, ++# … ++# } ++UNICODE_ATTRIBUTES = {} ++ ++# Dictionary holding the entire contents of the DerivedCoreProperties.txt file ++# ++# Contents of this dictionary look like this: ++# ++# {917504: ['Default_Ignorable_Code_Point'], ++# 917505: ['Case_Ignorable', 'Default_Ignorable_Code_Point'], ++# … ++# } ++DERIVED_CORE_PROPERTIES = {} ++ ++# Dictionary holding the entire contents of the EastAsianWidths.txt file ++# ++# Contents of this dictionary look like this: ++# ++# {0: 'N', … , 45430: 'W', …} ++EAST_ASIAN_WIDTHS = {} ++ ++def fill_attribute(code_point, fields): ++ '''Stores in UNICODE_ATTRIBUTES[code_point] the values from the fields. ++ ++ One entry in the UNICODE_ATTRIBUTES dictionary represents one line ++ in the UnicodeData.txt file. ++ ++ ''' ++ UNICODE_ATTRIBUTES[code_point] = { ++ 'name': fields[1], # Character name ++ 'category': fields[2], # General category ++ 'combining': fields[3], # Canonical combining classes ++ 'bidi': fields[4], # Bidirectional category ++ 'decomposition': fields[5], # Character decomposition mapping ++ 'decdigit': fields[6], # Decimal digit value ++ 'digit': fields[7], # Digit value ++ 'numeric': fields[8], # Numeric value ++ 'mirrored': fields[9], # mirrored ++ 'oldname': fields[10], # Old Unicode 1.0 name ++ 'comment': fields[11], # comment ++ # Uppercase mapping ++ 'upper': int(fields[12], 16) if fields[12] else None, ++ # Lowercase mapping ++ 'lower': int(fields[13], 16) if fields[13] else None, ++ # Titlecase mapping ++ 'title': int(fields[14], 16) if fields[14] else None, ++ } ++ ++def fill_attributes(filename): ++ '''Stores the entire contents of the UnicodeData.txt file ++ in the UNICODE_ATTRIBUTES dictionary. ++ ++ A typical line for a single code point in UnicodeData.txt looks ++ like this: ++ ++ 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; ++ ++ Code point ranges are indicated by pairs of lines like this: ++ ++ 4E00;;Lo;0;L;;;;;N;;;;; ++ 9FCC;;Lo;0;L;;;;;N;;;;; ++ ''' ++ with open(filename, mode='r') as unicode_data_file: ++ fields_start = [] ++ for line in unicode_data_file: ++ fields = line.strip().split(';') ++ if len(fields) != 15: ++ sys.stderr.write( ++ 'short line in file "%(f)s": %(l)s\n' %{ ++ 'f': filename, 'l': line}) ++ exit(1) ++ if fields[2] == 'Cs': ++ # Surrogates are UTF-16 artefacts, ++ # not real characters. Ignore them. ++ fields_start = [] ++ continue ++ if fields[1].endswith(', First>'): ++ fields_start = fields ++ fields_start[1] = fields_start[1].split(',')[0][1:] ++ continue ++ if fields[1].endswith(', Last>'): ++ fields[1] = fields[1].split(',')[0][1:] ++ if fields[1:] != fields_start[1:]: ++ sys.stderr.write( ++ 'broken code point range in file "%(f)s": %(l)s\n' %{ ++ 'f': filename, 'l': line}) ++ exit(1) ++ for code_point in range( ++ int(fields_start[0], 16), ++ int(fields[0], 16)+1): ++ fill_attribute(code_point, fields) ++ fields_start = [] ++ continue ++ fill_attribute(int(fields[0], 16), fields) ++ fields_start = [] ++ ++def fill_derived_core_properties(filename): ++ '''Stores the entire contents of the DerivedCoreProperties.txt file ++ in the DERIVED_CORE_PROPERTIES dictionary. ++ ++ Lines in DerivedCoreProperties.txt are either a code point range like ++ this: ++ ++ 0061..007A ; Lowercase # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z ++ ++ or a single code point like this: ++ ++ 00AA ; Lowercase # Lo FEMININE ORDINAL INDICATOR ++ ++ ''' ++ with open(filename, mode='r') as derived_core_properties_file: ++ for line in derived_core_properties_file: ++ match = re.match( ++ r'^(?P[0-9A-F]{4,6})' ++ + r'(?:\.\.(?P[0-9A-F]{4,6}))?' ++ + r'\s*;\s*(?P[a-zA-Z_]+)', ++ line) ++ if not match: ++ continue ++ start = match.group('codepoint1') ++ end = match.group('codepoint2') ++ if not end: ++ end = start ++ for code_point in range(int(start, 16), int(end, 16)+1): ++ prop = match.group('property') ++ if code_point in DERIVED_CORE_PROPERTIES: ++ DERIVED_CORE_PROPERTIES[code_point].append(prop) ++ else: ++ DERIVED_CORE_PROPERTIES[code_point] = [prop] ++ ++def fill_east_asian_widths(filename): ++ '''Stores the entire contents of the EastAsianWidths.txt file ++ in the EAST_ASIAN_WIDTHS dictionary. ++ ++ Lines in EastAsianWidths.txt are either a code point range like ++ this: ++ ++ 9FCD..9FFF;W # Cn [51] .. ++ ++ or a single code point like this: ++ ++ A015;W # Lm YI SYLLABLE WU ++ ''' ++ with open(filename, mode='r') as east_asian_widths_file: ++ for line in east_asian_widths_file: ++ match = re.match( ++ r'^(?P[0-9A-F]{4,6})' ++ +r'(?:\.\.(?P[0-9A-F]{4,6}))?' ++ +r'\s*;\s*(?P[a-zA-Z]+)', ++ line) ++ if not match: ++ continue ++ start = match.group('codepoint1') ++ end = match.group('codepoint2') ++ if not end: ++ end = start ++ for code_point in range(int(start, 16), int(end, 16)+1): ++ EAST_ASIAN_WIDTHS[code_point] = match.group('property') ++ ++def to_upper(code_point): ++ '''Returns the code point of the uppercase version ++ of the given code point''' ++ if (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['upper']): ++ return UNICODE_ATTRIBUTES[code_point]['upper'] ++ else: ++ return code_point ++ ++def to_lower(code_point): ++ '''Returns the code point of the lowercase version ++ of the given code point''' ++ if (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['lower']): ++ return UNICODE_ATTRIBUTES[code_point]['lower'] ++ else: ++ return code_point ++ ++def to_title(code_point): ++ '''Returns the code point of the titlecase version ++ of the given code point''' ++ if (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['title']): ++ return UNICODE_ATTRIBUTES[code_point]['title'] ++ else: ++ return code_point ++ ++def is_upper(code_point): ++ '''Checks whether the character with this code point is uppercase''' ++ return (to_lower(code_point) != code_point ++ or (code_point in DERIVED_CORE_PROPERTIES ++ and 'Uppercase' in DERIVED_CORE_PROPERTIES[code_point])) ++ ++def is_lower(code_point): ++ '''Checks whether the character with this code point is lowercase''' ++ # Some characters are defined as “Lowercase” in ++ # DerivedCoreProperties.txt but do not have a mapping to upper ++ # case. For example, ꜰ U+A72F “LATIN LETTER SMALL CAPITAL F” is ++ # one of these. ++ return (to_upper(code_point) != code_point ++ # is lowercase, but without simple to_upper mapping. ++ or code_point == 0x00DF ++ or (code_point in DERIVED_CORE_PROPERTIES ++ and 'Lowercase' in DERIVED_CORE_PROPERTIES[code_point])) ++ ++def is_alpha(code_point): ++ '''Checks whether the character with this code point is alphabetic''' ++ return ((code_point in DERIVED_CORE_PROPERTIES ++ and ++ 'Alphabetic' in DERIVED_CORE_PROPERTIES[code_point]) ++ or ++ # Consider all the non-ASCII digits as alphabetic. ++ # ISO C 99 forbids us to have them in category “digit”, ++ # but we want iswalnum to return true on them. ++ (UNICODE_ATTRIBUTES[code_point]['category'] == 'Nd' ++ and not (code_point >= 0x0030 and code_point <= 0x0039))) ++ ++def is_digit(code_point): ++ '''Checks whether the character with this code point is a digit''' ++ if False: ++ return (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['category'] == 'Nd') ++ # Note: U+0BE7..U+0BEF and U+1369..U+1371 are digit systems without ++ # a zero. Must add <0> in front of them by hand. ++ else: ++ # SUSV2 gives us some freedom for the "digit" category, but ISO C 99 ++ # takes it away: ++ # 7.25.2.1.5: ++ # The iswdigit function tests for any wide character that ++ # corresponds to a decimal-digit character (as defined in 5.2.1). ++ # 5.2.1: ++ # the 10 decimal digits 0 1 2 3 4 5 6 7 8 9 ++ return (code_point >= 0x0030 and code_point <= 0x0039) ++ ++def is_outdigit(code_point): ++ '''Checks whether the character with this code point is outdigit''' ++ return (code_point >= 0x0030 and code_point <= 0x0039) ++ ++def is_blank(code_point): ++ '''Checks whether the character with this code point is blank''' ++ return (code_point == 0x0009 # '\t' ++ # Category Zs without mention of '' ++ or (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['category'] == 'Zs' ++ and '' not in ++ UNICODE_ATTRIBUTES[code_point]['decomposition'])) ++ ++def is_space(code_point): ++ '''Checks whether the character with this code point is a space''' ++ # Don’t make U+00A0 a space. Non-breaking space means that all programs ++ # should treat it like a punctuation character, not like a space. ++ return (code_point == 0x0020 # ' ' ++ or code_point == 0x000C # '\f' ++ or code_point == 0x000A # '\n' ++ or code_point == 0x000D # '\r' ++ or code_point == 0x0009 # '\t' ++ or code_point == 0x000B # '\v' ++ # Categories Zl, Zp, and Zs without mention of "" ++ or (UNICODE_ATTRIBUTES[code_point]['name'] ++ and ++ (UNICODE_ATTRIBUTES[code_point]['category'] in ['Zl', 'Zp'] ++ or ++ (UNICODE_ATTRIBUTES[code_point]['category'] in ['Zs'] ++ and ++ '' not in ++ UNICODE_ATTRIBUTES[code_point]['decomposition'])))) ++ ++def is_cntrl(code_point): ++ '''Checks whether the character with this code point is ++ a control character''' ++ return (UNICODE_ATTRIBUTES[code_point]['name'] ++ and (UNICODE_ATTRIBUTES[code_point]['name'] == '' ++ or ++ UNICODE_ATTRIBUTES[code_point]['category'] in ['Zl', 'Zp'])) ++ ++def is_xdigit(code_point): ++ '''Checks whether the character with this code point is ++ a hexadecimal digit''' ++ if False: ++ return (is_digit(code_point) ++ or (code_point >= 0x0041 and code_point <= 0x0046) ++ or (code_point >= 0x0061 and code_point <= 0x0066)) ++ else: ++ # SUSV2 gives us some freedom for the "xdigit" category, but ISO C 99 ++ # takes it away: ++ # 7.25.2.1.12: ++ # The iswxdigit function tests for any wide character that ++ # corresponds to a hexadecimal-digit character (as defined ++ # in 6.4.4.1). ++ # 6.4.4.1: ++ # hexadecimal-digit: one of ++ # 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F ++ return ((code_point >= 0x0030 and code_point <= 0x0039) ++ or (code_point >= 0x0041 and code_point <= 0x0046) ++ or (code_point >= 0x0061 and code_point <= 0x0066)) ++ ++def is_graph(code_point): ++ '''Checks whether the character with this code point is ++ a graphical character''' ++ return (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['name'] != '' ++ and not is_space(code_point)) ++ ++def is_print(code_point): ++ '''Checks whether the character with this code point is printable''' ++ return (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['name'] != '' ++ and UNICODE_ATTRIBUTES[code_point]['category'] not in ['Zl', 'Zp']) ++ ++def is_punct(code_point): ++ '''Checks whether the character with this code point is punctuation''' ++ if False: ++ return (UNICODE_ATTRIBUTES[code_point]['name'] ++ and UNICODE_ATTRIBUTES[code_point]['category'].startswith('P')) ++ else: ++ # The traditional POSIX definition of punctuation is every graphic, ++ # non-alphanumeric character. ++ return (is_graph(code_point) ++ and not is_alpha(code_point) ++ and not is_digit(code_point)) ++ ++def is_combining(code_point): ++ '''Checks whether the character with this code point is ++ a combining character''' ++ # Up to Unicode 3.0.1 we took the Combining property from the PropList.txt ++ # file. In 3.0.1 it was identical to the union of the general categories ++ # "Mn", "Mc", "Me". In Unicode 3.1 this property has been dropped from the ++ # PropList.txt file, so we take the latter definition. ++ return (UNICODE_ATTRIBUTES[code_point]['name'] ++ and ++ UNICODE_ATTRIBUTES[code_point]['category'] in ['Mn', 'Mc', 'Me']) ++ ++def is_combining_level3(code_point): ++ '''Checks whether the character with this code point is ++ a combining level3 character''' ++ return (is_combining(code_point) ++ and ++ int(UNICODE_ATTRIBUTES[code_point]['combining']) in range(0, 200)) ++ ++def ucs_symbol(code_point): ++ '''Return the UCS symbol string for a Unicode character.''' ++ if code_point < 0x10000: ++ return ''.format(code_point) ++ else: ++ return ''.format(code_point) ++ ++def ucs_symbol_range(code_point_low, code_point_high): ++ '''Returns a string UCS symbol string for a code point range. ++ ++ Example: ++ ++ .. ++ ''' ++ return ucs_symbol(code_point_low) + '..' + ucs_symbol(code_point_high) ++ ++def verifications(): ++ '''Tests whether the is_* functions observe the known restrictions''' ++ for code_point in sorted(UNICODE_ATTRIBUTES): ++ # toupper restriction: "Only characters specified for the keywords ++ # lower and upper shall be specified. ++ if (to_upper(code_point) != code_point ++ and not (is_lower(code_point) or is_upper(code_point))): ++ sys.stderr.write( ++ ('%(sym)s is not upper|lower ' ++ + 'but toupper(0x%(c)04X) = 0x%(uc)04X\n') %{ ++ 'sym': ucs_symbol(code_point), ++ 'c': code_point, ++ 'uc': to_upper(code_point)}) ++ # tolower restriction: "Only characters specified for the keywords ++ # lower and upper shall be specified. ++ if (to_lower(code_point) != code_point ++ and not (is_lower(code_point) or is_upper(code_point))): ++ sys.stderr.write( ++ ('%(sym)s is not upper|lower ' ++ + 'but tolower(0x%(c)04X) = 0x%(uc)04X\n') %{ ++ 'sym': ucs_symbol(code_point), ++ 'c': code_point, ++ 'uc': to_lower(code_point)}) ++ # alpha restriction: "Characters classified as either upper or lower ++ # shall automatically belong to this class. ++ if ((is_lower(code_point) or is_upper(code_point)) ++ and not is_alpha(code_point)): ++ sys.stderr.write('%(sym)s is upper|lower but not alpha\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ # alpha restriction: “No character specified for the keywords cntrl, ++ # digit, punct or space shall be specified.” ++ if (is_alpha(code_point) and is_cntrl(code_point)): ++ sys.stderr.write('%(sym)s is alpha and cntrl\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_alpha(code_point) and is_digit(code_point)): ++ sys.stderr.write('%(sym)s is alpha and digit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_alpha(code_point) and is_punct(code_point)): ++ sys.stderr.write('%(sym)s is alpha and punct\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_alpha(code_point) and is_space(code_point)): ++ sys.stderr.write('%(sym)s is alpha and space\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ # space restriction: “No character specified for the keywords upper, ++ # lower, alpha, digit, graph or xdigit shall be specified.” ++ # upper, lower, alpha already checked above. ++ if (is_space(code_point) and is_digit(code_point)): ++ sys.stderr.write('%(sym)s is space and digit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_space(code_point) and is_graph(code_point)): ++ sys.stderr.write('%(sym)s is space and graph\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_space(code_point) and is_xdigit(code_point)): ++ sys.stderr.write('%(sym)s is space and xdigit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ # cntrl restriction: “No character specified for the keywords upper, ++ # lower, alpha, digit, punct, graph, print or xdigit shall be ++ # specified.” upper, lower, alpha already checked above. ++ if (is_cntrl(code_point) and is_digit(code_point)): ++ sys.stderr.write('%(sym)s is cntrl and digit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_cntrl(code_point) and is_punct(code_point)): ++ sys.stderr.write('%(sym)s is cntrl and punct\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_cntrl(code_point) and is_graph(code_point)): ++ sys.stderr.write('%(sym)s is cntrl and graph\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_cntrl(code_point) and is_print(code_point)): ++ sys.stderr.write('%(sym)s is cntrl and print\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_cntrl(code_point) and is_xdigit(code_point)): ++ sys.stderr.write('%(sym)s is cntrl and xdigit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ # punct restriction: “No character specified for the keywords upper, ++ # lower, alpha, digit, cntrl, xdigit or as the character shall ++ # be specified.” upper, lower, alpha, cntrl already checked above. ++ if (is_punct(code_point) and is_digit(code_point)): ++ sys.stderr.write('%(sym)s is punct and digit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_punct(code_point) and is_xdigit(code_point)): ++ sys.stderr.write('%(sym)s is punct and xdigit\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ if (is_punct(code_point) and code_point == 0x0020): ++ sys.stderr.write('%(sym)s is punct\n' %{ ++ 'sym': ucs_symbol(code_point)}) ++ # graph restriction: “No character specified for the keyword cntrl ++ # shall be specified.” Already checked above. ++ ++ # print restriction: “No character specified for the keyword cntrl ++ # shall be specified.” Already checked above. ++ ++ # graph - print relation: differ only in the character. ++ # How is this possible if there are more than one space character?! ++ # I think susv2/xbd/locale.html should speak of “space characters”, ++ # not “space character”. ++ if (is_print(code_point) ++ and not (is_graph(code_point) or is_space(code_point))): ++ sys.stderr.write('%(sym)s is print but not graph|\n' %{ ++ 'sym': unicode_utils.ucs_symbol(code_point)}) ++ if (not is_print(code_point) ++ and (is_graph(code_point) or code_point == 0x0020)): ++ sys.stderr.write('%(sym)s is graph| but not print\n' %{ ++ 'sym': unicode_utils.ucs_symbol(code_point)}) +diff --git a/localedata/unicode-gen/utf8_compatibility.py b/localedata/unicode-gen/utf8_compatibility.py +index b84a1eb..3b7a94c 100755 +--- a/localedata/unicode-gen/utf8_compatibility.py ++++ b/localedata/unicode-gen/utf8_compatibility.py +@@ -30,146 +30,7 @@ To see how this script is used, call it with the “-h” option: + import sys + import re + import argparse +- +-# Dictionary holding the entire contents of the UnicodeData.txt file +-# +-# Contents of this dictionary look like this: +-# +-# {0: {'category': 'Cc', +-# 'title': None, +-# 'digit': '', +-# 'name': '', +-# 'bidi': 'BN', +-# 'combining': '0', +-# 'comment': '', +-# 'oldname': 'NULL', +-# 'decomposition': '', +-# 'upper': None, +-# 'mirrored': 'N', +-# 'lower': None, +-# 'decdigit': '', +-# 'numeric': ''}, +-# … +-# } +-UNICODE_ATTRIBUTES = {} +- +-# Dictionary holding the entire contents of the EastAsianWidths.txt file +-# +-# Contents of this dictionary look like this: +-# +-# {0: 'N', … , 45430: 'W', …} +-EAST_ASIAN_WIDTHS = {} +- +-def fill_attribute(code_point, fields): +- '''Stores in UNICODE_ATTRIBUTES[code_point] the values from the fields. +- +- One entry in the UNICODE_ATTRIBUTES dictionary represents one line +- in the UnicodeData.txt file. +- +- ''' +- UNICODE_ATTRIBUTES[code_point] = { +- 'name': fields[1], # Character name +- 'category': fields[2], # General category +- 'combining': fields[3], # Canonical combining classes +- 'bidi': fields[4], # Bidirectional category +- 'decomposition': fields[5], # Character decomposition mapping +- 'decdigit': fields[6], # Decimal digit value +- 'digit': fields[7], # Digit value +- 'numeric': fields[8], # Numeric value +- 'mirrored': fields[9], # mirrored +- 'oldname': fields[10], # Old Unicode 1.0 name +- 'comment': fields[11], # comment +- # Uppercase mapping +- 'upper': int(fields[12], 16) if fields[12] else None, +- # Lowercase mapping +- 'lower': int(fields[13], 16) if fields[13] else None, +- # Titlecase mapping +- 'title': int(fields[14], 16) if fields[14] else None, +- } +- +-def fill_attributes(filename): +- '''Stores the entire contents of the UnicodeData.txt file +- in the UNICODE_ATTRIBUTES dictionary. +- +- A typical line for a single code point in UnicodeData.txt looks +- like this: +- +- 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; +- +- Code point ranges are indicated by pairs of lines like this: +- +- 4E00;;Lo;0;L;;;;;N;;;;; +- 9FCC;;Lo;0;L;;;;;N;;;;; +- ''' +- with open(filename, mode='r') as unicode_data_file: +- fields_start = [] +- for line in unicode_data_file: +- fields = line.strip().split(';') +- if len(fields) != 15: +- sys.stderr.write( +- 'short line in file "%(f)s": %(l)s\n' %{ +- 'f': filename, 'l': line}) +- exit(1) +- if fields[2] == 'Cs': +- # Surrogates are UTF-16 artefacts, +- # not real characters. Ignore them. +- fields_start = [] +- continue +- if fields[1].endswith(', First>'): +- fields_start = fields +- fields_start[1] = fields_start[1].split(',')[0][1:] +- continue +- if fields[1].endswith(', Last>'): +- fields[1] = fields[1].split(',')[0][1:] +- if fields[1:] != fields_start[1:]: +- sys.stderr.write( +- 'broken code point range in file "%(f)s": %(l)s\n' %{ +- 'f': filename, 'l': line}) +- exit(1) +- for code_point in range( +- int(fields_start[0], 16), +- int(fields[0], 16)+1): +- fill_attribute(code_point, fields) +- fields_start = [] +- continue +- fill_attribute(int(fields[0], 16), fields) +- fields_start = [] +- +-def fill_east_asian_widths(filename): +- '''Stores the entire contents of the EastAsianWidths.txt file +- in the EAST_ASIAN_WIDTHS dictionary. +- +- Lines in EastAsianWidths.txt are either a code point range like +- this: +- +- 9FCD..9FFF;W # Cn [51] .. +- +- or a single code point like this: +- +- A015;W # Lm YI SYLLABLE WU +- ''' +- with open(filename, mode='r') as east_asian_widths_file: +- for line in east_asian_widths_file: +- match = re.match( +- r'^(?P[0-9A-F]{4,6})' +- +r'(?:\.\.(?P[0-9A-F]{4,6}))?' +- +r'\s*;\s*(?P[a-zA-Z]+)', +- line) +- if not match: +- continue +- start = match.group('codepoint1') +- end = match.group('codepoint2') +- if not end: +- end = start +- for code_point in range(int(start, 16), int(end, 16)+1): +- EAST_ASIAN_WIDTHS[code_point] = match.group('property') +- +-def ucs_symbol(code_point): +- '''Return the UCS symbol string for a Unicode character.''' +- if code_point < 0x10000: +- return ''.format(code_point) +- else: +- return ''.format(code_point) ++import unicode_utils + + def create_charmap_dictionary(file_name): + '''Create a dictionary for all code points found in the CHARMAP +@@ -217,10 +78,10 @@ def check_charmap(original_file_name, new_file_name): + if ARGS.show_missing_characters: + for key in sorted(set(ocharmap)-set(ncharmap)): + print('removed: {:s} {:s} {:s}'.format( +- ucs_symbol(key), ++ unicode_utils.ucs_symbol(key), + ocharmap[key], +- UNICODE_ATTRIBUTES[key]['name'] \ +- if key in UNICODE_ATTRIBUTES else None)) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['name'] \ ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None')) + print('------------------------------------------------------------') + changed_charmap = {} + for key in set(ocharmap).intersection(set(ncharmap)): +@@ -231,21 +92,21 @@ def check_charmap(original_file_name, new_file_name): + if ARGS.show_changed_characters: + for key in sorted(changed_charmap): + print('changed: {:s} {:s}->{:s} {:s}'.format( +- ucs_symbol(key), ++ unicode_utils.ucs_symbol(key), + changed_charmap[key][0], + changed_charmap[key][1], +- UNICODE_ATTRIBUTES[key]['name'] \ +- if key in UNICODE_ATTRIBUTES else None)) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['name'] \ ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None')) + print('------------------------------------------------------------') + print('Total added characters in newly generated CHARMAP: %d' + %len(set(ncharmap)-set(ocharmap))) + if ARGS.show_added_characters: + for key in sorted(set(ncharmap)-set(ocharmap)): + print('added: {:s} {:s} {:s}'.format( +- ucs_symbol(key), ++ unicode_utils.ucs_symbol(key), + ncharmap[key], +- UNICODE_ATTRIBUTES[key]['name'] \ +- if key in UNICODE_ATTRIBUTES else None)) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['name'] \ ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None')) + + def create_width_dictionary(file_name): + '''Create a dictionary for all code points found in the WIDTH +@@ -290,20 +151,20 @@ def check_width(original_file_name, new_file_name): + + 'i.e. these have width 1 now.)') + if ARGS.show_missing_characters: + for key in sorted(set(owidth)-set(nwidth)): +- print('removed: {:s} '.format(ucs_symbol(key)) ++ print('removed: {:s} '.format(unicode_utils.ucs_symbol(key)) + + '{:d} : '.format(owidth[key]) + + 'eaw={:s} '.format( +- EAST_ASIAN_WIDTHS[key] +- if key in EAST_ASIAN_WIDTHS else None) ++ unicode_utils.EAST_ASIAN_WIDTHS[key] ++ if key in unicode_utils.EAST_ASIAN_WIDTHS else 'None') + + 'category={:2s} '.format( +- UNICODE_ATTRIBUTES[key]['category'] +- if key in UNICODE_ATTRIBUTES else None) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['category'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None') + + 'bidi={:3s} '.format( +- UNICODE_ATTRIBUTES[key]['bidi'] +- if key in UNICODE_ATTRIBUTES else None) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['bidi'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None') + + 'name={:s}'.format( +- UNICODE_ATTRIBUTES[key]['name'] +- if key in UNICODE_ATTRIBUTES else None)) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['name'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None')) + print('------------------------------------------------------------') + changed_width = {} + for key in set(owidth).intersection(set(nwidth)): +@@ -313,21 +174,21 @@ def check_width(original_file_name, new_file_name): + %len(changed_width)) + if ARGS.show_changed_characters: + for key in sorted(changed_width): +- print('changed width: {:s} '.format(ucs_symbol(key)) ++ print('changed width: {:s} '.format(unicode_utils.ucs_symbol(key)) + + '{:d}->{:d} : '.format(changed_width[key][0], + changed_width[key][1]) + + 'eaw={:s} '.format( +- EAST_ASIAN_WIDTHS[key] +- if key in EAST_ASIAN_WIDTHS else None) ++ unicode_utils.EAST_ASIAN_WIDTHS[key] ++ if key in unicode_utils.EAST_ASIAN_WIDTHS else 'None') + + 'category={:2s} '.format( +- UNICODE_ATTRIBUTES[key]['category'] +- if key in UNICODE_ATTRIBUTES else None) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['category'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None') + + 'bidi={:3s} '.format( +- UNICODE_ATTRIBUTES[key]['bidi'] +- if key in UNICODE_ATTRIBUTES else None) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['bidi'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None') + + 'name={:s}'.format( +- UNICODE_ATTRIBUTES[key]['name'] +- if key in UNICODE_ATTRIBUTES else None)) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['name'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None')) + print('------------------------------------------------------------') + print('Total added characters in newly generated WIDTH: %d' + %len(set(nwidth)-set(owidth))) +@@ -335,20 +196,20 @@ def check_width(original_file_name, new_file_name): + + 'i.e. these had width 1 before.)') + if ARGS.show_added_characters: + for key in sorted(set(nwidth)-set(owidth)): +- print('added: {:s} '.format(ucs_symbol(key)) ++ print('added: {:s} '.format(unicode_utils.ucs_symbol(key)) + + '{:d} : '.format(nwidth[key]) + + 'eaw={:s} '.format( +- EAST_ASIAN_WIDTHS[key] +- if key in EAST_ASIAN_WIDTHS else None) ++ unicode_utils.EAST_ASIAN_WIDTHS[key] ++ if key in unicode_utils.EAST_ASIAN_WIDTHS else 'None') + + 'category={:2s} '.format( +- UNICODE_ATTRIBUTES[key]['category'] +- if key in UNICODE_ATTRIBUTES else None) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['category'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None') + + 'bidi={:3s} '.format( +- UNICODE_ATTRIBUTES[key]['bidi'] +- if key in UNICODE_ATTRIBUTES else None) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['bidi'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None') + + 'name={:s}'.format( +- UNICODE_ATTRIBUTES[key]['name'] +- if key in UNICODE_ATTRIBUTES else None)) ++ unicode_utils.UNICODE_ATTRIBUTES[key]['name'] ++ if key in unicode_utils.UNICODE_ATTRIBUTES else 'None')) + + if __name__ == "__main__": + PARSER = argparse.ArgumentParser( +@@ -392,8 +253,8 @@ if __name__ == "__main__": + ARGS = PARSER.parse_args() + + if ARGS.unicode_data_file: +- fill_attributes(ARGS.unicode_data_file) ++ unicode_utils.fill_attributes(ARGS.unicode_data_file) + if ARGS.east_asian_width_file: +- fill_east_asian_widths(ARGS.east_asian_width_file) ++ unicode_utils.fill_east_asian_widths(ARGS.east_asian_width_file) + check_charmap(ARGS.old_utf8_file, ARGS.new_utf8_file) + check_width(ARGS.old_utf8_file, ARGS.new_utf8_file) +diff --git a/localedata/unicode-gen/utf8_gen.py b/localedata/unicode-gen/utf8_gen.py +index f1b88f5..bc84c07 100755 +--- a/localedata/unicode-gen/utf8_gen.py ++++ b/localedata/unicode-gen/utf8_gen.py +@@ -29,6 +29,7 @@ It will output UTF-8 file + + import sys + import re ++import unicode_utils + + # Auxiliary tables for Hangul syllable names, see the Unicode 3.0 book, + # sections 3.11 and 4.4. +@@ -49,13 +50,6 @@ JAMO_FINAL_SHORT_NAME = ( + 'P', 'H' + ) + +-def ucs_symbol(code_point): +- '''Return the UCS symbol string for a Unicode character.''' +- if code_point < 0x10000: +- return ''.format(code_point) +- else: +- return ''.format(code_point) +- + def process_range(start, end, outfile, name): + '''Writes a range of code points into the CHARMAP section of the + output file +@@ -78,7 +72,7 @@ def process_range(start, end, outfile, name): + + JAMO_MEDIAL_SHORT_NAME[index2] \ + + JAMO_FINAL_SHORT_NAME[index3] + outfile.write('{:<11s} {:<12s} {:s}\n'.format( +- ucs_symbol(i), convert_to_hex(i), ++ unicode_utils.ucs_symbol(i), convert_to_hex(i), + hangul_syllable_name)) + return + # UnicodeData.txt file has contains code point ranges like this: +@@ -95,14 +89,14 @@ def process_range(start, end, outfile, name): + for i in range(int(start, 16), int(end, 16), 64 ): + if i > (int(end, 16)-64): + outfile.write('{:s}..{:s} {:<12s} {:s}\n'.format( +- ucs_symbol(i), +- ucs_symbol(int(end,16)), ++ unicode_utils.ucs_symbol(i), ++ unicode_utils.ucs_symbol(int(end,16)), + convert_to_hex(i), + name)) + break + outfile.write('{:s}..{:s} {:<12s} {:s}\n'.format( +- ucs_symbol(i), +- ucs_symbol(i+63), ++ unicode_utils.ucs_symbol(i), ++ unicode_utils.ucs_symbol(i+63), + convert_to_hex(i), + name)) + +@@ -168,7 +162,7 @@ def process_charmap(flines, outfile): + # comments, so we keep these comment lines. + outfile.write('%') + outfile.write('{:<11s} {:<12s} {:s}\n'.format( +- ucs_symbol(int(fields[0], 16)), ++ unicode_utils.ucs_symbol(int(fields[0], 16)), + convert_to_hex(int(fields[0], 16)), + fields[1])) + +@@ -230,7 +224,7 @@ def process_width(outfile, ulines, elines): + for line in ulines: + fields = line.split(";") + if fields[4] == "NSM" or fields[2] == "Cf": +- width_dict[int(fields[0], 16)] = ucs_symbol( ++ width_dict[int(fields[0], 16)] = unicode_utils.ucs_symbol( + int(fields[0], 16)) + '\t0' + + for line in elines: +@@ -238,7 +232,7 @@ def process_width(outfile, ulines, elines): + # UnicodeData.txt: + fields = line.split(";") + if not '..' in fields[0]: +- width_dict[int(fields[0], 16)] = ucs_symbol( ++ width_dict[int(fields[0], 16)] = unicode_utils.ucs_symbol( + int(fields[0], 16)) + '\t2' + else: + code_points = fields[0].split("..") +@@ -247,8 +241,8 @@ def process_width(outfile, ulines, elines): + if key in width_dict: + del width_dict[key] + width_dict[int(code_points[0], 16)] = '{:s}...{:s}\t2'.format( +- ucs_symbol(int(code_points[0], 16)), +- ucs_symbol(int(code_points[1], 16))) ++ unicode_utils.ucs_symbol(int(code_points[0], 16)), ++ unicode_utils.ucs_symbol(int(code_points[1], 16))) + + for key in sorted(width_dict): + outfile.write(width_dict[key]+'\n') +-- +2.4.3 + diff --git a/glibc.spec b/glibc.spec index b9709e1..bcfc7d6 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.21-357-gb40a4e1 %define glibcversion 2.21.90 -%define glibcrelease 17%{?dist} +%define glibcrelease 18%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -249,6 +249,13 @@ Patch2033: glibc-aarch64-tls-fixes.patch Patch2034: glibc-aarch64-workaround-nzcv-clobber-in-tlsdesc.patch Patch2035: glibc-new-condvar.patch +# Upstream BZ 18568 +Patch2101: glibc-rh1238412-remove-duplicate-transliterations.patch +Patch2102: glibc-rh1238412-addition-and-fixes-for-translit_neutral.patch +Patch2103: glibc-rh1238412-update-the-translit-files-to-unicode-7.0.0.patch +Patch2104: glibc-rh1238412-add-translit-rules-for-da-nb-nn-sv-locales.patch +Patch2105: glibc-rh1238412-unicode-8.0.0-update.patch + ############################################################################## # # Benchmark comparison patches. @@ -610,6 +617,12 @@ microbenchmark tests on the system. %patch3002 -p1 %patch2035 -p1 +%patch2101 -p1 +%patch2102 -p1 +%patch2103 -p1 +%patch2104 -p1 +%patch2105 -p1 + ############################################################################## # %%prep - Additional prep required... ############################################################################## @@ -1824,6 +1837,10 @@ rm -f *.filelist* %endif %changelog +* Tue Jul 14 2015 Mike FABIAN - 2.21.90-18 +- Unicode 8.0.0 updates (including the transliteration files) +- Resolves: rhbz#1238412 + * Sun Jun 21 2015 Carlos O'Donell - 2.21.90-17 - Remove all linuxthreads handling from glibc spec file.