aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2000-06-27 15:53:49 +0000
committerAndreas Jaeger <aj@suse.de>2000-06-27 15:53:49 +0000
commit22827fb10b7963e873025416a601c185ee6dade5 (patch)
tree430d62380f6b38d289d402fb91e6617cc0717875
parentcb6815da362a320f2bc9a2d0e0bd95ca354ff380 (diff)
downloadglibc-22827fb10b7963e873025416a601c185ee6dade5.tar.xz
glibc-22827fb10b7963e873025416a601c185ee6dade5.zip
Add new files to tests and add environment for them.
-rw-r--r--localedata/Makefile45
-rw-r--r--localedata/tests-mbwc/dat_iswctype.c546
-rw-r--r--localedata/tests-mbwc/dat_towlower.c43
-rw-r--r--localedata/tests-mbwc/dat_towupper.c43
-rw-r--r--localedata/tests-mbwc/dat_wcscat.c112
-rw-r--r--localedata/tests-mbwc/dat_wcscmp.c133
-rw-r--r--localedata/tests-mbwc/dat_wcsncat.c154
-rw-r--r--localedata/tests-mbwc/dat_wcsncpy.c115
-rw-r--r--localedata/tests-mbwc/dat_wcsxfrm.c95
-rw-r--r--localedata/tests-mbwc/dat_wcwidth.c100
-rw-r--r--localedata/tests-mbwc/tst_iswctype.c53
-rw-r--r--localedata/tests-mbwc/tst_towlower.c11
-rw-r--r--localedata/tests-mbwc/tst_towupper.c10
-rw-r--r--localedata/tests-mbwc/tst_wcscat.c78
-rw-r--r--localedata/tests-mbwc/tst_wcscmp.c39
-rw-r--r--localedata/tests-mbwc/tst_wcsncat.c74
-rw-r--r--localedata/tests-mbwc/tst_wcsncpy.c92
-rw-r--r--localedata/tests-mbwc/tst_wcsxfrm.c122
-rw-r--r--localedata/tests-mbwc/tst_wcwidth.c38
19 files changed, 1886 insertions, 17 deletions
diff --git a/localedata/Makefile b/localedata/Makefile
index bf17ed7a1f..783755c4bf 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -41,7 +41,9 @@ repertoiremaps := $(filter-out $(addprefix repertoiremaps/, CVS RCS SCCS %~), \
# tst_iswcntrl tst_iswspace tst_wcscoll tst_wcsspn tst_iswdigit \
# tst_iswupper tst_wcscpy tst_wcsstr tst_iswgraph tst_iswxdigit \
# tst_wcscspn tst_wcswidth tst_iswlower tst_swscanf tst_wcslen \
-# tst_wctob
+# tst_wctob tst_iswctype tst_towlower tst_wcscat tst_towupper \
+# tst_wcscmp tst_wcsncat tst_wcsncpy tst_wcsxfrm tst_wcwidth
+#
subdir-dirs = tests-mbwc
vpath %.c tests-mbwc
@@ -136,19 +138,28 @@ install-locales:
$(inst_localedir)/$$locale; \
done < SUPPORTED
-tst_iswcntrl-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_iswspace-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcscoll-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcsspn-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_iswdigit-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_iswupper-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcscpy-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcsstr-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_iswgraph-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_iswxdigit-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcscspn-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcswidth-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_iswlower-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_swscanf-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wcslen-ENV=LOCPATH=$(common-objpfx)/localedata
-tst_wctob-ENV=LOCPATH=$(common-objpfx)/localedata
+tst_iswcntrl-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswctype-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswdigit-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswgraph-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswlower-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswspace-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswupper-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_iswxdigit-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_swscanf-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_towlower-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_towupper-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcscat-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcscmp-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcscoll-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcscpy-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcscspn-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcslen-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcsncat-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcsncpy-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcsspn-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcsstr-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcswidth-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcsxfrm-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wctob-ENV = LOCPATH=$(common-objpfx)/localedata
+tst_wcwidth-ENV = LOCPATH=$(common-objpfx)/localedata
diff --git a/localedata/tests-mbwc/dat_iswctype.c b/localedata/tests-mbwc/dat_iswctype.c
new file mode 100644
index 0000000000..ebdaedce57
--- /dev/null
+++ b/localedata/tests-mbwc/dat_iswctype.c
@@ -0,0 +1,546 @@
+/*
+ * TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
+ *
+ * FILE: dat_iswctype.c
+ *
+ * ISWCTYPE: int iswctype( wint_t wc, wctype_t charclass );
+ */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <wctype.h>
+#include "tst_types.h"
+#include "tgn_locdef.h"
+
+/*
+ * NOTE:
+ * Set ret_flg = 1, when a return value is expected to be 0 (FALSE).
+ * Set ret_flg = 0, when a return value is expected to be non-zero (TRUE).
+ *
+ * Since the functions return *non*-zero value for TRUE, can't
+ * compare an actual return value with an expected return value.
+ * Set the ret_flg=0 for TRUE cases and the tst_isw*() will check
+ * the non-zero value.
+ *
+ * { { WEOF }, { 0,0,1,0 } },
+ * | |
+ * | ret_val: an expected return value
+ * ret_flg: if 1, compare an actual return value with the
+ * ret_val; if 0, the test program checks
+ * the actual return value.
+ */
+
+TST_ISWCTYPE tst_iswctype_loc [] = {
+ {
+ { Tiswctype, TST_LOC_de },
+ {
+ { { 0x009F, "alnum" }, { 0,0,1,0 } }, /* CTRL */
+ { { 0x00A0, "alnum" }, { 0,0,1,0 } }, /* NB SPACE */
+ { { 0x00A1, "alnum" }, { 0,0,1,0 } }, /* UD ! */
+ { { 0x00B1, "alnum" }, { 0,0,1,0 } }, /* +- sign */
+ { { 0x00B3, "alnum" }, { 0,0,1,0 } }, /* SUP 3 */
+ { { 0x00B4, "alnum" }, { 0,0,1,0 } }, /* ACUTE */
+ { { 0x00BB, "alnum" }, { 0,0,1,0 } }, /* >> */
+ { { 0x00BE, "alnum" }, { 0,0,1,0 } }, /* 3/4 */
+ { { 0x00BF, "alnum" }, { 0,0,1,0 } }, /* UD ? */
+ { { 0x00C0, "alnum" }, { 0,0,0,0 } }, /* A Grave */
+ { { 0x00D6, "alnum" }, { 0,0,0,0 } }, /* O dia */
+ { { 0x00D7, "alnum" }, { 0,0,1,0 } }, /* multipl. */
+ { { 0x00D8, "alnum" }, { 0,0,0,0 } }, /* O stroke */
+ { { 0x00DF, "alnum" }, { 0,0,0,0 } }, /* small Sh */
+ { { 0x00E0, "alnum" }, { 0,0,0,0 } }, /* a grave */
+ { { 0x00F6, "alnum" }, { 0,0,0,0 } }, /* o dia */
+ { { 0x00F7, "alnum" }, { 0,0,1,0 } }, /* division */
+ { { 0x00F8, "alnum" }, { 0,0,0,0 } }, /* o stroke */
+ { { 0x00FF, "alnum" }, { 0,0,0,0 } }, /* y dia */
+ { { 0x0080, "alpha" }, { 0,0,1,0 } }, /* CTRL */
+ { { 0x00A0, "alpha" }, { 0,0,1,0 } }, /* NB SPACE */
+ { { 0x00A1, "alpha" }, { 0,0,1,0 } }, /* UD ! */
+ { { 0x00B1, "alpha" }, { 0,0,1,0 } }, /* +- sign */
+ { { 0x00B4, "alpha" }, { 0,0,1,0 } }, /* ACUTE */
+ { { 0x00B8, "alpha" }, { 0,0,1,0 } }, /* CEDILLA */
+ { { 0x00B9, "alpha" }, { 0,0,1,0 } }, /* SUP 1 */
+ { { 0x00BB, "alpha" }, { 0,0,1,0 } }, /* >> */
+ { { 0x00BE, "alpha" }, { 0,0,1,0 } }, /* 3/4 */
+ { { 0x00BF, "alpha" }, { 0,0,1,0 } }, /* UD ? */
+ { { 0x00C0, "alpha" }, { 0,0,0,0 } }, /* A Grave */
+ { { 0x00D6, "alpha" }, { 0,0,0,0 } }, /* O dia */
+ { { 0x00D7, "alpha" }, { 0,0,1,0 } }, /* multipl. */
+ { { 0x00D8, "alpha" }, { 0,0,0,0 } }, /* O stroke */
+ { { 0x00DF, "alpha" }, { 0,0,0,0 } }, /* small Sh */
+ { { 0x00E0, "alpha" }, { 0,0,0,0 } }, /* a grave */
+ { { 0x00F6, "alpha" }, { 0,0,0,0 } }, /* o dia */
+ { { 0x00F7, "alpha" }, { 0,0,1,0 } }, /* division */
+ { { 0x00F8, "alpha" }, { 0,0,0,0 } }, /* o stroke */
+ { { 0x00FF, "alpha" }, { 0,0,0,0 } }, /* y dia */
+ { { 0x0080, "cntrl" }, { 0,0,0,0 } }, /* CTRL */
+ { { 0x009F, "cntrl" }, { 0,0,0,0 } }, /* CTRL */
+ { { 0x00A0, "cntrl" }, { 0,0,1,0 } }, /* NB SPACE */
+ { { 0x00F6, "cntrl" }, { 0,0,1,0 } }, /* o dia */
+ { { 0x00FF, "cntrl" }, { 0,0,1,0 } }, /* y dia */
+ { { 0x00B9, "digit" }, { 0,0,1,0 } }, /* SUP 1 */
+ { { 0x00BE, "digit" }, { 0,0,1,0 } }, /* 3/4 */
+ { { 0x009F, "graph" }, { 0,0,1,0 } }, /* CTRL */
+ { { 0x00A0, "graph" }, { 0,0,1,0 } }, /* NB SPACE */
+ { { 0x00A1, "graph" }, { 0,0,0,0 } }, /* UD ! */
+ { { 0x00B1, "graph" }, { 0,0,0,0 } }, /* +- sign */
+ { { 0x00B3, "graph" }, { 0,0,0,0 } }, /* SUP 3 */
+ { { 0x00B4, "graph" }, { 0,0,0,0 } }, /* ACUTE */
+ { { 0x00BB, "graph" }, { 0,0,0,0 } }, /* >> */
+ { { 0x00BE, "graph" }, { 0,0,0,0 } }, /* 3/4 */
+ { { 0x00C0, "graph" }, { 0,0,0,0 } }, /* A Grave */
+ { { 0x00D6, "graph" }, { 0,0,0,0 } }, /* O dia */
+ { { 0x00D7, "graph" }, { 0,0,0,0 } }, /* multipl. */
+ { { 0x00D8, "graph" }, { 0,0,0,0 } }, /* O stroke */
+ { { 0x00DF, "graph" }, { 0,0,0,0 } }, /* small Sh */
+ { { 0x00F7, "graph" }, { 0,0,0,0 } }, /* division */
+ { { 0x00F8, "graph" }, { 0,0,0,0 } }, /* o stroke */
+ { { 0x00FF, "graph" }, { 0,0,0,0 } }, /* y dia */
+ { { 0x009F, "print" }, { 0,0,1,0 } }, /* CTRL */
+ { { 0x00A0, "print" }, { 0,0,1,0 } }, /* NB SPACE */
+ { { 0x00A1, "print" }, { 0,0,0,0 } }, /* UD ! */
+ { { 0x00B1, "print" }, { 0,0,0,0 } }, /* +- sign */
+ { { 0x00B4, "print" }, { 0,0,0,0 } }, /* ACUTE */
+ { { 0x00B8, "print" }, { 0,0,0,0 } }, /* CEDILLA */
+ { { 0x00B9, "print" }, { 0,0,0,0 } }, /* SUP 1 */
+ { { 0x00BB, "print" }, { 0,0,0,0 } }, /* >> */
+ { { 0x00BE, "print" }, { 0,0,0,0 } }, /* 3/4 */
+ { { 0x00C0, "print" }, { 0,0,0,0 } }, /* A Grave */
+ { { 0x00DF, "print" }, { 0,0,0,0 } }, /* small Sh */
+ { { 0x00F6, "print" }, { 0,0,0,0 } }, /* o dia */
+ { { 0x00F7, "print" }, { 0,0,0,0 } }, /* division */
+ { { 0x00F8, "print" }, { 0,0,0,0 } }, /* o stroke */
+ { { 0x00FF, "print" }, { 0,0,0,0 } }, /* y dia */
+ { { 0x009F, "punct" }, { 0,0,1,0 } }, /* CTRL */
+ { { 0x00A0, "punct" }, { 0,0,1,0 } }, /* NB SPACE */
+ { { 0x00A1, "punct" }, { 0,0,0,0 } }, /* UD ! */
+ { { 0x00B0, "punct" }, { 0,0,0,0 } }, /* Degree */
+ { { 0x00B1, "punct" }, { 0,0,0,0 } }, /* +- sign */
+ { { 0x00B2, "punct" }, { 0,0,0,0 } }, /* SUP 2 */
+ { { 0x00B3, "punct" }, { 0,0,0,0 } }, /* SUP 3 */
+ { { 0x00B4, "punct" }, { 0,0,0,0 } }, /* ACUTE */
+ { { 0x00B8, "punct" }, { 0,0,0,0 } }, /* CEDILLA */
+ { { 0x00B9, "punct" }, { 0,0,0,0 } }, /* SUP 1 */
+ { { 0x00BB, "punct" }, { 0,0,0,0 } }, /* >> */
+ { { 0x00BC, "punct" }, { 0,0,0,0 } }, /* 1/4 */
+ { { 0x00BD, "punct" }, { 0,0,0,0 } }, /* 1/2 */
+ { { 0x00BE, "punct" }, { 0,0,0,0 } }, /* 3/4 */
+ { { 0x00BF, "punct" }, { 0,0,0,0 } }, /* UD ? */
+ { { 0x00C0, "punct" }, { 0,0,1,0 } }, /* A Grave */
+ { { 0x00D7, "punct" }, { 0,0,0,0 } }, /* multipl. */
+ { { 0x00DF, "punct" }, { 0,0,1,0 } }, /* small Sh */
+ { { 0x00F6, "punct" }, { 0,0,1,0 } }, /* o dia */
+ { { 0x00F7, "punct" }, { 0,0,0,0 } }, /* division */
+ { { 0x00FF, "punct" }, { 0,0,1,0 } }, /* y dia */
+ { { 0x009F, "space" }, { 0,0,1,0 } }, /* CTRL */
+ { { 0x00A0, "space" }, { 0,0,0,0 } }, /* NB SPACE */
+ { { 0x00A1, "space" }, { 0,0,1,0 } }, /* UD ! */
+ { { 0x00B1, "space" }, { 0,0,1,0 } }, /* +- sign */
+ { { 0x00F8, "space" }, { 0,0,1,0 } }, /* o stroke */
+ { { 0x00B3, "lower" }, { 0,0,1,0 } }, /* SUP 3 */
+ { { 0x00B8, "lower" }, { 0,0,1,0 } }, /* CEDILLA */
+ { { 0x00BE, "lower" }, { 0,0,1,0 } }, /* 3/4 */
+ { { 0x00C0, "lower" }, { 0,0,1,0 } }, /* A Grave */
+ { { 0x00D6, "lower" }, { 0,0,1,0 } }, /* O dia */
+ { { 0x00D8, "lower" }, { 0,0,1,0 } }, /* O stroke */
+ { { 0x00DF, "lower" }, { 0,0,0,0 } }, /* small Sh */
+ { { 0x00E0, "lower" }, { 0,0,0,0 } }, /* a grave */
+ { { 0x00F6, "lower" }, { 0,0,0,0 } }, /* o dia */
+ { { 0x00F7, "lower" }, { 0,0,1,0 } }, /* division */
+ { { 0x00F8, "lower" }, { 0,0,0,0 } }, /* o stroke */
+ { { 0x00FF, "lower" }, { 0,0,0,0 } }, /* y dia */
+ { { 0x00B4, "upper" }, { 0,0,1,0 } }, /* ACUTE */
+ { { 0x00B8, "upper" }, { 0,0,1,0 } }, /* CEDILLA */
+ { { 0x00B9, "upper" }, { 0,0,1,0 } }, /* SUP 1 */
+ { { 0x00BE, "upper" }, { 0,0,1,0 } }, /* 3/4 */
+ { { 0x00BF, "upper" }, { 0,0,1,0 } }, /* UD ? */
+ { { 0x00C0, "upper" }, { 0,0,0,0 } }, /* A Grave */
+ { { 0x00D6, "upper" }, { 0,0,0,0 } }, /* O dia */
+ { { 0x00D7, "upper" }, { 0,0,1,0 } }, /* multipl. */
+ { { 0x00D8, "upper" }, { 0,0,0,0 } }, /* O stroke */
+ { { 0x00DF, "upper" }, { 0,0,1,0 } }, /* small Sh */
+ { { 0x00FF, "upper" }, { 0,0,1,0 } }, /* y dia */
+ { { 0x00B9, "xdigit" }, { 0,0,1,0 } }, /* SUP 1 */
+ { { 0x00BC, "xdigit" }, { 0,0,1,0 } }, /* 1/4 */
+ { is_last: 1 }
+ }
+ },
+ {
+ { Tiswctype, TST_LOC_enUS },
+ {
+ { { WEOF, "alnum" }, { 0,0,1,0 } },
+ { { 0x0000, "alnum" }, { 0,0,1,0 } },
+ { { 0x001F, "alnum" }, { 0,0,1,0 } },
+ { { 0x0020, "alnum" }, { 0,0,1,0 } },
+ { { 0x0021, "alnum" }, { 0,0,1,0 } },
+ { { 0x002F, "alnum" }, { 0,0,1,0 } },
+ { { 0x0030, "alnum" }, { 0,0,0,0 } },
+ { { 0x0039, "alnum" }, { 0,0,0,0 } },
+ { { 0x003A, "alnum" }, { 0,0,1,0 } },
+ { { 0x0040, "alnum" }, { 0,0,1,0 } },
+ { { 0x0041, "alnum" }, { 0,0,0,0 } },
+ { { 0x005A, "alnum" }, { 0,0,0,0 } },
+ { { 0x005B, "alnum" }, { 0,0,1,0 } },
+ { { 0x0060, "alnum" }, { 0,0,1,0 } },
+ { { 0x0061, "alnum" }, { 0,0,0,0 } },
+ { { 0x007A, "alnum" }, { 0,0,0,0 } },
+ { { 0x007B, "alnum" }, { 0,0,1,0 } },
+ { { 0x007E, "alnum" }, { 0,0,1,0 } },
+ { { 0x007F, "alnum" }, { 0,0,1,0 } },
+ { { 0x0080, "alnum" }, { 0,0,1,0 } },
+ { { 0x0000, "alpha" }, { 0,0,1,0 } },
+ { { 0x001F, "alpha" }, { 0,0,1,0 } },
+ { { 0x0020, "alpha" }, { 0,0,1,0 } },
+ { { 0x0021, "alpha" }, { 0,0,1,0 } },
+ { { 0x002F, "alpha" }, { 0,0,1,0 } },
+ { { 0x0030, "alpha" }, { 0,0,1,0 } },
+ { { 0x0039, "alpha" }, { 0,0,1,0 } },
+ { { 0x003A, "alpha" }, { 0,0,1,0 } },
+ { { 0x0040, "alpha" }, { 0,0,1,0 } },
+ { { 0x0041, "alpha" }, { 0,0,0,0 } },
+ { { 0x005A, "alpha" }, { 0,0,0,0 } },
+ { { 0x005B, "alpha" }, { 0,0,1,0 } },
+ { { 0x0060, "alpha" }, { 0,0,1,0 } },
+ { { 0x0061, "alpha" }, { 0,0,0,0 } },
+ { { 0x007A, "alpha" }, { 0,0,0,0 } },
+ { { 0x007B, "alpha" }, { 0,0,1,0 } },
+ { { 0x007E, "alpha" }, { 0,0,1,0 } },
+ { { 0x007F, "alpha" }, { 0,0,1,0 } },
+ { { 0x0080, "alpha" }, { 0,0,1,0 } },
+ { { 0x0009, "blank" }, { 0,0,0,0 } },
+ { { 0x000B, "blank" }, { 0,0,1,0 } },
+ { { 0x0020, "blank" }, { 0,0,0,0 } },
+ { { 0x0000, "cntrl" }, { 0,0,0,0 } },
+ { { 0x001F, "cntrl" }, { 0,0,0,0 } },
+ { { 0x0020, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0021, "cntrl" }, { 0,0,1,0 } },
+ { { 0x002F, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0030, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0039, "cntrl" }, { 0,0,1,0 } },
+ { { 0x003A, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0040, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0041, "cntrl" }, { 0,0,1,0 } },
+ { { 0x005A, "cntrl" }, { 0,0,1,0 } },
+ { { 0x005B, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0060, "cntrl" }, { 0,0,1,0 } },
+ { { 0x0061, "cntrl" }, { 0,0,1,0 } },
+ { { 0x007A, "cntrl" }, { 0,0,1,0 } },
+ { { 0x007B, "cntrl" }, { 0,0,1,0 } },
+ { { 0x007E, "cntrl" }, { 0,0,1,0 } },
+ { { 0x007F, "cntrl" }, { 0,0,0,0 } },
+ { { 0x0080, "cntrl" }, { 0,0,0,0 } },
+ { { 0x0000, "digit" }, { 0,0,1,0 } },
+ { { 0x001F, "digit" }, { 0,0,1,0 } },
+ { { 0x0020, "digit" }, { 0,0,1,0 } },
+ { { 0x0021, "digit" }, { 0,0,1,0 } },
+ { { 0x002F, "digit" }, { 0,0,1,0 } },
+ { { 0x0030, "digit" }, { 0,0,0,0 } },
+ { { 0x0039, "digit" }, { 0,0,0,0 } },
+ { { 0x003A, "digit" }, { 0,0,1,0 } },
+ { { 0x0040, "digit" }, { 0,0,1,0 } },
+ { { 0x0041, "digit" }, { 0,0,1,0 } },
+ { { 0x005A, "digit" }, { 0,0,1,0 } },
+ { { 0x005B, "digit" }, { 0,0,1,0 } },
+ { { 0x0060, "digit" }, { 0,0,1,0 } },
+ { { 0x0061, "digit" }, { 0,0,1,0 } },
+ { { 0x007A, "digit" }, { 0,0,1,0 } },
+ { { 0x007B, "digit" }, { 0,0,1,0 } },
+ { { 0x007E, "digit" }, { 0,0,1,0 } },
+ { { 0x007F, "digit" }, { 0,0,1,0 } },
+ { { 0x0080, "digit" }, { 0,0,1,0 } },
+ { { 0x0000, "graph" }, { 0,0,1,0 } },
+ { { 0x001F, "graph" }, { 0,0,1,0 } },
+ { { 0x0020, "graph" }, { 0,0,1,0 } },
+ { { 0x0021, "graph" }, { 0,0,0,0 } },
+ { { 0x002F, "graph" }, { 0,0,0,0 } },
+ { { 0x0030, "graph" }, { 0,0,0,0 } },
+ { { 0x0039, "graph" }, { 0,0,0,0 } },
+ { { 0x003A, "graph" }, { 0,0,0,0 } },
+ { { 0x0040, "graph" }, { 0,0,0,0 } },
+ { { 0x0041, "graph" }, { 0,0,0,0 } },
+ { { 0x005A, "graph" }, { 0,0,0,0 } },
+ { { 0x005B, "graph" }, { 0,0,0,0 } },
+ { { 0x0060, "graph" }, { 0,0,0,0 } },
+ { { 0x0061, "graph" }, { 0,0,0,0 } },
+ { { 0x007A, "graph" }, { 0,0,0,0 } },
+ { { 0x007B, "graph" }, { 0,0,0,0 } },
+ { { 0x007E, "graph" }, { 0,0,0,0 } },
+ { { 0x007F, "graph" }, { 0,0,1,0 } },
+ { { 0x0080, "graph" }, { 0,0,1,0 } },
+ { { 0x0000, "print" }, { 0,0,1,0 } },
+ { { 0x001F, "print" }, { 0,0,1,0 } },
+ { { 0x0020, "print" }, { 0,0,0,0 } },
+ { { 0x0021, "print" }, { 0,0,0,0 } },
+ { { 0x002F, "print" }, { 0,0,0,0 } },
+ { { 0x0030, "print" }, { 0,0,0,0 } },
+ { { 0x0039, "print" }, { 0,0,0,0 } },
+ { { 0x003A, "print" }, { 0,0,0,0 } },
+ { { 0x0040, "print" }, { 0,0,0,0 } },
+ { { 0x0041, "print" }, { 0,0,0,0 } },
+ { { 0x005A, "print" }, { 0,0,0,0 } },
+ { { 0x005B, "print" }, { 0,0,0,0 } },
+ { { 0x0060, "print" }, { 0,0,0,0 } },
+ { { 0x0061, "print" }, { 0,0,0,0 } },
+ { { 0x007A, "print" }, { 0,0,0,0 } },
+ { { 0x007B, "print" }, { 0,0,0,0 } },
+ { { 0x007E, "print" }, { 0,0,0,0 } },
+ { { 0x007F, "print" }, { 0,0,1,0 } },
+ { { 0x0080, "print" }, { 0,0,1,0 } },
+ { { 0x0000, "punct" }, { 0,0,1,0 } },
+ { { 0x001F, "punct" }, { 0,0,1,0 } },
+ { { 0x0020, "punct" }, { 0,0,1,0 } },
+ { { 0x0021, "punct" }, { 0,0,0,0 } },
+ { { 0x002F, "punct" }, { 0,0,0,0 } },
+ { { 0x0030, "punct" }, { 0,0,1,0 } },
+ { { 0x0039, "punct" }, { 0,0,1,0 } },
+ { { 0x003A, "punct" }, { 0,0,0,0 } },
+ { { 0x0040, "punct" }, { 0,0,0,0 } },
+ { { 0x0041, "punct" }, { 0,0,1,0 } },
+ { { 0x005A, "punct" }, { 0,0,1,0 } },
+ { { 0x005B, "punct" }, { 0,0,0,0 } },
+ { { 0x0060, "punct" }, { 0,0,0,0 } },
+ { { 0x0061, "punct" }, { 0,0,1,0 } },
+ { { 0x007A, "punct" }, { 0,0,1,0 } },
+ { { 0x007B, "punct" }, { 0,0,0,0 } },
+ { { 0x007E, "punct" }, { 0,0,0,0 } },
+ { { 0x007F, "punct" }, { 0,0,1,0 } },
+ { { 0x0080, "punct" }, { 0,0,1,0 } },
+ { { 0x0000, "space" }, { 0,0,1,0 } },
+ { { 0x001F, "space" }, { 0,0,1,0 } },
+ { { 0x0020, "space" }, { 0,0,0,0 } },
+ { { 0x0021, "space" }, { 0,0,1,0 } },
+ { { 0x002F, "space" }, { 0,0,1,0 } },
+ { { 0x007E, "space" }, { 0,0,1,0 } },
+ { { 0x007F, "space" }, { 0,0,1,0 } },
+ { { 0x0080, "space" }, { 0,0,1,0 } },
+ { { 0x0000, "lower" }, { 0,0,1,0 } },
+ { { 0x001F, "lower" }, { 0,0,1,0 } },
+ { { 0x0020, "lower" }, { 0,0,1,0 } },
+ { { 0x0021, "lower" }, { 0,0,1,0 } },
+ { { 0x002F, "lower" }, { 0,0,1,0 } },
+ { { 0x0030, "lower" }, { 0,0,1,0 } },
+ { { 0x0039, "lower" }, { 0,0,1,0 } },
+ { { 0x003A, "lower" }, { 0,0,1,0 } },
+ { { 0x0040, "lower" }, { 0,0,1,0 } },
+ { { 0x0041, "lower" }, { 0,0,1,0 } },
+ { { 0x005A, "lower" }, { 0,0,1,0 } },
+ { { 0x005B, "lower" }, { 0,0,1,0 } },
+ { { 0x0060, "lower" }, { 0,0,1,0 } },
+ { { 0x0061, "lower" }, { 0,0,0,0 } },
+ { { 0x007A, "lower" }, { 0,0,0,0 } },
+ { { 0x007B, "lower" }, { 0,0,1,0 } },
+ { { 0x007E, "lower" }, { 0,0,1,0 } },
+ { { 0x007F, "lower" }, { 0,0,1,0 } },
+ { { 0x0080, "lower" }, { 0,0,1,0 } },
+ { { 0x0000, "upper" }, { 0,0,1,0 } },
+ { { 0x001F, "upper" }, { 0,0,1,0 } },
+ { { 0x0020, "upper" }, { 0,0,1,0 } },
+ { { 0x0021, "upper" }, { 0,0,1,0 } },
+ { { 0x002F, "upper" }, { 0,0,1,0 } },
+ { { 0x0030, "upper" }, { 0,0,1,0 } },
+ { { 0x0039, "upper" }, { 0,0,1,0 } },
+ { { 0x003A, "upper" }, { 0,0,1,0 } },
+ { { 0x0040, "upper" }, { 0,0,1,0 } },
+ { { 0x0041, "upper" }, { 0,0,0,0 } },
+ { { 0x005A, "upper" }, { 0,0,0,0 } },
+ { { 0x005B, "upper" }, { 0,0,1,0 } },
+ { { 0x0060, "upper" }, { 0,0,1,0 } },
+ { { 0x0061, "upper" }, { 0,0,1,0 } },
+ { { 0x007A, "upper" }, { 0,0,1,0 } },
+ { { 0x007B, "upper" }, { 0,0,1,0 } },
+ { { 0x007E, "upper" }, { 0,0,1,0 } },
+ { { 0x007F, "upper" }, { 0,0,1,0 } },
+ { { 0x0080, "upper" }, { 0,0,1,0 } },
+ { { 0x0000, "xdigit" }, { 0,0,1,0 } },
+ { { 0x001F, "xdigit" }, { 0,0,1,0 } },
+ { { 0x0020, "xdigit" }, { 0,0,1,0 } },
+ { { 0x0021, "xdigit" }, { 0,0,1,0 } },
+ { { 0x002F, "xdigit" }, { 0,0,1,0 } },
+ { { 0x0030, "xdigit" }, { 0,0,0,0 } },
+ { { 0x0039, "xdigit" }, { 0,0,0,0 } },
+ { { 0x003A, "xdigit" }, { 0,0,1,0 } },
+ { { 0x0040, "xdigit" }, { 0,0,1,0 } },
+ { { 0x0041, "xdigit" }, { 0,0,0,0 } },
+ { { 0x005A, "xdigit" }, { 0,0,1,0 } },
+ { { 0x005B, "xdigit" }, { 0,0,1,