aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog29
-rw-r--r--iconvdata/gbk.c33
-rw-r--r--iconvdata/testdata/GBK18
-rw-r--r--iconvdata/testdata/GBK..UTF818
-rwxr-xr-xiconvdata/tst-tables.sh2
-rw-r--r--localedata/ChangeLog22
-rw-r--r--localedata/Makefile3
-rw-r--r--localedata/dump-ctype.c163
-rw-r--r--localedata/gen-unicode-ctype.c792
-rw-r--r--localedata/locales/i18n1425
-rw-r--r--localedata/tests-mbwc/dat_iswctype.c12
-rw-r--r--localedata/tests-mbwc/dat_iswgraph.c4
-rw-r--r--localedata/tests-mbwc/dat_iswprint.c4
-rw-r--r--localedata/tests-mbwc/dat_iswpunct.c4
-rw-r--r--localedata/tests-mbwc/dat_wcswidth.c4
-rw-r--r--localedata/tst-ctype-de_DE.ISO-8859-1.in8
16 files changed, 2016 insertions, 525 deletions
diff --git a/ChangeLog b/ChangeLog
index 9c0a579a4a..d67f077874 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2000-09-23 Bruno Haible <haible@clisp.cons.org>
+
+ * iconvdata/gbk.c (USE_PRIVATE_AREA): Define to 0.
+ (__gbk_to_ucs): Conditionalize private area mappings.
+ (__gbk_from_ucs4_tab9): Likewise.
+ (BODY for TO_LOOP): Likewise.
+ * iconvdata/testdata/GBK: Don't use characters not yet in Unicode.
+ * iconvdata/testdata/GBK..UTF-8: Likewise.
+ * iconvdata/tst-tables.sh: Enable GBK test.
+
+2000-09-23 Bruno Haible <haible@clisp.cons.org>
+
+ * iconvdata/gbk.c (__gbk_to_ucs): Swap U+2014 and U+2015.
+ (__gbk_from_ucs4_tab4): Swap entries for U+2014 and U+2015.
+ (BODY for FROM_LOOP): Reject input > 0xFEA0, avoids out-of-bounds
+ array access.
+ * iconvdata/gbgbk.c (BODY for FROM_LOOP): Map 0xA844 to 0xA1AA.
+ * iconvdata/testdata/GBK..UTF8: Swap U+2014 and U+2015.
+
+2000-09-23 Bruno Haible <haible@clisp.cons.org>
+
+ * iconvdata/johab.c (final_to_ucs): Fix typos.
+ (jamo_from_ucs_table): Likewise.
+ (BODY for FROM_LOOP): Map 0x5c to U+20A9. Reject ranges
+ 0xD9E6..0xD9FE and 0xDEF2..0xDEFE.
+ (BODY for TO_LOOP): Map U+20A9 to 0x5c. Don't produce values in
+ the range 0xD9E6..0xD9FE.
+ * iconvdata/tst-tables.sh: Enable JOHAB testing.
+
2000-09-25 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_conf.c (__gconv_get_path): Fix problem with relative
diff --git a/iconvdata/gbk.c b/iconvdata/gbk.c
index f9a53ff2df..b07f39294a 100644
--- a/iconvdata/gbk.c
+++ b/iconvdata/gbk.c
@@ -26,6 +26,12 @@
#include <wchar.h>
#include <assert.h>
+/* Unicode 3.0.1 does not contain all the characters in GBK. Define
+ USE_PRIVATE_AREA to 1 in order to use mappings from/to the Unicode
+ Private Use area. Until we see other systems using the same mappings,
+ it is disabled. */
+#define USE_PRIVATE_AREA 0
+
/* The conversion table to UCS4 has almost no holes. It can be generated with:
perl tab.pl < gbk.txt
@@ -1739,7 +1745,13 @@ static const uint16_t __gbk_to_ucs[] =
[0x1db0] = 0x00f2, [0x1db1] = 0x016b, [0x1db2] = 0x00fa, [0x1db3] = 0x01d4,
[0x1db4] = 0x00f9, [0x1db5] = 0x01d6, [0x1db6] = 0x01d8, [0x1db7] = 0x01da,
[0x1db8] = 0x01dc, [0x1db9] = 0x00fc, [0x1dba] = 0x00ea, [0x1dbb] = 0x0251,
- [0x1dbc] = 0xe7c7, [0x1dbd] = 0x0144, [0x1dbe] = 0x0148, [0x1dbf] = 0xe7c8,
+#if USE_PRIVATE_AREA
+ [0x1dbc] = 0xe7c7,
+#endif
+ [0x1dbd] = 0x0144, [0x1dbe] = 0x0148,
+#if USE_PRIVATE_AREA
+ [0x1dbf] = 0xe7c8,
+#endif
[0x1dc0] = 0x0261, [0x1dc5] = 0x3105, [0x1dc6] = 0x3106, [0x1dc7] = 0x3107,
[0x1dc8] = 0x3108, [0x1dc9] = 0x3109, [0x1dca] = 0x310a, [0x1dcb] = 0x310b,
[0x1dcc] = 0x310c, [0x1dcd] = 0x310d, [0x1dce] = 0x310e, [0x1dcf] = 0x310f,
@@ -1766,10 +1778,14 @@ static const uint16_t __gbk_to_ucs[] =
[0x1e3b] = 0xfe5e, [0x1e3c] = 0xfe5f, [0x1e3d] = 0xfe60, [0x1e3e] = 0xfe61,
[0x1e40] = 0xfe62, [0x1e41] = 0xfe63, [0x1e42] = 0xfe64, [0x1e43] = 0xfe65,
[0x1e44] = 0xfe66, [0x1e45] = 0xfe68, [0x1e46] = 0xfe69, [0x1e47] = 0xfe6a,
- [0x1e48] = 0xfe6b, [0x1e49] = 0xe7e7, [0x1e4a] = 0xe7e8, [0x1e4b] = 0xe7e9,
+ [0x1e48] = 0xfe6b,
+#if USE_PRIVATE_AREA
+ [0x1e49] = 0xe7e7, [0x1e4a] = 0xe7e8, [0x1e4b] = 0xe7e9,
[0x1e4c] = 0xe7ea, [0x1e4d] = 0xe7eb, [0x1e4e] = 0xe7ec, [0x1e4f] = 0xe7ed,
[0x1e50] = 0xe7ee, [0x1e51] = 0xe7ef, [0x1e52] = 0xe7f0, [0x1e53] = 0xe7f1,
- [0x1e54] = 0xe7f2, [0x1e55] = 0xe7f3, [0x1e56] = 0x3007, [0x1e64] = 0x2500,
+ [0x1e54] = 0xe7f2, [0x1e55] = 0xe7f3,
+#endif
+ [0x1e56] = 0x3007, [0x1e64] = 0x2500,
[0x1e65] = 0x2501, [0x1e66] = 0x2502, [0x1e67] = 0x2503, [0x1e68] = 0x2504,
[0x1e69] = 0x2505, [0x1e6a] = 0x2506, [0x1e6b] = 0x2507, [0x1e6c] = 0x2508,
[0x1e6d] = 0x2509, [0x1e6e] = 0x250a, [0x1e6f] = 0x250b, [0x1e70] = 0x250c,
@@ -5499,7 +5515,9 @@ static const uint16_t __gbk_to_ucs[] =
[0x5dc2] = 0xfa0e, [0x5dc3] = 0xfa0f, [0x5dc4] = 0xfa11, [0x5dc5] = 0xfa13,
[0x5dc6] = 0xfa14, [0x5dc7] = 0xfa18, [0x5dc8] = 0xfa1f, [0x5dc9] = 0xfa20,
[0x5dca] = 0xfa21, [0x5dcb] = 0xfa23, [0x5dcc] = 0xfa24, [0x5dcd] = 0xfa27,
- [0x5dce] = 0xfa28, [0x5dcf] = 0xfa29, [0x5dd0] = 0xe815, [0x5dd1] = 0xe816,
+ [0x5dce] = 0xfa28, [0x5dcf] = 0xfa29,
+#if USE_PRIVATE_AREA
+ [0x5dd0] = 0xe815, [0x5dd1] = 0xe816,
[0x5dd2] = 0xe817, [0x5dd3] = 0xe818, [0x5dd4] = 0xe819, [0x5dd5] = 0xe81a,
[0x5dd6] = 0xe81b, [0x5dd7] = 0xe81c, [0x5dd8] = 0xe81d, [0x5dd9] = 0xe81e,
[0x5dda] = 0xe81f, [0x5ddb] = 0xe820, [0x5ddc] = 0xe821, [0x5ddd] = 0xe822,
@@ -5520,6 +5538,9 @@ static const uint16_t __gbk_to_ucs[] =
[0x5e17] = 0xe85b, [0x5e18] = 0xe85c, [0x5e19] = 0xe85d, [0x5e1a] = 0xe85e,
[0x5e1b] = 0xe85f, [0x5e1c] = 0xe860, [0x5e1d] = 0xe861, [0x5e1e] = 0xe862,
[0x5e1f] = 0xe863, [0x5e20] = 0xe864,
+#else
+ [0x5e20] = 0x0000,
+#endif
};
/* The table can be created using
@@ -12936,6 +12957,7 @@ static const char __gbk_from_ucs4_tab8[][2] =
*/
static const char __gbk_from_ucs4_tab9[][2] =
{
+#if USE_PRIVATE_AREA
[0x0000] = "\xa8\xbc", [0x0001] = "\xa8\xbf", [0x0020] = "\xa9\x89",
[0x0021] = "\xa9\x8a", [0x0022] = "\xa9\x8b", [0x0023] = "\xa9\x8c",
[0x0024] = "\xa9\x8d", [0x0025] = "\xa9\x8e", [0x0026] = "\xa9\x8f",
@@ -12968,6 +12990,7 @@ static const char __gbk_from_ucs4_tab9[][2] =
[0x0096] = "\xfe\x99", [0x0097] = "\xfe\x9a", [0x0098] = "\xfe\x9b",
[0x0099] = "\xfe\x9c", [0x009a] = "\xfe\x9d", [0x009b] = "\xfe\x9e",
[0x009c] = "\xfe\x9f", [0x009d] = "\xfe\xa0",
+#endif
};
/* The table can be created using
@@ -13418,7 +13441,7 @@ static const char __gbk_from_ucs4_tab12[][2] =
cp = __gbk_from_ucs4_tab8[ch - 0x4e00]; \
break; \
case 0xe7c7 ... 0xe864: \
- cp = __gbk_from_ucs4_tab9[ch - 0xe7c7]; \
+ cp = USE_PRIVATE_AREA ? __gbk_from_ucs4_tab9[ch - 0xe7c7] : "\0\0"; \
break; \
case 0xf92c: \
cp = "\xfd\x9c"; \
diff --git a/iconvdata/testdata/GBK b/iconvdata/testdata/GBK
index 31f35414c8..615c47c376 100644
--- a/iconvdata/testdata/GBK
+++ b/iconvdata/testdata/GBK
@@ -438,7 +438,7 @@
-
+ A8BC A8BF
@@ -446,8 +446,8 @@
P Q R S T U V W Y Z \
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~
-
-
+ A989 A98A A98B A98C A98D A98E A98F
+ A990 A991 A992 A993 A994 A995
@@ -1402,9 +1402,9 @@
@ A B C D E F G H I J K L M N O
- P Q R S T U V W X Y Z [ \ ] ^ _
- ` a b c d e f g h i j k l m n o
- p q r s t u v w x y z { | } ~
-
-
-
+ FE50 FE51 FE52 FE53 FE54 FE55 FE56 FE57 FE58 FE59 FE5A FE5B FE5C FE5D FE5E FE5F
+ FE60 FE61 FE62 FE63 FE64 FE65 FE66 FE67 FE68 FE69 FE6A FE6B FE6C FE6D FE6E FE6F
+ FE70 FE71 FE72 FE73 FE74 FE75 FE76 FE77 FE78 FE79 FE7A FE7B FE7C FE7D FE7E
+ FE80 FE81 FE82 FE83 FE84 FE85 FE86 FE87 FE88 FE89 FE8A FE8B FE8C FE8D FE8E FE8F
+ FE90 FE91 FE92 FE93 FE94 FE95 FE96 FE97 FE98 FE99 FE9A FE9B FE9C FE9D FE9E FE9F
+ FEA0
diff --git a/iconvdata/testdata/GBK..UTF8 b/iconvdata/testdata/GBK..UTF8
index cadf7239a6..6d8ce8c9a6 100644
--- a/iconvdata/testdata/GBK..UTF8
+++ b/iconvdata/testdata/GBK..UTF8
@@ -438,7 +438,7 @@
█ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▓ ▔ ▕ ▼ ▽ ◢ ◣ ◤
◥ ☉ ⊕ 〒 〝 〞
ā á ǎ à ē é ě è ī í ǐ ì ō ó ǒ
- ò ū ú ǔ ù ǖ ǘ ǚ ǜ ü ê ɑ  ń ň 
+ ò ū ú ǔ ù ǖ ǘ ǚ ǜ ü ê ɑ A8BC ń ň A8BF
ɡ ㄅ ㄆ ㄇ ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ
ㄐ ㄑ ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ ㄚ ㄛ ㄜ ㄝ ㄞ ㄟ
ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ ㄦ ㄧ ㄨ ㄩ
@@ -446,8 +446,8 @@
㏄ ㏎ ㏑ ㏒ ㏕ ︰ ¬ ¦ ℡ ㈱ ‐
ー ゛ ゜ ヽ ヾ 〆 ゝ ゞ ﹉ ﹊ ﹋ ﹌ ﹍ ﹎ ﹏ ﹐
﹑ ﹒ ﹔ ﹕ ﹖ ﹗ ﹙ ﹚ ﹛ ﹜ ﹝ ﹞ ﹟ ﹠ ﹡
- ﹢ ﹣ ﹤ ﹥ ﹦ ﹨ ﹩ ﹪ ﹫       
-       〇
+ ﹢ ﹣ ﹤ ﹥ ﹦ ﹨ ﹩ ﹪ ﹫ A989 A98A A98B A98C A98D A98E A98F
+ A990 A991 A992 A993 A994 A995 〇
─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋
┌ ┍ ┎ ┏ ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛
├ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫
@@ -1402,9 +1402,9 @@
龕 龖 龗 龘 龜 龝 龞 龡 龢 龣 龤 龥 郎 凉 秊 裏
兀 嗀 﨎 﨏 﨑 﨓 﨔 礼 﨟 蘒 﨡 﨣 﨤 﨧 﨨 﨩
-                
-                
-               
-                
-                
- 
+ FE50 FE51 FE52 FE53 FE54 FE55 FE56 FE57 FE58 FE59 FE5A FE5B FE5C FE5D FE5E FE5F
+ FE60 FE61 FE62 FE63 FE64 FE65 FE66 FE67 FE68 FE69 FE6A FE6B FE6C FE6D FE6E FE6F
+ FE70 FE71 FE72 FE73 FE74 FE75 FE76 FE77 FE78 FE79 FE7A FE7B FE7C FE7D FE7E
+ FE80 FE81 FE82 FE83 FE84 FE85 FE86 FE87 FE88 FE89 FE8A FE8B FE8C FE8D FE8E FE8F
+ FE90 FE91 FE92 FE93 FE94 FE95 FE96 FE97 FE98 FE99 FE9A FE9B FE9C FE9D FE9E FE9F
+ FEA0
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index e743239a76..bc57e1b83b 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -191,7 +191,7 @@ cat <<EOF |
BIG5HKSCS
EUC-JP
EUC-CN GB2312
- #GBK Converter uses private area characters
+ GBK
EUC-TW
GB18030
#
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 7e95c5001f..1ba7cc0926 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,25 @@
+2000-09-24 Bruno Haible <haible@clisp.cons.org>
+
+ * gen-unicode-ctype.c: New file.
+ * dump-ctype.c: New file.
+ * Makefile (distribute): Add them.
+ * locales/i18n: Update LC_CTYPE part to Unicode 3.0, using
+ gen-unicode-ctype.c.
+ (blank): Add U+1680.
+ (cntrl): Add U+2028, U+2029.
+ (space): Add U+1680, U+2028, U+2029.
+ (digit): Add Myanmar, Ethiopic, Khmer, Mongolian, fullwidth digits.
+ (alnum, alpha, print, graph, punct): Lots of additions.
+ (lower, upper, tolower, toupper, combining, combining_level3): Update.
+ (totitle): New map.
+ * tst-ctype-de_DE.ISO-8859-1.in: Mark U00B5 as lower; the Unicode 3.0
+ towupper functions maps it to U039C. Mark U00A0 as graph, print, punct.
+ * tests-mbwc/dat_iswctype.c: Mark U00A0 as graph, print, punct.
+ * tests-mbwc/dat_iswgraph.c: Mark U00A0 as graph.
+ * tests-mbwc/dat_iswprint.c: Mark U00A0 as print.
+ * tests-mbwc/dat_iswpunct.c: Mark U00A0 as punct.
+ * tests-mbwc/dat_wcswidth.c: U00A0 is now print.
+
2000-09-23 Bruno Haible <haible@clisp.cons.org>
* charmaps/GBK: Add commented mappings for GBK characters not yet in
diff --git a/localedata/Makefile b/localedata/Makefile
index f86584ab26..25ee02d828 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -72,7 +72,8 @@ distribute := CHECKSUMS README SUPPORTED ChangeLog \
$(wildcard tests-mbwc/*.[ch]) \
$(addprefix tst-fmon-locales/tstfmon_,$(fmon-tests)) \
gen-locale.sh show-ucs-data.c tst-langinfo.sh \
- tst-wctype.sh tst-wctype.input
+ tst-wctype.sh tst-wctype.input gen-unicode-ctype.c \
+ dump-ctype.c
# Get $(inst_i18ndir) defined.
include ../Makeconfig
diff --git a/localedata/dump-ctype.c b/localedata/dump-ctype.c
new file mode 100644
index 0000000000..9514ca7654
--- /dev/null
+++ b/localedata/dump-ctype.c
@@ -0,0 +1,163 @@
+/* Dump the character classes and character maps of a locale to a bunch
+ of individual files which can be processed with diff, sed etc.
+ Copyright (C) 2000 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU UTF-8 Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* Usage example:
+ $ dump-ctype de_DE.UTF-8
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <wctype.h>
+#include <locale.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <errno.h>
+
+static const char *program_name = "dump-ctype";
+static const char *locale;
+
+static const char *class_names[] =
+ {
+ "alnum", "alpha", "blank", "cntrl", "digit", "graph", "lower",
+ "print", "punct", "space", "upper", "xdigit"
+ };
+
+static const char *map_names[] =
+ {
+ "tolower", "toupper", "totitle"
+ };
+
+static void dump_class (const char *class_name)
+{
+ wctype_t class;
+ FILE *f;
+ unsigned int ch;
+
+ class = wctype (class_name);
+ if (class == (wctype_t) 0)
+ {
+ fprintf (stderr, "%s %s: noexistent class %s\n", program_name,
+ locale, class_name);
+ return;
+ }
+
+ f = fopen (class_name, "w");
+ if (f == NULL)
+ {
+ fprintf (stderr, "%s %s: cannot open file %s/%s\n", program_name,
+ locale, locale, class_name);
+ exit (1);
+ }
+
+ for (ch = 0; ch < 0x10000; ch++)
+ if (iswctype (ch, class))
+ fprintf (f, "0x%04X\n", ch);
+
+ if (ferror (f) || fclose (f))
+ {
+ fprintf (stderr, "%s %s: I/O error on file %s/%s\n", program_name,
+ locale, locale, class_name);
+ exit (1);
+ }
+}
+
+static void dump_map (const char *map_name)
+{
+ wctrans_t map;
+ FILE *f;
+ unsigned int ch;
+
+ map = wctrans (map_name);
+ if (map == (wctrans_t) 0)
+ {
+ fprintf (stderr, "%s %s: noexistent map %s\n", program_name,
+ locale, map_name);
+ return;
+ }
+
+ f = fopen (map_name, "w");
+ if (f == NULL)
+ {
+ fprintf (stderr, "%s %s: cannot open file %s/%s\n", program_name,
+ locale, locale, map_name);
+ exit (1);
+ }
+
+ for (ch = 0; ch < 0x10000; ch++)
+ if (towctrans (ch, map) != ch)
+ fprintf (f, "0x%04X\t0x%04X\n", ch, towctrans (ch, map));
+
+ if (ferror (f) || fclose (f))
+ {
+ fprintf (stderr, "%s %s: I/O error on file %s/%s\n", program_name,
+ locale, locale, map_name);
+ exit (1);
+ }
+}
+
+int main (int argc, char *argv[])
+{
+ size_t i;
+
+ if (argc != 2)
+ {
+ fprintf (stderr, "Usage: dump-ctype locale\n");
+ exit (1);
+ }
+ locale = argv[1];
+
+ if (setlocale (LC_ALL, locale) == NULL)
+ {
+ fprintf (stderr, "%s: setlocale cannot switch to locale %s\n",
+ program_name, locale);
+ exit (1);
+ }
+
+ if (mkdir (locale, 0777) < 0)
+ {
+ char buf[100];
+ int save_errno = errno;
+
+ sprintf (buf, "%s: cannot create directory %s", program_name, locale);
+ errno = save_errno;
+ perror (buf);
+ exit (1);
+ }
+
+ if (chdir (locale) < 0)
+ {
+ char buf[100];
+ int save_errno = errno;
+
+ sprintf (buf, "%s: cannot chdir to %s", program_name, locale);
+ errno = save_errno;
+ perror (buf);
+ exit (1);
+ }
+
+ for (i = 0; i < sizeof (class_names) / sizeof (class_names[0]); i++)
+ dump_class (class_names[i]);
+
+ for (i = 0; i < sizeof (map_names) / sizeof (map_names[0]); i++)
+ dump_map (map_names[i]);
+
+ return 0;
+}
diff --git a/localedata/gen-unicode-ctype.c b/localedata/gen-unicode-ctype.c
new file mode 100644
index 0000000000..b45e70351a
--- /dev/null
+++ b/localedata/gen-unicode-ctype.c
@@ -0,0 +1,792 @@
+/* Generate a Unicode conforming LC_CTYPE category from a UnicodeData file.
+ Copyright (C) 2000 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU UTF-8 Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* Usage example:
+ $ gen-unicode /usr/local/share/Unidata/UnicodeData.txt \
+ /usr/local/share/Unidata/PropList.txt \
+ 3.0
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <string.h>
+#include <time.h>
+
+/* This structure represents one line in the UnicodeData.txt file. */
+struct unicode_attribute
+{
+ const char *name; /* Character name */
+ const char *category; /* General category */
+ const char *combining; /* Canonical combining classes */
+ const char *bidi; /* Bidirectional category */
+ const char *decomposition; /* Character decomposition mapping */
+ const char *decdigit; /* Decimal digit value */
+ const char *digit; /* Digit value */
+ const char *numeric; /* Numeric value */
+ int mirrored; /* mirrored */
+ const char *oldname; /* Old Unicode 1.0 name */
+ const char *comment; /* Comment */
+ unsigned int upper; /* Uppercase mapping */
+ unsigned int lower; /* Lowercase mapping */
+ unsigned int title; /* Titlecase mapping */
+};
+
+/* Missing fields are represented with "" for strings, and NONE for
+ characters. */
+#define NONE (~(unsigned int)0)
+
+/* The entire contents of the UnicodeData.txt file. */
+struct unicode_attribute unicode_attributes [0x10000];
+
+/* Stores in unicode_attributes[i] the values from the given fields. */
+static void
+fill_attribute (unsigned int i,
+ const char *field1, const char *field2,
+ const char *field3, const char *field4,
+ const char *field5, const char *field6,
+ const char *field7, const char *field8,
+ const char *field9, const char *field10,
+ const char *field11, const char *field12,
+ const char *field13, const char *field14)
+{
+ struct unicode_attribute * uni;
+
+ if (i >= 0x10000)
+ {
+ fprintf (stderr, "index too large\n");
+ exit (1);
+ }
+ uni = &unicode_attributes[i];
+ /* Copy the strings. */
+ uni->name = strdup (field1);
+ uni->category = (field2[0] == '\0' ? "" : strdup (field2));
+ uni->combining = (field3[0] == '\0' ? "" : strdup (field3));
+ uni->bidi = (field4[0] == '\0' ? "" : strdup (field4));
+ uni->decomposition = (field5[0] == '\0' ? "" : strdup (field5));
+ uni->decdigit = (field6[0] == '\0' ? "" : strdup (field6));
+ uni->digit = (field7[0] == '\0' ? "" : strdup (field7));
+ uni->numeric = (field8[0] == '\0' ? "" : strdup (field8));
+ uni->mirrored = (field9[0] == 'Y');
+ uni->oldname = (field10[0] == '\0' ? "" : strdup (field10));
+ uni->comment = (field11[0] == '\0' ? "" : strdup (field11));
+ uni->upper = (field12[0] =='\0' ? NONE : strtoul (field12, NULL, 16));
+ uni->lower = (field13[0] =='\0' ? NONE : strtoul (field13, NULL, 16));
+ uni->title = (field14[0] =='\0' ? NONE : strtoul (field14, NULL, 16));
+}
+
+/* Maximum length of a field in the UnicodeData.txt file. */
+#define FIELDLEN 120
+
+/* Reads the next field from STREAM. The buffer BUFFER has size FIELDLEN.
+ Reads up to (but excluding) DELIM.
+ Returns 1 when a field was successfully read, otherwise 0. */
+static int
+getfield (FILE *stream, char *buffer, int delim)
+{
+ int count = 0;
+ int c;
+
+ for (; (c = getc (stream)), (c != EOF && c != delim); )
+ {
+ /* The original unicode.org UnicodeData.txt file happens to have
+ CR/LF line terminators. Silently convert to LF. */
+ if (c == '\r')
+ continue;
+
+ /* Put c into the buffer. */
+ if (++count >= FIELDLEN - 1)
+ {
+ fprintf (stderr, "field too long\n");
+ exit (1);
+ }
+ *buffer++ = c;
+ }
+
+ if (c == EOF)
+ return 0;
+
+ *buffer = '\0';
+ return 1;
+}
+
+/* Stores in unicode_attributes[] the entire contents of the UnicodeData.txt
+ file. */
+static void
+fill_attributes (const char *unicodedata_filename)
+{
+ unsigned int i, j;
+ FILE *stream;
+ char field0[FIELDLEN];
+ char field1[FIELDLEN];
+ char field2[FIELDLEN];
+ char field3[FIELDLEN];
+ char field4[FIELDLEN];
+ char field5[FIELDLEN];
+ char field6[FIELDLEN];
+ char field7[FIELDLEN];
+ char field8[FIELDLEN];
+ char field9[FIELDLEN];
+ char field10[FIELDLEN];
+ char field11[FIELDLEN];
+ char field12[FIELDLEN];
+ char field13[FIELDLEN];
+ char field14[FIELDLEN];
+ int lineno = 0;
+
+ for (i = 0; i < 0x10000; i++)
+ unicode_attributes[i].name = NULL;
+
+ stream = fopen (unicodedata_filename, "r");
+ if (stream == NULL)
+ {
+ fprintf (stderr, "error during fopen of '%s'\n", unicodedata_filename);
+ exit (1);
+ }
+
+ for (;;)
+ {
+ int n;
+
+ lineno++;
+ n = getfield(stream, field0, ';');
+ n += getfield(stream, field1, ';');
+ n += getfield(stream, field2, ';');
+ n += getfield(stream, field3, ';');
+ n += getfield(stream, field4, ';');
+ n += getfield(stream, field5, ';');
+ n += getfield(stream, field6, ';');
+ n += getfield(stream, field7, ';');
+ n += getfield(stream, field8, ';');
+ n += getfield(stream, field9, ';');
+ n += getfield(stream, field10, ';');
+ n += getfield(stream, field11, ';');
+ n += getfield(stream, field12, ';');
+ n += getfield(stream, field13, ';');
+ n += getfield(stream, field14, '\n');
+ if (n == 0)
+ break;
+ if (n != 15)
+ {
+ fprintf (stderr, "short line in'%s':%d\n",
+ unicodedata_filename, lineno);
+ exit (1);
+ }
+ i = strtoul (field0, NULL, 16);
+ if (field1[0] == '<'
+ && strlen (field1) >= 9
+ && !strcmp (field1 + strlen(field1) - 8, ", First>"))
+ {
+ /* Deal with a range. */
+ lineno++;
+ n = getfield(stream, field0, ';');
+ n += getfield(stream, field1, ';');
+ n += getfield(stream, field2, ';');
+ n += getfield(stream, field3, ';');
+ n += getfield(stream, field4, ';');
+ n += getfield(stream, field5, ';');
+ n += getfield(stream, field6, ';');
+ n += getfield(stream, field7, ';');
+ n += getfield(stream, field8, ';');
+ n += getfield(stream, field9, ';');
+ n += getfield(stream, field10, ';');
+ n += getfield(stream, field11, ';');
+ n += getfield(stream, field12, ';');
+ n += getfield(stream, field13, ';');
+ n += getfield(stream, field14, '\n');
+ if (n != 15)
+ {
+ fprintf (stderr, "missing end range in '%s':%d\n",
+ unicodedata_filename, lineno);
+ exit (1);
+ }
+ if (!(field1[0] == '<'
+ && strlen (field1) >= 8
+ && !strcmp (field1 + strlen (field1) - 7, ", Last>")))
+ {
+ fprintf (stderr, "missing end range in '%s':%d\n",
+ unicodedata_filename, lineno);
+ exit (1);
+ }
+ field1[strlen (field1) - 7] = '\0';
+ j = strtoul (field0, NULL, 16);
+ for (; i <= j; i++)
+ fill_attribute (i, field1+1, field2, field3, field4, field5,
+ field6, field7, field8, field9, field10,
+ field11, field12, field13, field14);
+ }
+ else
+ {
+ /* Single character line */
+ fill_attribute (i, field1, field2, field3, field4, field5,
+ field6, field7, field8, field9, field10,
+ field11, field12, field13, field14);
+ }
+ }
+ if (ferror (stream) || fclose (stream))
+ {
+ fprintf (stderr, "error reading from '%s'\n", unicodedata_filename);
+ exit (1);
+ }
+}
+
+/* The combining property from the PropList.txt file. */
+char unicode_combining[0x10000];
+
+/* Stores in unicode_combining[] the Combining property from the
+ PropList.txt file. */
+static void
+fill_combining (const char *proplist_filename)
+{
+ unsigned int i;
+ FILE *stream;
+ char buf[100+1];
+
+ for (i = 0; i < 0x10000; i++)
+ unicode_combining[i] = 0;
+
+ stream = fopen (proplist_filename, "r");
+ if (stream == NULL)
+ {
+ fprintf (stderr, "error during fopen of '%s'\n", proplist_filename);
+ exit (1);
+ }
+
+ /* Search for the "Property dump for: 0x20000004 (Combining)" line. */
+ do
+ {
+ if (fscanf (stream, "%100[^\n]\n", buf) < 1)
+ {
+ fprintf (stderr, "no combining property found in '%s'\n",
+ proplist_filename);
+ exit (1);
+ }
+ }
+ while (strstr (buf, "(Combining)") == NULL);
+
+ for (;;)
+ {
+ unsigned int i1, i2;
+
+ if (fscanf (stream, "%100[^\n]\n", buf) < 1)
+ {
+ fprintf (stderr, "premature end of combining property in '%s'\n",
+ proplist_filename);
+ exit (1);
+ }
+ if (buf[0] == '*')
+ break;
+ if (strlen (buf) >= 10 && buf[4] == '.' && buf[5] == '.')
+ {
+ if (sscanf (buf, "%4X..%4X", &i1, &i2) < 2)
+ {
+ fprintf (stderr, "parse error in combining property in '%s'\n",
+ proplist_filename);
+ exit (1);
+ }
+ }
+ else if (strlen (buf) >= 4)
+ {
+ if (sscanf (buf, "%4X", &i1) < 1)
+ {
+ fprintf (stderr, "parse error in combining property in '%s'\n",
+ proplist_filename);
+ exit (1);
+ }
+ i2 = i1;
+ }
+ else
+ {
+ fprintf (stderr, "parse error in combining property in '%s'\n",
+ proplist_filename);
+ exit (1);
+ }
+ for (i = i1; i <= i2; i++)
+ unicode_combining[i] = 1;
+ }
+ if (ferror (stream) || fclose (stream))
+ {
+ fprintf (stderr, "error reading from '%s'\n", proplist_filename);
+ exit (1);
+ }
+}
+
+/* Character mappings. */
+
+static unsigned int
+to_upper (unsigned int ch)
+{
+ if (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].upper != NONE)
+ return unicode_attributes[ch].upper;
+ else
+ return ch;
+}
+
+static unsigned int
+to_lower (unsigned int ch)
+{
+ if (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].lower != NONE)
+ return unicode_attributes[ch].lower;
+ else
+ return ch;
+}
+
+static unsigned int
+to_title (unsigned int ch)
+{
+ if (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].title != NONE)
+ return unicode_attributes[ch].title;
+ else
+ return ch;
+}
+
+/* Character class properties. */
+
+static bool
+is_upper (unsigned int ch)
+{
+ return (to_lower (ch) != ch);
+}
+
+static bool
+is_lower (unsigned int ch)
+{
+ return (to_upper (ch) != ch)
+ /* <U00DF> is lowercase, but without simple to_upper mapping. */
+ || (ch == 0x00DF);
+}
+
+static bool
+is_alpha (unsigned int ch)
+{
+ return (unicode_attributes[ch].name != NULL
+ && (unicode_attributes[ch].category[0] == 'L'
+ /* Avoid warning for <U0345>. */
+ || (ch == 0x0345)
+ /* Avoid warnings for <U2160>..<U217F>. */
+ || (unicode_attributes[ch].category[0] == 'N'
+ && unicode_attributes[ch].category[1] == 'l')
+ /* Avoid warnings for <U24B6>..<U24E9>. */
+ || (unicode_attributes[ch].category[0] == 'S'
+ && unicode_attributes[ch].category[1] == 'o'
+ && strstr (unicode_attributes[ch].name, " LETTER ")
+ != NULL)));
+}
+
+static bool
+is_digit (unsigned int ch)
+{
+ return (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].category[0] == 'N'
+ && unicode_attributes[ch].category[1] == 'd');
+ /* 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. */
+}
+
+static bool
+is_outdigit (unsigned int ch)
+{
+ return (ch >= 0x0030 && ch <= 0x0039);
+}
+
+static bool
+is_blank (unsigned int ch)
+{
+ return (ch == 0x0009 /* '\t' */
+ /* Category Zs without mention of "<noBreak>" */
+ || (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].category[0] == 'Z'
+ && unicode_attributes[ch].category[1] == 's'
+ && !strstr (unicode_attributes[ch].decomposition, "<noBreak>")));
+}
+
+static bool
+is_space (unsigned int ch)
+{
+ /* 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 (ch == 0x0020 /* ' ' */
+ || ch == 0x000C /* '\f' */
+ || ch == 0x000A /* '\n' */
+ || ch == 0x000D /* '\r' */
+ || ch == 0x0009 /* '\t' */
+ || ch == 0x000B /* '\v' */
+ /* Categories Zl, Zp, and Zs without mention of "<noBreak>" */
+ || (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].category[0] == 'Z'
+ && (unicode_attributes[ch].category[1] == 'l'
+ || unicode_attributes[ch].category[1] == 'p'
+ || (unicode_attributes[ch].category[1] == 's'
+ && !strstr (unicode_attributes[ch].decomposition,
+ "<noBreak>")))));
+}
+
+static bool
+is_cntrl (unsigned int ch)
+{
+ return (unicode_attributes[ch].name != NULL
+ && (!strcmp (unicode_attributes[ch].name, "<control>")
+ /* Categories Zl and Zp */
+ || (unicode_attributes[ch].category[0] == 'Z'
+ && (unicode_attributes[ch].category[1] == 'l'
+ || unicode_attributes[ch].category[1] == 'p'))));
+}
+
+static bool
+is_xdigit (unsigned int ch)
+{
+ return is_digit (ch)
+ || (ch >= 0x0041 && ch <= 0x0046)
+ || (ch >= 0x0061 && ch <= 0x0066);
+}
+
+static bool
+is_graph (unsigned int ch)
+{
+ return (unicode_attributes[ch].name != NULL
+ && strcmp (unicode_attributes[ch].name, "<control>")
+ && !is_space (ch));
+}
+
+static bool
+is_print (unsigned int ch)
+{
+ return (unicode_attributes[ch].name != NULL
+ && strcmp (unicode_attributes[ch].name, "<control>")
+ /* Categories Zl and Zp */
+ && !(unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].category[0] == 'Z'
+ && (unicode_attributes[ch].category[1] == 'l'
+ || unicode_attributes[ch].category[1] == 'p')));
+}
+
+static bool
+is_punct (unsigned int ch)
+{
+#if 0
+ return (unicode_attributes[ch].name != NULL
+ && unicode_attributes[ch].category[0] == 'P');
+#else
+ /* The traditional POSIX definition of punctuation is every graphic,
+ non-alphanumeric character. */
+ return (is_graph (ch) && !is_alpha (ch) && !is_digit (ch));
+#endif
+}
+
+static bool
+is_combining (unsigned int ch)
+{
+ return (unicode_attributes[ch].name != NULL
+ && unicode_combining[ch] != 0);
+}
+
+static bool
+is_combining_level3 (unsigned int ch)
+{
+ return is_combining (ch)
+ && !(unicode_attributes[ch].combining[0] != '\0'
+ && unicode_attributes[ch].combining[0] != '0'
+ && strtoul (unicode_attributes[ch].combining, NULL, 10) >= 200);
+}
+
+/* Output a character class (= property) table. */
+
+static void
+output_charclass (FILE *stream, const char *classname,
+ bool (*func) (unsigned int))
+{
+ char table[0x10000];
+ unsigned int i;
+ bool need_semicolon;
+ const int max_column = 75;
+ int column;
+
+ for (i = 0; i < 0x10000; i++)
+ table[i] = (int) func (i);
+
+ fprintf (stream, "%s ", classname);
+ need_semicolon = false;
+ column = 1000;
+ for (i = 0; i < 0x10000; )
+ {
+ if (!table[i])
+ i++;
+ else
+ {
+ unsigned int low, high;
+ char buf[17];
+
+ low = i;
+ do
+ i++;
+ while (i < 0x10000 && table[i]);
+ high = i - 1;
+
+ if (low == high)
+ sprintf (buf, "<U%04X>", low);
+ else
+ sprintf (buf, "<U%04X>..<U%04X>", low, high);
+
+ if (need_semicolon)
+ {
+ fprintf (stream, ";");
+ column++;
+ }
+
+ if (column + strlen (buf) > max_column)
+ {
+ fprintf (stream, "/\n ");
+ column = 3;
+ }
+
+ fprintf (stream, "%s", buf);
+ column += strlen (buf);
+ need_semicolon = true;
+ }
+ }
+ fprintf (stream, "\n");
+}
+
+/* Output a character mapping table. */
+
+static void
+output_charmap (FILE *stream, const char *mapname,
+ unsigned int (*func) (unsigned int))
+{
+ char table[0x10000];
+ unsigned int i;
+ bool need_semicolon;
+ const int max_column = 75;
+ int column;
+
+ for (i = 0; i < 0x10000; i++)
+ table[i] = (func (i) != i);
+
+ fprintf (stream, "%s ", mapname);
+ need_semicolon = false;
+ column = 1000;
+ for (i = 0; i < 0x10000; i++)
+ if (table[i])
+ {
+ char buf[18];
+
+ sprintf (buf, "(<U%04X>,<U%04X>)", i, func (i));
+
+ if (need_semicolon)
+ {
+ fprintf (stream, ";");
+ column++;
+ }
+
+ if (column + strlen (buf) > max_column)
+ {
+ fprintf (stream, "/\n ");
+ column = 3;
+ }
+
+ fprintf (stream, "%s", buf);
+ column += strlen (buf);
+ need_semicolon = true;
+ }
+ fprintf (stream, "\n");
+}
+
+/* Output the width table. */
+
+static void
+output_widthmap (FILE *stream)
+{
+}
+
+/* Output the tables to the given file. */
+
+static void
+output_tables (const char *filename, const char *version)
+{
+ FILE *stream;
+ unsigned int ch;
+
+ stream = fopen (filename, "w");
+ if (stream == NULL)
+ {
+ fprintf (stderr, "cannot open '%s' for writing\n", filename);
+ exit (1);
+ }
+
+ fprintf (stream, "escape_char /\n");
+ fprintf (stream, "comment_char %%\n");
+ fprintf (stream, "\n");
+ fprintf (stream, "%% Generated automatically by gen-unicode for Unicode %s.\n",
+ version);
+ fprintf (stream, "\n");
+
+ fprintf (stream, "LC_IDENTIFICATION\n");
+ fprintf (stream, "title \"Unicode %s FDCC-set\"\n", version);
+ fprintf (stream, "source \"UnicodeData.txt, PropList.txt\"\n");
+ fprintf (stream, "address \"\"\n");
+ fprintf (stream, "contact \"\"\n");
+ fprintf (stream, "email \"bug-glibc@gnu.org\"\n");
+ fprintf (stream, "tel \"\"\n");
+ fprintf (stream, "fax \"\"\n");
+ fprintf (stream, "language \"\"\n");
+ fprintf (stream, "territory \"Earth\"\n");
+ fprintf (stream, "revision \"%s\"\n", version);
+ {
+ time_t now;
+ char date[11];
+ now = time (NULL);
+ strftime (date, sizeof (date), "%Y-%m-%d", gmtime (&now));
+ fprintf (stream, "date \"%s\"\n", date);
+ }
+ fprintf (stream, "category \"unicode:2000\";LC_CTYPE\n");
+ fprintf (stream, "END LC_IDENTIFICATION\n");
+ fprintf (stream, "\n");
+
+ /* Verifications. */
+ for (ch = 0; ch < 0x10000; ch++)
+ {
+ /* toupper restriction: "Only characters specified for the keywords
+ lower and upper shall be specified. */
+ if (to_upper (ch) != ch && !(is_lower (ch) || is_upper (ch)))
+ fprintf (stderr,
+ "<U%04X> is not upper|lower but toupper(0x%04X) = 0x%04X\n",
+ ch, ch, to_upper (ch));
+
+ /* tolower restriction: "Only characters specified for the keywords
+ lower and upper shall be specified. */
+ if (to_lower (ch) != ch && !(is_lower (ch) || is_upper (ch)))
+ fprintf (stderr,
+ "<U%04X> is not upper|lower but tolower(0x%04X) = 0x%04X\n",
+ ch, ch, to_lower (ch));
+
+ /* alpha restriction: "Characters classified as either upper or lower
+ shall automatically belong to this class. */
+ if ((is_lower (ch) || is_upper (ch)) && !is_alpha (ch))
+ fprintf (stderr, "<U%04X> is upper|lower but not alpha\n", ch);
+
+ /* alpha restriction: "No character specified for the keywords cntrl,
+ digit, punct or space shall be specified." */
+ if (is_alpha (ch) && is_cntrl (ch))
+ fprintf (stderr, "<U%04X> is alpha and cntrl\n", ch);
+ if (is_alpha (ch) && is_digit (ch))
+ fprintf (stderr, "<U%04X> is alpha and digit\n", ch);
+ if (is_alpha (ch) && is_punct (ch))
+ fprintf (stderr, "<U%04X> is alpha and punct\n", ch);
+ if (is_alpha (ch) && is_space (ch))
+ fprintf (stderr, "<U%04X> is alpha and space\n", ch);
+
+ /* 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 (ch) && is_digit (ch))
+ fprintf (stderr, "<U%04X> is space and digit\n", ch);
+ if (is_space (ch) && is_graph (ch))
+ fprintf (stderr, "<U%04X> is space and graph\n", ch);
+ if (is_space (ch) && is_xdigit (ch))
+ fprintf (stderr, "<U%04X> is space and xdigit\n", ch);
+
+ /* 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 (ch) && is_digit (ch))
+ fprintf (stderr, "<U%04X> is cntrl and digit\n", ch);
+ if (is_cntrl (ch) && is_punct (ch))
+ fprintf (stderr, "<U%04X> is cntrl and punct\n", ch);
+ if (is_cntrl (ch) && is_graph (ch))
+ fprintf (stderr, "<U%04X> is cntrl and graph\n", ch);
+ if (is_cntrl (ch) && is_print (ch))
+ fprintf (stderr, "<U%04X> is cntrl and print\n", ch);
+ if (is_cntrl (ch) && is_xdigit (ch))
+ fprintf (stderr, "<U%04X> is cntrl and xdigit\n", ch);
+
+ /* punct restriction: "No character specified for the keywords upper,
+ lower, alpha, digit, cntrl, xdigit or as the <space> character shall
+ be specified." upper, lower, alpha, cntrl already checked above. */
+ if (is_punct (ch) && is_digit (ch))
+ fprintf (stderr, "<U%04X> is punct and digit\n", ch);
+ if (is_punct (ch) && is_xdigit (ch))
+ fprintf (stderr, "<U%04X> is punct and xdigit\n", ch);
+ if (is_punct (ch) && (ch == 0x0020))
+ fprintf (stderr, "<U%04X> is punct\n", ch);
+
+ /* 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 <space> 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 (ch) && !(is_graph (ch) || /* ch == 0x0020 */ is_space (ch)))
+ fprintf (stderr, "<U%04X> is print but not graph|<space>\n", ch);
+ if (!is_print (ch) && (is_graph (ch) || ch == 0x0020))
+ fprintf (stderr, "<U%04X> is graph|<space> but not print\n", ch);
+ }
+
+ fprintf (stream, "LC_CTYPE\n");
+ output_charclass (stream, "upper", is_upper);
+ output_charclass (stream, "lower", is_lower);
+ output_charclass (stream, "alpha", is_alpha);
+ output_charclass (stream, "digit", is_digit);
+ output_charclass (stream, "outdigit", is_outdigit);
+ output_charclass (stream, "blank", is_blank);
+ output_charclass (stream, "space", is_space);
+ output_charclass (stream, "cntrl", is_cntrl);
+ output_charclass (stream, "punct", is_punct);
+ output_charclass (stream, "xdigit", is_xdigit);
+ output_charclass (stream, "graph", is_graph);
+ output_charclass (stream, "print", is_print);
+ output_charclass (stream, "class \"combining\";", is_combining);
+ output_charclass (stream, "class \"combining_level3\";", is_combining_level3);
+ output_charmap (stream, "toupper", to_upper);
+ output_charmap (stream, "tolower", to_lower);
+ output_charmap (stream, "map \"totitle\";", to_title);
+ output_widthmap (stream);
+ fprintf (stream, "END LC_CTYPE\n");
+
+ if (ferror (stream) || fclose (stream))
+ {
+ fprintf (stderr, "error writing to '%s'\n", filename);
+ exit (1);
+ }
+}
+
+int
+main (int argc, char * argv[])
+{
+ if (argc != 4)
+ {
+ fprintf (stderr, "Usage: %s UnicodeData.txt PropList.txt version\n",
+ argv[0]);
+ exit (1);
+ }
+
+ fill_attributes (argv[1]);
+ fill_combining (argv[2]);
+
+ output_tables ("unicode", argv[3]);
+
+ return 0;
+}
diff --git a/localedata/locales/i18n b/localedata/locales/i18n
index 965eb6b912..b284ded6c0 100644
--- a/localedata/locales/i18n
+++ b/localedata/locales/i18n
@@ -33,7 +33,10 @@ END LC_IDENTIFICATION
LC_CTYPE
% The following is the 14652 i18n fdcc-set LC_CTYPE category.
-% It covers ISO/IEC 10646-1 including Cor.1 and AMD 1 thru 9
+% It covers Unicode version 3.0.
+% The character classes and mapping tables were automatically generated
+% using the gen-unicode-ctype.c program.
+
% The "upper" class reflects the uppercase characters of class "alpha"
upper /
% TABLE 1 BASIC LATIN/
@@ -50,31 +53,29 @@ upper /
<U0189>..<U018B>;<U018E>..<U0191>;<U0193>;<U0194>;/
<U0196>..<U0198>;<U019C>;<U019D>;<U019F>;/
<U01A0>..(2)..<U01A4>;/
- <U01A7>;<U01A9>;<U01AC>;<U01AE>;<U01AF>;<U01B1>..<U01B3>;/
+ <U01A6>;<U01A7>;<U01A9>;<U01AC>;<U01AE>;<U01AF>;<U01B1>..<U01B3>;/
<U01B5>;<U01B7>;<U01B8>;<U01BC>;<U01C4>;<U01C5>;<U01C7>;<U01C8>;/
<U01CA>;<U01CB>;/
<U01CD>..(2)..<U01DB>;/
<U01DE>..(2)..<U01EE>;/
- <U01F1>;<U01F2>;<U01F4>;<U01F6>;<U01F7>;<U01F8>;<U01FA>..(2)..<U01FE>;/
+ <U01F1>;<U01F2>;<U01F4>;<U01F6>..<U01F8>;<U01FA>..(2)..<U01FE>;/
% TABLE 5 LATIN EXTENDED-B/
<U0200>..(2)..<U021E>;<U0222>..(2)..<U0232>;/
% TABLE 6 IPA EXTENSIONS/
- <U0262>;<U026A>;<U0274>;<U0276>;/
- <U0280>;<U0281>;<U028F>;<U0299>;<U029B>;<U029C>;<U029F>;/
% TABLE 9 BASIC GREEK/
<U0386>;<U0388>..<U038A>;<U038C>;<U038E>;<U038F>;<U0391>..<U03A1>;/
- <U03A3>..<U03AB>;/
+ <U03A3>..<U03AB>;<U03DA>;<U03DC>;<U03DE>;/
% TABLE 10 GREEK SYMBOLS AND COPTIC/
- <U03E3>..(2)..<U03EF>;/
+ <U03E0>..(2)..<U03EE>;/
% TABLE 11 CYRILLIC/
- <U0401>..<U040C>;<U040E>..<U042F>;<U0460>..(2)..<U047E>;/
+ <U0400>..<U042F>;<U0460>..(2)..<U047E>;/
% TABLE 12 CYRILLIC/
- <U0480>;<U0490>..(2)..<U04BE>;<U04C1>;<U04C3>;<U04C7>;<U04CB>;/
- <U04D0>..(2)..<U04EA>;<U04EE>..(2)..<U04F4>;<U04F8>;/
+ <U0480>;<U048C>..(2)..<U04BE>;<U04C1>;<U04C3>;<U04C7>;<U04CB>;/
+ <U04D0>..(2)..<U04F4>;<U04F8>;/
% TABLE 13 ARMENIAN/
<U0531>..<U0556>;/
% TABLE 28 GEORGIAN/
- <U10A0>..<U10C5>;/
+% is not addressed as the letters does not have a uppercase/lowercase relation/
% TABLE 31 LATIN EXTENDED ADDITIONAL/
<U1E00>..(2)..<U1E7E>;/
% TABLE 32 LATIN EXTENDED ADDITIONAL/
@@ -85,167 +86,227 @@ upper /
<U1F48>..<U1F4D>;<U1F59>..(2)..<U1F5F>;<U1F68>..<U1F6F>;/
% TABLE 34 GREEK EXTENDED/
<U1F88>..<U1F8F>;<U1F98>..<U1F9F>;<U1FA8>..<U1FAF>;<U1FB8>..<U1FBC>;/
- <U1FC8>..<U1FCC>;<U1FD8>..<U1FDB>;<U1FE8>..<U1FEC>;<U1FF8>..<U1FFC>
-% TABLE 28 GEORGIAN is not addressed as the letters does not have
-% a uppercase/lowercase relation
-%
+ <U1FC8>..<U1FCC>;<U1FD8>..<U1FDB>;<U1FE8>..<U1FEC>;<U1FF8>..<U1FFC>;/
+% LETTERLIKE SYMBOLS/
+ <U2126>;<U212A>..<U212B>;/
+% NUMBER FORMS/
+ <U2160>..<U216F>;/
+% ENCLOSED ALPHANUMERICS/
+ <U24B6>..<U24CF>;/
+% HALFWIDTH AND FULLWIDTH FORMS/
+ <UFF21>..<UFF3A>
+
% The "lower" class reflects the lowercase characters of class "alpha"
lower /
% TABLE 1 BASIC LATIN/
<U0061>..<U007A>;/
% TABLE 2 LATIN-1 SUPPLEMENT/
- <U00DF>..<U00F6>;<U00F8>..<U00FF>;/
+ <U00B5>;<U00DF>..<U00F6>;<U00F8>..<U00FF>;/
% TABLE 3 LATIN EXTENDED-A/
- <U0101>..(2)..<U0137>;<U0138>..(2)..<U0148>;/
- <U0149>..(2)..<U0177>;<U017A>..(2)..<U017E>;<U017F>;/
+ <U0101>..(2)..<U0137>;<U013A>..(2)..<U0148>;/
+ <U014B>..(2)..<U0177>;<U017A>..(2)..<U017E>;<U017F>;/
% TABLE 4 LATIN EXTENDED-B/
- <U0180>;<U0183>;<U0185>;<U0188>;<U018C>;<U018D>;<U0192>;<U0195>;/
- <U0199>..<U019B>;<U019E>;<U01A1>;<U01A3>;<U01A5>;<U01A8>;<U01AB>;<U01AD>;/
- <U01B0>;<U01B4>;<U01B6>;<U01B9>;<U01BA>;<U01BD>;<U01C5>;<U01C6>;/
+ <U0183>;<U0185>;<U0188>;<U018C>;<U0192>;<U0195>;/
+ <U0199>;<U01A1>;<U01A3>;<U01A5>;<U01A8>;<U01AD>;/
+ <U01B0>;<U01B4>;<U01B6>;<U01B9>;<U01BD>;<U01BF>;<U01C5>;<U01C6>;/
<U01C8>;<U01C9>;<U01CB>;<U01CC>..(2)..<U01DC>;/
- <U01DD>..(2)..<U01F1>;<U01F3>;<U01F5>;<U01F9>;<U01FB>;<U01FD>;<U01FF>;/
+ <U01DD>..(2)..<U01EF>;<U01F2>;<U01F3>;<U01F5>;<U01F9>..(2)..<U01FF>;/
% TABLE 5 LATIN EXTENDED-B/
<U0201>..(2)..<U021F>;<U0223>..(2)..<U0233>;/
% TABLE 6 IPA EXTENSIONS/
- <U0250>..<U0293>;<U0299>..<U02A0>;<U02A3>..<U02A8>;/
+ <U0253>;<U0254>;<U0256>;<U0257>;<U0259>;<U025B>;<U0260>;<U0263>;<U0268>;/
+ <U0269>;<U026F>;<U0272>;<U0275>;<U0280>;<U0283>;<U0288>;<U028A>;<U028B>;/
+ <U0292>;/
+% COMBINING DIACRITICAL MARKS/
+ <U0345>;/
% TABLE 9 BASIC GREEK/
- <U0390>;<U03AC>..<U03CE>;/
+ <U03AC>..<U03AF>;<U03B1>..<U03CE>;/
% TABLE 10 GREEK SYMBOLS AND COPTIC/
- <U03E2>..(2)..<U03EE>;/
+ <U03D0>;<U03D1>;<U03D5>;<U03D6>;<U03DB>..(2)..<U03EF>;<U03F0>..<U03F2>;/
% TABLE 11 CYRILLIC/
- <U0430>..<U044F>;<U0451>..<U045C>;<U045E>;<U045F>;<U0460>..(2)..<U047F>;/
+ <U0430>..<U045F>;<U0461>..(2)..<U047F>;/
% TABLE 12 CYRILLIC/
- <U04801>;<U0490>..(2)..<U04BF>;<U04C2>;<U04C4>;<U04C8>;<U04CC>;/
- <U04D1>..(2)..<U04EB>;<U04EF>..(2)..<U04F5>;<U04F9>;/
+ <U0481>;<U048D>..(2)..<U04BF>;<U04C2>;<U04C4>;<U04C8>;<U04CC>;/
+ <U04D1>..(2)..<U04F5>;<U04F9>;/
% TABLE 13 ARMENIAN/
- <U0561>..<U0587>;/
+ <U0561>..<U0586>;/
% TABLE 28 GEORGIAN/
- <U10D0>..<U10F6>;/
+% is not addressed as the letters does not have a uppercase/lowercase relation/
% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/
- <U1E01>..(2)..<U1E95>;<U1EA1>..(2)..<U1EF9>;/
-% TABLE 33 and 34 GREEK EXTENDED/
- <U1F08>..<U1F0F>;<U1F18>..<U1F1D>;<U1F28>..<U1F2F>;<U1F38>..<U1F3F>;/
- <U1F48>..<U1F4D>;<U1F59>..(2)..<U1F5F>;<U1F68>..<U1F6F>;/
-% TABLE 34 GREEK EXTENDED/
+ <U1E01>..(2)..<U1E95>;<U1E9B>;<U1EA1>..(2)..<U1EF9>;/
+% TABLE 33 GREEK EXTENDED/
<U1F00>..<U1F07>;<U1F10>..<U1F15>;<U1F20>..<U1F27>;<U1F30>..<U1F37>;/
- <U1F40>..<U1F45>;<U1F50>..<U1F57>;<U1F60>..<U1F67>;<U1F70>..<U1F7D>;/
- <U1F80>..<U1F87>;<U1F90>..<U1F97>;<U1FA0>..<U1FA7>;<U1FB0>..<U1FB4>;/
- <U1FB6>;<U1FB7>;<U1FC2>..<U1FC4>;<U1FC6>;<U1FC7>;<U1FD0>..<U1FD3>;/
- <U1FD6>;<U1FD7>;<U1FE0>..<U1FE7>;<U1FF2>..<U1FF4>;<U1FF6>;<U1FF7>;/
+ <U1F40>..<U1F45>;<U1F51>..(2)..<U1F57>;<U1F60>..<U1F67>;<U1F70>..<U1F7D>;/
+% TABLE 34 GREEK EXTENDED/
+ <U1F80>..<U1F87>;<U1F90>..<U1F97>;<U1FA0>..<U1FA7>;<U1FB0>;<U1FB1>;/
+ <U1FB3>;<U1FBE>;<U1FC3>;<U1FD0>;<U1FD1>;<U1FE0>;<U1FE1>;<U1FE5>;/
+ <U1FF3>;/
% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/
- <U207F>
-%
+% NUMBER FORMS/
+ <U2170>..<U217F>;/
+% ENCLOSED ALPHANUMERICS/
+ <U24D0>..<U24E9>;/
+% HALFWIDTH AND FULLWIDTH FORMS/
+ <UFF41>..<UFF5A>
+
% The "alpha" class of the "i18n" FDCC-set is reflecting
% the recommendations in TR 10176 annex A
alpha /
% TABLE 1 BASIC LATIN/
<U0041>..<U005A>;<U0061>..<U007A>;/
% TABLE 2 LATIN-1 SUPPLEMENT/
- <U00AA>;<U00BA>;<U00C0>..<U00D6>;<U00D8>..<U00F6>;<U00F8>..<U00FF>;/
+ <U00AA>;<U00B5>;<U00BA>;<U00C0>..<U00D6>;<U00D8>..<U00F6>;/
+ <U00F8>..<U00FF>;/
% TABLE 3 LATIN EXTENDED-A/
<U0100>..<U017F>;/
% TABLE 4 and 5 LATIN EXTENDED-B/
<U0180>..<U021F>;<U0222>..<U0233>;/
% TABLE 6 IPA EXTENSIONS/
- <U0250>..<U02A8>;/
-% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/
- <U1E00>..<U1E9B>;<U1EA0>..<U1EF9>;/
-% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/
- <U207F>;/
+ <U0250>..<U02AD>;/
+% SPACING MODIFIER LETTERS/
+ <U02B0>..<U02B8>;<U02BB>..<U02C1>;<U02D0>;<U02D1>;<U02E0>..<U02E4>;/
+ <U02EE>;/
+% COMBINING DIACRITICAL MARKS/
+ <U0345>;/
% TABLE 9 BASIC GREEK/
- <U0386>;<U0388>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U03CE>;/
+ <U037A>;<U0386>;<U0388>..<U038A>;<U038C>;<U038E>..<U03A1>;/
+ <U03A3>..<U03CE>;/
% TABLE 10 GREEK SYMBOLS AND COPTIC/
- <U03D0>..<U03D6>;<U03DA>;<U03DC>;<U03DE>;<U03E0>;<U03E2>..<U03F3>;/
-% TABLE 33 and 34 GREEK EXTENDED/
- <U1F00>..<U1F15>;<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;/
- <U1F50>..<U1F57>;<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;/
- <U1F80>..<U1FB4>;<U1FB6>..<U1FBC>;<U1FC2>..<U1FC4>;<U1FC6>..<U1FCC>;/
- <U1FD0>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FE0>..<U1FEC>;<U1FF2>..<U1FF4>;/
- <U1FF6>..<U1FFC>;/
+ <U03D0>..<U03D7>;<U03DA>..<U03F3>;/
% TABLE 11 and 12 CYRILLIC/
- <U0401>..<U040C>;<U040E>..<U044F>;<U0451>..<U045C>;<U045E>..<U0481>;/
- <U0490>..<U04C4>;<U04C7>..<U04C8>;<U04CB>..<U04CC>;<U04D0>..<U04EB>;/
- <U04EE>..<U04F5>;<U04F8>..<U04F9>;/
+ <U0400>..<U0481>;<U048C>..<U04C4>;<U04C7>..<U04C8>;<U04CB>..<U04CC>;/
+ <U04D0>..<U04F5>;<U04F8>..<U04F9>;/
% TABLE 13 ARMENIAN/
- <U0531>..<U0556>;<U0561>..<U0587>;/
+ <U0531>..<U0556>;<U0559>;<U0561>..<U0587>;/
% TABLE 14 HEBREW/
- <U05B0>..<U05B9>;<U05BB>..<U05BD>;<U05BF>;<U05C1>..<U05C2>;/
<U05D0>..<U05EA>;<U05F0>..<U05F2>;/
% TABLE 15 and 16 ARABIC/
- <U0621>..<U063A>;<U0641>..<U064A>;<U0670>..<U06B7>;<U06BA>..<U06BE>;/
- <U06C0>..<U06CE>;<U06D0>..<U06D3>;<U06D5>..<U06DC>;<U06E5>..<U06E8>;/
+ <U0621>..<U063A>;<U0640>..<U064A>;<U0671>..<U06D3>;<U06D5>;/
+ <U06E5>..<U06E6>;<U06FA>..<U06FC>;/
+% SYRIAC/
+ <U0710>;<U0712>..<U072C>;/
+% THAANA/
+ <U0780>..<U07A5>;/
% TABLE 17 DEVANAGARI/
- <U0901>..<U0903>;<U0905>..<U0939>;<U093E>..<U094D>;<U0950>..<U0952>;/
- <U0958>..<U0963>;/
+ <U0905>..<U0939>;<U093D>;<U0950>;<U0958>..<U0961>;/
% TABLE 18 BENGALI/
- <U0981>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
- <U0993>..<U09A8>;<U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;/
- <U09BE>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09DC>..<U09DD>;/
- <U09DF>..<U09E3>;<U09F0>..<U09F1>;/
+ <U0985>..<U098C>;<U098F>;<U0990>;<U0993>..<U09A8>;<U09AA>..<U09B0>;/
+ <U09B2>;<U09B6>..<U09B9>;<U09DC>;<U09DD>;<U09DF>..<U09E1>;/
+ <U09F0>..<U09F1>;/
% TABLE 19 GURMUKHI/
- <U0A02>;<U0A05>..<U0A0A>;<U0A0F>..<U0A10>;<U0A13>..<U0A28>;/
- <U0A2A>..<U0A30>;<U0A32>..<U0A33>;<U0A35>..<U0A36>;<U0A38>..<U0A39>;/
- <U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A59>..<U0A5C>;/
- <U0A5E>;<U0A74>;/
+ <U0A05>..<U0A0A>;<U0A0F>;<U0A10>;<U0A13>..<U0A28>;<U0A2A>..<U0A30>;/
+ <U0A32>;<U0A33>;<U0A35>;<U0A36>;<U0A38>;<U0A39>;<U0A59>..<U0A5C>;/
+ <U0A5E>;<U0A72>..<U0A74>;/
% TABLE 20 GUJARATI/
- <U0A81>..<U0A83>;<U0A85>..<U0A8B>;<U0A8D>;<U0A8F>..<U0A91>;/
- <U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;<U0AB5>..<U0AB9>;/
- <U0ABD>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AD0>;<U0AE0>;/
+ <U0A85>..<U0A8B>;<U0A8D>;<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;/
+ <U0AAA>..<U0AB0>;<U0AB2>;<U0AB3>;<U0AB5>..<U0AB9>;<U0ABD>;<U0AD0>;/
+ <U0AE0>;/
% TABLE 21 ORIYA/
- <U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;/
- <U0B2A>..<U0B30>;<U0B32>..<U0B33>;<U0B36>..<U0B39>;<U0B3E>..<U0B43>;/
- <U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B61>;/
+ <U0B05>..<U0B0C>;<U0B0F>;<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
+ <U0B32>;<U0B33>;<U0B36>..<U0B39>;<U0B3D>;<U0B5C>;<U0B5D>;/
+ <U0B5F>..<U0B61>;/
% TABLE 22 TAMIL/
- <U0B82>..<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;/
- <U0B99>..<U0B9A>;<U0B9C>;<U0B9E>..<U0B9F>;<U0BA3>..<U0BA4>;/
- <U0BA8>..<U0BAA>;<U0BAE>..<U0BB5>;<U0BB7>..<U0BB9>;<U0BBE>..<U0BC2>;/
- <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;/
+ <U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>;<U0B9A>;/
+ <U0B9C>;<U0B9E>;<U0B9F>;<U0BA3>;<U0BA4>;<U0BA8>..<U0BAA>;/
+ <U0BAE>..<U0BB5>;<U0BB7>..<U0BB9>;/
% TABLE 23 TELUGU/
- <U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
- <U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
- <U0C4A>..<U0C4D>;<U0C60>..<U0C61>;/
+ <U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;<U0C2A>..<U0C33>;/
+ <U0C35>..<U0C39>;<U0C60>..<U0C61>;/
% TABLE 24 KANNADA/
- <U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
- <U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;/
- <U0CCA>..<U0CCD>;<U0CDE>;<U0CE0>..<U0CE1>;/
+ <U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;/
+ <U0CB5>..<U0CB9>;<U0CDE>;<U0CE0>..<U0CE1>;/
% TABLE 25 MALAYALAM/
- <U0D02>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;/
- <U0D2A>..<U0D39>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+ <U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;/
<U0D60>..<U0D61>;/
+% SINHALA/
+ <U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
+ <U0DC0>..<U0DC6>;/
% TABLE 26 THAI/
- <U0E01>..<U0E3A>;<U0E40>..<U0E4E>;/
+ <U0E01>..<U0E30>;<U0E32>;<U0E33>;<U0E40>..<U0E46>;/
% TABLE 27 LAO/
<U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;<U0E8D>;/
<U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;/
- <U0EAA>..<U0EAB>;<U0EAD>..<U0EAE>;<U0EB0>..<U0EB9>;<U0EBB>..<U0EBD>;/
- <U0EC0>..<U0EC4>;<U0EC6>;<U0EC8>..<U0ECD>;<U0EDC>..<U0EDD>;/
-% TIBETAN Amendment 6/
- <U0F00>;<U0F18>..<U0F19>;<U0F35>;<U0F37>;<U0F39>;<U0F40>..<U0F47>;/
- <U0F49>..<U0F69>;/
- <U0F71>..<U0F84>;<U0F86>..<U0F8B>;<U0F90>..<U0F95>;<U0F97>;/
- <U0F99>..<U0FAD>;<U0FB1>..<U0FB7>;<U0FB9>;/
+ <U0EAA>..<U0EAB>;<U0EAD>..<U0EB0>;<U0EB2>..<U0EB3>;<U0EBD>;/
+ <U0EC0>..<U0EC4>;<U0EC6>;<U0EDC>..<U0EDD>;/
+% TIBETAN/
+ <U0F00>;<U0F40>..<U0F47>;<U0F49>..<U0F6A>;<U0F88>..<U0F8B>;/
+% MYANMAR/
+ <U1000>..<U1021>;<U1023>..<U1027>;<U1029>;<U102A>;<U1050>..<U1055>;/
% TABLE 28 GEORGIAN/
<U10A0>..<U10C5>;<U10D0>..<U10F6>;/
+% HANGUL JAMO/
+ <U1100>..<U1159>;<U115F>..<U11A2>;<U11A8>..<U11F9>;/
+% ETHIOPIC/
+ <U1200>..<U1206>;<U1208>..<U1246>;<U1248>;<U124A>..<U124D>;/
+ <U1250>..<U1256>;<U1258>;<U125A>..<U125D>;<U1260>..<U1286>;<U1288>;/
+ <U128A>..<U128D>;<U1290>..<U12AE>;<U12B0>;<U12B2>..<U12B5>;/
+ <U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;<U12C8>..<U12CE>;/
+ <U12D0>..<U12D6>;<U12D8>..<U12EE>;<U12F0>..<U130E>;<U1310>;/
+ <U1312>..<U1315>;<U1318>..<U131E>;<U1320>..<U1346>;<U1348>..<U135A>;/
+% CHEROKEE/
+ <U13A0>..<U13F4>;/
+% UNIFIED CANADIAN ABORIGINAL SYLLABICS/
+ <U1401>..<U166C>;<U166F>..<U1676>;/
+% OGHAM/
+ <U1681>..<U169A>;/
+% RUNIC/
+ <U16A0>..<U16EA>;/
+% KHMER/
+ <U1780>..<U17B3>;/
+% MONGOLIAN/
+ <U1820>..<U1877>;<U1880>..<U18A8>;/
+% TABLE 31 and 32 LATIN EXTENDED ADDITIONAL/
+ <U1E00>..<U1E9B>;<U1EA0>..<U1EF9>;/
+% TABLE 33 and 34 GREEK EXTENDED/
+ <U1F00>..<U1F15>;<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;/
+ <U1F50>..<U1F57>;<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;/
+ <U1F80>..<U1FB4>;<U1FB6>..<U1FBC>;<U1FBE>;<U1FC2>..<U1FC4>;/
+ <U1FC6>..<U1FCC>;<U1FD0>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FE0>..<U1FEC>;/
+ <U1FF2>..<U1FF4>;<U1FF6>..<U1FFC>;/
+% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/
+ <U207F>;/
+% LETTERLIKE SYMBOLS/
+ <U2102>;<U2107>;<U210A>..<U2113>;<U2115>;<U2119>..<U211D>;<U2124>;/
+ <U2126>;<U2128>..<U212D>;<U212F>..<U2131>;<U2133>..<U2139>;/
+% NUMBER FORMS/
+ <U2160>..<U2183>;/
+% ENCLOSED ALPHANUMERICS/
+ <U249C>..<U24E9>;/
+% CJK SYMBOLS AND PUNCTUATION/
+ <U3005>..<U3007>;<U3021>..<U3029>;<U3031>..<U3035>;<U3038>..<U303A>;/
% TABLE 50 HIRAGANA/
- <U3041>..<U3093>;<U309B>..<U309C>;/
+ <U3041>..<U3094>;<U309D>..<U309E>;/
% TABLE 51 KATAKANA/
- <U30A1>..<U30F6>;<U30FB>..<U30FC>;/
+ <U30A1>..<U30FA>;<U30FC>..<U30FE>;/
% TABLE 52 BOPOMOFO/
<U3105>..<U312C>;/
-% Miscellaneous/
- <U00B5>;<U02B0>..<U02B8>;<U02BB>;<U02BD>..<U02C1>;/
- <U02D0>..<U02D1>;<U02E0>..<U02E4>;<U037A>;<U0559>;<U093D>;<U0B3D>;/
- <U1FBE>;<U2160>..<U2182>;<U3021>..<U3029>
-
-% XXX The original version of this also contained the CJK and Hangul
-% XXX ideographs here. This seems not to be useful since nobody
-% XXX expects them to be here and it bloats the tables.
-% CJK unified ideographs/
-% <U4E01>..<U9FA5>;/
-% HANGUL amendment 5/
-% <UAC00>..<UD7A3>;/
+% HANGUL COMPATIBILITY JAMO/
+ <U3131>..<U318E>;/
+% BOPOMOFO EXTENDED/
+ <U31A0>..<U31B7>;/
+% CJK UNIFIED IDEOGRAPHS EXTENSION/
+ <U3400>..<U4DB5>;/
+% CJK UNIFIED IDEOGRAPHS/
+ <U4E00>..<U9FA5>;/
+% YI SYLLABLES/
+ <UA000>..<UA48C>;/
+% HANGUL SYLLABLES/
+ <UAC00>..<UD7A3>;/
+% CJK COMPATIBILITY IDEOGRAPHS/
+ <UF900>..<UFA2D>;/
+% ALPHABETIC PRESENTATION FORMS/
+ <UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>;<UFB1F>..<UFB28>;/
+ <UFB2A>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;<UFB40>;<UFB41>;<UFB43>;/
+ <UFB44>;<UFB46>..<UFB4F>;/
+% ARABIC PRESENTATION FORMS/
+ <UFB50>..<UFBB1>;<UFBD3>..<UFD3D>;<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;/
+ <UFDF0>..<UFDFB>;/
+% ARABIC PRESENTATION FORMS/
+ <UFE70>..<UFE72>;<UFE74>;<UFE76>..<UFEFC>;/
+% HALFWIDTH AND FULLWIDTH FORMS/
+ <UFF21>..<UFF3A>;<UFF41>..<UFF5A>;<UFF66>..<UFFBE>;<UFFC2>..<UFFC7>;/
+ <UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>
-%
% The "digit" class of the "i18n" FDCC-set is reflecting
% the recommendations in TR 10176 annex A
digit /
@@ -275,120 +336,277 @@ digit /
<U0E50>..<U0E59>;/
% TABLE 27 LAO/
<U0ED0>..<U0ED9>;/
-% TIBETAN Amendment 6/
- <U0F20>..<U0F29>
-%
+% TIBETAN/
+ <U0F20>..<U0F29>;/
+% MYANMAR/
+ <U1040>..<U1049>;/
+% ETHIOPIC/
+ <0>;<U1369>..<U1371>;/
+% KHMER/
+ <U17E0>..<U17E9>;/
+% MONGOLIAN/
+ <U1810>..<U1819>;/
+% HALFWIDTH AND FULLWIDTH FORMS/
+ <UFF10>..<UFF19>
+
outdigit <U0030>..<U0039>
-%
+
space /
% ISO/IEC 6429/
- <U0009>..<U000D>;/
+ <U0009>..<U000D>;/
% TABLE 1 BASIC LATIN/
- <U0020>;/
+ <U0020>;/
+% OGHAM/
+ <U1680>;/
% TABLE 35 GENERAL PUNCTUATION/
- <U2000>..<U2006>;<U2008>..<U200B>;/
+ <U2000>..<U2006>;<U2008>..<U200B>;<U2028>;<U2029>;/
% TABLE 50 CJK SYMBOLS AND PUNCTUATION, HIRAGANA/
- <U3000>
-%
-cntrl <U0000>..<U001F>;<U007F>..<U009F>
-%
+ <U3000>
+
+cntrl /
+ <U0000>..<U001F>;<U007F>..<U009F>;/
+% Treat the Line/Paragraph Separators as control characters, like Line Feed./
+ <U2028>;<U2029>
+
punct /
<U0021>..<U002F>;<U003A>..<U0040>;<U005B>..<U0060>;<U007B>..<U007E>;/
- <U00A1>..<U00A9>;<U00AB>..<U00B4>;<U00B6>..<U00B9>;<U00BB>..<U00BF>;/
- <U00D7>;<U00F7>;/
- <U037E>;<U0482>;<U055A>..<U055F>;<U0589>;<U05BE>;<U05C0>;<U05C3>;/
- <U05F3>;<U05F4>;<U060C>;<U061B>;<U061F>;<U0640>;<U064B>..<U0652>;/
- <U066A>..<U066D>;<U06D4>;<U06DD>..<U06E1>;<U06E9>..<U06EC>;<U10FB>;/
- <U2010>..<U2029>;<U2030>..<U2046>;<U20A0>..<U20AA>;<U2100>..<U210B>;/
- <U210D>..<U2110>;<U2112>..<U211B>;<U211D>..<U2127>;<U212A>..<U212C>;/
- <U212E>..<U2138>;<U2200>..<U22F1>;<U2300>;<U2302>..<U237A>;<U2400>..<U2424>;/
- <U2440>..<U244A>;<U2580>..<U2595>;<U25A0>..<U25EF>;<U2600>..<U2613>;/
- <U261A>..<U266F>;<U2701>..<U2704>;<U2706>..<U2709>;<U270C>..<U2727>;/
- <U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;<U2758>..<U275E>;/
- <U2761>..<U2767>;<U3000>..<U3020>;<U3030>;<U3036>;<U3037>;<U303F>;<U3164>;/
- <U3190>..<U319F>;<U3200>..<U321C>;<U3220>..<U3243>;<U3260>..<U327B>;/
- <U327F>..<U32B0>;<U32C0>..<U32CB>;<U32D0>..<U32FE>;<U3300>..<U3376>;/
- <U337B>..<U33DD>;<U33E0>..<U33FE>;<UFD3E>;<UFD3F>;<UFE49>..<UFE52>;/
- <UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFEFF>;<UFF01>..<UFF0F>;<UFF1A>..<UFF20>;/
- <UFF3B>..<UFF40>;<UFF5B>..<UFF5E>;<UFF61>..<UFF65>;<UFF70>;<UFF9E>..<UFFA0>;/
- <UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;<UFFFD>
-%
+ <U00A0>..<U00A9>;<U00AB>..<U00B4>;<U00B6>..<U00B9>;<U00BB>..<U00BF>;/
+ <U00D7>;<U00F7>;<U02B9>..<U02BA>;<U02C2>..<U02CF>;<U02D2>..<U02DF>;/
+ <U02E5>..<U02ED>;<U0300>..<U0344>;<U0346>..<U034E>;<U0360>..<U0362>;/
+ <U0374>..<U0375>;<U037E>;<U0384>..<U0385>;<U0387>;<U0482>..<U0486>;/
+ <U0488>..<U0489>;<U055A>..<U055F>;<U0589>..<U058A>;<U0591>..<U05A1>;/
+ <U05A3>..<U05B9>;<U05BB>..<U05C4>;<U05F3>..<U05F4>;<U060C>;<U061B>;/
+ <U061F>;<U064B>..<U0655>;<U066A>..<U066D>;<U0670>;<U06D4>;/
+ <U06D6>..<U06E4>;<U06E7>..<U06ED>;<U06FD>..<U06FE>;<U0700>..<U070D>;/
+ <U070F>;<U0711>;<U0730>..<U074A>;<U07A6>..<U07B0>;<U0901>..<U0903>;/
+ <U093C>;<U093E>..<U094D>;<U0951>..<U0954>;<U0962>..<U0965>;<U0970>;/
+ <U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;/
+ <U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;<U09F2>..<U09FA>;<U0A02>;/
+ <U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;/
+ <U0A70>..<U0A71>;<U0A81>..<U0A83>;<U0ABC>;<U0ABE>..<U0AC5>;/
+ <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0B01>..<U0B03>;<U0B3C>;/
+ <U0B3E>..<U0B43>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;/
+ <U0B70>;<U0B82>..<U0B83>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;/
+ <U0BCA>..<U0BCD>;<U0BD7>;<U0BF0>..<U0BF2>;<U0C01>..<U0C03>;/
+ <U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;/
+ <U0C82>..<U0C83>;<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;/
+ <U0CD5>..<U0CD6>;<U0D02>..<U0D03>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;/
+ <U0D4A>..<U0D4D>;<U0D57>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;/
+ <U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E31>;<U0E34>..<U0E3A>;/
+ <U0E3F>;<U0E47>..<U0E4F>;<U0E5A>..<U0E5B>;<U0EB1>;<U0EB4>..<U0EB9>;/
+ <U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F01>..<U0F1F>;<U0F2A>..<U0F3F>;/
+ <U0F71>..<U0F87>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;/
+ <U0FCF>;<U102C>..<U1032>;<U1036>..<U1039>;<U104A>..<U104F>;/
+ <U1056>..<U1059>;<U10FB>;<U1361>..<U1368>;<U1372>..<U137C>;/
+ <U166D>..<U166E>;<U169B>..<U169C>;<U16EB>..<U16F0>;<U17B4>..<U17DC>;/
+ <U1800>..<U180E>;<U18A9>;<U1FBD>;<U1FBF>..<U1FC1>;<U1FCD>..<U1FCF>;/
+ <U1FDD>..<U1FDF>;<U1FED>..<U1FEF>;<U1FFD>..<U1FFE>;<U2007>;/
+ <U200C>..<U2027>;<U202A>..<U2046>;<U2048>..<U204D>;<U206A>..<U2070>;/
+ <U2074>..<U207E>;<U2080>..<U208E>;<U20A0>..<U20AF>;<U20D0>..<U20E3>;/
+ <U2100>..<U2101>;<U2103>..<U2106>;<U2108>..<U2109>;<U2114>;/
+ <U2116>..<U2118>;<U211E>..<U2123>;<U2125>;<U2127>;<U212E>;<U2132>;/
+ <U213A>;<U2153>..<U215F>;<U2190>..<U21F3>;<U2200>..<U22F1>;/
+ <U2300>..<U237B>;<U237D>..<U239A>;<U2400>..<U2426>;<U2440>..<U244A>;/
+ <U2460>..<U249B>;<U24EA>;<U2500>..<U2595>;<U25A0>..<U25F7>;/
+ <U2600>..<U2613>;<U2619>..<U2671>;<U2701>..<U2704>;<U2706>..<U2709>;/
+ <U270C>..<U2727>;<U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;/
+ <U2758>..<U275E>;<U2761>..<U2767>;<U2776>..<U2794>;<U2798>..<U27AF>;/
+ <U27B1>..<U27BE>;<U2800>..<U28FF>;<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;/
+ <U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;<U3001>..<U3004>;<U3008>..<U3020>;/
+ <U302A>..<U3030>;<U3036>..<U3037>;<U303E>..<U303F>;<U3099>..<U309C>;/
+ <U30FB>;<U3190>..<U319F>;<U3200>..<U321C>;<U3220>..<U3243>;/
+ <U3260>..<U327B>;<U327F>..<U32B0>;<U32C0>..<U32CB>;<U32D0>..<U32FE>;/
+ <U3300>..<U3376>;<U337B>..<U33DD>;<U33E0>..<U33FE>;<UA490>..<UA4A1>;/
+ <UA4A4>..<UA4B3>;<UA4B5>..<UA4C0>;<UA4C2>..<UA4C4>;<UA4C6>;/
+ <UD800>..<UF8FF>;<UFB1E>;<UFB29>;<UFD3E>..<UFD3F>;<UFE20>..<UFE23>;/
+ <UFE30>..<UFE44>;<UFE49>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;/
+ <UFEFF>;<UFF01>..<UFF0F>;<UFF1A>..<UFF20>;<UFF3B>..<UFF40>;/
+ <UFF5B>..<UFF5E>;<UFF61>..<UFF65>;<UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;/
+ <UFFF9>..<UFFFD>
+
graph /
- <U0021>..<U007E>;<U00A1>..<U021F>;<U0222>..<U0233>;/
- <U0250>..<U02A8>;<U02B0>..<U02DE>;<U02E0>..<U02E9>;<U0300>..<U0345>;/
- <U0360>;<U0361>;<U0374>;<U0375>;<U037A>;<U037E>;<U0384>..<U038A>;<U038C>;/
- <U038E>..<U03A1>;<U03A3>..<U03CE>;<U03D0>..<U03D6>;<U03DA>;<U03DC>;<U03DE>;/
- <U03E0>;<U03E2>..<U03F3>;<U0401>..<U040C>;<U040E>..<U044F>;/
- <U0451>..<U045C>;<U045E>..<U0486>;<U0490>..<U04C4>;<U04C7>;<U04C8>;/
- <U04CB>;<U04CC>;<U04D0>..<U04EB>;<U04EE>..<U04F5>;<U04F8>;<U04F9>;/
- <U0531>..<U0556>;<U0559>..<U055F>;<U0561>..<U0587>;<U0589>;/
- <U0591>..<U05A1>;<U05A3>..<U05AF>;<U05B0>..<U05B9>;/
- <U05BB>..<U05C4>;<U05D0>..<U05EA>;<U05F0>..<U05F4>;<U060C>;<U061B>;<U061F>;/
- <U0621>..<U063A>;<U0640>..<U0652>;<U0660>..<U066D>;<U0670>..<U06B7>;/
- <U06BA>..<U06BE>;<U06C0>..<U06CE>;<U06D0>..<U06ED>;<U06F0>..<U06F9>;/
- <U0901>..<U0903>;<U0905>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;/
- <U0958>..<U0970>;<U0981>..<U0983>;<U0985>..<U098C>;<U098F>;<U0990>;/
- <U0993>..<U09A8>;<U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;<U09BC>;/
- <U09BE>..<U09C4>;<U09C7>;<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09DC>;<U09DD>;/
- <U09DF>..<U09E3>;<U09E6>..<U09FA>;<U0A02>;<U0A05>..<U0A0A>;<U0A0F>;<U0A10>;/
- <U0A13>..<U0A28>;<U0A2A>..<U0A30>;<U0A32>;<U0A33>;<U0A35>;<U0A36>;/
- <U0A38>;<U0A39>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>;<U0A48>;<U0A4B>..<U0A4D>;/
- <U0A59>..<U0A5C>;<U0A5E>;<U0A66>..<U0A74>;<U0A81>..<U0A83>;<U0A85>..<U0A8B>;/
- <U0A8D>;<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;/
- <U0AB2>;<U0AB3>;<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;/
- <U0ACB>..<U0ACD>;<U0AD0>;<U0AE0>;<U0AE6>..<U0AEF>;<U0B01>..<U0B03>;/
- <U0B05>..<U0B0C>;<U0B0F>;<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
- <U0B32>;<U0B33>;<U0B36>..<U0B39>;<U0B3C>..<U0B43>;<U0B47>;<U0B48>;/
- <U0B4B>..<U0B4D>;<U0B56>;<U0B57>;<U0B5C>;<U0B5D>;<U0B5F>..<U0B61>;/
- <U0B66>..<U0B70>;<U0B82>;<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;/
- <U0B92>..<U0B95>;<U0B99>;<U0B9A>;<U0B9C>;<U0B9E>;<U0B9F>;<U0BA3>;<U0BA4>;/
- <U0BA8>..<U0BAA>;<U0BAE>..<U0BB5>;<U0BB7>..<U0BB9>;<U0BBE>..<U0BC2>;/
- <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0BE7>..<U0BF2>;<U0C01>..<U0C03>;/
+ <U0021>..<U007E>;<U00A0>..<U021F>;<U0222>..<U0233>;<U0250>..<U02AD>;/
+ <U02B0>..<U02EE>;<U0300>..<U034E>;<U0360>..<U0362>;<U0374>..<U0375>;/
+ <U037A>;<U037E>;<U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;/
+ <U03A3>..<U03CE>;<U03D0>..<U03D7>;<U03DA>..<U03F3>;<U0400>..<U0486>;/
+ <U0488>..<U0489>;<U048C>..<U04C4>;<U04C7>..<U04C8>;<U04CB>..<U04CC>;/
+ <U04D0>..<U04F5>;<U04F8>..<U04F9>;<U0531>..<U0556>;<U0559>..<U055F>;/
+ <U0561>..<U0587>;<U0589>..<U058A>;<U0591>..<U05A1>;<U05A3>..<U05B9>;/
+ <U05BB>..<U05C4>;<U05D0>..<U05EA>;<U05F0>..<U05F4>;<U060C>;<U061B>;/
+ <U061F>;<U0621>..<U063A>;<U0640>..<U0655>;<U0660>..<U066D>;/
+ <U0670>..<U06ED>;<U06F0>..<U06FE>;<U0700>..<U070D>;<U070F>..<U072C>;/
+ <U0730>..<U074A>;<U0780>..<U07B0>;<U0901>..<U0903>;<U0905>..<U0939>;/
+ <U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0970>;<U0981>..<U0983>;/
+ <U0985>..<U098C>;<U098F>..<U0990>;<U0993>..<U09A8>;<U09AA>..<U09B0>;/
+ <U09B2>;<U09B6>..<U09B9>;<U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;/
+ <U09CB>..<U09CD>;<U09D7>;<U09DC>..<U09DD>;<U09DF>..<U09E3>;/
+ <U09E6>..<U09FA>;<U0A02>;<U0A05>..<U0A0A>;<U0A0F>..<U0A10>;/
+ <U0A13>..<U0A28>;<U0A2A>..<U0A30>;<U0A32>..<U0A33>;<U0A35>..<U0A36>;/
+ <U0A38>..<U0A39>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;/
+ <U0A4B>..<U0A4D>;<U0A59>..<U0A5C>;<U0A5E>;<U0A66>..<U0A74>;/
+ <U0A81>..<U0A83>;<U0A85>..<U0A8B>;<U0A8D>;<U0A8F>..<U0A91>;/
+ <U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;<U0AB5>..<U0AB9>;/
+ <U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AD0>;<U0AE0>;/
+ <U0AE6>..<U0AEF>;<U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;/
+ <U0B13>..<U0B28>;<U0B2A>..<U0B30>;<U0B32>..<U0B33>;<U0B36>..<U0B39>;/
+ <U0B3C>..<U0B43>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;/
+ <U0B5C>..<U0B5D>;<U0B5F>..<U0B61>;<U0B66>..<U0B70>;<U0B82>..<U0B83>;/
+ <U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>..<U0B9A>;/
+ <U0B9C>;<U0B9E>..<U0B9F>;<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;/
+ <U0BAE>..<U0BB5>;<U0BB7>..<U0BB9>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;/
+ <U0BCA>..<U0BCD>;<U0BD7>;<U0BE7>..<U0BF2>;<U0C01>..<U0C03>;/
<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;<U0C2A>..<U0C33>;/
<U0C35>..<U0C39>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;/
- <U0C55>;<U0C56>;<U0C60>;<U0C61>;<U0C66>..<U0C6F>;<U0C82>;<U0C83>;/
+ <U0C55>..<U0C56>;<U0C60>..<U0C61>;<U0C66>..<U0C6F>;<U0C82>..<U0C83>;/
<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;/
<U0CB5>..<U0CB9>;<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;/
- <U0CD5>;<U0CD6>;<U0CDE>;<U0CE0>;<U0CE1>;<U0CE6>..<U0CEF>;<U0D02>;<U0D03>;/
- <U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;/
- <U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>;<U0D61>;/
- <U0D66>..<U0D6F>;<U0E01>..<U0E3A>;<U0E3F>..<U0E5B>;<U0E81>;<U0E82>;<U0E84>;/
- <U0E87>;<U0E88>;<U0E8A>;<U0E8D>;<U0E94>..<U0E97>;<U0E99>..<U0E9F>;/
- <U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;<U0EAA>;<U0EAB>;<U0EAD>..<U0EB9>;/
- <U0EBB>..<U0EBD>;<U0EC0>..<U0EC4>;<U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;/
- <U0EDC>;<U0EDD>;/
- <U0F00>..<U0F47>;<U0F49>..<U0F69>;<U0F71>..<U0F7F>;/
+ <U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE1>;<U0CE6>..<U0CEF>;/
+ <U0D02>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;/
+ <U0D2A>..<U0D39>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+ <U0D57>;<U0D60>..<U0D61>;<U0D66>..<U0D6F>;<U0D82>..<U0D83>;/
+ <U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
+ <U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
+ <U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;<U0E3F>..<U0E5B>;<U0E81>..<U0E82>;/
+ <U0E84>;<U0E87>..<U0E88>;<U0E8A>;<U0E8D>;<U0E94>..<U0E97>;/
+ <U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;<U0EAA>..<U0EAB>;/
+ <U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;<U0EC0>..<U0EC4>;<U0EC6>;/
+ <U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;<U0EDC>..<U0EDD>;<U0F00>..<U0F47>;/
+ <U0F49>..<U0F6A>;<U0F71>..<U0F8B>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;/
+ <U0FBE>..<U0FCC>;<U0FCF>;<U1000>..<U1021>;<U1023>..<U1027>;/
+ <U1029>..<U102A>;<U102C>..<U1032>;<U1036>..<U1039>;<U1040>..<U1059>;/
<U10A0>..<U10C5>;<U10D0>..<U10F6>;<U10FB>;<U1100>..<U1159>;/
- <U115F>..<U11A2>;<U11A8>..<U11F9>;<U1E00>..<U1E9B>;<U1EA0>..<U1EF9>;/
- <U1F00>..<U1F15>;<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;/
- <U1F50>..<U1F57>;<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;/
- <U1FB6>..<U1FC4>;<U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;/
- <U1FF2>..<U1FF4>;<U1FF6>..<U1FFE>;<U2000>..<U202E>;<U2030>..<U2046>;/
- <U206A>..<U2070>;<U2074>..<U208E>;<U20A0>..<U20AB>;<U20D0>..<U20E1>;/
- <U2100>..<U2138>;<U2153>..<U2182>;<U2190>..<U21EA>;<U2200>..<U22F1>;<U2300>;/
- <U2302>..<U237A>;<U2400>..<U2424>;<U2440>..<U244A>;<U2460>..<U24EA>;/
- <U2500>..<U2595>;<U25A0>..<U25EF>;<U2600>..<U2613>;<U261A>..<U266F>;/
- <U2701>..<U2704>;<U2706>..<U2709>;<U270C>..<U2727>;<U2729>..<U274B>;<U274D>;/
- <U274F>..<U2752>;<U2756>;<U2758>..<U275E>;<U2761>..<U2767>;<U2776>..<U2794>;/
- <U2798>..<U27AF>;<U27B1>..<U27BE>;<U3000>..<U3037>;<U303F>;<U3041>..<U3094>;/
- <U3099>..<U309E>;<U30A1>..<U30FE>;<U3105>..<U312C>;<U3131>..<U318E>;/
- <U3190>..<U319F>;<U3200>..<U321C>;<U3220>..<U3243>;<U3260>..<U327B>;/
- <U327F>..<U32B0>;<U32C0>..<U32CB>;<U32D0>..<U32FE>;<U3300>..<U3376>;/
- <U337B>..<U33DD>;<U33E0>..<U33FE>;<UFB00>..<UFB06>;<UFB13>..<UFB17>;/
- <UFB1E>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;<UFB40>;<UFB41>;<UFB43>;<UFB44>;/
+ <U115F>..<U11A2>;<U11A8>..<U11F9>;<U1200>..<U1206>;<U1208>..<U1246>;/
+ <U1248>;<U124A>..<U124D>;<U1250>..<U1256>;<U1258>;<U125A>..<U125D>;/
+ <U1260>..<U1286>;<U1288>;<U128A>..<U128D>;<U1290>..<U12AE>;<U12B0>;/
+ <U12B2>..<U12B5>;<U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;/
+ <U12C8>..<U12CE>;<U12D0>..<U12D6>;<U12D8>..<U12EE>;<U12F0>..<U130E>;/
+ <U1310>;<U1312>..<U1315>;<U1318>..<U131E>;<U1320>..<U1346>;/
+ <U1348>..<U135A>;<U1361>..<U137C>;<U13A0>..<U13F4>;<U1401>..<U1676>;/
+ <U1681>..<U169C>;<U16A0>..<U16F0>;<U1780>..<U17DC>;<U17E0>..<U17E9>;/
+ <U1800>..<U180E>;<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18A9>;/
+ <U1E00>..<U1E9B>;<U1EA0>..<U1EF9>;<U1F00>..<U1F15>;<U1F18>..<U1F1D>;/
+ <U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;<U1F59>;<U1F5B>;/
+ <U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;<U1FB6>..<U1FC4>;/
+ <U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;<U1FF2>..<U1FF4>;/
+ <U1FF6>..<U1FFE>;<U2007>;<U200C>..<U2027>;<U202A>..<U2046>;/
+ <U2048>..<U204D>;<U206A>..<U2070>;<U2074>..<U208E>;<U20A0>..<U20AF>;/
+ <U20D0>..<U20E3>;<U2100>..<U213A>;<U2153>..<U2183>;<U2190>..<U21F3>;/
+ <U2200>..<U22F1>;<U2300>..<U237B>;<U237D>..<U239A>;<U2400>..<U2426>;/
+ <U2440>..<U244A>;<U2460>..<U24EA>;<U2500>..<U2595>;<U25A0>..<U25F7>;/
+ <U2600>..<U2613>;<U2619>..<U2671>;<U2701>..<U2704>;<U2706>..<U2709>;/
+ <U270C>..<U2727>;<U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;/
+ <U2758>..<U275E>;<U2761>..<U2767>;<U2776>..<U2794>;<U2798>..<U27AF>;/
+ <U27B1>..<U27BE>;<U2800>..<U28FF>;<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;/
+ <U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;<U3001>..<U303A>;<U303E>..<U303F>;/
+ <U3041>..<U3094>;<U3099>..<U309E>;<U30A1>..<U30FE>;<U3105>..<U312C>;/
+ <U3131>..<U318E>;<U3190>..<U31B7>;<U3200>..<U321C>;<U3220>..<U3243>;/
+ <U3260>..<U327B>;<U327F>..<U32B0>;<U32C0>..<U32CB>;<U32D0>..<U32FE>;/
+ <U3300>..<U3376>;<U337B>..<U33DD>;<U33E0>..<U33FE>;<U3400>..<U4DB5>;/
+ <U4E00>..<U9FA5>;<UA000>..<UA48C>;<UA490>..<UA4A1>;<UA4A4>..<UA4B3>;/
+ <UA4B5>..<UA4C0>;<UA4C2>..<UA4C4>;<UA4C6>;<UAC00>..<UD7A3>;/
+ <UD800>..<UFA2D>;<UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>..<UFB36>;/
+ <UFB38>..<UFB3C>;<UFB3E>;<UFB40>..<UFB41>;<UFB43>..<UFB44>;/
<UFB46>..<UFBB1>;<UFBD3>..<UFD3F>;<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;/
<UFDF0>..<UFDFB>;<UFE20>..<UFE23>;<UFE30>..<UFE44>;<UFE49>..<UFE52>;/
- <UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFE70>..<UFE72>;<UFE74>;<UFE76>..<UFEFC>;/
- <UFEFF>;<UFF01>..<UFF5E>;<UFF61>..<UFFBE>;<UFFC2>..<UFFC7>;/
- <UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;<UFFE0>..<UFFE6>;/
- <UFFE8>..<UFFEE>;<UFFFD>
-%
-% "print" is by default "graph", and the <space> character
-%
-xdigit <U0030>..<U0039>;<U0041>..<U0046>;<U0061>..<U0066>
-%
-blank <U0009>;<U0020>;<U2000>..<U2006>;<U2008>..<U200B>;<U3000>
-%
+ <UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFE70>..<UFE72>;<UFE74>;/
+ <UFE76>..<UFEFC>;<UFEFF>;<UFF01>..<UFF5E>;<UFF61>..<UFFBE>;/
+ <UFFC2>..<UFFC7>;<UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;/
+ <UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>
+
+print /
+ <U0020>..<U007E>;<U00A0>..<U021F>;<U0222>..<U0233>;<U0250>..<U02AD>;/
+ <U02B0>..<U02EE>;<U0300>..<U034E>;<U0360>..<U0362>;<U0374>..<U0375>;/
+ <U037A>;<U037E>;<U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;/
+ <U03A3>..<U03CE>;<U03D0>..<U03D7>;<U03DA>..<U03F3>;<U0400>..<U0486>;/
+ <U0488>..<U0489>;<U048C>..<U04C4>;<U04C7>..<U04C8>;<U04CB>..<U04CC>;/
+ <U04D0>..<U04F5>;<U04F8>..<U04F9>;<U0531>..<U0556>;<U0559>..<U055F>;/
+ <U0561>..<U0587>;<U0589>..<U058A>;<U0591>..<U05A1>;<U05A3>..<U05B9>;/
+ <U05BB>..<U05C4>;<U05D0>..<U05EA>;<U05F0>..<U05F4>;<U060C>;<U061B>;/
+ <U061F>;<U0621>..<U063A>;<U0640>..<U0655>;<U0660>..<U066D>;/
+ <U0670>..<U06ED>;<U06F0>..<U06FE>;<U0700>..<U070D>;<U070F>..<U072C>;/
+ <U0730>..<U074A>;<U0780>..<U07B0>;<U0901>..<U0903>;<U0905>..<U0939>;/
+ <U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0970>;<U0981>..<U0983>;/
+ <U0985>..<U098C>;<U098F>..<U0990>;<U0993>..<U09A8>;<U09AA>..<U09B0>;/
+ <U09B2>;<U09B6>..<U09B9>;<U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;/
+ <U09CB>..<U09CD>;<U09D7>;<U09DC>..<U09DD>;<U09DF>..<U09E3>;/
+ <U09E6>..<U09FA>;<U0A02>;<U0A05>..<U0A0A>;<U0A0F>..<U0A10>;/
+ <U0A13>..<U0A28>;<U0A2A>..<U0A30>;<U0A32>..<U0A33>;<U0A35>..<U0A36>;/
+ <U0A38>..<U0A39>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;/
+ <U0A4B>..<U0A4D>;<U0A59>..<U0A5C>;<U0A5E>;<U0A66>..<U0A74>;/
+ <U0A81>..<U0A83>;<U0A85>..<U0A8B>;<U0A8D>;<U0A8F>..<U0A91>;/
+ <U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;<U0AB5>..<U0AB9>;/
+ <U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AD0>;<U0AE0>;/
+ <U0AE6>..<U0AEF>;<U0B01>..<U0B03>;<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;/
+ <U0B13>..<U0B28>;<U0B2A>..<U0B30>;<U0B32>..<U0B33>;<U0B36>..<U0B39>;/
+ <U0B3C>..<U0B43>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;/
+ <U0B5C>..<U0B5D>;<U0B5F>..<U0B61>;<U0B66>..<U0B70>;<U0B82>..<U0B83>;/
+ <U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>..<U0B9A>;/
+ <U0B9C>;<U0B9E>..<U0B9F>;<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;/
+ <U0BAE>..<U0BB5>;<U0BB7>..<U0BB9>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;/
+ <U0BCA>..<U0BCD>;<U0BD7>;<U0BE7>..<U0BF2>;<U0C01>..<U0C03>;/
+ <U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;<U0C2A>..<U0C33>;/
+ <U0C35>..<U0C39>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;/
+ <U0C55>..<U0C56>;<U0C60>..<U0C61>;<U0C66>..<U0C6F>;<U0C82>..<U0C83>;/
+ <U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;/
+ <U0CB5>..<U0CB9>;<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;/
+ <U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE1>;<U0CE6>..<U0CEF>;/
+ <U0D02>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;/
+ <U0D2A>..<U0D39>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+ <U0D57>;<U0D60>..<U0D61>;<U0D66>..<U0D6F>;<U0D82>..<U0D83>;/
+ <U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
+ <U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
+ <U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;<U0E3F>..<U0E5B>;<U0E81>..<U0E82>;/
+ <U0E84>;<U0E87>..<U0E88>;<U0E8A>;<U0E8D>;<U0E94>..<U0E97>;/
+ <U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;<U0EA7>;<U0EAA>..<U0EAB>;/
+ <U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;<U0EC0>..<U0EC4>;<U0EC6>;/
+ <U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;<U0EDC>..<U0EDD>;<U0F00>..<U0F47>;/
+ <U0F49>..<U0F6A>;<U0F71>..<U0F8B>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;/
+ <U0FBE>..<U0FCC>;<U0FCF>;<U1000>..<U1021>;<U1023>..<U1027>;/
+ <U1029>..<U102A>;<U102C>..<U1032>;<U1036>..<U1039>;<U1040>..<U1059>;/
+ <U10A0>..<U10C5>;<U10D0>..<U10F6>;<U10FB>;<U1100>..<U1159>;/
+ <U115F>..<U11A2>;<U11A8>..<U11F9>;<U1200>..<U1206>;<U1208>..<U1246>;/
+ <U1248>;<U124A>..<U124D>;<U1250>..<U1256>;<U1258>;<U125A>..<U125D>;/
+ <U1260>..<U1286>;<U1288>;<U128A>..<U128D>;<U1290>..<U12AE>;<U12B0>;/
+ <U12B2>..<U12B5>;<U12B8>..<U12BE>;<U12C0>;<U12C2>..<U12C5>;/
+ <U12C8>..<U12CE>;<U12D0>..<U12D6>;<U12D8>..<U12EE>;<U12F0>..<U130E>;/
+ <U1310>;<U1312>..<U1315>;<U1318>..<U131E>;<U1320>..<U1346>;/
+ <U1348>..<U135A>;<U1361>..<U137C>;<U13A0>..<U13F4>;<U1401>..<U1676>;/
+ <U1680>..<U169C>;<U16A0>..<U16F0>;<U1780>..<U17DC>;<U17E0>..<U17E9>;/
+ <U1800>..<U180E>;<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18A9>;/
+ <U1E00>..<U1E9B>;<U1EA0>..<U1EF9>;<U1F00>..<U1F15>;<U1F18>..<U1F1D>;/
+ <U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;<U1F59>;<U1F5B>;/
+ <U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;<U1FB6>..<U1FC4>;/
+ <U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;<U1FF2>..<U1FF4>;/
+ <U1FF6>..<U1FFE>;<U2000>..<U2027>;<U202A>..<U2046>;<U2048>..<U204D>;/
+ <U206A>..<U2070>;<U2074>..<U208E>;<U20A0>..<U20AF>;<U20D0>..<U20E3>;/
+ <U2100>..<U213A>;<U2153>..<U2183>;<U2190>..<U21F3>;<U2200>..<U22F1>;/
+ <U2300>..<U237B>;<U237D>..<U239A>;<U2400>..<U2426>;<U2440>..<U244A>;/
+ <U2460>..<U24EA>;<U2500>..<U2595>;<U25A0>..<U25F7>;<U2600>..<U2613>;/
+ <U2619>..<U2671>;<U2701>..<U2704>;<U2706>..<U2709>;<U270C>..<U2727>;/
+ <U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;<U2758>..<U275E>;/
+ <U2761>..<U2767>;<U2776>..<U2794>;<U2798>..<U27AF>;<U27B1>..<U27BE>;/
+ <U2800>..<U28FF>;<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;/
+ <U2FF0>..<U2FFB>;<U3000>..<U303A>;<U303E>..<U303F>;<U3041>..<U3094>;/
+ <U3099>..<U309E>;<U30A1>..<U30FE>;<U3105>..<U312C>;<U3131>..<U318E>;/
+ <U3190>..<U31B7>;<U3200>..<U321C>;<U3220>..<U3243>;<U3260>..<U327B>;/
+ <U327F>..<U32B0>;<U32C0>..<U32CB>;<U32D0>..<U32FE>;<U3300>..<U3376>;/
+ <U337B>..<U33DD>;<U33E0>..<U33FE>;<U3400>..<U4DB5>;<U4E00>..<U9FA5>;/
+ <UA000>..<UA48C>;<UA490>..<UA4A1>;<UA4A4>..<UA4B3>;<UA4B5>..<UA4C0>;/
+ <UA4C2>..<UA4C4>;<UA4C6>;<UAC00>..<UD7A3>;<UD800>..<UFA2D>;/
+ <UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>..<UFB36>;<UFB38>..<UFB3C>;/
+ <UFB3E>;<UFB40>..<UFB41>;<UFB43>..<UFB44>;<UFB46>..<UFBB1>;/
+ <UFBD3>..<UFD3F>;<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;<UFDF0>..<UFDFB>;/
+ <UFE20>..<UFE23>;<UFE30>..<UFE44>;<UFE49>..<UFE52>;<UFE54>..<UFE66>;/
+ <UFE68>..<UFE6B>;<UFE70>..<UFE72>;<UFE74>;<UFE76>..<UFEFC>;<UFEFF>;/
+ <UFF01>..<UFF5E>;<UFF61>..<UFFBE>;<UFFC2>..<UFFC7>;<UFFCA>..<UFFCF>;/
+ <UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;<UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;/
+ <UFFF9>..<UFFFD>
+
+xdigit /
+ <U0030>..<U0039>;<U0041>..<U0046>;<U0061>..<U0066>
+
+blank <U0009>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200B>;<U3000>
+
toupper /
(<U0061>,<U0041>);(<U0062>,<U0042>);(<U0063>,<U0043>);(<U0064>,<U0044>);/
(<U0065>,<U0045>);(<U0066>,<U0046>);(<U0067>,<U0047>);(<U0068>,<U0048>);/
@@ -396,55 +614,54 @@ toupper /
(<U006D>,<U004D>);(<U006E>,<U004E>);(<U006F>,<U004F>);(<U0070>,<U0050>);/
(<U0071>,<U0051>);(<U0072>,<U0052>);(<U0073>,<U0053>);(<U0074>,<U0054>);/
(<U0075>,<U0055>);(<U0076>,<U0056>);(<U0077>,<U0057>);(<U0078>,<U0058>);/
- (<U0079>,<U0059>);(<U007A>,<U005A>);(<U00E0>,<U00C0>);(<U00E1>,<U00C1>);/
- (<U00E2>,<U00C2>);(<U00E3>,<U00C3>);(<U00E4>,<U00C4>);(<U00E5>,<U00C5>);/
- (<U00E6>,<U00C6>);(<U00E7>,<U00C7>);(<U00E8>,<U00C8>);(<U00E9>,<U00C9>);/
- (<U00EA>,<U00CA>);(<U00EB>,<U00CB>);(<U00EC>,<U00CC>);(<U00ED>,<U00CD>);/
- (<U00EE>,<U00CE>);(<U00EF>,<U00CF>);(<U00F0>,<U00D0>);(<U00F1>,<U00D1>);/
- (<U00F2>,<U00D2>);(<U00F3>,<U00D3>);(<U00F4>,<U00D4>);(<U00F5>,<U00D5>);/
- (<U00F6>,<U00D6>);(<U00F8>,<U00D8>);(<U00F9>,<U00D9>);(<U00FA>,<U00DA>);/
- (<U00FB>,<U00DB>);(<U00FC>,<U00DC>);(<U00FD>,<U00DD>);(<U00FE>,<U00DE>);/
- (<U00FF>,<U0178>);(<U0101>,<U0100>);(<U0103>,<U0102>);(<U0105>,<U0104>);/
- (<U0107>,<U0106>);(<U0109>,<U0108>);(<U010B>,<U010A>);(<U010D>,<U010C>);/
- (<U010F>,<U010E>);(<U0111>,<U0110>);(<U0113>,<U0112>);(<U0115>,<U0114>);/
- (<U0117>,<U0116>);(<U0119>,<U0118>);(<U011B>,<U011A>);(<U011D>,<U011C>);/
- (<U011F>,<U011E>);(<U0121>,<U0120>);(<U0123>,<U0122>);(<U0125>,<U0124>);/
- (<U0127>,<U0126>);(<U0129>,<U0128>);(<U012B>,<U012A>);(<U012D>,<U012C>);/
- (<U012F>,<U012E>);(<U0133>,<U0132>);(<U0135>,<U0134>);(<U0137>,<U0136>);/
- (<U013A>,<U0139>);(<U013C>,<U013B>);(<U013E>,<U013D>);(<U0140>,<U013F>);/
- (<U0142>,<U0141>);(<U0144>,<U0143>);(<U0146>,<U0145>);(<U0148>,<U0147>);/
- (<U014B>,<U014A>);(<U014D>,<U014C>);(<U014F>,<U014E>);(<U0151>,<U0150>);/
- (<U0153>,<U0152>);(<U0155>,<U0154>);(<U0157>,<U0156>);(<U0159>,<U0158>);/
- (<U015B>,<U015A>);(<U015D>,<U015C>);(<U015F>,<U015E>);(<U0161>,<U0160>);/
- (<U0163>,<U0162>);(<U0165>,<U0164>);(<U0167>,<U0166>);(<U0169>,<U0168>);/
- (<U016B>,<U016A>);(<U016D>,<U016C>);(<U016F>,<U016E>);(<U0171>,<U0170>);/
- (<U0173>,<U0172>);(<U0175>,<U0174>);(<U0177>,<U0176>);(<U017A>,<U0179>);/
- (<U017C>,<U017B>);(<U017E>,<U017D>);(<U017F>,<U0053>);(<U0183>,<U0182>);/
- (<U0185>,<U0184>);(<U0188>,<U0187>);(<U018C>,<U018B>);(<U0192>,<U0191>);/
- (<U0199>,<U0198>);(<U01A1>,<U01A0>);(<U01A3>,<U01A2>);(<U01A5>,<U01A4>);/
- (<U01A8>,<U01A7>);(<U01AD>,<U01AC>);(<U01B0>,<U01AF>);(<U01B4>,<U01B3>);/
- (<U01B6>,<U01B5>);(<U01B9>,<U01B8>);(<U01BD>,<U01BC>);(<U01C5>,<U01C4>);/
- (<U01C6>,<U01C4>);(<U01C8>,<U01C7>);/
- (<U01C9>,<U01C7>);(<U01CB>,<U01CA>);(<U01CC>,<U01CA>);/
- (<U01CE>,<U01CD>);(<U01D0>,<U01CF>);(<U01D2>,<U01D1>);(<U01D4>,<U01D3>);/
- (<U01D6>,<U01D5>);(<U01D8>,<U01D7>);(<U01DA>,<U01D9>);(<U01DC>,<U01DB>);/
- (<U01DD>,<U018E>);(<U01DF>,<U01DE>);(<U01E1>,<U01E0>);(<U01E3>,<U01E2>);/
- (<U01E5>,<U01E4>);(<U01E7>,<U01E6>);(<U01E9>,<U01E8>);(<U01EB>,<U01EA>);/
- (<U01ED>,<U01EC>);(<U01EF>,<U01EE>);(<U01F2>,<U01F1>);(<U01F3>,<U01F1>);/
- (<U01F5>,<U01F4>);(<U0195>,<U01F6>);(<U01BF>,<U01F7>);(<U01F9>,<U01F8>);/
- (<U01FB>,<U01FA>);(<U01FD>,<U01FC>);/
- (<U01FF>,<U01FE>);(<U0201>,<U0200>);(<U0203>,<U0202>);(<U0205>,<U0204>);/
- (<U0207>,<U0206>);(<U0209>,<U0208>);(<U020B>,<U020A>);(<U020D>,<U020C>);/
- (<U020F>,<U020E>);(<U0211>,<U0210>);(<U0213>,<U0212>);(<U0215>,<U0214>);/
- (<U0217>,<U0216>);(<U0219>,<U0218>);(<U021B>,<U021A>);(<U021D>,<U021C>);/
- (<U021F>,<U021E>);(<U0223>,<U0222>);(<U0225>,<U0224>);(<U0227>,<U0226>);/
- (<U0229>,<U0228>);(<U022B>,<U022A>);(<U022D>,<U022C>);(<U022F>,<U022E>);/
- (<U0231>,<U0230>);(<U0233>,<U0232>);/
- (<U0253>,<U0181>);(<U0254>,<U0186>);(<U0256>,<U0189>);/
- (<U0257>,<U018A>);(<U0259>,<U018F>);(<U025B>,<U0190>);(<U0260>,<U0193>);/
- (<U0263>,<U0194>);(<U0268>,<U0197>);(<U0269>,<U0196>);(<U026F>,<U019C>);/
- (<U0272>,<U019D>);(<U0275>,<U019F>);(<U0283>,<U01A9>);(<U0288>,<U01AE>);/
- (<U028A>,<U01B1>);(<U028B>,<U01B2>);(<U0292>,<U01B7>);(<U03AC>,<U0386>);/
+ (<U0079>,<U0059>);(<U007A>,<U005A>);(<U00B5>,<U039C>);(<U00E0>,<U00C0>);/
+ (<U00E1>,<U00C1>);(<U00E2>,<U00C2>);(<U00E3>,<U00C3>);(<U00E4>,<U00C4>);/
+ (<U00E5>,<U00C5>);(<U00E6>,<U00C6>);(<U00E7>,<U00C7>);(<U00E8>,<U00C8>);/
+ (<U00E9>,<U00C9>);(<U00EA>,<U00CA>);(<U00EB>,<U00CB>);(<U00EC>,<U00CC>);/
+ (<U00ED>,<U00CD>);(<U00EE>,<U00CE>);(<U00EF>,<U00CF>);(<U00F0>,<U00D0>);/
+ (<U00F1>,<U00D1>);(<U00F2>,<U00D2>);(<U00F3>,<U00D3>);(<U00F4>,<U00D4>);/
+ (<U00F5>,<U00D5>);(<U00F6>,<U00D6>);(<U00F8>,<U00D8>);(<U00F9>,<U00D9>);/
+ (<U00FA>,<U00DA>);(<U00FB>,<U00DB>);(<U00FC>,<U00DC>);(<U00FD>,<U00DD>);/
+ (<U00FE>,<U00DE>);(<U00FF>,<U0178>);(<U0101>,<U0100>);(<U0103>,<U0102>);/
+ (<U0105>,<U0104>);(<U0107>,<U0106>);(<U0109>,<U0108>);(<U010B>,<U010A>);/
+ (<U010D>,<U010C>);(<U010F>,<U010E>);(<U0111>,<U0110>);(<U0113>,<U0112>);/
+ (<U0115>,<U0114>);(<U0117>,<U0116>);(<U0119>,<U0118>);(<U011B>,<U011A>);/
+ (<U011D>,<U011C>);(<U011F>,<U011E>);(<U0121>,<U0120>);(<U0123>,<U0122>);/
+ (<U0125>,<U0124>);(<U0127>,<U0126>);(<U0129>,<U0128>);(<U012B>,<U012A>);/
+ (<U012D>,<U012C>);(<U012F>,<U012E>);(<U0131>,<U0049>);(<U0133>,<U0132>);/
+ (<U0135>,<U0134>);(<U0137>,<U0136>);(<U013A>,<U0139>);(<U013C>,<U013B>);/
+ (<U013E>,<U013D>);(<U0140>,<U013F>);(<U0142>,<U0141>);(<U0144>,<U0143>);/
+ (<U0146>,<U0145>);(<U0148>,<U0147>);(<U014B>,<U014A>);(<U014D>,<U014C>);/
+ (<U014F>,<U014E>);(<U0151>,<U0150>);(<U0153>,<U0152>);(<U0155>,<U0154>);/
+ (<U0157>,<U0156>);(<U0159>,<U0158>);(<U015B>,<U015A>);(<U015D>,<U015C>);/
+ (<U015F>,<U015E>);(<U0161>,<U0160>);(<U0163>,<U0162>);(<U0165>,<U0164>);/
+ (<U0167>,<U0166>);(<U0169>,<U0168>);(<U016B>,<U016A>);(<U016D>,<U016C>);/
+ (<U016F>,<U016E>);(<U0171>,<U0170>);(<U0173>,<U0172>);(<U0175>,<U0174>);/
+ (<U0177>,<U0176>);(<U017A>,<U0179>);(<U017C>,<U017B>);(<U017E>,<U017D>);/
+ (<U017F>,<U0053>);(<U0183>,<U0182>);(<U0185>,<U0184>);(<U0188>,<U0187>);/
+ (<U018C>,<U018B>);(<U0192>,<U0191>);(<U0195>,<U01F6>);(<U0199>,<U0198>);/
+ (<U01A1>,<U01A0>);(<U01A3>,<U01A2>);(<U01A5>,<U01A4>);(<U01A8>,<U01A7>);/
+ (<U01AD>,<U01AC>);(<U01B0>,<U01AF>);(<U01B4>,<U01B3>);(<U01B6>,<U01B5>);/
+ (<U01B9>,<U01B8>);(<U01BD>,<U01BC>);(<U01BF>,<U01F7>);(<U01C5>,<U01C4>);/
+ (<U01C6>,<U01C4>);(<U01C8>,<U01C7>);(<U01C9>,<U01C7>);(<U01CB>,<U01CA>);/
+ (<U01CC>,<U01CA>);(<U01CE>,<U01CD>);(<U01D0>,<U01CF>);(<U01D2>,<U01D1>);/
+ (<U01D4>,<U01D3>);(<U01D6>,<U01D5>);(<U01D8>,<U01D7>);(<U01DA>,<U01D9>);/
+ (<U01DC>,<U01DB>);(<U01DD>,<U018E>);(<U01DF>,<U01DE>);(<U01E1>,<U01E0>);/
+ (<U01E3>,<U01E2>);(<U01E5>,<U01E4>);(<U01E7>,<U01E6>);(<U01E9>,<U01E8>);/
+ (<U01EB>,<U01EA>);(<U01ED>,<U01EC>);(<U01EF>,<U01EE>);(<U01F2>,<U01F1>);/
+ (<U01F3>,<U01F1>);(<U01F5>,<U01F4>);(<U01F9>,<U01F8>);(<U01FB>,<U01FA>);/
+ (<U01FD>,<U01FC>);(<U01FF>,<U01FE>);(<U0201>,<U0200>);(<U0203>,<U0202>);/
+ (<U0205>,<U0204>);(<U0207>,<U0206>);(<U0209>,<U0208>);(<U020B>,<U020A>);/
+ (<U020D>,<U020C>);(<U020F>,<U020E>);(<U0211>,<U0210>);(<U0213>,<U0212>);/
+ (<U0215>,<U0214>);(<U0217>,<U0216>);(<U0219>,<U0218>);(<U021B>,<U021A>);/
+ (<U021D>,<U021C>);(<U021F>,<U021E>);(<U0223>,<U0222>);(<U0225>,<U0224>);/
+ (<U0227>,<U0226>);(<U0229>,<U0228>);(<U022B>,<U022A>);(<U022D>,<U022C>);/
+ (<U022F>,<U022E>);(<U0231>,<U0230>);(<U0233>,<U0232>);(<U0253>,<U0181>);/
+ (<U0254>,<U0186>);(<U0256>,<U0189>);(<U0257>,<U018A>);(<U0259>,<U018F>);/
+ (<U025B>,<U0190>);(<U0260>,<U0193>);(<U0263>,<U0194>);(<U0268>,<U0197>);/
+ (<U0269>,<U0196>);(<U026F>,<U019C>);(<U0272>,<U019D>);(<U0275>,<U019F>);/
+ (<U0280>,<U01A6>);(<U0283>,<U01A9>);(<U0288>,<U01AE>);(<U028A>,<U01B1>);/
+ (<U028B>,<U01B2>);(<U0292>,<U01B7>);(<U0345>,<U0399>);(<U03AC>,<U0386>);/
(<U03AD>,<U0388>);(<U03AE>,<U0389>);(<U03AF>,<U038A>);(<U03B1>,<U0391>);/
(<U03B2>,<U0392>);(<U03B3>,<U0393>);(<U03B4>,<U0394>);(<U03B5>,<U0395>);/
(<U03B6>,<U0396>);(<U03B7>,<U0397>);(<U03B8>,<U0398>);(<U03B9>,<U0399>);/
@@ -453,77 +670,68 @@ toupper /
(<U03C2>,<U03A3>);(<U03C3>,<U03A3>);(<U03C4>,<U03A4>);(<U03C5>,<U03A5>);/
(<U03C6>,<U03A6>);(<U03C7>,<U03A7>);(<U03C8>,<U03A8>);(<U03C9>,<U03A9>);/
(<U03CA>,<U03AA>);(<U03CB>,<U03AB>);(<U03CC>,<U038C>);(<U03CD>,<U038E>);/
- (<U03CE>,<U038F>);/
- (<U03E3>,<U03E2>);(<U03E5>,<U03E4>);(<U03E7>,<U03E6>);(<U03E9>,<U03E8>);/
- (<U03EB>,<U03EA>);(<U03ED>,<U03EC>);(<U03EF>,<U03EE>);/
- (<U0430>,<U0410>);(<U0431>,<U0411>);(<U0432>,<U0412>);/
- (<U0433>,<U0413>);(<U0434>,<U0414>);(<U0435>,<U0415>);(<U0436>,<U0416>);/
- (<U0437>,<U0417>);(<U0438>,<U0418>);(<U0439>,<U0419>);(<U043A>,<U041A>);/
- (<U043B>,<U041B>);(<U043C>,<U041C>);(<U043D>,<U041D>);(<U043E>,<U041E>);/
- (<U043F>,<U041F>);(<U0440>,<U0420>);(<U0441>,<U0421>);(<U0442>,<U0422>);/
- (<U0443>,<U0423>);(<U0444>,<U0424>);(<U0445>,<U0425>);(<U0446>,<U0426>);/
- (<U0447>,<U0427>);(<U0448>,<U0428>);(<U0449>,<U0429>);(<U044A>,<U042A>);/
- (<U044B>,<U042B>);(<U044C>,<U042C>);(<U044D>,<U042D>);(<U044E>,<U042E>);/
- (<U044F>,<U042F>);(<U0451>,<U0401>);(<U0452>,<U0402>);(<U0453>,<U0403>);/
- (<U0454>,<U0404>);(<U0455>,<U0405>);(<U0456>,<U0406>);(<U0457>,<U0407>);/
- (<U0458>,<U0408>);(<U0459>,<U0409>);(<U045A>,<U040A>);(<U045B>,<U040B>);/
- (<U045C>,<U040C>);(<U045E>,<U040E>);(<U045F>,<U040F>);(<U0461>,<U0460>);/
+ (<U03CE>,<U038F>);(<U03D0>,<U0392>);(<U03D1>,<U0398>);(<U03D5>,<U03A6>);/
+ (<U03D6>,<U03A0>);(<U03DB>,<U03DA>);(<U03DD>,<U03DC>);(<U03DF>,<U03DE>);/
+ (<U03E1>,<U03E0>);(<U03E3>,<U03E2>);(<U03E5>,<U03E4>);(<U03E7>,<U03E6>);/
+ (<U03E9>,<U03E8>);(<U03EB>,<U03EA>);(<U03ED>,<U03EC>);(<U03EF>,<U03EE>);/
+ (<U03F0>,<U039A>);(<U03F1>,<U03A1>);(<U03F2>,<U03A3>);(<U0430>,<U0410>);/
+ (<U0431>,<U0411>);(<U0432>,<U0412>);(<U0433>,<U0413>);(<U0434>,<U0414>);/
+ (<U0435>,<U0415>);(<U0436>,<U0416>);(<U0437>,<U0417>);(<U0438>,<U0418>);/
+ (<U0439>,<U0419>);(<U043A>,<U041A>);(<U043B>,<U041B>);(<U043C>,<U041C>);/
+ (<U043D>,<U041D>);(<U043E>,<U041E>);(<U043F>,<U041F>);(<U0440>,<U0420>);/
+ (<U0441>,<U0421>);(<U0442>,<U0422>);(<U0443>,<U0423>);(<U0444>,<U0424>);/
+ (<U0445>,<U0425>);(<U0446>,<U0426>);(<U0447>,<U0427>);(<U0448>,<U0428>);/
+ (<U0449>,<U0429>);(<U044A>,<U042A>);(<U044B>,<U042B>);(<U044C>,<U042C>);/
+ (<U044D>,<U042D>);(<U044E>,<U042E>);(<U044F>,<U042F>);(<U0450>,<U0400>);/
+ (<U0451>,<U0401>);(<U0452>,<U0402>);(<U0453>,<U0403>);(<U0454>,<U0404>);/
+ (<U0455>,<U0405>);(<U0456>,<U0406>);(<U0457>,<U0407>);(<U0458>,<U0408>);/
+ (<U0459>,<U0409>);(<U045A>,<U040A>);(<U045B>,<U040B>);(<U045C>,<U040C>);/
+ (<U045D>,<U040D>);(<U045E>,<U040E>);(<U045F>,<U040F>);(<U0461>,<U0460>);/
(<U0463>,<U0462>);(<U0465>,<U0464>);(<U0467>,<U0466>);(<U0469>,<U0468>);/
(<U046B>,<U046A>);(<U046D>,<U046C>);(<U046F>,<U046E>);(<U0471>,<U0470>);/
(<U0473>,<U0472>);(<U0475>,<U0474>);(<U0477>,<U0476>);(<U0479>,<U0478>);/
(<U047B>,<U047A>);(<U047D>,<U047C>);(<U047F>,<U047E>);(<U0481>,<U0480>);/
- (<U0491>,<U0490>);(<U0493>,<U0492>);(<U0495>,<U0494>);(<U0497>,<U0496>);/
- (<U0499>,<U0498>);(<U049B>,<U049A>);(<U049D>,<U049C>);(<U049F>,<U049E>);/
- (<U04A1>,<U04A0>);(<U04A3>,<U04A2>);(<U04A5>,<U04A4>);(<U04A7>,<U04A6>);/
- (<U04A9>,<U04A8>);(<U04AB>,<U04AA>);(<U04AD>,<U04AC>);(<U04AF>,<U04AE>);/
- (<U04B1>,<U04B0>);(<U04B3>,<U04B2>);(<U04B5>,<U04B4>);(<U04B7>,<U04B6>);/
- (<U04B9>,<U04B8>);(<U04BB>,<U04BA>);(<U04BD>,<U04BC>);(<U04BF>,<U04BE>);/
- (<U04C2>,<U04C1>);(<U04C4>,<U04C3>);(<U04C8>,<U04C7>);(<U04CC>,<U04CB>);/
- (<U04D1>,<U04D0>);(<U04D3>,<U04D2>);(<U04D5>,<U04D4>);(<U04D7>,<U04D6>);/
- (<U04D9>,<U04D8>);(<U04DB>,<U04DA>);(<U04DD>,<U04DC>);(<U04DF>,<U04DE>);/
- (<U04E1>,<U04E0>);(<U04E3>,<U04E2>);(<U04E5>,<U04E4>);(<U04E7>,<U04E6>);/
- (<U04E9>,<U04E8>);(<U04EB>,<U04EA>);(<U04EF>,<U04EE>);(<U04F1>,<U04F0>);/
- (<U04F3>,<U04F2>);(<U04F5>,<U04F4>);(<U04F9>,<U04F8>);(<U0561>,<U0531>);/
- (<U0562>,<U0532>);(<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);/
- (<U0566>,<U0536>);(<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);/
- (<U056A>,<U053A>);(<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);/
- (<U056E>,<U053E>);(<U056F>,<U053F>);(<U0570>,<U0540>);(<U0571>,<U0541>);/
- (<U0572>,<U0542>);(<U0573>,<U0543>);(<U0574>,<U0544>);(<U0575>,<U0545>);/
- (<U0576>,<U0546>);(<U0577>,<U0547>);(<U0578>,<U0548>);(<U0579>,<U0549>);/
- (<U057A>,<U054A>);(<U057B>,<U054B>);(<U057C>,<U054C>);(<U057D>,<U054D>);/
- (<U057E>,<U054E>);(<U057F>,<U054F>);(<U0580>,<U0550>);(<U0581>,<U0551>);/
- (<U0582>,<U0552>);(<U0583>,<U0553>);(<U0584>,<U0554>);(<U0585>,<U0555>);/
- (<U0586>,<U0556>);/
- (<U10D0>,<U10A0>);(<U10D1>,<U10A1>);(<U10D2>,<U10A2>);(<U10D3>,<U10A3>);/
- (<U10D4>,<U10A4>);(<U10D5>,<U10A5>);(<U10D6>,<U10A6>);(<U10D7>,<U10A7>);/
- (<U10D8>,<U10A8>);(<U10D9>,<U10A9>);(<U10DA>,<U10AA>);(<U10DB>,<U10AB>);/
- (<U10DC>,<U10AC>);(<U10DD>,<U10AD>);(<U10DE>,<U10AE>);(<U10DF>,<U10AF>);/
- (<U10E0>,<U10B0>);(<U10E1>,<U10B1>);(<U10E2>,<U10B2>);(<U10E3>,<U10B3>);/
- (<U10E4>,<U10B4>);(<U10E5>,<U10B5>);(<U10E6>,<U10B6>);(<U10E7>,<U10B7>);/
- (<U10E8>,<U10B8>);(<U10E9>,<U10B9>);(<U10EA>,<U10BA>);(<U10EB>,<U10BB>);/
- (<U10EC>,<U10BC>);(<U10ED>,<U10BD>);(<U10EE>,<U10BE>);(<U10EF>,<U10BF>);/
- (<U10F0>,<U10C0>);(<U10F1>,<U10C1>);(<U10F2>,<U10C2>);(<U10F3>,<U10C3>);/
- (<U10F4>,<U10C4>);(<U10F5>,<U10C5>);/
- (<U1E01>,<U1E00>);(<U1E03>,<U1E02>);(<U1E05>,<U1E04>);/
- (<U1E07>,<U1E06>);(<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);(<U1E0D>,<U1E0C>);/
- (<U1E0F>,<U1E0E>);(<U1E11>,<U1E10>);(<U1E13>,<U1E12>);(<U1E15>,<U1E14>);/
- (<U1E17>,<U1E16>);(<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);(<U1E1D>,<U1E1C>);/
- (<U1E1F>,<U1E1E>);(<U1E21>,<U1E20>);(<U1E23>,<U1E22>);(<U1E25>,<U1E24>);/
- (<U1E27>,<U1E26>);(<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);(<U1E2D>,<U1E2C>);/
- (<U1E2F>,<U1E2E>);(<U1E31>,<U1E30>);(<U1E33>,<U1E32>);(<U1E35>,<U1E34>);/
- (<U1E37>,<U1E36>);(<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);(<U1E3D>,<U1E3C>);/
- (<U1E3F>,<U1E3E>);(<U1E41>,<U1E40>);(<U1E43>,<U1E42>);(<U1E45>,<U1E44>);/
- (<U1E47>,<U1E46>);(<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);(<U1E4D>,<U1E4C>);/
- (<U1E4F>,<U1E4E>);(<U1E51>,<U1E50>);(<U1E53>,<U1E52>);(<U1E55>,<U1E54>);/
- (<U1E57>,<U1E56>);(<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);(<U1E5D>,<U1E5C>);/
- (<U1E5F>,<U1E5E>);(<U1E61>,<U1E60>);(<U1E63>,<U1E62>);(<U1E65>,<U1E64>);/
- (<U1E67>,<U1E66>);(<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);(<U1E6D>,<U1E6C>);/
- (<U1E6F>,<U1E6E>);(<U1E71>,<U1E70>);(<U1E73>,<U1E72>);(<U1E75>,<U1E74>);/
- (<U1E77>,<U1E76>);(<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);(<U1E7D>,<U1E7C>);/
- (<U1E7F>,<U1E7E>);(<U1E81>,<U1E80>);(<U1E83>,<U1E82>);(<U1E85>,<U1E84>);/
- (<U1E87>,<U1E86>);(<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);(<U1E8D>,<U1E8C>);/
- (<U1E8F>,<U1E8E>);(<U1E91>,<U1E90>);(<U1E93>,<U1E92>);(<U1E95>,<U1E94>);/
- (<U1E9B>,<U1E60>);/
+ (<U048D>,<U048C>);(<U048F>,<U048E>);(<U0491>,<U0490>);(<U0493>,<U0492>);/
+ (<U0495>,<U0494>);(<U0497>,<U0496>);(<U0499>,<U0498>);(<U049B>,<U049A>);/
+ (<U049D>,<U049C>);(<U049F>,<U049E>);(<U04A1>,<U04A0>);(<U04A3>,<U04A2>);/
+ (<U04A5>,<U04A4>);(<U04A7>,<U04A6>);(<U04A9>,<U04A8>);(<U04AB>,<U04AA>);/
+ (<U04AD>,<U04AC>);(<U04AF>,<U04AE>);(<U04B1>,<U04B0>);(<U04B3>,<U04B2>);/
+ (<U04B5>,<U04B4>);(<U04B7>,<U04B6>);(<U04B9>,<U04B8>);(<U04BB>,<U04BA>);/
+ (<U04BD>,<U04BC>);(<U04BF>,<U04BE>);(<U04C2>,<U04C1>);(<U04C4>,<U04C3>);/
+ (<U04C8>,<U04C7>);(<U04CC>,<U04CB>);(<U04D1>,<U04D0>);(<U04D3>,<U04D2>);/
+ (<U04D5>,<U04D4>);(<U04D7>,<U04D6>);(<U04D9>,<U04D8>);(<U04DB>,<U04DA>);/
+ (<U04DD>,<U04DC>);(<U04DF>,<U04DE>);(<U04E1>,<U04E0>);(<U04E3>,<U04E2>);/
+ (<U04E5>,<U04E4>);(<U04E7>,<U04E6>);(<U04E9>,<U04E8>);(<U04EB>,<U04EA>);/
+ (<U04ED>,<U04EC>);(<U04EF>,<U04EE>);(<U04F1>,<U04F0>);(<U04F3>,<U04F2>);/
+ (<U04F5>,<U04F4>);(<U04F9>,<U04F8>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
+ (<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);(<U0566>,<U0536>);/
+ (<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);(<U056A>,<U053A>);/
+ (<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);(<U056E>,<U053E>);/
+ (<U056F>,<U053F>);(<U0570>,<U0540>);(<U0571>,<U0541>);(<U0572>,<U0542>);/
+ (<U0573>,<U0543>);(<U0574>,<U0544>);(<U0575>,<U0545>);(<U0576>,<U0546>);/
+ (<U0577>,<U0547>);(<U0578>,<U0548>);(<U0579>,<U0549>);(<U057A>,<U054A>);/
+ (<U057B>,<U054B>);(<U057C>,<U054C>);(<U057D>,<U054D>);(<U057E>,<U054E>);/
+ (<U057F>,<U054F>);(<U0580>,<U0550>);(<U0581>,<U0551>);(<U0582>,<U0552>);/
+ (<U0583>,<U0553>);(<U0584>,<U0554>);(<U0585>,<U0555>);(<U0586>,<U0556>);/
+ (<U1E01>,<U1E00>);(<U1E03>,<U1E02>);(<U1E05>,<U1E04>);(<U1E07>,<U1E06>);/
+ (<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);(<U1E0D>,<U1E0C>);(<U1E0F>,<U1E0E>);/
+ (<U1E11>,<U1E10>);(<U1E13>,<U1E12>);(<U1E15>,<U1E14>);(<U1E17>,<U1E16>);/
+ (<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);(<U1E1D>,<U1E1C>);(<U1E1F>,<U1E1E>);/
+ (<U1E21>,<U1E20>);(<U1E23>,<U1E22>);(<U1E25>,<U1E24>);(<U1E27>,<U1E26>);/
+ (<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);(<U1E2D>,<U1E2C>);(<U1E2F>,<U1E2E>);/
+ (<U1E31>,<U1E30>);(<U1E33>,<U1E32>);(<U1E35>,<U1E34>);(<U1E37>,<U1E36>);/
+ (<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);(<U1E3D>,<U1E3C>);(<U1E3F>,<U1E3E>);/
+ (<U1E41>,<U1E40>);(<U1E43>,<U1E42>);(<U1E45>,<U1E44>);(<U1E47>,<U1E46>);/
+ (<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);(<U1E4D>,<U1E4C>);(<U1E4F>,<U1E4E>);/
+ (<U1E51>,<U1E50>);(<U1E53>,<U1E52>);(<U1E55>,<U1E54>);(<U1E57>,<U1E56>);/
+ (<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);(<U1E5D>,<U1E5C>);(<U1E5F>,<U1E5E>);/
+ (<U1E61>,<U1E60>);(<U1E63>,<U1E62>);(<U1E65>,<U1E64>);(<U1E67>,<U1E66>);/
+ (<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);(<U1E6D>,<U1E6C>);(<U1E6F>,<U1E6E>);/
+ (<U1E71>,<U1E70>);(<U1E73>,<U1E72>);(<U1E75>,<U1E74>);(<U1E77>,<U1E76>);/
+ (<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);(<U1E7D>,<U1E7C>);(<U1E7F>,<U1E7E>);/
+ (<U1E81>,<U1E80>);(<U1E83>,<U1E82>);(<U1E85>,<U1E84>);(<U1E87>,<U1E86>);/
+ (<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);(<U1E8D>,<U1E8C>);(<U1E8F>,<U1E8E>);/
+ (<U1E91>,<U1E90>);(<U1E93>,<U1E92>);(<U1E95>,<U1E94>);(<U1E9B>,<U1E60>);/
(<U1EA1>,<U1EA0>);(<U1EA3>,<U1EA2>);(<U1EA5>,<U1EA4>);(<U1EA7>,<U1EA6>);/
(<U1EA9>,<U1EA8>);(<U1EAB>,<U1EAA>);(<U1EAD>,<U1EAC>);(<U1EAF>,<U1EAE>);/
(<U1EB1>,<U1EB0>);(<U1EB3>,<U1EB2>);(<U1EB5>,<U1EB4>);(<U1EB7>,<U1EB6>);/
@@ -557,9 +765,27 @@ toupper /
(<U1F95>,<U1F9D>);(<U1F96>,<U1F9E>);(<U1F97>,<U1F9F>);(<U1FA0>,<U1FA8>);/
(<U1FA1>,<U1FA9>);(<U1FA2>,<U1FAA>);(<U1FA3>,<U1FAB>);(<U1FA4>,<U1FAC>);/
(<U1FA5>,<U1FAD>);(<U1FA6>,<U1FAE>);(<U1FA7>,<U1FAF>);(<U1FB0>,<U1FB8>);/
- (<U1FB1>,<U1FB9>);(<U1FB3>,<U1FBC>);(<U1FC3>,<U1FCC>);(<U1FD0>,<U1FD8>);/
- (<U1FD1>,<U1FD9>);(<U1FE0>,<U1FE8>);(<U1FE1>,<U1FE9>);(<U1FE5>,<U1FEC>);/
- (<U1FF3>,<U1FFC>)
+ (<U1FB1>,<U1FB9>);(<U1FB3>,<U1FBC>);(<U1FBE>,<U0399>);(<U1FC3>,<U1FCC>);/
+ (<U1FD0>,<U1FD8>);(<U1FD1>,<U1FD9>);(<U1FE0>,<U1FE8>);(<U1FE1>,<U1FE9>);/
+ (<U1FE5>,<U1FEC>);(<U1FF3>,<U1FFC>);(<U2170>,<U2160>);(<U2171>,<U2161>);/
+ (<U2172>,<U2162>);(<U2173>,<U2163>);(<U2174>,<U2164>);(<U2175>,<U2165>);/
+ (<U2176>,<U2166>);(<U2177>,<U2167>);(<U2178>,<U2168>);(<U2179>,<U2169>);/
+ (<U217A>,<U216A>);(<U217B>,<U216B>);(<U217C>,<U216C>);(<U217D>,<U216D>);/
+ (<U217E>,<U216E>);(<U217F>,<U216F>);(<U24D0>,<U24B6>);(<U24D1>,<U24B7>);/
+ (<U24D2>,<U24B8>);(<U24D3>,<U24B9>);(<U24D4>,<U24BA>);(<U24D5>,<U24BB>);/
+ (<U24D6>,<U24BC>);(<U24D7>,<U24BD>);(<U24D8>,<U24BE>);(<U24D9>,<U24BF>);/
+ (<U24DA>,<U24C0>);(<U24DB>,<U24C1>);(<U24DC>,<U24C2>);(<U24DD>,<U24C3>);/
+ (<U24DE>,<U24C4>);(<U24DF>,<U24C5>);(<U24E0>,<U24C6>);(<U24E1>,<U24C7>);/
+ (<U24E2>,<U24C8>);(<U24E3>,<U24C9>);(<U24E4>,<U24CA>);(<U24E5>,<U24CB>);/
+ (<U24E6>,<U24CC>);(<U24E7>,<U24CD>);(<U24E8>,<U24CE>);(<U24E9>,<U24CF>);/
+ (<UFF41>,<UFF21>);(<UFF42>,<UFF22>);(<UFF43>,<UFF23>);(<UFF44>,<UFF24>);/
+ (<UFF45>,<UFF25>);(<UFF46>,<UFF26>);(<UFF47>,<UFF27>);(<UFF48>,<UFF28>);/
+ (<UFF49>,<UFF29>);(<UFF4A>,<UFF2A>);(<UFF4B>,<UFF2B>);(<UFF4C>,<UFF2C>);/
+ (<UFF4D>,<UFF2D>);(<UFF4E>,<UFF2E>);(<UFF4F>,<UFF2F>);(<UFF50>,<UFF30>);/
+ (<UFF51>,<UFF31>);(<UFF52>,<UFF32>);(<UFF53>,<UFF33>);(<UFF54>,<UFF34>);/
+ (<UFF55>,<UFF35>);(<UFF56>,<UFF36>);(<UFF57>,<UFF37>);(<UFF58>,<UFF38>);/
+ (<UFF59>,<UFF39>);(<UFF5A>,<UFF3A>)
+
tolower /
(<U0041>,<U0061>);(<U0042>,<U0062>);(<U0043>,<U0063>);(<U0044>,<U0064>);/
(<U0045>,<U0065>);(<U0046>,<U0066>);(<U0047>,<U0067>);(<U0048>,<U0068>);/
@@ -575,13 +801,13 @@ tolower /
(<U00D2>,<U00F2>);(<U00D3>,<U00F3>);(<U00D4>,<U00F4>);(<U00D5>,<U00F5>);/
(<U00D6>,<U00F6>);(<U00D8>,<U00F8>);(<U00D9>,<U00F9>);(<U00DA>,<U00FA>);/
(<U00DB>,<U00FB>);(<U00DC>,<U00FC>);(<U00DD>,<U00FD>);(<U00DE>,<U00FE>);/
- (<U0178>,<U00FF>);(<U0100>,<U0101>);(<U0102>,<U0103>);(<U0104>,<U0105>);/
- (<U0106>,<U0107>);(<U0108>,<U0109>);(<U010A>,<U010B>);(<U010C>,<U010D>);/
- (<U010E>,<U010F>);(<U0110>,<U0111>);(<U0112>,<U0113>);(<U0114>,<U0115>);/
- (<U0116>,<U0117>);(<U0118>,<U0119>);(<U011A>,<U011B>);(<U011C>,<U011D>);/
- (<U011E>,<U011F>);(<U0120>,<U0121>);(<U0122>,<U0123>);(<U0124>,<U0125>);/
- (<U0126>,<U0127>);(<U0128>,<U0129>);(<U012A>,<U012B>);(<U012C>,<U012D>);/
- (<U012E>,<U012F>);(<U0132>,<U0133>);(<U0134>,<U0135>);(<U0136>,<U0137>);/
+ (<U0100>,<U0101>);(<U0102>,<U0103>);(<U0104>,<U0105>);(<U0106>,<U0107>);/
+ (<U0108>,<U0109>);(<U010A>,<U010B>);(<U010C>,<U010D>);(<U010E>,<U010F>);/
+ (<U0110>,<U0111>);(<U0112>,<U0113>);(<U0114>,<U0115>);(<U0116>,<U0117>);/
+ (<U0118>,<U0119>);(<U011A>,<U011B>);(<U011C>,<U011D>);(<U011E>,<U011F>);/
+ (<U0120>,<U0121>);(<U0122>,<U0123>);(<U0124>,<U0125>);(<U0126>,<U0127>);/
+ (<U0128>,<U0129>);(<U012A>,<U012B>);(<U012C>,<U012D>);(<U012E>,<U012F>);/
+ (<U0130>,<U0069>);(<U0132>,<U0133>);(<U0134>,<U0135>);(<U0136>,<U0137>);/
(<U0139>,<U013A>);(<U013B>,<U013C>);(<U013D>,<U013E>);(<U013F>,<U0140>);/
(<U0141>,<U0142>);(<U0143>,<U0144>);(<U0145>,<U0146>);(<U0147>,<U0148>);/
(<U014A>,<U014B>);(<U014C>,<U014D>);(<U014E>,<U014F>);(<U0150>,<U0151>);/
@@ -589,178 +815,385 @@ tolower /
(<U015A>,<U015B>);(<U015C>,<U015D>);(<U015E>,<U015F>);(<U0160>,<U0161>);/
(<U0162>,<U0163>);(<U0164>,<U0165>);(<U0166>,<U0167>);(<U0168>,<U0169>);/
(<U016A>,<U016B>);(<U016C>,<U016D>);(<U016E>,<U016F>);(<U0170>,<U0171>);/
- (<U0172>,<U0173>);(<U0174>,<U0175>);(<U0176>,<U0177>);(<U0179>,<U017A>);/
- (<U017B>,<U017C>);(<U017D>,<U017E>);(<U0182>,<U0183>);(<U0184>,<U0185>);/
- (<U0187>,<U0188>);(<U0256>,<U0189>);(<U018B>,<U018C>);(<U018E>,<U01DD>);/
- (<U0191>,<U0192>);(<U0198>,<U0199>);(<U01A0>,<U01A1>);(<U01A2>,<U01A3>);/
- (<U01A4>,<U01A5>);(<U01A7>,<U01A8>);(<U01AC>,<U01AD>);(<U01AF>,<U01B0>);/
- (<U01B3>,<U01B4>);(<U01B5>,<U01B6>);(<U01B8>,<U01B9>);(<U01BC>,<U01BD>);/
- (<U01C4>,<U01C6>);(<U01C5>,<U01C6>);(<U01C7>,<U01C9>);/
- (<U01C8>,<U01C9>);(<U01CA>,<U01CC>);(<U01CB>,<U01CC>);/
- (<U01CD>,<U01CE>);(<U01CF>,<U01D0>);(<U01D1>,<U01D2>);/
+ (<U0172>,<U0173>);(<U0174>,<U0175>);(<U0176>,<U0177>);(<U0178>,<U00FF>);/
+ (<U0179>,<U017A>);(<U017B>,<U017C>);(<U017D>,<U017E>);(<U0181>,<U0253>);/
+ (<U0182>,<U0183>);(<U0184>,<U0185>);(<U0186>,<U0254>);(<U0187>,<U0188>);/
+ (<U0189>,<U0256>);(<U018A>,<U0257>);(<U018B>,<U018C>);(<U018E>,<U01DD>);/
+ (<U018F>,<U0259>);(<U0190>,<U025B>);(<U0191>,<U0192>);(<U0193>,<U0260>);/
+ (<U0194>,<U0263>);(<U0196>,<U0269>);(<U0197>,<U0268>);(<U0198>,<U0199>);/
+ (<U019C>,<U026F>);(<U019D>,<U0272>);(<U019F>,<U0275>);(<U01A0>,<U01A1>);/
+ (<U01A2>,<U01A3>);(<U01A4>,<U01A5>);(<U01A6>,<U0280>);(<U01A7>,<U01A8>);/
+ (<U01A9>,<U0283>);(<U01AC>,<U01AD>);(<U01AE>,<U0288>);(<U01AF>,<U01B0>);/
+ (<U01B1>,<U028A>);(<U01B2>,<U028B>);(<U01B3>,<U01B4>);(<U01B5>,<U01B6>);/
+ (<U01B7>,<U0292>);(<U01B8>,<U01B9>);(<U01BC>,<U01BD>);(<U01C4>,<U01C6>);/
+ (<U01C5>,<U01C6>);(<U01C7>,<U01C9>);(<U01C8>,<U01C9>);(<U01CA>,<U01CC>);/
+ (<U01CB>,<U01CC>);(<U01CD>,<U01CE>);(<U01CF>,<U01D0>);(<U01D1>,<U01D2>);/
(<U01D3>,<U01D4>);(<U01D5>,<U01D6>);(<U01D7>,<U01D8>);(<U01D9>,<U01DA>);/
(<U01DB>,<U01DC>);(<U01DE>,<U01DF>);(<U01E0>,<U01E1>);(<U01E2>,<U01E3>);/
(<U01E4>,<U01E5>);(<U01E6>,<U01E7>);(<U01E8>,<U01E9>);(<U01EA>,<U01EB>);/
(<U01EC>,<U01ED>);(<U01EE>,<U01EF>);(<U01F1>,<U01F3>);(<U01F2>,<U01F3>);/
- (<U01F4>,<U01F5>);(<U0195>,<U01F6>);(<U01BF>,<U01F7>);(<U01F8>,<U01F9>);/
- (<U01FA>,<U01FB>);(<U01FC>,<U01FD>);/
- (<U01FE>,<U01FF>);(<U0200>,<U0201>);(<U0202>,<U0203>);(<U0204>,<U0205>);/
- (<U0206>,<U0207>);(<U0208>,<U0209>);(<U020A>,<U020B>);(<U020C>,<U020D>);/
- (<U020E>,<U020F>);(<U0210>,<U0211>);(<U0212>,<U0213>);(<U0214>,<U0215>);/
- (<U0216>,<U0217>);(<U0218>,<U0219>);(<U021A>,<U021B>);(<U021C>,<U021D>);/
- (<U021E>,<U021F>);(<U0222>,<U0223>);(<U0224>,<U0225>);(<U0226>,<U0227>);/
- (<U0228>,<U0229>);(<U022A>,<U022B>);(<U022C>,<U022D>);(<U022E>,<U022F>);/
- (<U0230>,<U0231>);(<U0232>,<U0233>);/
- (<U0181>,<U0253>);(<U0186>,<U0254>);(<U018A>,<U0257>);/
- (<U018E>,<U0258>);(<U018F>,<U0259>);(<U0190>,<U025B>);(<U0193>,<U0260>);/
- (<U0194>,<U0263>);(<U0197>,<U0268>);(<U0196>,<U0269>);(<U019C>,<U026F>);/
- (<U019D>,<U0272>);(<U01A9>,<U0283>);(<U01AE>,<U0288>);(<U01B1>,<U028A>);/
- (<U01B2>,<U028B>);(<U01B7>,<U0292>);(<U0386>,<U03AC>);(<U0388>,<U03AD>);/
- (<U0389>,<U03AE>);(<U038A>,<U03AF>);(<U0391>,<U03B1>);(<U0392>,<U03B2>);/
- (<U0393>,<U03B3>);(<U0394>,<U03B4>);(<U0395>,<U03B5>);(<U0396>,<U03B6>);/
- (<U0397>,<U03B7>);(<U0398>,<U03B8>);(<U0399>,<U03B9>);(<U039A>,<U03BA>);/
- (<U039B>,<U03BB>);(<U039C>,<U03BC>);(<U039D>,<U03BD>);(<U039E>,<U03BE>);/
- (<U039F>,<U03BF>);(<U03A0>,<U03C0>);(<U03A1>,<U03C1>);(<U03A3>,<U03C3>);/
- (<U03A4>,<U03C4>);(<U03A5>,<U03C5>);(<U03A6>,<U03C6>);(<U03A7>,<U03C7>);/
- (<U03A8>,<U03C8>);(<U03A9>,<U03C9>);(<U03AA>,<U03CA>);(<U03AB>,<U03CB>);/
- (<U038C>,<U03CC>);(<U038E>,<U03CD>);(<U038F>,<U03CE>);(<U03E2>,<U03E3>);/
- (<U03E4>,<U03E5>);(<U03E6>,<U03E7>);(<U03E8>,<U03E9>);(<U03EA>,<U03EB>);/
- (<U03EC>,<U03ED>);(<U03EE>,<U03EF>);(<U0410>,<U0430>);/
- (<U0411>,<U0431>);(<U0412>,<U0432>);(<U0413>,<U0433>);(<U0414>,<U0434>);/
- (<U0415>,<U0435>);(<U0416>,<U0436>);(<U0417>,<U0437>);(<U0418>,<U0438>);/
- (<U0419>,<U0439>);(<U041A>,<U043A>);(<U041B>,<U043B>);(<U041C>,<U043C>);/
- (<U041D>,<U043D>);(<U041E>,<U043E>);(<U041F>,<U043F>);(<U0420>,<U0440>);/
- (<U0421>,<U0441>);(<U0422>,<U0442>);(<U0423>,<U0443>);(<U0424>,<U0444>);/
- (<U0425>,<U0445>);(<U0426>,<U0446>);(<U0427>,<U0447>);(<U0428>,<U0448>);/
- (<U0429>,<U0449>);(<U042A>,<U044A>);(<U042B>,<U044B>);(<U042C>,<U044C>);/
- (<U042D>,<U044D>);(<U042E>,<U044E>);(<U042F>,<U044F>);(<U0401>,<U0451>);/
- (<U0402>,<U0452>);(<U0403>,<U0453>);(<U0404>,<U0454>);(<U0405>,<U0455>);/
- (<U0406>,<U0456>);(<U0407>,<U0457>);(<U0408>,<U0458>);(<U0409>,<U0459>);/
- (<U040A>,<U045A>);(<U040B>,<U045B>);(<U040C>,<U045C>);(<U040E>,<U045E>);/
- (<U040F>,<U045F>);(<U0460>,<U0461>);(<U0462>,<U0463>);(<U0464>,<U0465>);/
- (<U0466>,<U0467>);(<U0468>,<U0469>);(<U046A>,<U046B>);(<U046C>,<U046D>);/
- (<U046E>,<U046F>);(<U0470>,<U0471>);(<U0472>,<U0473>);(<U0474>,<U0475>);/
- (<U0476>,<U0477>);(<U0478>,<U0479>);(<U047A>,<U047B>);(<U047C>,<U047D>);/
- (<U047E>,<U047F>);(<U0480>,<U0481>);(<U0490>,<U0491>);(<U0492>,<U0493>);/
- (<U0494>,<U0495>);(<U0496>,<U0497>);(<U0498>,<U0499>);(<U049A>,<U049B>);/
- (<U049C>,<U049D>);(<U049E>,<U049F>);(<U04A0>,<U04A1>);(<U04A2>,<U04A3>);/
- (<U04A4>,<U04A5>);(<U04A6>,<U04A7>);(<U04A8>,<U04A9>);(<U04AA>,<U04AB>);/
- (<U04AC>,<U04AD>);(<U04AE>,<U04AF>);(<U04B0>,<U04B1>);(<U04B2>,<U04B3>);/
- (<U04B4>,<U04B5>);(<U04B6>,<U04B7>);(<U04B8>,<U04B9>);(<U04BA>,<U04BB>);/
- (<U04BC>,<U04BD>);(<U04BE>,<U04BF>);(<U04C1>,<U04C2>);(<U04C3>,<U04C4>);/
- (<U04C7>,<U04C8>);(<U04CB>,<U04CC>);(<U04D0>,<U04D1>);(<U04D2>,<U04D3>);/
- (<U04D4>,<U04D5>);(<U04D6>,<U04D7>);(<U04D8>,<U04D9>);(<U04DA>,<U04DB>);/
- (<U04DC>,<U04DD>);(<U04DE>,<U04DF>);(<U04E0>,<U04E1>);(<U04E2>,<U04E3>);/
- (<U04E4>,<U04E5>);(<U04E6>,<U04E7>);(<U04E8>,<U04E9>);(<U04EA>,<U04EB>);/
- (<U04EE>,<U04EF>);(<U04F0>,<U04F1>);(<U04F2>,<U04F3>);(<U04F4>,<U04F5>);/
- (<U04F8>,<U04F9>);(<U0531>,<U0561>);(<U0532>,<U0562>);(<U0533>,<U0563>);/
- (<U0534>,<U0564>);(<U0535>,<U0565>);(<U0536>,<U0566>);(<U0537>,<U0567>);/
- (<U0538>,<U0568>);(<U0539>,<U0569>);(<U053A>,<U056A>);(<U053B>,<U056B>);/
- (<U053C>,<U056C>);(<U053D>,<U056D>);(<U053E>,<U056E>);(<U053F>,<U056F>);/
- (<U0540>,<U0570>);(<U0541>,<U0571>);(<U0542>,<U0572>);(<U0543>,<U0573>);/
- (<U0544>,<U0574>);(<U0545>,<U0575>);(<U0546>,<U0576>);(<U0547>,<U0577>);/
- (<U0548>,<U0578>);(<U0549>,<U0579>);(<U054A>,<U057A>);(<U054B>,<U057B>);/
- (<U054C>,<U057C>);(<U054D>,<U057D>);(<U054E>,<U057E>);(<U054F>,<U057F>);/
- (<U0550>,<U0580>);(<U0551>,<U0581>);(<U0552>,<U0582>);(<U0553>,<U0583>);/
- (<U0554>,<U0584>);(<U0555>,<U0585>);(<U0556>,<U0586>);/
- (<U10A0>,<U10D0>);(<U10A1>,<U10D1>);(<U10A2>,<U10D2>);(<U10A3>,<U10D3>);/
- (<U10A4>,<U10D4>);(<U10A5>,<U10D5>);(<U10A6>,<U10D6>);(<U10A7>,<U10D7>);/
- (<U10A8>,<U10D8>);(<U10A9>,<U10D9>);(<U10AA>,<U10DA>);(<U10AB>,<U10DB>);/
- (<U10AC>,<U10DC>);(<U10AD>,<U10DD>);(<U10AE>,<U10DE>);(<U10AF>,<U10DF>);/
- (<U10B0>,<U10E0>);(<U10B1>,<U10E1>);(<U10B2>,<U10E2>);(<U10B3>,<U10E3>);/
- (<U10B4>,<U10E4>);(<U10B5>,<U10E5>);(<U10B6>,<U10E6>);(<U10B7>,<U10E7>);/
- (<U10B8>,<U10E8>);(<U10B9>,<U10E9>);(<U10BA>,<U10EA>);(<U10BB>,<U10EB>);/
- (<U10BC>,<U10EC>);(<U10BD>,<U10ED>);(<U10BE>,<U10EE>);(<U10BF>,<U10EF>);/
- (<U10C0>,<U10F0>);(<U10C1>,<U10F1>);(<U10C2>,<U10F2>);(<U10C3>,<U10F3>);/
- (<U10C4>,<U10F4>);(<U10C5>,<U10F5>);/
- (<U1E00>,<U1E01>);/
- (<U1E02>,<U1E03>);(<U1E04>,<U1E05>);(<U1E06>,<U1E07>);(<U1E08>,<U1E09>);/
- (<U1E0A>,<U1E0B>);(<U1E0C>,<U1E0D>);(<U1E0E>,<U1E0F>);(<U1E10>,<U1E11>);/
- (<U1E12>,<U1E13>);(<U1E14>,<U1E15>);(<U1E16>,<U1E17>);(<U1E18>,<U1E19>);/
- (<U1E1A>,<U1E1B>);(<U1E1C>,<U1E1D>);(<U1E1E>,<U1E1F>);(<U1E20>,<U1E21>);/
- (<U1E22>,<U1E23>);(<U1E24>,<U1E25>);(<U1E26>,<U1E27>);(<U1E28>,<U1E29>);/
- (<U1E2A>,<U1E2B>);(<U1E2C>,<U1E2D>);(<U1E2E>,<U1E2F>);(<U1E30>,<U1E31>);/
- (<U1E32>,<U1E33>);(<U1E34>,<U1E35>);(<U1E36>,<U1E37>);(<U1E38>,<U1E39>);/
- (<U1E3A>,<U1E3B>);(<U1E3C>,<U1E3D>);(<U1E3E>,<U1E3F>);(<U1E40>,<U1E41>);/
- (<U1E42>,<U1E43>);(<U1E44>,<U1E45>);(<U1E46>,<U1E47>);(<U1E48>,<U1E49>);/
- (<U1E4A>,<U1E4B>);(<U1E4C>,<U1E4D>);(<U1E4E>,<U1E4F>);(<U1E50>,<U1E51>);/
- (<U1E52>,<U1E53>);(<U1E54>,<U1E55>);(<U1E56>,<U1E57>);(<U1E58>,<U1E59>);/
- (<U1E5A>,<U1E5B>);(<U1E5C>,<U1E5D>);(<U1E5E>,<U1E5F>);(<U1E60>,<U1E61>);/
- (<U1E62>,<U1E63>);(<U1E64>,<U1E65>);(<U1E66>,<U1E67>);(<U1E68>,<U1E69>);/
- (<U1E6A>,<U1E6B>);(<U1E6C>,<U1E6D>);(<U1E6E>,<U1E6F>);(<U1E70>,<U1E71>);/
- (<U1E72>,<U1E73>);(<U1E74>,<U1E75>);(<U1E76>,<U1E77>);(<U1E78>,<U1E79>);/
- (<U1E7A>,<U1E7B>);(<U1E7C>,<U1E7D>);(<U1E7E>,<U1E7F>);(<U1E80>,<U1E81>);/
- (<U1E82>,<U1E83>);(<U1E84>,<U1E85>);(<U1E86>,<U1E87>);(<U1E88>,<U1E89>);/
- (<U1E8A>,<U1E8B>);(<U1E8C>,<U1E8D>);(<U1E8E>,<U1E8F>);(<U1E90>,<U1E91>);/
- (<U1E92>,<U1E93>);(<U1E94>,<U1E95>);(<U1EA0>,<U1EA1>);(<U1EA2>,<U1EA3>);/
- (<U1EA4>,<U1EA5>);(<U1EA6>,<U1EA7>);(<U1EA8>,<U1EA9>);(<U1EAA>,<U1EAB>);/
- (<U1EAC>,<U1EAD>);(<U1EAE>,<U1EAF>);(<U1EB0>,<U1EB1>);(<U1EB2>,<U1EB3>);/
- (<U1EB4>,<U1EB5>);(<U1EB6>,<U1EB7>);(<U1EB8>,<U1EB9>);(<U1EBA>,<U1EBB>);/
- (<U1EBC>,<U1EBD>);(<U1EBE>,<U1EBF>);(<U1EC0>,<U1EC1>);(<U1EC2>,<U1EC3>);/
- (<U1EC4>,<U1EC5>);(<U1EC6>,<U1EC7>);(<U1EC8>,<U1EC9>);(<U1ECA>,<U1ECB>);/
- (<U1ECC>,<U1ECD>);(<U1ECE>,<U1ECF>);(<U1ED0>,<U1ED1>);(<U1ED2>,<U1ED3>);/
- (<U1ED4>,<U1ED5>);(<U1ED6>,<U1ED7>);(<U1ED8>,<U1ED9>);(<U1EDA>,<U1EDB>);/
- (<U1EDC>,<U1EDD>);(<U1EDE>,<U1EDF>);(<U1EE0>,<U1EE1>);(<U1EE2>,<U1EE3>);/
- (<U1EE4>,<U1EE5>);(<U1EE6>,<U1EE7>);(<U1EE8>,<U1EE9>);(<U1EEA>,<U1EEB>);/
- (<U1EEC>,<U1EED>);(<U1EEE>,<U1EEF>);(<U1EF0>,<U1EF1>);(<U1EF2>,<U1EF3>);/
- (<U1EF4>,<U1EF5>);(<U1EF6>,<U1EF7>);(<U1EF8>,<U1EF9>);(<U1F08>,<U1F00>);/
- (<U1F09>,<U1F01>);(<U1F0A>,<U1F02>);(<U1F0B>,<U1F03>);(<U1F0C>,<U1F04>);/
- (<U1F0D>,<U1F05>);(<U1F0E>,<U1F06>);(<U1F0F>,<U1F07>);(<U1F18>,<U1F10>);/
- (<U1F19>,<U1F11>);(<U1F1A>,<U1F12>);(<U1F1B>,<U1F13>);(<U1F1C>,<U1F14>);/
- (<U1F1D>,<U1F15>);(<U1F28>,<U1F20>);(<U1F29>,<U1F21>);(<U1F2A>,<U1F22>);/
- (<U1F2B>,<U1F23>);(<U1F2C>,<U1F24>);(<U1F2D>,<U1F25>);(<U1F2E>,<U1F26>);/
- (<U1F2F>,<U1F27>);(<U1F38>,<U1F30>);(<U1F39>,<U1F31>);(<U1F3A>,<U1F32>);/
- (<U1F3B>,<U1F33>);(<U1F3C>,<U1F34>);(<U1F3D>,<U1F35>);(<U1F3E>,<U1F36>);/
- (<U1F3F>,<U1F37>);(<U1F48>,<U1F40>);(<U1F49>,<U1F41>);(<U1F4A>,<U1F42>);/
- (<U1F4B>,<U1F43>);(<U1F4C>,<U1F44>);(<U1F4D>,<U1F45>);(<U1F59>,<U1F51>);/
- (<U1F5B>,<U1F53>);(<U1F5D>,<U1F55>);(<U1F5F>,<U1F57>);(<U1F68>,<U1F60>);/
- (<U1F69>,<U1F61>);(<U1F6A>,<U1F62>);(<U1F6B>,<U1F63>);(<U1F6C>,<U1F64>);/
- (<U1F6D>,<U1F65>);(<U1F6E>,<U1F66>);(<U1F6F>,<U1F67>);(<U1FBA>,<U1F70>);/
- (<U1FBB>,<U1F71>);(<U1FC8>,<U1F72>);(<U1FC9>,<U1F73>);(<U1FCA>,<U1F74>);/
- (<U1FCB>,<U1F75>);(<U1FDA>,<U1F76>);(<U1FDB>,<U1F77>);(<U1FF8>,<U1F78>);/
- (<U1FF9>,<U1F79>);(<U1FEA>,<U1F7A>);(<U1FEB>,<U1F7B>);(<U1FFA>,<U1F7C>);/
- (<U1FFB>,<U1F7D>);(<U1F88>,<U1F80>);(<U1F89>,<U1F81>);(<U1F8A>,<U1F82>);/
+ (<U01F4>,<U01F5>);(<U01F6>,<U0195>);(<U01F7>,<U01BF>);(<U01F8>,<U01F9>);/
+ (<U01FA>,<U01FB>);(<U01FC>,<U01FD>);(<U01FE>,<U01FF>);(<U0200>,<U0201>);/
+ (<U0202>,<U0203>);(<U0204>,<U0205>);(<U0206>,<U0207>);(<U0208>,<U0209>);/
+ (<U020A>,<U020B>);(<U020C>,<U020D>);(<U020E>,<U020F>);(<U0210>,<U0211>);/
+ (<U0212>,<U0213>);(<U0214>,<U0215>);(<U0216>,<U0217>);(<U0218>,<U0219>);/
+ (<U021A>,<U021B>);(<U021C>,<U021D>);(<U021E>,<U021F>);(<U0222>,<U0223>);/
+ (<U0224>,<U0225>);(<U0226>,<U0227>);(<U0228>,<U0229>);(<U022A>,<U022B>);/
+ (<U022C>,<U022D>);(<U022E>,<U022F>);(<U0230>,<U0231>);(<U0232>,<U0233>);/
+ (<U0386>,<U03AC>);(<U0388>,<U03AD>);(<U0389>,<U03AE>);(<U038A>,<U03AF>);/
+ (<U038C>,<U03CC>);(<U038E>,<U03CD>);(<U038F>,<U03CE>);(<U0391>,<U03B1>);/
+ (<U0392>,<U03B2>);(<U0393>,<U03B3>);(<U0394>,<U03B4>);(<U0395>,<U03B5>);/
+ (<U0396>,<U03B6>);(<U0397>,<U03B7>);(<U0398>,<U03B8>);(<U0399>,<U03B9>);/
+ (<U039A>,<U03BA>);(<U039B>,<U03BB>);(<U039C>,<U03BC>);(<U039D>,<U03BD>);/
+ (<U039E>,<U03BE>);(<U039F>,<U03BF>);(<U03A0>,<U03C0>);(<U03A1>,<U03C1>);/
+ (<U03A3>,<U03C3>);(<U03A4>,<U03C4>);(<U03A5>,<U03C5>);(<U03A6>,<U03C6>);/
+ (<U03A7>,<U03C7>);(<U03A8>,<U03C8>);(<U03A9>,<U03C9>);(<U03AA>,<U03CA>);/
+ (<U03AB>,<U03CB>);(<U03DA>,<U03DB>);(<U03DC>,<U03DD>);(<U03DE>,<U03DF>);/
+ (<U03E0>,<U03E1>);(<U03E2>,<U03E3>);(<U03E4>,<U03E5>);(<U03E6>,<U03E7>);/
+ (<U03E8>,<U03E9>);(<U03EA>,<U03EB>);(<U03EC>,<U03ED>);(<U03EE>,<U03EF>);/
+ (<U0400>,<U0450>);(<U0401>,<U0451>);(<U0402>,<U0452>);(<U0403>,<U0453>);/
+ (<U0404>,<U0454>);(<U0405>,<U0455>);(<U0406>,<U0456>);(<U0407>,<U0457>);/
+ (<U0408>,<U0458>);(<U0409>,<U0459>);(<U040A>,<U045A>);(<U040B>,<U045B>);/
+ (<U040C>,<U045C>);(<U040D>,<U045D>);(<U040E>,<U045E>);(<U040F>,<U045F>);/
+ (<U0410>,<U0430>);(<U0411>,<U0431>);(<U0412>,<U0432>);(<U0413>,<U0433>);/
+ (<U0414>,<U0434>);(<U0415>,<U0435>);(<U0416>,<U0436>);(<U0417>,<U0437>);/
+ (<U0418>,<U0438>);(<U0419>,<U0439>);(<U041A>,<U043A>);(<U041B>,<U043B>);/
+ (<U041C>,<U043C>);(<U041D>,<U043D>);(<U041E>,<U043E>);(<U041F>,<U043F>);/
+ (<U0420>,<U0440>);(<U0421>,<U0441>);(<U0422>,<U0442>);(<U0423>,<U0443>);/
+ (<U0424>,<U0444>);(<U0425>,<U0445>);(<U0426>,<U0446>);(<U0427>,<U0447>);/
+ (<U0428>,<U0448>);(<U0429>,<U0449>);(<U042A>,<U044A>);(<U042B>,<U044B>);/
+ (<U042C>,<U044C>);(<U042D>,<U044D>);(<U042E>,<U044E>);(<U042F>,<U044F>);/
+ (<U0460>,<U0461>);(<U0462>,<U0463>);(<U0464>,<U0465>);(<U0466>,<U0467>);/
+ (<U0468>,<U0469>);(<U046A>,<U046B>);(<U046C>,<U046D>);(<U046E>,<U046F>);/
+ (<U0470>,<U0471>);(<U0472>,<U0473>);(<U0474>,<U0475>);(<U0476>,<U0477>);/
+ (<U0478>,<U0479>);(<U047A>,<U047B>);(<U047C>,<U047D>);(<U047E>,<U047F>);/
+ (<U0480>,<U0481>);(<U048C>,<U048D>);(<U048E>,<U048F>);(<U0490>,<U0491>);/
+ (<U0492>,<U0493>);(<U0494>,<U0495>);(<U0496>,<U0497>);(<U0498>,<U0499>);/
+ (<U049A>,<U049B>);(<U049C>,<U049D>);(<U049E>,<U049F>);(<U04A0>,<U04A1>);/
+ (<U04A2>,<U04A3>);(<U04A4>,<U04A5>);(<U04A6>,<U04A7>);(<U04A8>,<U04A9>);/
+ (<U04AA>,<U04AB>);(<U04AC>,<U04AD>);(<U04AE>,<U04AF>);(<U04B0>,<U04B1>);/
+ (<U04B2>,<U04B3>);(<U04B4>,<U04B5>);(<U04B6>,<U04B7>);(<U04B8>,<U04B9>);/
+ (<U04BA>,<U04BB>);(<U04BC>,<U04BD>);(<U04BE>,<U04BF>);(<U04C1>,<U04C2>);/
+ (<U04C3>,<U04C4>);(<U04C7>,<U04C8>);(<U04CB>,<U04CC>);(<U04D0>,<U04D1>);/
+ (<U04D2>,<U04D3>);(<U04D4>,<U04D5>);(<U04D6>,<U04D7>);(<U04D8>,<U04D9>);/
+ (<U04DA>,<U04DB>);(<U04DC>,<U04DD>);(<U04DE>,<U04DF>);(<U04E0>,<U04E1>);/
+ (<U04E2>,<U04E3>);(<U04E4>,<U04E5>);(<U04E6>,<U04E7>);(<U04E8>,<U04E9>);/
+ (<U04EA>,<U04EB>);(<U04EC>,<U04ED>);(<U04EE>,<U04EF>);(<U04F0>,<U04F1>);/
+ (<U04F2>,<U04F3>);(<U04F4>,<U04F5>);(<U04F8>,<U04F9>);(<U0531>,<U0561>);/
+ (<U0532>,<U0562>);(<U0533>,<U0563>);(<U0534>,<U0564>);(<U0535>,<U0565>);/
+ (<U0536>,<U0566>);(<U0537>,<U0567>);(<U0538>,<U0568>);(<U0539>,<U0569>);/
+ (<U053A>,<U056A>);(<U053B>,<U056B>);(<U053C>,<U056C>);(<U053D>,<U056D>);/
+ (<U053E>,<U056E>);(<U053F>,<U056F>);(<U0540>,<U0570>);(<U0541>,<U0571>);/
+ (<U0542>,<U0572>);(<U0543>,<U0573>);(<U0544>,<U0574>);(<U0545>,<U0575>);/
+ (<U0546>,<U0576>);(<U0547>,<U0577>);(<U0548>,<U0578>);(<U0549>,<U0579>);/
+ (<U054A>,<U057A>);(<U054B>,<U057B>);(<U054C>,<U057C>);(<U054D>,<U057D>);/
+ (<U054E>,<U057E>);(<U054F>,<U057F>);(<U0550>,<U0580>);(<U0551>,<U0581>);/
+ (<U0552>,<U0582>);(<U0553>,<U0583>);(<U0554>,<U0584>);(<U0555>,<U0585>);/
+ (<U0556>,<U0586>);(<U1E00>,<U1E01>);(<U1E02>,<U1E03>);(<U1E04>,<U1E05>);/
+ (<U1E06>,<U1E07>);(<U1E08>,<U1E09>);(<U1E0A>,<U1E0B>);(<U1E0C>,<U1E0D>);/
+ (<U1E0E>,<U1E0F>);(<U1E10>,<U1E11>);(<U1E12>,<U1E13>);(<U1E14>,<U1E15>);/
+ (<U1E16>,<U1E17>);(<U1E18>,<U1E19>);(<U1E1A>,<U1E1B>);(<U1E1C>,<U1E1D>);/
+ (<U1E1E>,<U1E1F>);(<U1E20>,<U1E21>);(<U1E22>,<U1E23>);(<U1E24>,<U1E25>);/
+ (<U1E26>,<U1E27>);(<U1E28>,<U1E29>);(<U1E2A>,<U1E2B>);(<U1E2C>,<U1E2D>);/
+ (<U1E2E>,<U1E2F>);(<U1E30>,<U1E31>);(<U1E32>,<U1E33>);(<U1E34>,<U1E35>);/
+ (<U1E36>,<U1E37>);(<U1E38>,<U1E39>);(<U1E3A>,<U1E3B>);(<U1E3C>,<U1E3D>);/
+ (<U1E3E>,<U1E3F>);(<U1E40>,<U1E41>);(<U1E42>,<U1E43>);(<U1E44>,<U1E45>);/
+ (<U1E46>,<U1E47>);(<U1E48>,<U1E49>);(<U1E4A>,<U1E4B>);(<U1E4C>,<U1E4D>);/
+ (<U1E4E>,<U1E4F>);(<U1E50>,<U1E51>);(<U1E52>,<U1E53>);(<U1E54>,<U1E55>);/
+ (<U1E56>,<U1E57>);(<U1E58>,<U1E59>);(<U1E5A>,<U1E5B>);(<U1E5C>,<U1E5D>);/
+ (<U1E5E>,<U1E5F>);(<U1E60>,<U1E61>);(<U1E62>,<U1E63>);(<U1E64>,<U1E65>);/
+ (<U1E66>,<U1E67>);(<U1E68>,<U1E69>);(<U1E6A>,<U1E6B>);(<U1E6C>,<U1E6D>);/
+ (<U1E6E>,<U1E6F>);(<U1E70>,<U1E71>);(<U1E72>,<U1E73>);(<U1E74>,<U1E75>);/
+ (<U1E76>,<U1E77>);(<U1E78>,<U1E79>);(<U1E7A>,<U1E7B>);(<U1E7C>,<U1E7D>);/
+ (<U1E7E>,<U1E7F>);(<U1E80>,<U1E81>);(<U1E82>,<U1E83>);(<U1E84>,<U1E85>);/
+ (<U1E86>,<U1E87>);(<U1E88>,<U1E89>);(<U1E8A>,<U1E8B>);(<U1E8C>,<U1E8D>);/
+ (<U1E8E>,<U1E8F>);(<U1E90>,<U1E91>);(<U1E92>,<U1E93>);(<U1E94>,<U1E95>);/
+ (<U1EA0>,<U1EA1>);(<U1EA2>,<U1EA3>);(<U1EA4>,<U1EA5>);(<U1EA6>,<U1EA7>);/
+ (<U1EA8>,<U1EA9>);(<U1EAA>,<U1EAB>);(<U1EAC>,<U1EAD>);(<U1EAE>,<U1EAF>);/
+ (<U1EB0>,<U1EB1>);(<U1EB2>,<U1EB3>);(<U1EB4>,<U1EB5>);(<U1EB6>,<U1EB7>);/
+ (<U1EB8>,<U1EB9>);(<U1EBA>,<U1EBB>);(<U1EBC>,<U1EBD>);(<U1EBE>,<U1EBF>);/
+ (<U1EC0>,<U1EC1>);(<U1EC2>,<U1EC3>);(<U1EC4>,<U1EC5>);(<U1EC6>,<U1EC7>);/
+ (<U1EC8>,<U1EC9>);(<U1ECA>,<U1ECB>);(<U1ECC>,<U1ECD>);(<U1ECE>,<U1ECF>);/
+ (<U1ED0>,<U1ED1>);(<U1ED2>,<U1ED3>);(<U1ED4>,<U1ED5>);(<U1ED6>,<U1ED7>);/
+ (<U1ED8>,<U1ED9>);(<U1EDA>,<U1EDB>);(<U1EDC>,<U1EDD>);(<U1EDE>,<U1EDF>);/
+ (<U1EE0>,<U1EE1>);(<U1EE2>,<U1EE3>);(<U1EE4>,<U1EE5>);(<U1EE6>,<U1EE7>);/
+ (<U1EE8>,<U1EE9>);(<U1EEA>,<U1EEB>);(<U1EEC>,<U1EED>);(<U1EEE>,<U1EEF>);/
+ (<U1EF0>,<U1EF1>);(<U1EF2>,<U1EF3>);(<U1EF4>,<U1EF5>);(<U1EF6>,<U1EF7>);/
+ (<U1EF8>,<U1EF9>);(<U1F08>,<U1F00>);(<U1F09>,<U1F01>);(<U1F0A>,<U1F02>);/
+ (<U1F0B>,<U1F03>);(<U1F0C>,<U1F04>);(<U1F0D>,<U1F05>);(<U1F0E>,<U1F06>);/
+ (<U1F0F>,<U1F07>);(<U1F18>,<U1F10>);(<U1F19>,<U1F11>);(<U1F1A>,<U1F12>);/
+ (<U1F1B>,<U1F13>);(<U1F1C>,<U1F14>);(<U1F1D>,<U1F15>);(<U1F28>,<U1F20>);/
+ (<U1F29>,<U1F21>);(<U1F2A>,<U1F22>);(<U1F2B>,<U1F23>);(<U1F2C>,<U1F24>);/
+ (<U1F2D>,<U1F25>);(<U1F2E>,<U1F26>);(<U1F2F>,<U1F27>);(<U1F38>,<U1F30>);/
+ (<U1F39>,<U1F31>);(<U1F3A>,<U1F32>);(<U1F3B>,<U1F33>);(<U1F3C>,<U1F34>);/
+ (<U1F3D>,<U1F35>);(<U1F3E>,<U1F36>);(<U1F3F>,<U1F37>);(<U1F48>,<U1F40>);/
+ (<U1F49>,<U1F41>);(<U1F4A>,<U1F42>);(<U1F4B>,<U1F43>);(<U1F4C>,<U1F44>);/
+ (<U1F4D>,<U1F45>);(<U1F59>,<U1F51>);(<U1F5B>,<U1F53>);(<U1F5D>,<U1F55>);/
+ (<U1F5F>,<U1F57>);(<U1F68>,<U1F60>);(<U1F69>,<U1F61>);(<U1F6A>,<U1F62>);/
+ (<U1F6B>,<U1F63>);(<U1F6C>,<U1F64>);(<U1F6D>,<U1F65>);(<U1F6E>,<U1F66>);/
+ (<U1F6F>,<U1F67>);(<U1F88>,<U1F80>);(<U1F89>,<U1F81>);(<U1F8A>,<U1F82>);/
(<U1F8B>,<U1F83>);(<U1F8C>,<U1F84>);(<U1F8D>,<U1F85>);(<U1F8E>,<U1F86>);/
(<U1F8F>,<U1F87>);(<U1F98>,<U1F90>);(<U1F99>,<U1F91>);(<U1F9A>,<U1F92>);/
(<U1F9B>,<U1F93>);(<U1F9C>,<U1F94>);(<U1F9D>,<U1F95>);(<U1F9E>,<U1F96>);/
(<U1F9F>,<U1F97>);(<U1FA8>,<U1FA0>);(<U1FA9>,<U1FA1>);(<U1FAA>,<U1FA2>);/
(<U1FAB>,<U1FA3>);(<U1FAC>,<U1FA4>);(<U1FAD>,<U1FA5>);(<U1FAE>,<U1FA6>);/
- (<U1FAF>,<U1FA7>);(<U1FB8>,<U1FB0>);(<U1FB9>,<U1FB1>);(<U1FBC>,<U1FB3>);/
- (<U1FCC>,<U1FC3>);(<U1FD8>,<U1FD0>);(<U1FD9>,<U1FD1>);(<U1FE8>,<U1FE0>);/
- (<U1FE9>,<U1FE1>);(<U1FEC>,<U1FE5>);(<U1FFC>,<U1FF3>)
-%
+ (<U1FAF>,<U1FA7>);(<U1FB8>,<U1FB0>);(<U1FB9>,<U1FB1>);(<U1FBA>,<U1F70>);/
+ (<U1FBB>,<U1F71>);(<U1FBC>,<U1FB3>);(<U1FC8>,<U1F72>);(<U1FC9>,<U1F73>);/
+ (<U1FCA>,<U1F74>);(<U1FCB>,<U1F75>);(<U1FCC>,<U1FC3>);(<U1FD8>,<U1FD0>);/
+ (<U1FD9>,<U1FD1>);(<U1FDA>,<U1F76>);(<U1FDB>,<U1F77>);(<U1FE8>,<U1FE0>);/
+ (<U1FE9>,<U1FE1>);(<U1FEA>,<U1F7A>);(<U1FEB>,<U1F7B>);(<U1FEC>,<U1FE5>);/
+ (<U1FF8>,<U1F78>);(<U1FF9>,<U1F79>);(<U1FFA>,<U1F7C>);(<U1FFB>,<U1F7D>);/
+ (<U1FFC>,<U1FF3>);(<U2126>,<U03C9>);(<U212A>,<U006B>);(<U212B>,<U00E5>);/
+ (<U2160>,<U2170>);(<U2161>,<U2171>);(<U2162>,<U2172>);(<U2163>,<U2173>);/
+ (<U2164>,<U2174>);(<U2165>,<U2175>);(<U2166>,<U2176>);(<U2167>,<U2177>);/
+ (<U2168>,<U2178>);(<U2169>,<U2179>);(<U216A>,<U217A>);(<U216B>,<U217B>);/
+ (<U216C>,<U217C>);(<U216D>,<U217D>);(<U216E>,<U217E>);(<U216F>,<U217F>);/
+ (<U24B6>,<U24D0>);(<U24B7>,<U24D1>);(<U24B8>,<U24D2>);(<U24B9>,<U24D3>);/
+ (<U24BA>,<U24D4>);(<U24BB>,<U24D5>);(<U24BC>,<U24D6>);(<U24BD>,<U24D7>);/
+ (<U24BE>,<U24D8>);(<U24BF>,<U24D9>);(<U24C0>,<U24DA>);(<U24C1>,<U24DB>);/
+ (<U24C2>,<U24DC>);(<U24C3>,<U24DD>);(<U24C4>,<U24DE>);(<U24C5>,<U24DF>);/
+ (<U24C6>,<U24E0>);(<U24C7>,<U24E1>);(<U24C8>,<U24E2>);(<U24C9>,<U24E3>);/
+ (<U24CA>,<U24E4>);(<U24CB>,<U24E5>);(<U24CC>,<U24E6>);(<U24CD>,<U24E7>);/
+ (<U24CE>,<U24E8>);(<U24CF>,<U24E9>);(<UFF21>,<UFF41>);(<UFF22>,<UFF42>);/
+ (<UFF23>,<UFF43>);(<UFF24>,<UFF44>);(<UFF25>,<UFF45>);(<UFF26>,<UFF46>);/
+ (<UFF27>,<UFF47>);(<UFF28>,<UFF48>);(<UFF29>,<UFF49>);(<UFF2A>,<UFF4A>);/
+ (<UFF2B>,<UFF4B>);(<UFF2C>,<UFF4C>);(<UFF2D>,<UFF4D>);(<UFF2E>,<UFF4E>);/
+ (<UFF2F>,<UFF4F>);(<UFF30>,<UFF50>);(<UFF31>,<UFF51>);(<UFF32>,<UFF52>);/
+ (<UFF33>,<UFF53>);(<UFF34>,<UFF54>);(<UFF35>,<UFF55>);(<UFF36>,<UFF56>);/
+ (<UFF37>,<UFF57>);(<UFF38>,<UFF58>);(<UFF39>,<UFF59>);(<UFF3A>,<UFF5A>)
+
+map "totitle"; /
+ (<U0061>,<U0041>);(<U0062>,<U0042>);(<U0063>,<U0043>);(<U0064>,<U0044>);/
+ (<U0065>,<U0045>);(<U0066>,<U0046>);(<U0067>,<U0047>);(<U0068>,<U0048>);/
+ (<U0069>,<U0049>);(<U006A>,<U004A>);(<U006B>,<U004B>);(<U006C>,<U004C>);/
+ (<U006D>,<U004D>);(<U006E>,<U004E>);(<U006F>,<U004F>);(<U0070>,<U0050>);/
+ (<U0071>,<U0051>);(<U0072>,<U0052>);(<U0073>,<U0053>);(<U0074>,<U0054>);/
+ (<U0075>,<U0055>);(<U0076>,<U0056>);(<U0077>,<U0057>);(<U0078>,<U0058>);/
+ (<U0079>,<U0059>);(<U007A>,<U005A>);(<U00B5>,<U039C>);(<U00E0>,<U00C0>);/
+ (<U00E1>,<U00C1>);(<U00E2>,<U00C2>);(<U00E3>,<U00C3>);(<U00E4>,<U00C4>);/
+ (<U00E5>,<U00C5>);(<U00E6>,<U00C6>);(<U00E7>,<U00C7>);(<U00E8>,<U00C8>);/
+ (<U00E9>,<U00C9>);(<U00EA>,<U00CA>);(<U00EB>,<U00CB>);(<U00EC>,<U00CC>);/
+ (<U00ED>,<U00CD>);(<U00EE>,<U00CE>);(<U00EF>,<U00CF>);(<U00F0>,<U00D0>);/
+ (<U00F1>,<U00D1>);(<U00F2>,<U00D2>);(<U00F3>,<U00D3>);(<U00F4>,<U00D4>);/
+ (<U00F5>,<U00D5>);(<U00F6>,<U00D6>);(<U00F8>,<U00D8>);(<U00F9>,<U00D9>);/
+ (<U00FA>,<U00DA>);(<U00FB>,<U00DB>);(<U00FC>,<U00DC>);(<U00FD>,<U00DD>);/
+ (<U00FE>,<U00DE>);(<U00FF>,<U0178>);(<U0101>,<U0100>);(<U0103>,<U0102>);/
+ (<U0105>,<U0104>);(<U0107>,<U0106>);(<U0109>,<U0108>);(<U010B>,<U010A>);/
+ (<U010D>,<U010C>);(<U010F>,<U010E>);(<U0111>,<U0110>);(<U0113>,<U0112>);/
+ (<U0115>,<U0114>);(<U0117>,<U0116>);(<U0119>,<U0118>);(<U011B>,<U011A>);/
+ (<U011D>,<U011C>);(<U011F>,<U011E>);(<U0121>,<U0120>);(<U0123>,<U0122>);/
+ (<U0125>,<U0124>);(<U0127>,<U0126>);(<U0129>,<U0128>);(<U012B>,<U012A>);/
+ (<U012D>,<U012C>);(<U012F>,<U012E>);(<U0131>,<U0049>);(<U0133>,<U0132>);/
+ (<U0135>,<U0134>);(<U0137>,<U0136>);(<U013A>,<U0139>);(<U013C>,<U013B>);/
+ (<U013E>,<U013D>);(<U0140>,<U013F>);(<U0142>,<U0141>);(<U0144>,<U0143>);/
+ (<U0146>,<U0145>);(<U0148>,<U0147>);(<U014B>,<U014A>);(<U014D>,<U014C>);/
+ (<U014F>,<U014E>);(<U0151>,<U0150>);(<U0153>,<U0152>);(<U0155>,<U0154>);/
+ (<U0157>,<U0156>);(<U0159>,<U0158>);(<U015B>,<U015A>);(<U015D>,<U015C>);/
+ (<U015F>,<U015E>);(<U0161>,<U0160>);(<U0163>,<U0162>);(<U0165>,<U0164>);/
+ (<U0167>,<U0166>);(<U0169>,<U0168>);(<U016B>,<U016A>);(<U016D>,<U016C>);/
+ (<U016F>,<U016E>);(<U0171>,<U0170>);(<U0173>,<U0172>);(<U0175>,<U0174>);/
+ (<U0177>,<U0176>);(<U017A>,<U0179>);(<U017C>,<U017B>);(<U017E>,<U017D>);/
+ (<U017F>,<U0053>);(<U0183>,<U0182>);(<U0185>,<U0184>);(<U0188>,<U0187>);/
+ (<U018C>,<U018B>);(<U0192>,<U0191>);(<U0195>,<U01F6>);(<U0199>,<U0198>);/
+ (<U01A1>,<U01A0>);(<U01A3>,<U01A2>);(<U01A5>,<U01A4>);(<U01A8>,<U01A7>);/
+ (<U01AD>,<U01AC>);(<U01B0>,<U01AF>);(<U01B4>,<U01B3>);(<U01B6>,<U01B5>);/
+ (<U01B9>,<U01B8>);(<U01BD>,<U01BC>);(<U01BF>,<U01F7>);(<U01C4>,<U01C5>);/
+ (<U01C6>,<U01C5>);(<U01C7>,<U01C8>);(<U01C9>,<U01C8>);(<U01CA>,<U01CB>);/
+ (<U01CC>,<U01CB>);(<U01CE>,<U01CD>);(<U01D0>,<U01CF>);(<U01D2>,<U01D1>);/
+ (<U01D4>,<U01D3>);(<U01D6>,<U01D5>);(<U01D8>,<U01D7>);(<U01DA>,<U01D9>);/
+ (<U01DC>,<U01DB>);(<U01DD>,<U018E>);(<U01DF>,<U01DE>);(<U01E1>,<U01E0>);/
+ (<U01E3>,<U01E2>);(<U01E5>,<U01E4>);(<U01E7>,<U01E6>);(<U01E9>,<U01E8>);/
+ (<U01EB>,<U01EA>);(<U01ED>,<U01EC>);(<U01EF>,<U01EE>);(<U01F1>,<U01F2>);/
+ (<U01F3>,<U01F2>);(<U01F5>,<U01F4>);(<U01F9>,<U01F8>);(<U01FB>,<U01FA>);/
+ (<U01FD>,<U01FC>);(<U01FF>,<U01FE>);(<U0201>,<U0200>);(<U0203>,<U0202>);/
+ (<U0205>,<U0204>);(<U0207>,<U0206>);(<U0209>,<U0208>);(<U020B>,<U020A>);/
+ (<U020D>,<U020C>);(<U020F>,<U020E>);(<U0211>,<U0210>);(<U0213>,<U0212>);/
+ (<U0215>,<U0214>);(<U0217>,<U0216>);(<U0219>,<U0218>);(<U021B>,<U021A>);/
+ (<U021D>,<U021C>);(<U021F>,<U021E>);(<U0223>,<U0222>);(<U0225>,<U0224>);/
+ (<U0227>,<U0226>);(<U0229>,<U0228>);(<U022B>,<U022A>);(<U022D>,<U022C>);/
+ (<U022F>,<U022E>);(<U0231>,<U0230>);(<U0233>,<U0232>);(<U0253>,<U0181>);/
+ (<U0254>,<U0186>);(<U0256>,<U0189>);(<U0257>,<U018A>);(<U0259>,<U018F>);/
+ (<U025B>,<U0190>);(<U0260>,<U0193>);(<U0263>,<U0194>);(<U0268>,<U0197>);/
+ (<U0269>,<U0196>);(<U026F>,<U019C>);(<U0272>,<U019D>);(<U0275>,<U019F>);/
+ (<U0280>,<U01A6>);(<U0283>,<U01A9>);(<U0288>,<U01AE>);(<U028A>,<U01B1>);/
+ (<U028B>,<U01B2>);(<U0292>,<U01B7>);(<U0345>,<U0399>);(<U03AC>,<U0386>);/
+ (<U03AD>,<U0388>);(<U03AE>,<U0389>);(<U03AF>,<U038A>);(<U03B1>,<U0391>);/
+ (<U03B2>,<U0392>);(<U03B3>,<U0393>);(<U03B4>,<U0394>);(<U03B5>,<U0395>);/
+ (<U03B6>,<U0396>);(<U03B7>,<U0397>);(<U03B8>,<U0398>);(<U03B9>,<U0399>);/
+ (<U03BA>,<U039A>);(<U03BB>,<U039B>);(<U03BC>,<U039C>);(<U03BD>,<U039D>);/
+ (<U03BE>,<U039E>);(<U03BF>,<U039F>);(<U03C0>,<U03A0>);(<U03C1>,<U03A1>);/
+ (<U03C2>,<U03A3>);(<U03C3>,<U03A3>);(<U03C4>,<U03A4>);(<U03C5>,<U03A5>);/
+ (<U03C6>,<U03A6>);(<U03C7>,<U03A7>);(<U03C8>,<U03A8>);(<U03C9>,<U03A9>);/
+ (<U03CA>,<U03AA>);(<U03CB>,<U03AB>);(<U03CC>,<U038C>);(<U03CD>,<U038E>);/
+ (<U03CE>,<U038F>);(<U03D0>,<U0392>);(<U03D1>,<U0398>);(<U03D5>,<U03A6>);/
+ (<U03D6>,<U03A0>);(<U03DB>,<U03DA>);(<U03DD>,<U03DC>);(<U03DF>,<U03DE>);/
+ (<U03E1>,<U03E0>);(<U03E3>,<U03E2>);(<U03E5>,<U03E4>);(<U03E7>,<U03E6>);/
+ (<U03E9>,<U03E8>);(<U03EB>,<U03EA>);(<U03ED>,<U03EC>);(<U03EF>,<U03EE>);/
+ (<U03F0>,<U039A>);(<U03F1>,<U03A1>);(<U03F2>,<U03A3>);(<U0430>,<U0410>);/
+ (<U0431>,<U0411>);(<U0432>,<U0412>);(<U0433>,<U0413>);(<U0434>,<U0414>);/
+ (<U0435>,<U0415>);(<U0436>,<U0416>);(<U0437>,<U0417>);(<U0438>,<U0418>);/
+ (<U0439>,<U0419>);(<U043A>,<U041A>);(<U043B>,<U041B>);(<U043C>,<U041C>);/
+ (<U043D>,<U041D>);(<U043E>,<U041E>);(<U043F>,<U041F>);(<U0440>,<U0420>);/
+ (<U0441>,<U0421>);(<U0442>,<U0422>);(<U0443>,<U0423>);(<U0444>,<U0424>);/
+ (<U0445>,<U0425>);(<U0446>,<U0426>);(<U0447>,<U0427>);(<U0448>,<U0428>);/
+ (<U0449>,<U0429>);(<U044A>,<U042A>);(<U044B>,<U042B>);(<U044C>,<U042C>);/
+ (<U044D>,<U042D>);(<U044E>,<U042E>);(<U044F>,<U042F>);(<U0450>,<U0400>);/
+ (<U0451>,<U0401>);(<U0452>,<U0402>);(<U0453>,<U0403>);(<U0454>,<U0404>);/
+ (<U0455>,<U0405>);(<U0456>,<U0406>);(<U0457>,<U0407>);(<U0458>,<U0408>);/
+ (<U0459>,<U0409>);(<U045A>,<U040A>);(<U045B>,<U040B>);(<U045C>,<U040C>);/
+ (<U045D>,<U040D>);(<U045E>,<U040E>);(<U045F>,<U040F>);(<U0461>,<U0460>);/
+ (<U0463>,<U0462>);(<U0465>,<U0464>);(<U0467>,<U0466>);(<U0469>,<U0468>);/
+ (<U046B>,<U046A>);(<U046D>,<U046C>);(<U046F>,<U046E>);(<U0471>,<U0470>);/
+ (<U0473>,<U0472>);(<U0475>,<U0474>);(<U0477>,<U0476>);(<U0479>,<U0478>);/
+ (<U047B>,<U047A>);(<U047D>,<U047C>);(<U047F>,<U047E>);(<U0481>,<U0480>);/
+ (<U048D>,<U048C>);(<U048F>,<U048E>);(<U0491>,<U0490>);(<U0493>,<U0492>);/
+ (<U0495>,<U0494>);(<U0497>,<U0496>);(<U0499>,<U0498>);(<U049B>,<U049A>);/
+ (<U049D>,<U049C>);(<U049F>,<U049E>);(<U04A1>,<U04A0>);(<U04A3>,<U04A2>);/
+ (<U04A5>,<U04A4>);(<U04A7>,<U04A6>);(<U04A9>,<U04A8>);(<U04AB>,<U04AA>);/
+ (<U04AD>,<U04AC>);(<U04AF>,<U04AE>);(<U04B1>,<U04B0>);(<U04B3>,<U04B2>);/
+ (<U04B5>,<U04B4>);(<U04B7>,<U04B6>);(<U04B9>,<U04B8>);(<U04BB>,<U04BA>);/
+ (<U04BD>,<U04BC>);(<U04BF>,<U04BE>);(<U04C2>,<U04C1>);(<U04C4>,<U04C3>);/
+ (<U04C8>,<U04C7>);(<U04CC>,<U04CB>);(<U04D1>,<U04D0>);(<U04D3>,<U04D2>);/
+ (<U04D5>,<U04D4>);(<U04D7>,<U04D6>);(<U04D9>,<U04D8>);(<U04DB>,<U04DA>);/
+ (<U04DD>,<U04DC>);(<U04DF>,<U04DE>);(<U04E1>,<U04E0>);(<U04E3>,<U04E2>);/
+ (<U04E5>,<U04E4>);(<U04E7>,<U04E6>);(<U04E9>,<U04E8>);(<U04EB>,<U04EA>);/
+ (<U04ED>,<U04EC>);(<U04EF>,<U04EE>);(<U04F1>,<U04F0>);(<U04F3>,<U04F2>);/
+ (<U04F5>,<U04F4>);(<U04F9>,<U04F8>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
+ (<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);(<U0566>,<U0536>);/
+ (<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);(<U056A>,<U053A>);/
+ (<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);(<U056E>,<U053E>);/
+ (<U056F>,<U053F>);(<U0570>,<U0540>);(<U0571>,<U0541>);(<U0572>,<U0542>);/
+ (<U0573>,<U0543>);(<U0574>,<U0544>);(<U0575>,<U0545>);(<U0576>,<U0546>);/
+ (<U0577>,<U0547>);(<U0578>,<U0548>);(<U0579>,<U0549>);(<U057A>,<U054A>);/
+ (<U057B>,<U054B>);(<U057C>,<U054C>);(<U057D>,<U054D>);(<U057E>,<U054E>);/
+ (<U057F>,<U054F>);(<U0580>,<U0550>);(<U0581>,<U0551>);(<U0582>,<U0552>);/
+ (<U0583>,<U0553>);(<U0584>,<U0554>);(<U0585>,<U0555>);(<U0586>,<U0556>);/
+ (<U1E01>,<U1E00>);(<U1E03>,<U1E02>);(<U1E05>,<U1E04>);(<U1E07>,<U1E06>);/
+ (<U1E09>,<U1E08>);(<U1E0B>,<U1E0A>);(<U1E0D>,<U1E0C>);(<U1E0F>,<U1E0E>);/
+ (<U1E11>,<U1E10>);(<U1E13>,<U1E12>);(<U1E15>,<U1E14>);(<U1E17>,<U1E16>);/
+ (<U1E19>,<U1E18>);(<U1E1B>,<U1E1A>);(<U1E1D>,<U1E1C>);(<U1E1F>,<U1E1E>);/
+ (<U1E21>,<U1E20>);(<U1E23>,<U1E22>);(<U1E25>,<U1E24>);(<U1E27>,<U1E26>);/
+ (<U1E29>,<U1E28>);(<U1E2B>,<U1E2A>);(<U1E2D>,<U1E2C>);(<U1E2F>,<U1E2E>);/
+ (<U1E31>,<U1E30>);(<U1E33>,<U1E32>);(<U1E35>,<U1E34>);(<U1E37>,<U1E36>);/
+ (<U1E39>,<U1E38>);(<U1E3B>,<U1E3A>);(<U1E3D>,<U1E3C>);(<U1E3F>,<U1E3E>);/
+ (<U1E41>,<U1E40>);(<U1E43>,<U1E42>);(<U1E45>,<U1E44>);(<U1E47>,<U1E46>);/
+ (<U1E49>,<U1E48>);(<U1E4B>,<U1E4A>);(<U1E4D>,<U1E4C>);(<U1E4F>,<U1E4E>);/
+ (<U1E51>,<U1E50>);(<U1E53>,<U1E52>);(<U1E55>,<U1E54>);(<U1E57>,<U1E56>);/
+ (<U1E59>,<U1E58>);(<U1E5B>,<U1E5A>);(<U1E5D>,<U1E5C>);(<U1E5F>,<U1E5E>);/
+ (<U1E61>,<U1E60>);(<U1E63>,<U1E62>);(<U1E65>,<U1E64>);(<U1E67>,<U1E66>);/
+ (<U1E69>,<U1E68>);(<U1E6B>,<U1E6A>);(<U1E6D>,<U1E6C>);(<U1E6F>,<U1E6E>);/
+ (<U1E71>,<U1E70>);(<U1E73>,<U1E72>);(<U1E75>,<U1E74>);(<U1E77>,<U1E76>);/
+ (<U1E79>,<U1E78>);(<U1E7B>,<U1E7A>);(<U1E7D>,<U1E7C>);(<U1E7F>,<U1E7E>);/
+ (<U1E81>,<U1E80>);(<U1E83>,<U1E82>);(<U1E85>,<U1E84>);(<U1E87>,<U1E86>);/
+ (<U1E89>,<U1E88>);(<U1E8B>,<U1E8A>);(<U1E8D>,<U1E8C>);(<U1E8F>,<U1E8E>);/
+ (<U1E91>,<U1E90>);(<U1E93>,<U1E92>);(<U1E95>,<U1E94>);(<U1E9B>,<U1E60>);/
+ (<U1EA1>,<U1EA0>);(<U1EA3>,<U1EA2>);(<U1EA5>,<U1EA4>);(<U1EA7>,<U1EA6>);/
+ (<U1EA9>,<U1EA8>);(<U1EAB>,<U1EAA>);(<U1EAD>,<U1EAC>);(<U1EAF>,<U1EAE>);/
+ (<U1EB1>,<U1EB0>);(<U1EB3>,<U1EB2>);(<U1EB5>,<U1EB4>);(<U1EB7>,<U1EB6>);/
+ (<U1EB9>,<U1EB8>);(<U1EBB>,<U1EBA>);(<U1EBD>,<U1EBC>);(<U1EBF>,<U1EBE>);/
+ (<U1EC1>,<U1EC0>);(<U1EC3>,<U1EC2>);(<U1EC5>,<U1EC4>);(<U1EC7>,<U1EC6>);/
+ (<U1EC9>,<U1EC8>);(<U1ECB>,<U1ECA>);(<U1ECD>,<U1ECC>);(<U1ECF>,<U1ECE>);/
+ (<U1ED1>,<U1ED0>);(<U1ED3>,<U1ED2>);(<U1ED5>,<U1ED4>);(<U1ED7>,<U1ED6>);/
+ (<U1ED9>,<U1ED8>);(<U1EDB>,<U1EDA>);(<U1EDD>,<U1EDC>);(<U1EDF>,<U1EDE>);/
+ (<U1EE1>,<U1EE0>);(<U1EE3>,<U1EE2>);(<U1EE5>,<U1EE4>);(<U1EE7>,<U1EE6>);/
+ (<U1EE9>,<U1EE8>);(<U1EEB>,<U1EEA>);(<U1EED>,<U1EEC>);(<U1EEF>,<U1EEE>);/
+ (<U1EF1>,<U1EF0>);(<U1EF3>,<U1EF2>);(<U1EF5>,<U1EF4>);(<U1EF7>,<U1EF6>);/
+ (<U1EF9>,<U1EF8>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);(<U1F02>,<U1F0A>);/
+ (<U1F03>,<U1F0B>);(<U1F04>,<U1F0C>);(<U1F05>,<U1F0D>);(<U1F06>,<U1F0E>);/
+ (<U1F07>,<U1F0F>);(<U1F10>,<U1F18>);(<U1F11>,<U1F19>);(<U1F12>,<U1F1A>);/
+ (<U1F13>,<U1F1B>);(<U1F14>,<U1F1C>);(<U1F15>,<U1F1D>);(<U1F20>,<U1F28>);/
+ (<U1F21>,<U1F29>);(<U1F22>,<U1F2A>);(<U1F23>,<U1F2B>);(<U1F24>,<U1F2C>);/
+ (<U1F25>,<U1F2D>);(<U1F26>,<U1F2E>);(<U1F27>,<U1F2F>);(<U1F30>,<U1F38>);/
+ (<U1F31>,<U1F39>);(<U1F32>,<U1F3A>);(<U1F33>,<U1F3B>);(<U1F34>,<U1F3C>);/
+ (<U1F35>,<U1F3D>);(<U1F36>,<U1F3E>);(<U1F37>,<U1F3F>);(<U1F40>,<U1F48>);/
+ (<U1F41>,<U1F49>);(<U1F42>,<U1F4A>);(<U1F43>,<U1F4B>);(<U1F44>,<U1F4C>);/
+ (<U1F45>,<U1F4D>);(<U1F51>,<U1F59>);(<U1F53>,<U1F5B>);(<U1F55>,<U1F5D>);/
+ (<U1F57>,<U1F5F>);(<U1F60>,<U1F68>);(<U1F61>,<U1F69>);(<U1F62>,<U1F6A>);/
+ (<U1F63>,<U1F6B>);(<U1F64>,<U1F6C>);(<U1F65>,<U1F6D>);(<U1F66>,<U1F6E>);/
+ (<U1F67>,<U1F6F>);(<U1F70>,<U1FBA>);(<U1F71>,<U1FBB>);(<U1F72>,<U1FC8>);/
+ (<U1F73>,<U1FC9>);(<U1F74>,<U1FCA>);(<U1F75>,<U1FCB>);(<U1F76>,<U1FDA>);/
+ (<U1F77>,<U1FDB>);(<U1F78>,<U1FF8>);(<U1F79>,<U1FF9>);(<U1F7A>,<U1FEA>);/
+ (<U1F7B>,<U1FEB>);(<U1F7C>,<U1FFA>);(<U1F7D>,<U1FFB>);(<U1F80>,<U1F88>);/
+ (<U1F81>,<U1F89>);(<U1F82>,<U1F8A>);(<U1F83>,<U1F8B>);(<U1F84>,<U1F8C>);/
+ (<U1F85>,<U1F8D>);(<U1F86>,<U1F8E>);(<U1F87>,<U1F8F>);(<U1F90>,<U1F98>);/
+ (<U1F91>,<U1F99>);(<U1F92>,<U1F9A>);(<U1F93>,<U1F9B>);(<U1F94>,<U1F9C>);/
+ (<U1F95>,<U1F9D>);(<U1F96>,<U1F9E>);(<U1F97>,<U1F9F>);(<U1FA0>,<U1FA8>);/
+ (<U1FA1>,<U1FA9>);(<U1FA2>,<U1FAA>);(<U1FA3>,<U1FAB>);(<U1FA4>,<U1FAC>);/
+ (<U1FA5>,<U1FAD>);(<U1FA6>,<U1FAE>);(<U1FA7>,<U1FAF>);(<U1FB0>,<U1FB8>);/
+ (<U1FB1>,<U1FB9>);(<U1FB3>,<U1FBC>);(<U1FBE>,<U0399>);(<U1FC3>,<U1FCC>);/
+ (<U1FD0>,<U1FD8>);(<U1FD1>,<U1FD9>);(<U1FE0>,<U1FE8>);(<U1FE1>,<U1FE9>);/
+ (<U1FE5>,<U1FEC>);(<U1FF3>,<U1FFC>);(<U2170>,<U2160>);(<U2171>,<U2161>);/
+ (<U2172>,<U2162>);(<U2173>,<U2163>);(<U2174>,<U2164>);(<U2175>,<U2165>);/
+ (<U2176>,<U2166>);(<U2177>,<U2167>);(<U2178>,<U2168>);(<U2179>,<U2169>);/
+ (<U217A>,<U216A>);(<U217B>,<U216B>);(<U217C>,<U216C>);(<U217D>,<U216D>);/
+ (<U217E>,<U216E>);(<U217F>,<U216F>);(<U24D0>,<U24B6>);(<U24D1>,<U24B7>);/
+ (<U24D2>,<U24B8>);(<U24D3>,<U24B9>);(<U24D4>,<U24BA>);(<U24D5>,<U24BB>);/
+ (<U24D6>,<U24BC>);(<U24D7>,<U24BD>);(<U24D8>,<U24BE>);(<U24D9>,<U24BF>);/
+ (<U24DA>,<U24C0>);(<U24DB>,<U24C1>);(<U24DC>,<U24C2>);(<U24DD>,<U24C3>);/
+ (<U24DE>,<U24C4>);(<U24DF>,<U24C5>);(<U24E0>,<U24C6>);(<U24E1>,<U24C7>);/
+ (<U24E2>,<U24C8>);(<U24E3>,<U24C9>);(<U24E4>,<U24CA>);(<U24E5>,<U24CB>);/
+ (<U24E6>,<U24CC>);(<U24E7>,<U24CD>);(<U24E8>,<U24CE>);(<U24E9>,<U24CF>);/
+ (<UFF41>,<UFF21>);(<UFF42>,<UFF22>);(<UFF43>,<UFF23>);(<UFF44>,<UFF24>);/
+ (<UFF45>,<UFF25>);(<UFF46>,<UFF26>);(<UFF47>,<UFF27>);(<UFF48>,<UFF28>);/
+ (<UFF49>,<UFF29>);(<UFF4A>,<UFF2A>);(<UFF4B>,<UFF2B>);(<UFF4C>,<UFF2C>);/
+ (<UFF4D>,<UFF2D>);(<UFF4E>,<UFF2E>);(<UFF4F>,<UFF2F>);(<UFF50>,<UFF30>);/
+ (<UFF51>,<UFF31>);(<UFF52>,<UFF32>);(<UFF53>,<UFF33>);(<UFF54>,<UFF34>);/
+ (<UFF55>,<UFF35>);(<UFF56>,<UFF36>);(<UFF57>,<UFF37>);(<UFF58>,<UFF38>);/
+ (<UFF59>,<UFF39>);(<UFF5A>,<UFF3A>)
+
% The "combining" class reflects ISO/IEC 10646-1 annex B.1
% That is, all combining characters (level 2+3).
-class "combining"; /
- <U0300>..<U036F>; <U20D0>..<U20FF>; <UFE20>..<UFE2F>;/
- <U0483>..<U0486>;<U0591>..<U05A1>;<U05A3>..<U05B9>;/
- <U05BB>..<U05BD>;<U05BF>;<U05C1>;<U05C2>;<U05C4>;<U064B>..<U0652>;<U0670>;/
- <U06D7>..<U06E4>;<U06E7>;<U06E8>;<U06EA>..<U06ED>;<U0901>..<U0903>;<U093C>;/
- <U093E>..<U094D>;<U0951>..<U0954>;<U0962>;<U0963>;<U0981>..<U0983>;<U09BC>;/
- <U09BE>..<U09C4>;<U09C7>;<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09E2>;<U09E3>;/
- <U0A02>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>;<U0A48>;<U0A4B>..<U0A4D>;/
- <U0A70>;<U0A71>;<U0A81>..<U0A83>;<U0ABC>;<U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;/
- <U0ACB>..<U0ACD>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B43>;<U0B47>;<U0B48>;/
- <U0B4B>..<U0B4D>;<U0B56>;<U0B57>;<U0B82>;<U0B83>;<U0BBE>..<U0BC2>;/
- <U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0C01>..<U0C03>;<U0C3E>..<U0C44>;/
- <U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>;<U0C56>;<U0C82>;<U0C83>;/
- <U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>;<U0CD6>;/
- <U0D02>;<U0D03>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
- <U0E31>;<U0E34>..<U0E3A>;<U0E47>..<U0E4E>;<U0EB1>;<U0EB4>..<U0EB9>;/
- <U0EBB>;<U0EBC>;<U0EC8>..<U0ECD>;<U0F18>;<U0F19>;<U0F35>;<U0F37>;<U0F39>;/
- <U0F3E>;<U0F3F>;<U0F71>..<U0F84>;<U0F86>..<U0F89>;<U0F8B>;<U0F90>..<U0F95>;/
- <U0F97>;<U0F99>..<U0FAD>;<U0FB1>..<U0FB7>;<U0FB9>;<U302A>..<U302F>;/
- <U3099>;<U309A>;<UFB1E>
-%
+class "combining"; /
+ <U0300>..<U034E>;<U0360>..<U0362>;<U0483>..<U0486>;<U0488>..<U0489>;/
+ <U0591>..<U05A1>;<U05A3>..<U05B9>;<U05BB>..<U05BD>;<U05BF>;/
+ <U05C1>..<U05C2>;<U05C4>;<U064B>..<U0655>;<U0670>;<U06D6>..<U06E4>;/
+ <U06E7>..<U06E8>;<U06EA>..<U06ED>;<U0711>;<U0730>..<U074A>;/
+ <U07A6>..<U07B0>;<U0901>..<U0903>;<U093C>;<U093E>..<U094D>;/
+ <U0951>..<U0954>;<U0962>..<U0963>;<U0981>..<U0983>;<U09BC>;/
+ <U09BE>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;/
+ <U09E2>..<U09E3>;<U0A02>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;/
+ <U0A4B>..<U0A4D>;<U0A70>..<U0A71>;<U0A81>..<U0A83>;<U0ABC>;/
+ <U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0B01>..<U0B03>;/
+ <U0B3C>;<U0B3E>..<U0B43>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;/
+ <U0B56>..<U0B57>;<U0B82>..<U0B83>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;/
+ <U0BCA>..<U0BCD>;<U0BD7>;<U0C01>..<U0C03>;<U0C3E>..<U0C44>;/
+ <U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C82>..<U0C83>;/
+ <U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;/
+ <U0D02>..<U0D03>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+ <U0D57>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;/
+ <U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;/
+ <U0E47>..<U0E4E>;<U0EB1>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;/
+ <U0EC8>..<U0ECD>;<U0F18>..<U0F19>;<U0F35>;<U0F37>;<U0F39>;/
+ <U0F3E>..<U0F3F>;<U0F71>..<U0F84>;<U0F86>..<U0F87>;<U0F90>..<U0F97>;/
+ <U0F99>..<U0FBC>;<U0FC6>;<U102C>..<U1032>;<U1036>..<U1039>;/
+ <U1056>..<U1059>;<U17B4>..<U17D3>;<U18A9>;<U20D0>..<U20E3>;/
+ <U302A>..<U302F>;<U3099>..<U309A>;<UF8F0>..<UF8FF>;<UFB1E>;/
+ <UFE20>..<UFE23>
+
% The "combining_level3" class reflects ISO/IEC 10646-1 annex B.2
% That is, combining characters of level 3.
-class "combining_level3"; /
- <U0300>..<U036F>;<U20D0>..<U20FF>;<U1100>..<U11FF>;<UFE20>..<UFE2F>;/
- <U0483>..<U0486>;<U0591>..<U05A1>;<U05A3>..<U05AE>;<U05C4>;/
- <U05AF>;<U093C>;<U0953>;<U0954>;<U09BC>;<U09D7>;<U0A3C>;/
- <U0A70>;<U0A71>;<U0ABC>;<U0B3C>;<U0B56>;<U0B57>;<U0BD7>;<U0C55>;<U0C56>;/
- <U0CD5>;<U0CD6>;<U0D57>;<U0F39>;<U302A>..<U302F>;<U3099>;<U309A>
-%
+class "combining_level3"; /
+ <U0334>..<U0338>;<U0488>..<U0489>;<U05B0>..<U05B9>;<U05BB>..<U05BD>;/
+ <U05BF>;<U05C1>..<U05C2>;<U064B>..<U0652>;<U0670>;<U06DD>..<U06DE>;/
+ <U0711>;<U07A6>..<U07B0>;<U0901>..<U0903>;<U093C>;<U093E>..<U094D>;/
+ <U0962>..<U0963>;<U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;/
+ <U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;<U0A02>;/
+ <U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;/
+ <U0A70>..<U0A71>;<U0A81>..<U0A83>;<U0ABC>;<U0ABE>..<U0AC5>;/
+ <U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0B01>..<U0B03>;<U0B3C>;/
+ <U0B3E>..<U0B43>;<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;/
+ <U0B82>..<U0B83>;<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;/
+ <U0BD7>;<U0C01>..<U0C03>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
+ <U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C82>..<U0C83>;<U0CBE>..<U0CC4>;/
+ <U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0D02>..<U0D03>;/
+ <U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
+ <U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
+ <U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;<U0E47>..<U0E4E>;<U0EB1>;/
+ <U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F3E>..<U0F3F>;/
+ <U0F71>..<U0F81>;<U0F84>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;/
+ <U102C>..<U1032>;<U1036>..<U1039>;<U1056>..<U1059>;<U17B4>..<U17D3>;/
+ <U20D2>..<U20D3>;<U20D8>..<U20DA>;<U20DD>..<U20E0>;<U20E2>..<U20E3>;/
+ <U3099>..<U309A>;<UF8F0>..<UF8FF>;<UFB1E>
translit_start
diff --git a/localedata/tests-mbwc/dat_iswctype.c b/localedata/tests-mbwc/dat_iswctype.c
index 86d0835304..644cbbc273 100644
--- a/localedata/tests-mbwc/dat_iswctype.c
+++ b/localedata/tests-mbwc/dat_iswctype.c
@@ -81,7 +81,11 @@ TST_ISWCTYPE tst_iswctype_loc [] = {
{ { 0x00B9, "digit" }, { 0,1,0 } }, /* SUP 1 */
{ { 0x00BE, "digit" }, { 0,1,0 } }, /* 3/4 */
{ { 0x009F, "graph" }, { 0,1,0 } }, /* CTRL */
+#ifdef SHOJI_IS_RIGHT
{ { 0x00A0, "graph" }, { 0,1,0 } }, /* NB SPACE */
+#else
+ { { 0x00A0, "graph" }, { 0,0,0 } }, /* NB SPACE */
+#endif
{ { 0x00A1, "graph" }, { 0,0,0 } }, /* UD ! */
{ { 0x00B1, "graph" }, { 0,0,0 } }, /* +- sign */
{ { 0x00B3, "graph" }, { 0,0,0 } }, /* SUP 3 */
@@ -97,7 +101,11 @@ TST_ISWCTYPE tst_iswctype_loc [] = {
{ { 0x00F8, "graph" }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF, "graph" }, { 0,0,0 } }, /* y dia */
{ { 0x009F, "print" }, { 0,1,0 } }, /* CTRL */
+#ifdef SHOJI_IS_RIGHT
{ { 0x00A0, "print" }, { 0,1,0 } }, /* NB SPACE */
+#else
+ { { 0x00A0, "print" }, { 0,0,0 } }, /* NB SPACE */
+#endif
{ { 0x00A1, "print" }, { 0,0,0 } }, /* UD ! */
{ { 0x00B1, "print" }, { 0,0,0 } }, /* +- sign */
{ { 0x00B4, "print" }, { 0,0,0 } }, /* ACUTE */
@@ -112,7 +120,11 @@ TST_ISWCTYPE tst_iswctype_loc [] = {
{ { 0x00F8, "print" }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF, "print" }, { 0,0,0 } }, /* y dia */
{ { 0x009F, "punct" }, { 0,1,0 } }, /* CTRL */
+#ifdef SHOJI_IS_RIGHT
{ { 0x00A0, "punct" }, { 0,1,0 } }, /* NB SPACE */
+#else
+ { { 0x00A0, "punct" }, { 0,0,0 } }, /* NB SPACE */
+#endif
{ { 0x00A1, "punct" }, { 0,0,0 } }, /* UD ! */
{ { 0x00B0, "punct" }, { 0,0,0 } }, /* Degree */
{ { 0x00B1, "punct" }, { 0,0,0 } }, /* +- sign */
diff --git a/localedata/tests-mbwc/dat_iswgraph.c b/localedata/tests-mbwc/dat_iswgraph.c
index 98583e2fd3..0ab56d273e 100644
--- a/localedata/tests-mbwc/dat_iswgraph.c
+++ b/localedata/tests-mbwc/dat_iswgraph.c
@@ -16,7 +16,11 @@ TST_ISW_LOC (GRAPH, graph) = {
{
{ { 0x0080 }, { 0,1,0 } }, /* CTRL */
{ { 0x009F }, { 0,1,0 } }, /* CTRL */
+#ifdef SHOJI_IS_RIGHT
{ { 0x00A0 }, { 0,1,0 } }, /* NB SPACE */
+#else
+ { { 0x00A0 }, { 0,0,0 } }, /* NB SPACE */
+#endif
{ { 0x00A1 }, { 0,0,0 } }, /* UD ! */
{ { 0x00B0 }, { 0,0,0 } }, /* Degree */
{ { 0x00B1 }, { 0,0,0 } }, /* +- sign */
diff --git a/localedata/tests-mbwc/dat_iswprint.c b/localedata/tests-mbwc/dat_iswprint.c
index a7cf34cffb..a574a5906b 100644
--- a/localedata/tests-mbwc/dat_iswprint.c
+++ b/localedata/tests-mbwc/dat_iswprint.c
@@ -16,7 +16,11 @@ TST_ISW_LOC (PRINT, print) = {
{
{ { 0x0080 }, { 0,1,0 } }, /* CTRL */
{ { 0x009F }, { 0,1,0 } }, /* CTRL */
+#ifdef SHOJI_IS_RIGHT
{ { 0x00A0 }, { 0,1,0 } }, /* NB SPACE */
+#else
+ { { 0x00A0 }, { 0,0,0 } }, /* NB SPACE */
+#endif
{ { 0x00A1 }, { 0,0,0 } }, /* UD ! */
{ { 0x00B0 }, { 0,0,0 } }, /* Degree */
{ { 0x00B1 }, { 0,0,0 } }, /* +- sign */
diff --git a/localedata/tests-mbwc/dat_iswpunct.c b/localedata/tests-mbwc/dat_iswpunct.c
index 710395c717..2d17478121 100644
--- a/localedata/tests-mbwc/dat_iswpunct.c
+++ b/localedata/tests-mbwc/dat_iswpunct.c
@@ -16,7 +16,11 @@ TST_ISW_LOC (PUNCT, punct) = {
{
{ { 0x0080 }, { 0,1,0 } }, /* CTRL */
{ { 0x009F }, { 0,1,0 } }, /* CTRL */
+#ifdef SHOJI_IS_RIGHT
{ { 0x00A0 }, { 0,1,0 } }, /* NB SPACE */
+#else
+ { { 0x00A0 }, { 0,0,0 } }, /* NB SPACE */
+#endif
{ { 0x00A1 }, { 0,0,0 } }, /* UD ! */
{ { 0x00B0 }, { 0,0,0 } }, /* Degree */
{ { 0x00B1 }, { 0,0,0 } }, /* +- sign */
diff --git a/localedata/tests-mbwc/dat_wcswidth.c b/localedata/tests-mbwc/dat_wcswidth.c
index fd426ef2c1..fb66d979e5 100644
--- a/localedata/tests-mbwc/dat_wcswidth.c
+++ b/localedata/tests-mbwc/dat_wcswidth.c
@@ -56,7 +56,11 @@ TST_WCSWIDTH tst_wcswidth_loc [] = {
/*expect*/ { 0,1,-1 },
},
{ /*input.*/ { { 0x00C1,0x00A0,0x0000 }, 2 }, /* 16 */
+#ifdef SHOJI_IS_RIGHT
/*expect*/ { 0,1,-1 },
+#else
+ /*expect*/ { 0,1,2 },
+#endif
},
{ /*input.*/ { { 0x00C1,0x00A1,0x0000 }, 2 }, /* 17 */
/*expect*/ { 0,1,2 },
diff --git a/localedata/tst-ctype-de_DE.ISO-8859-1.in b/localedata/tst-ctype-de_DE.ISO-8859-1.in
index 61a82d5a86..f71d76cc2a 100644
--- a/localedata/tst-ctype-de_DE.ISO-8859-1.in
+++ b/localedata/tst-ctype-de_DE.ISO-8859-1.in
@@ -1,5 +1,5 @@
lower
- 000000000000000000000000000000000000000000000000
+ 000000000000000000000100000000000000000000000000
lower
000000000000000111111111111111111111111011111111
upper
@@ -23,11 +23,11 @@ space
space
000000000000000000000000000000000000000000000000
print
- 011111111111111111111111111111111111111111111111
+ 111111111111111111111111111111111111111111111111
print
111111111111111111111111111111111111111111111111
graph
- 011111111111111111111111111111111111111111111111
+ 111111111111111111111111111111111111111111111111
graph
111111111111111111111111111111111111111111111111
blank
@@ -39,7 +39,7 @@ cntrl
cntrl
000000000000000000000000000000000000000000000000
punct
- 011111111101111111111011110111110000000000000000
+ 111111111101111111111011110111110000000000000000
punct
000000010000000000000000000000000000000100000000
alnum