aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog23
-rw-r--r--locale/programs/charmap.c32
-rw-r--r--locale/programs/ld-ctype.c69
-rw-r--r--locale/programs/linereader.c26
-rw-r--r--locale/programs/locfile-token.h4
-rw-r--r--localedata/ChangeLog4
-rw-r--r--localedata/locales/i18n1117
7 files changed, 1242 insertions, 33 deletions
diff --git a/ChangeLog b/ChangeLog
index e415b02841..81a258dfe1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2000-04-06 Ulrich Drepper <drepper@redhat.com>
+
+ * locale/programs/charmap.c (charmap_new_char): Add parameter step.
+ Support ..(2).. ellipsis.
+ (parse_charmap): Recognize ..(2).. etc and pass step down.
+ Correctly generate names for UCS4 characters.
+
+ * locale/programs/ld-ctype.c (struct translit_ignore_t): Add step.
+ (ctype_finish): We know the wide character value for <SP>,
+ don't search.
+ (charclass_symbolic_ellipsis): Handle ..(2).. ellipsis.
+ (charclass_ucs4_ellipsis): Likewise.
+ (read_translit_ignore_entry): Store ellipsis step.
+ (ctype_read): Recognize ..(2).. etc and pass step down.
+
+ * locale/programs/linereader.c (lr_token): When seeing comment
+ character ignore only rest of line in sources but stop at escaped
+ newline.
+ Recognize ..(2).. and ....(2).....
+
+ * locale/programs/locfile-token.h (enum token_t): Add tok_ellipsis2_2
+ and tok_ellipsis4_2.
+
2000-04-06 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/alpha/Dist: init-first.h has been
diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c
index 37047a0407..3ccebcac48 100644
--- a/locale/programs/charmap.c
+++ b/locale/programs/charmap.c
@@ -53,7 +53,7 @@ static void new_width (struct linereader *cmfile, struct charmap_t *result,
unsigned long int width);
static void charmap_new_char (struct linereader *lr, struct charmap_t *cm,
int nbytes, char *bytes, const char *from,
- const char *to, int decimal_ellipsis);
+ const char *to, int decimal_ellipsis, int step);
struct charmap_t *
@@ -225,6 +225,7 @@ parse_charmap (struct linereader *cmfile)
char *from_name = NULL;
char *to_name = NULL;
enum token_t ellipsis = 0;
+ int step = 1;
/* We don't want symbolic names in string to be translated. */
cmfile->translate_strings = 0;
@@ -461,7 +462,7 @@ character sets with locking states are not supported"));
now->val.str.lenmb);
else
{
- obstack_printf (&result->mem_pool, "<%08X>",
+ obstack_printf (&result->mem_pool, "U%08X",
cmfile->token.val.ucs4);
obstack_1grow (&result->mem_pool, '\0');
from_name = (char *) obstack_finish (&result->mem_pool);
@@ -475,9 +476,20 @@ character sets with locking states are not supported"));
/* We have two possibilities: We can see an ellipsis or an
encoding value. */
if (nowtok == tok_ellipsis3 || nowtok == tok_ellipsis4
- || nowtok == tok_ellipsis2)
+ || nowtok == tok_ellipsis2 || nowtok == tok_ellipsis4_2
+ || nowtok == tok_ellipsis2_2)
{
ellipsis = nowtok;
+ if (nowtok == tok_ellipsis4_2)
+ {
+ step = 2;
+ nowtok = tok_ellipsis4;
+ }
+ else if (nowtok == tok_ellipsis2_2)
+ {
+ step = 2;
+ nowtok = tok_ellipsis2;
+ }
state = 4;
continue;
}
@@ -502,13 +514,15 @@ character sets with locking states are not supported"));
else
charmap_new_char (cmfile, result, now->val.charcode.nbytes,
now->val.charcode.bytes, from_name, to_name,
- ellipsis != tok_ellipsis2);
+ ellipsis != tok_ellipsis2, step);
/* Ignore trailing comment silently. */
lr_ignore_rest (cmfile, 0);
from_name = NULL;
to_name = NULL;
+ ellipsis = tok_none;
+ step = 1;
state = 2;
continue;
@@ -531,7 +545,7 @@ character sets with locking states are not supported"));
cmfile->token.val.str.lenmb);
else
{
- obstack_printf (&result->mem_pool, "<%08X>",
+ obstack_printf (&result->mem_pool, "U%08X",
cmfile->token.val.ucs4);
obstack_1grow (&result->mem_pool, '\0');
to_name = (char *) obstack_finish (&result->mem_pool);
@@ -814,7 +828,7 @@ charmap_find_value (const struct charmap_t *cm, const char *name, size_t len)
static void
charmap_new_char (struct linereader *lr, struct charmap_t *cm,
int nbytes, char *bytes, const char *from, const char *to,
- int decimal_ellipsis)
+ int decimal_ellipsis, int step)
{
hash_table *ht = &cm->char_table;
hash_table *bt = &cm->byte_table;
@@ -833,7 +847,7 @@ charmap_new_char (struct linereader *lr, struct charmap_t *cm,
newp = (struct charseq *) obstack_alloc (ob, sizeof (*newp) + nbytes);
newp->nbytes = nbytes;
memcpy (newp->bytes, bytes, nbytes);
- newp->name = obstack_copy (ob, from, len1 + 1);
+ newp->name = from;
newp->ucs4 = UNINITIALIZED_CHAR_VALUE;
if ((from[0] == 'U' || from[0] == 'P') && (len1 == 5 || len1 == 9))
@@ -852,7 +866,7 @@ charmap_new_char (struct linereader *lr, struct charmap_t *cm,
char *endp;
errno = 0;
- newp->ucs4 = strtoul (from, &endp, 16);
+ newp->ucs4 = strtoul (from + 1, &endp, 16);
if (endp - from != len1
|| (newp->ucs4 == ULONG_MAX && errno == ERANGE)
|| newp->ucs4 >= 0x80000000)
@@ -916,7 +930,7 @@ hexadecimal range format should use only capital characters"));
return;
}
- for (cnt = from_nr; cnt <= to_nr; ++cnt)
+ for (cnt = from_nr; cnt <= to_nr; cnt += step)
{
char *name_end;
obstack_printf (ob, decimal_ellipsis ? "%.*s%0*d" : "%.*s%0*X",
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index 23ca2368c8..9cf4d2c5f5 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -97,6 +97,7 @@ struct translit_ignore_t
{
uint32_t from;
uint32_t to;
+ uint32_t step;
const char *fname;
size_t lineno;
@@ -504,18 +505,13 @@ character '%s' in class `%s' must not be in class `%s'"),
}
/* ... and now test <SP> as a special case. */
- space_value = repertoire_find_value (ctype->repertoire, "SP", 2);
- if (space_value == ILLEGAL_CHAR_VALUE)
- {
- if (!be_quiet)
- error (0, 0, _("character <SP> not defined in character map"));
- }
- else if (((cnt = BITPOS (tok_space),
- (ELEM (ctype, class_collection, , space_value)
- & BITw (tok_space)) == 0)
- || (cnt = BITPOS (tok_blank),
- (ELEM (ctype, class_collection, , space_value)
- & BITw (tok_blank)) == 0)))
+ space_value = 32;
+ if (((cnt = BITPOS (tok_space),
+ (ELEM (ctype, class_collection, , space_value)
+ & BITw (tok_space)) == 0)
+ || (cnt = BITPOS (tok_blank),
+ (ELEM (ctype, class_collection, , space_value)
+ & BITw (tok_blank)) == 0)))
{
if (!be_quiet)
error (0, 0, _("<SP> character not in class `%s'"),
@@ -1236,7 +1232,8 @@ get_character (struct token *now, struct charmap_t *charmap,
}
-/* Ellipsis like in `<foo123>..<foo12a>' or `<j1234>....<j1245>'. */
+/* Ellipsis like in `<foo123>..<foo12a>' or `<j1234>....<j1245>' and
+ the .(2). counterparts. */
static void
charclass_symbolic_ellipsis (struct linereader *ldfile,
struct locale_ctype_t *ctype,
@@ -1246,7 +1243,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile,
const char *last_str,
unsigned long int class256_bit,
unsigned long int class_bit, int base,
- int ignore_content, int handle_digits)
+ int ignore_content, int handle_digits, int step)
{
const char *nowstr = now->val.str.startmb;
char tmp[now->val.str.lenmb + 1];
@@ -1288,7 +1285,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile,
if (!ignore_content)
{
now->val.str.startmb = tmp;
- while (++from <= to)
+ while ((from += step) <= to)
{
struct charseq *seq;
uint32_t wch;
@@ -1346,7 +1343,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile,
}
-/* Ellipsis like in `<U1234>..<U2345>'. */
+/* Ellipsis like in `<U1234>..<U2345>' or `<U1234>..(2)..<U2345>'. */
static void
charclass_ucs4_ellipsis (struct linereader *ldfile,
struct locale_ctype_t *ctype,
@@ -1355,7 +1352,7 @@ charclass_ucs4_ellipsis (struct linereader *ldfile,
struct token *now, uint32_t last_wch,
unsigned long int class256_bit,
unsigned long int class_bit, int ignore_content,
- int handle_digits)
+ int handle_digits, int step)
{
if (last_wch > now->val.ucs4)
{
@@ -1367,7 +1364,7 @@ to-value <U%0*X> of range is smaller than from-value <U%0*X>"),
}
if (!ignore_content)
- while (++last_wch <= now->val.ucs4)
+ while ((last_wch += step) <= now->val.ucs4)
{
/* We have to find out whether there is a byte sequence corresponding
to this UCS4 value. */
@@ -1376,6 +1373,11 @@ to-value <U%0*X> of range is smaller than from-value <U%0*X>"),
snprintf (utmp, sizeof (utmp), "U%08X", last_wch);
seq = charmap_find_value (charmap, utmp, 9);
+ if (seq == NULL)
+ {
+ snprintf (utmp, sizeof (utmp), "U%04X", last_wch);
+ seq = charmap_find_value (charmap, utmp, 5);
+ }
if (seq == NULL)
/* Try looking in the repertoire map. */
@@ -1779,6 +1781,7 @@ read_translit_ignore_entry (struct linereader *ldfile,
obstack_alloc (&ctype->mempool, sizeof (struct translit_ignore_t));
newp->from = from;
newp->to = from;
+ newp->step = 1;
newp->next = ctype->translit_ignore;
ctype->translit_ignore = newp;
@@ -1788,11 +1791,12 @@ read_translit_ignore_entry (struct linereader *ldfile,
line. */
now = lr_token (ldfile, charmap, repertoire);
- if (now->tok == tok_ellipsis2)
+ if (now->tok == tok_ellipsis2 || now->tok == tok_ellipsis2_2)
{
/* XXX Should we bother implementing `....'? `...' certainly
will not be implemented. */
uint32_t to;
+ int step = now->tok == tok_ellipsis2_2 ? 2 : 1;
now = lr_token (ldfile, charmap, repertoire);
@@ -1823,7 +1827,10 @@ read_translit_ignore_entry (struct linereader *ldfile,
{
/* Make sure the `to'-value is larger. */
if (to >= from)
- newp->to = to;
+ {
+ newp->to = to;
+ newp->step = step;
+ }
else
lr_error (ldfile, _("\
to-value <U%0*X> of range is smaller than from-value <U%0*X>"),
@@ -1866,6 +1873,7 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result,
uint32_t last_wch = 0;
enum token_t last_token;
enum token_t ellipsis_token;
+ int step;
char last_charcode[16];
size_t last_charcode_len = 0;
const char *last_str = NULL;
@@ -2040,6 +2048,7 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result,
ctype->class_done |= class_bit;
last_token = tok_none;
ellipsis_token = tok_none;
+ step = 1;
now = lr_token (ldfile, charmap, NULL);
while (now->tok != tok_eol && now->tok != tok_eof)
{
@@ -2140,7 +2149,7 @@ the absolute ellipsis `...' must not be used"));
== tok_ellipsis4
? 10 : 16),
ignore_content,
- handle_digits);
+ handle_digits, step);
}
else if (last_token == tok_ucs4)
{
@@ -2151,7 +2160,8 @@ with UCS range values one must use the hexadecimal symbolic ellipsis `..'"));
charclass_ucs4_ellipsis (ldfile, ctype, charmap,
repertoire, now, last_wch,
class256_bit, class_bit,
- ignore_content, handle_digits);
+ ignore_content, handle_digits,
+ step);
}
else
{
@@ -2180,9 +2190,21 @@ with character code range values one must use the absolute ellipsis `...'"));
break;
if (last_token != tok_none
- && now->tok >= tok_ellipsis2 && now->tok <= tok_ellipsis4)
+ && now->tok >= tok_ellipsis2 && now->tok <= tok_ellipsis4_2)
{
+ if (now->tok == tok_ellipsis2_2)
+ {
+ now->tok = tok_ellipsis2;
+ step = 2;
+ }
+ else if (now->tok == tok_ellipsis4_2)
+ {
+ now->tok = tok_ellipsis4;
+ step = 2;
+ }
+
ellipsis_token = now->tok;
+
now = lr_token (ldfile, charmap, NULL);
continue;
}
@@ -2194,6 +2216,7 @@ with character code range values one must use the absolute ellipsis `...'"));
now = lr_token (ldfile, charmap, NULL);
ellipsis_token = tok_none;
+ step = 1;
}
break;
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
index f6532a4792..36dd0cd2d0 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -185,6 +185,16 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap,
if (ch != lr->comment_char)
break;
+ /* Is there an newline at the end of the buffer? */
+ if (lr->buf[lr->bufact - 1] != '\n')
+ {
+ /* No. Some people want this to mean that only the line in
+ the file not the logical, concatenated line is ignored.
+ Let's try this. */
+ lr->idx = lr->bufact;
+ continue;
+ }
+
/* Ignore rest of line. */
lr_ignore_rest (lr, 0);
lr->token.tok = tok_eol;
@@ -198,6 +208,14 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap,
/* Match ellipsis. */
if (ch == '.')
{
+ if (strncmp (&lr->buf[lr->idx], "...(2)....", 10) == 0)
+ {
+ int cnt;
+ for (cnt = 0; cnt < 10; ++cnt)
+ lr_getc (lr);
+ lr->token.tok = tok_ellipsis4_2;
+ return &lr->token;
+ }
if (strncmp (&lr->buf[lr->idx], "...", 3) == 0)
{
lr_getc (lr);
@@ -213,6 +231,14 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap,
lr->token.tok = tok_ellipsis3;
return &lr->token;
}
+ if (strncmp (&lr->buf[lr->idx], ".(2)..", 6) == 0)
+ {
+ int cnt;
+ for (cnt = 0; cnt < 6; ++cnt)
+ lr_getc (lr);
+ lr->token.tok = tok_ellipsis2_2;
+ return &lr->token;
+ }
if (lr->buf[lr->idx] == '.')
{
lr_getc (lr);
diff --git a/locale/programs/locfile-token.h b/locale/programs/locfile-token.h
index e1cd5f7a74..6eecc5618a 100644
--- a/locale/programs/locfile-token.h
+++ b/locale/programs/locfile-token.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -31,6 +31,8 @@ enum token_t
tok_ellipsis2,
tok_ellipsis3,
tok_ellipsis4,
+ tok_ellipsis2_2,
+ tok_ellipsis4_2,
tok_semicolon,
tok_comma,
tok_open_brace,
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 5b4abcd1be..037091cee0 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,7 @@
+2000-04-06 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/i18n: New file.
+
2000-03-27 Ulrich Drepper <drepper@redhat.com>
* tst-fmon.data: Update test after last strfmon change.
diff --git a/localedata/locales/i18n b/localedata/locales/i18n
new file mode 100644
index 0000000000..cd76ef792c
--- /dev/null
+++ b/localedata/locales/i18n
@@ -0,0 +1,1117 @@
+escape_char /
+comment_char %
+
+LC_IDENTIFICATION
+% This is the ISO/IEC TR 14652 "i18n" definition for
+% the LC_IDENTIFICATION category.
+%
+title "ISO/IEC TR 14652 i18n FDCC-set"
+source "ISO/IEC Copyright Office"
+address "Case postale 56, CH-1211 Geneve 20, Switzerland"
+contact ""
+email ""
+tel ""
+fax ""
+language ""
+territory "ISO"
+revision "1.0"
+date "2000-01-24"
+%
+category "i18n:2000";LC_IDENTIFICATION
+category "i18n:2000";LC_CTYPE
+category "i18n:2000";LC_COLLATE
+category "i18n:2000";LC_TIME
+category "i18n:2000";LC_NUMERIC
+category "i18n:2000";LC_MONETARY
+category "i18n:2000";LC_MESSAGES
+category "i18n:2000";LC_PAPER
+category "i18n:2000";LC_NAME
+category "i18n:2000";LC_ADDRESS
+category "i18n:2000";LC_TELEPHONE
+
+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
+% The "upper" class reflects the uppercase characters of class "alpha"
+upper /
+% TABLE 1 BASIC LATIN/
+ <U0041>..<U005A>;/
+% TABLE 2 LATIN-1 SUPPLEMENT/
+ <U00C0>..<U00D6>;<U00D8>..<U00DE>;/
+% TABLE 3 LATIN EXTENDED-A/
+ <U0100>..(2)..<U0136>;/
+ <U0139>..(2)..<U0147>;/
+ <U014A>..(2)..<U0178>;/
+ <U0179>..(2)..<U017D>;/
+% TABLE 4 LATIN EXTENDED-B/
+ <U0181>;<U0182>..(2)..<U0186>;<U0187>;/
+ <U0189>..<U018B>;<U018E>..<U0191>;<U0193>;<U0194>;/
+ <U0196>..<U0198>;<U019C>;<U019D>;<U019F>;/
+ <U01A0>..(2)..<U01A4>;/
+ <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>;<U01FA>..(2)..<U01FE>;/
+% TABLE 5 LATIN EXTENDED-B/
+ <U0200>..(2)..<U0216>;/
+% 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>;/
+% TABLE 10 GREEK SYMBOLS AND COPTIC/
+ <U03E3>..(2)..<U03EF>;/
+% TABLE 11 CYRILLIC/
+ <U0401>..<U040C>;<U040E>..<U042F>;<U0460>..(2)..<U047E>;/
+% TABLE 12 CYRILLIC/
+ <U0480>;<U0490>..(2)..<U04BE>;<U04C1>;<U04C3>;<U04C7>;<U04CB>;/
+ <U04D0>..(2)..<U04EA>;<U04EE>..(2)..<U04F4>;<U04F8>;/
+% TABLE 13 ARMENIAN/
+ <U0531>..<U0556>;/
+% TABLE 28 GEORGIAN/
+ <U10A0>..<U10C5>;/
+% TABLE 31 LATIN EXTENDED ADDITIONAL/
+ <U1E00>..(2)..<U1E7E>;/
+% TABLE 32 LATIN EXTENDED ADDITIONAL/
+ <U1E80>..(2)..<U1E94>;/
+ <U1EA0>..(2)..<U1EF8>;/
+% TABLE 33 GREEK EXTENDED/
+ <U1F08>..<U1F0F>;<U1F18>..<U1F1D>;<U1F28>..<U1F2F>;<U1F38>..<U1F3F>;/
+ <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
+%
+% 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>;/
+% TABLE 3 LATIN EXTENDED-A/
+ <U0101>..(2)..<U0137>;<U0138>..(2)..<U0148>;/
+ <U0149>..(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>;/
+ <U01C8>;<U01C9>;<U01CB>;<U01CC>..(2)..<U01DC>;/
+ <U01DD>..(2)..<U01F1>;<U01F3>;<U01F5>;<U01FB>;<U01FD>;<U01FF>;/
+% TABLE 5 LATIN EXTENDED-B/
+ <U0201>..(2)..<U0217>;/
+% TABLE 6 IPA EXTENSIONS/
+ <U0250>..<U0293>;<U0299>..<U02A0>;<U02A3>..<U02A8>;/
+% TABLE 9 BASIC GREEK/
+ <U0390>;<U03AC>..<U03CE>;/
+% TABLE 10 GREEK SYMBOLS AND COPTIC/
+ <U03E2>..(2)..<U03EE>;/
+% TABLE 11 CYRILLIC/
+ <U0430>..<U044F>;<U0451>..<U045C>;<U045E>;<U045F>;<U0460>..(2)..<U047F>;/
+% TABLE 12 CYRILLIC/
+ <U04801>;<U0490>..(2)..<U04BF>;<U04C2>;<U04C4>;<U04C8>;<U04CC>;/
+ <U04D1>..(2)..<U04EB>;<U04EF>..(2)..<U04F5>;<U04F9>;/
+% TABLE 13 ARMENIAN/
+ <U0561>..<U0587>;/
+% TABLE 28 GEORGIAN/
+ <U10D0>..<U10F6>;/
+% 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/
+ <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>;/
+% TABLE 35 SUPERSCRIPTS AND SUBSCRIPTS, CURRENCY SYMBOLS/
+ <U207F>
+%
+% 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>;/
+% TABLE 3 LATIN EXTENDED-A/
+ <U0100>..<U017F>;/
+% TABLE 4 and 5 LATIN EXTENDED-B/
+ <U0180>..<U01F5>;<U01FA>..<U0217>;/
+% 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>;/
+% TABLE 9 BASIC GREEK/
+ <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>;/
+% 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>;/
+% TABLE 13 ARMENIAN/
+ <U0531>..<U0556>;<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>;/
+% TABLE 17 DEVANAGARI/
+ <U0901>..<U0903>;<U0905>..<U0939>;<U093E>..<U094D>;<U0950>..<U0952>;/
+ <U0958>..<U0963>;/
+% 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>;/
+% 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>;/
+% 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>;/
+% 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>;/
+% 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>;/
+% TABLE 23 TELUGU/
+ <U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
+ <U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
+ <U0C4A>..<U0C4D>;<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>;/
+% TABLE 25 MALAYALAM/
+ <U0D02>..<U0D03>;<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;/
+ <U0D2A>..<U0D39>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
+ <U0D60>..<U0D61>;/
+% TABLE 26 THAI/
+ <U0E01>..<U0E3A>;<U0E40>..<U0E4E>;/
+% 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>;/
+% TABLE 28 GEORGIAN/
+ <U10A0>..<U10C5>;<U10D0>..<U10F6>;/
+% TABLE 50 HIRAGANA/
+ <U3041>..<U3093>;<U309B>..<U309C>;/
+% TABLE 51 KATAKANA/
+ <U30A1>..<U30F6>;<U30FB>..<U30FC>;/
+% TABLE 52 BOPOMOFO/
+ <U3105>..<U312C>;/
+% CJK unified ideographs/
+ <U4E01>..<U9FA5>;/
+% HANGUL amendment 5/
+ <UAC00>..<UD7A3>;/
+% Miscellaneous/
+ <U00B5>;<U02B0>..<U02B8>;<U02BB>;<U02BD>..<U02C1>;/
+ <U02D0>..<U02D1>;<U02E0>..<U02E4>;<U037A>;<U0559>;<U093D>;<U0B3D>;/
+ <U1FBE>;<U2160>..<U2182>;<U3021>..<U3029>
+%
+% The "digit" class of the "i18n" FDCC-set is reflecting
+% the recommendations in TR 10176 annex A
+digit /
+% TABLE 1 BASIC LATIN/
+ <U0030>..<U0039>;/
+% TABLE 15 and 16 ARABIC/
+ <U0660>..<U0669>;<U06F0>..<U06F9>;/
+% TABLE 17 DEVANAGARI/
+ <U0966>..<U096F>;/
+% TABLE 18 BENGALI/
+ <U09E6>..<U09EF>;/
+% TABLE 19 GURMUKHI/
+ <U0A66>..<U0A6F>;/
+% TABLE 20 GUJARATI/
+ <U0AE6>..<U0AEF>;/
+% TABLE 21 ORIYA/
+ <U0B66>..<U0B6F>;/
+% TABLE 22 TAMIL/
+ <0>;<U0BE7>..<U0BEF>;/
+% TABLE 23 TELUGU/
+ <U0C66>..<U0C6F>;/
+% TABLE 24 KANNADA/
+ <U0CE6>..<U0CEF>;/
+% TABLE 25 MALAYALAM/
+ <U0D66>..<U0D6F>;/
+% TABLE 26 THAI/
+ <U0E50>..<U0E59>;/
+% TABLE 27 LAO/
+ <U0ED0>..<U0ED9>;/
+% TIBETAN Amendment 6/
+ <U0F20>..<U0F29>
+%
+outdigit <U0030>..<U0039>
+%
+space /
+% ISO/IEC 6429/
+ <U0008>;<U000A>..<U000D>;/
+% TABLE 1 BASIC LATIN/
+ <U0020>;/
+% TABLE 35 GENERAL PUNCTUATION/
+ <U2000>..<U2006>;<U2008>..<U200B>;/
+% TABLE 50 CJK SYMBOLS AND PUNCTUATION, HIRAGANA/
+ <U3000>
+%
+cntrl <U0000>..<U001F>;<U007F>..<U009F>
+%
+punct /
+ <U0021>..<U002F>;<U003A>..<U0040>;<U005B>..<U0060>;<U007B>..<U007E>;/
+ <U00A0>..<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>
+%
+graph /
+ <U0021>..<U007E>;<U00A0>..<U01F5>;<U01FA>..<U0217>;/
+ <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>;/
+ <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>;<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>;/
+ <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>;/
+ <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 <U0008>;<U0020>;<U2000>..<U2006>;<U2008>..<U200B>;<U3000>
+%
+toupper /
+ (<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>);(<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>);(<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>);(<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>);/
+ (<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>);/
+ (<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>);/
+ (<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>);/
+ (<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>);(<U1FC3>,<U1FCC>);(<U1FD0>,<U1FD8>);/
+ (<U1FD1>,<U1FD9>);(<U1FE0>,<U1FE8>);(<U1FE1>,<U1FE9>);(<U1FE5>,<U1FEC>);/
+ (<U1FF3>,<U1FFC>)
+tolower /
+ (<U0041>,<U0061>);(<U0042>,<U0062>);(<U0043>,<U0063>);(<U0044>,<U0064>);/
+ (<U0045>,<U0065>);(<U0046>,<U0066>);(<U0047>,<U0067>);(<U0048>,<U0068>);/
+ (<U0049>,<U0069>);(<U004A>,<U006A>);(<U004B>,<U006B>);(<U004C>,<U006C>);/
+ (<U004D>,<U006D>);(<U004E>,<U006E>);(<U004F>,<U006F>);(<U0050>,<U0070>);/
+ (<U0051>,<U0071>);(<U0052>,<U0072>);(<U0053>,<U0073>);(<U0054>,<U0074>);/
+ (<U0055>,<U0075>);(<U0056>,<U0076>);(<U0057>,<U0077>);(<U0058>,<U0078>);/
+ (<U0059>,<U0079>);(<U005A>,<U007A>);(<U00C0>,<U00E0>);(<U00C1>,<U00E1>);/
+ (<U00C2>,<U00E2>);(<U00C3>,<U00E3>);(<U00C4>,<U00E4>);(<U00C5>,<U00E5>);/
+ (<U00C6>,<U00E6>);(<U00C7>,<U00E7>);(<U00C8>,<U00E8>);(<U00C9>,<U00E9>);/
+ (<U00CA>,<U00EA>);(<U00CB>,<U00EB>);(<U00CC>,<U00EC>);(<U00CD>,<U00ED>);/
+ (<U00CE>,<U00EE>);(<U00CF>,<U00EF>);(<U00D0>,<U00F0>);(<U00D1>,<U00F1>);/
+ (<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>);/
+ (<U0139>,<U013A>);(<U013B>,<U013C>);(<U013D>,<U013E>);(<U013F>,<U0140>);/
+ (<U0141>,<U0142>);(<U0143>,<U0144>);(<U0145>,<U0146>);(<U0147>,<U0148>);/
+ (<U014A>,<U014B>);(<U014C>,<U014D>);(<U014E>,<U014F>);(<U0150>,<U0151>);/
+ (<U0152>,<U0153>);(<U0154>,<U0155>);(<U0156>,<U0157>);(<U0158>,<U0159>);/
+ (<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>);/
+ (<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>);(<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>);(<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>);/
+ (<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>)
+%
+% 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>
+%
+% 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>
+%
+
+END LC_CTYPE
+
+LC_COLLATE
+
+% Case collating symbols
+collating-symbol <RES-1>
+collating-symbol <BLK>
+collating-symbol <MIN> % SMALL
+collating-symbol <WIDE> % WIDE
+collating-symbol <COMPAT>
+collating-symbol <FONT>
+collating-symbol <CIRCLE>
+collating-symbol <RES-2>
+collating-symbol <CAP> % CAPITAL
+collating-symbol <WIDECAP>
+collating-symbol <COMPATCAP>
+collating-symbol <FONTCAP>
+collating-symbol <CIRCLECAP>
+collating-symbol <HIRA-SMALL>
+collating-symbol <HIRA>
+collating-symbol <SMALL>
+collating-symbol <SMALL-NARROW>
+collating-symbol <KATA>
+collating-symbol <NARROW>
+collating-symbol <CIRCLE-KATA>
+collating-symbol <MNN>
+collating-symbol <MNS>
+collating-symbol <VERTICAL>
+% Arabic forms
+collating-symbol <AINI>
+collating-symbol <AMED>
+collating-symbol <AFIN>
+collating-symbol <AISO>
+%
+collating-symbol <NOBREAK>
+collating-symbol <SQUARED>
+collating-symbol <SQUAREDCAP>
+collating-symbol <FRACTION>
+collating-symbol <BLANK>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <BOTH>
+% accents
+collating-symbol <LOWLINE> % LOW LINE
+collating-symbol <MACRO> % MACRON
+collating-symbol <OBLIK> % STROKE
+collating-symbol <AIGUT> % ACUTE ACCENT
+collating-symbol <GRAVE> % GRAVE ACCENT
+collating-symbol <BREVE> % BREVE
+collating-symbol <CIRCF> % CIRCUMFLEX ACCENT
+collating-symbol <CARON> % CARON
+collating-symbol <CRCLE> % RING ABOVE
+collating-symbol <TREMA> % DIAERESIS
+collating-symbol <2AIGU> % DOUBLE ACUTE ACCENT
+collating-symbol <TILDE> % TILDE
+collating-symbol <POINT> % DOT ABOVE
+collating-symbol <CEDIL> % CEDILLA
+collating-symbol <OGONK> % OGONEK
+collating-symbol <OVERLINE> % OVERLINE
+collating-symbol <CROOK> % HOOK ABOVE
+collating-symbol <TONOS> % VERTICAL LINE ABOVE
+collating-symbol <D030E> % DOUBLE VERTICAL LINE ABOVE
+collating-symbol <2GRAV> % DOUBLE GRAVE ACCENT
+collating-symbol <D0310> % CANDRABINDU
+collating-symbol <BREVR> % INVERTED BREVE
+collating-symbol <D0312> % TURNED COMMA ABOVE
+collating-symbol <PSILI> % COMMA ABOVE
+collating-symbol <DASIA> % REVERSED COMMA ABOVE
+collating-symbol <D0315> % COMMA ABOVE RIGHT
+collating-symbol <D0316> % GRAVE ACCENT BELOW
+collating-symbol <D0317> % ACUTE ACCENT BELOW
+collating-symbol <D0318> % LEFT TACK BELOW
+collating-symbol <D0319> % RIGHT TACK BELOW
+collating-symbol <D031A> % LEFT ANGLE ABOVE
+collating-symbol <HORNU> % HORN
+collating-symbol <D031C> % LEFT HALF RING BELOW
+collating-symbol <D031D> % UP TACK BELOW
+collating-symbol <D031E> % DOWN TACK BELOW
+collating-symbol <D031F> % PLUS SIGN BELOW
+collating-symbol <D0320> % MINUS SIGN BELOW
+collating-symbol <PALCR> % PALATALIZED HOOK BELOW
+collating-symbol <RETCR> % RETROFLEX HOOK BELOW
+collating-symbol <POINS> % DOT BELOW
+collating-symbol <TREMS> % DIAERESIS BELOW
+collating-symbol <CRCLS> % RING BELOW
+collating-symbol <COMMS> % COMMA BELOW
+collating-symbol <D0329> % VERTICAL LINE BELOW
+collating-symbol <D032A> % BRIDGE BELOW
+collating-symbol <D032B> % INVERTED DOUBLE ARCH BELOW
+collating-symbol <D032C> % CARON BELOW
+collating-symbol <CIRCS> % CIRCUMFLEX ACCENT BELOW
+collating-symbol <BREVS> % BREVE BELOW
+collating-symbol <D032F> % INVERTED BREVE BELOW
+collating-symbol <TILDS> % TILDE BELOW
+collating-symbol <MACRS> % MACRON BELOW
+collating-symbol <D0333> % DOUBLE LOW LINE
+collating-symbol <TILDX> % TILDE OVERLAY
+collating-symbol <BARRE> % SHORT STROKE OVERLAY
+collating-symbol <D0336> % LONG STROKE OVERLAY
+collating-symbol <D0337> % SHORT SOLIDUS OVERLAY
+collating-symbol <CRCL2> % RIGHT HALF RING BELOW
+collating-symbol <D033A> % INVERTED BRIDGE BELOW
+collating-symbol <D033B> % SQUARE BELOW
+collating-symbol <D033C> % SEAGULL BELOW
+collating-symbol <D033D> % X ABOVE
+collating-symbol <D033E> % VERTICAL TILDE
+collating-symbol <D033F> % DOUBLE OVERLINE
+collating-symbol <PERIS> % GREEK PERISPOMENI
+collating-symbol <YPOGE> % GREEK YPOGEGRAMMENI
+collating-symbol <D0360> % DOUBLE TILDE
+collating-symbol <D0361> % DOUBLE INVERTED BREVE
+collating-symbol <DFE20> % LIGATURE LEFT HALF
+collating-symbol <DFE21> % LIGATURE RIGHT HALF
+collating-symbol <DFE22> % DOUBLE TILDE LEFT HALF
+collating-symbol <DFE23> % DOUBLE TILDE RIGHT HALF
+collating-symbol <D0483> % CYRILLIC TITLO
+collating-symbol <D0484> % CYRILLIC PALATALIZATION
+collating-symbol <D0485> % CYRILLIC DASIA PNEUMATA
+collating-symbol <D0486> % CYRILLIC PSILI PNEUMATA
+collating-symbol <SHEVA> % HEBREW POINT SHEVA
+collating-symbol <HTFSG> % HEBREW POINT HATAF SEGOL
+collating-symbol <HTFPT> % HEBREW POINT HATAF PATAH
+collating-symbol <HTFQM> % HEBREW POINT HATAF QAMATS
+collating-symbol <HIRIQ> % HEBREW POINT HIRIQ
+collating-symbol <TSERE> % HEBREW POINT TSERE
+collating-symbol <SEGOL> % HEBREW POINT SEGOL
+collating-symbol <PATAH> % HEBREW POINT PATAH
+collating-symbol <QAMAT> % HEBREW POINT QAMATS
+collating-symbol <HOLAM> % HEBREW POINT HOLAM
+collating-symbol <QUBUT> % HEBREW POINT QUBUTS
+collating-symbol <DAGES> % HEBREW POINT DAGESH OR MAPIQ
+collating-symbol <RAPHE> % HEBREW POINT RAFE
+collating-symbol <SHINP> % HEBREW POINT SHIN DOT
+collating-symbol <SINPT> % HEBREW POINT SIN DOT
+collating-symbol <VARIKA> % HEBREW POINT JUDEO-SPANISH VARIKA
+collating-symbol <FATHATAN> % ARABIC FATHATAN
+collating-symbol <DAMMATAN> % ARABIC DAMMATAN
+collating-symbol <KASRATAN> % ARABIC KASRATAN
+collating-symbol <FATHA> % ARABIC FATHA
+collating-symbol <DAMMA> % ARABIC DAMMA
+collating-symbol <KASRA> % ARABIC KASRA
+collating-symbol <SHADDA> % ARABIC SHADDA
+collating-symbol <SUKUN> % ARABIC SUKUN
+collating-symbol <SUPERALEF> % ARABIC LETTER SUPERSCRIPT ALEF
+collating-symbol <D06D6> % ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
+collating-symbol <D06D7> % ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
+collating-symbol <D06D8> % ARABIC SMALL HIGH MEEM INITIAL FORM
+collating-symbol <D06D9> % ARABIC SMALL HIGH LAM ALEF
+collating-symbol <D06DA> % ARABIC SMALL HIGH JEEM
+collating-symbol <D06DB> % ARABIC SMALL HIGH THREE DOTS
+collating-symbol <D06DC> % ARABIC SMALL HIGH SEEN
+collating-symbol <D06E1> % ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
+collating-symbol <D06E2> % ARABIC SMALL HIGH MEEM ISOLATED FORM
+collating-symbol <D06E3> % ARABIC SMALL LOW SEEN
+collating-symbol <AMADD> % ARABIC SMALL HIGH MADDA
+collating-symbol <D06E7> % ARABIC SMALL HIGH YEH
+collating-symbol <D06E8> % ARABIC SMALL HIGH NOON
+collating-symbol <D06ED> % ARABIC SMALL LOW MEEM
+collating-symbol <D093C> % DEVANAGARI SIGN NUKTA
+collating-symbol <D0951> % DEVANAGARI STRESS SIGN UDATTA
+collating-symbol <D0952> % DEVANAGARI STRESS SIGN ANUDATTA
+collating-symbol <D0953> % DEVANAGARI GRAVE ACCENT
+collating-symbol <D0954> % DEVANAGARI ACUTE ACCENT
+collating-symbol <D09BC> % BENGALI SIGN NUKTA
+collating-symbol <D0A3C> % GURMUKHI SIGN NUKTA
+collating-symbol <D0ABC> % GUJARATI SIGN NUKTA
+collating-symbol <D0B3C> % ORIYA SIGN NUKTA
+collating-symbol <D0E48> % THAI CHARACTER MAI EK
+collating-symbol <D0E49> % THAI CHARACTER MAI THO
+collating-symbol <D0E4A> % THAI CHARACTER MAI TRI
+collating-symbol <D0E4B> % THAI CHARACTER MAI CHATTAWA
+collating-symbol <D0EC8> % LAO TONE MAI EK
+collating-symbol <D0EC9> % LAO TONE MAI THO
+collating-symbol <D0ECA> % LAO TONE MAI TI
+collating-symbol <D0ECB> % LAO TONE MAI CATAWA
+collating-symbol <D0F39> % TIBETAN MARK TSA -PHRU
+collating-symbol <D0F3E> % TIBETAN SIGN YAR TSHES
+collating-symbol <D0F3F> % TIBETAN SIGN MAR TSHES
+collating-symbol <D302A> % IDEOGRAPHIC LEVEL TONE MARK
+collating-symbol <D302B> % IDEOGRAPHIC RISING TONE MARK
+collating-symbol <D302C> % IDEOGRAPHIC DEPARTING TONE MARK
+collating-symbol <D302D> % IDEOGRAPHIC ENTERING TONE MARK
+collating-symbol <D302E> % HANGUL SINGLE DOT TONE MARK
+collating-symbol <D302F> % HANGUL DOUBLE DOT TONE MARK
+collating-symbol <KNVCE> % KATAKANA-HIRAGANA VOICED SOUND MARK
+collating-symbol <KNSMV> % KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+collating-symbol <D20D0> % LEFT HARPOON ABOVE
+collating-symbol <D20D1> % RIGHT HARPOON ABOVE
+collating-symbol <D20D2> % LONG VERTICAL LINE OVERLAY
+collating-symbol <D20D3> % SHORT VERTICAL LINE OVERLAY
+collating-symbol <D20D4> % ANTICLOCKWISE ARROW ABOVE
+collating-symbol <D20D5> % CLOCKWISE ARROW ABOVE
+collating-symbol <D20D6> % LEFT ARROW ABOVE
+collating-symbol <D20D7> % RIGHT ARROW ABOVE
+collating-symbol <D20D8> % RING OVERLAY
+collating-symbol <D20D9> % CLOCKWISE RING OVERLAY
+collating-symbol <D20DA> % ANTICLOCKWISE RING OVERLAY
+collating-symbol <D20DB> % THREE DOTS ABOVE
+collating-symbol <D20DC> % FOUR DOTS ABOVE
+collating-symbol <D20DD> % ENCLOSING CIRCLE
+collating-symbol <D20DE> % ENCLOSING SQUARE
+collating-symbol <D20DF> % ENCLOSING DIAMOND
+collating-symbol <D20E0> % ENCLOSING CIRCLE BACKSLASH
+collating-symbol <D20E1> % LEFT RIGHT ARROW ABOVE
+collating-symbol <NEGATIVE>
+collating-symbol <SANSSERIF>
+collating-symbol <NEGSANSSERIF>
+collating-symbol <ARABIC>
+collating-symbol <EXTARABIC>
+collating-symbol <NAGAR>
+collating-symbol <BENGL>
+collating-symbol <BENGALINUMERATOR>
+collating-symbol <GURMU>
+collating-symbol <GUJAR>
+collating-symbol <ORIYA>
+collating-symbol <TAMIL>
+collating-symbol <TELGU>
+collating-symbol <KNNDA>
+collating-symbol <MALAY>
+collating-symbol <SINHALA>
+collating-symbol <THAII>
+collating-symbol <LAAOO>
+collating-symbol <BODKA>
+collating-symbol <CJKVS>
+collating-symbol <S0200>..<S1100> % 0x0200..0x1100
+
+collating-symbol <S4E00>..<S9FA5> % Symbols for Han
+
+collating-symbol <SAC00>..<SD7A3> % Symbols for Hangul
+
+collating-symbol <SFA0E>..<SFA29> % Symbols for Compatibility Han
+
+% equivalences
+symbol-equivalence <NONE> <BLANK>
+symbol-equivalence <CAPITAL> <CAP>
+symbol-equivalence <MACRON> <MACRO>
+symbol-equivalence <STROKE> <OBLIK>
+symbol-equivalence <ACUTE> <AIGUT>
+symbol-equivalence <CIRCUMFLEX> <CIRCF>
+symbol-equivalence <RING> <CRCLE>
+symbol-equivalence <DIAERESIS> <TREMA>
+symbol-equivalence <DOT> <POINT>
+symbol-equivalence <CEDILLA> <CEDIL>
+symbol-equivalence <OGONEK> <OGONK>
+symbol-equivalence <HOOK> <CROOK>
+symbol-equivalence <HORN> <HORNU>
+symbol-equivalence <DOT-BELOW> <POINS>
+
+order_start forward;forward;forward;forward,position
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+order_end
+
+END LC_COLLATE
+
+LC_MONETARY
+% This is the 14652 i18n fdcc-set definition for
+% the LC_MONETARY category.
+%
+int_curr_symbol "<U0058><U0044><U0052><U0020>"
+currency_symbol "<U00A4>"
+mon_decimal_point "<U002C>"
+mon_thousands_sep ""
+mon_grouping -1
+positive_sign ""
+negative_sign "<U002D>"
+int_frac_digits -1
+frac_digits -1
+p_cs_precedes -1
+p_sep_by_space -1
+n_cs_precedes -1
+n_sep_by_space -1
+p_sign_posn -1
+n_sign_posn -1
+%
+END LC_MONETARY
+
+LC_NUMERIC
+% This is the 14652 i18n fdcc-set definition for
+% the LC_NUMERIC category.
+%
+decimal_point "<U002C>"
+thousands_sep ""
+grouping -1
+%
+END LC_NUMERIC
+
+LC_TIME
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_TIME category.
+%
+% Weekday and week numbering according to ISO 8601
+abday "<U0031>";"<U0032>";"<U0033>";"<U0034>";"<U0035>";"<U0036>";"<U0037>"
+day "<U0031>";"<U0032>";"<U0033>";"<U0034>";"<U0035>";"<U0036>";"<U0037>"
+week 7;19971201;4
+abmon "<U0030><U0031>";"<U0030><U0032>";"<U0030><U0033>";"<U0030><U0034>";/
+ "<U0030><U0035>";"<U0030><U0036>";"<U0030><U0037>";"<U0030><U0038>";/
+ "<U0030><U0039>";"<U0031><U0030>";"<U0031><U0031>";"<U0031><U0032>"
+mon "<U0030><U0031>";"<U0030><U0032>";"<U0030><U0033>";"<U0030><U0034>";/
+ "<U0030><U0035>";"<U0030><U0036>";"<U0030><U0037>";"<U0030><U0038>";/
+ "<U0030><U0039>";"<U0031><U0030>";"<U0031><U0031>";"<U0031><U0032>"
+am_pm "";""
+% Date formats following ISO 8601
+% Appropriate date and time representation (%c)
+% "%F %T"
+d_t_fmt "<U0025><U0046><U0020><U0025><U0054>"
+%
+% Appropriate date representation (%x) "%F"
+d_fmt "<U0025><U0046>"
+%
+% Appropriate time representation (%X) "%T"
+t_fmt "<U0025><U0054>"
+t_fmt_ampm ""
+%
+END LC_TIME
+
+LC_MESSAGES
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_MESSAGES category.
+%
+yesexpr "<U005B><U002B><U0031><U005D>"
+noexpr "<U005B><U002D><U0030><U005D>"
+END LC_MESSAGES
+
+LC_PAPER
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_PAPER category.
+%
+height 297
+width 210
+END LC_PAPER
+
+LC_NAME
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_NAME category.
+%
+name_fmt "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+END LC_NAME
+
+
+LC_ADDRESS
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_ADDRESS category.
+%
+postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+END LC_ADDRESS
+
+LC_TELEPHONE
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_TELEPHONE category.
+%
+tel_int_fmt "<U002B><U0025><U0063><U0020><U002B><U0061><U0020><U002B>/
+<U006C>"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+% This is the ISO/IEC 14652 "i18n" definition for
+% the LC_MEASUREMENT category.
+%
+measurement 1
+END LC_MEASUREMENT