U00A0 is now print.
[kopensolaris-gnu/glibc.git] / localedata / tests-mbwc / dat_iswctype.c
1 /*
2  *  TEST SUITE FOR MB/WC FUNCTIONS IN C LIBRARY
3  *
4  *       FILE:  dat_iswctype.c
5  *
6  *       ISWCTYPE:  int iswctype( wint_t wc, wctype_t charclass );
7  */
8
9 #include <errno.h>
10 #include <stdlib.h>
11 #include <wctype.h>
12 #include "tst_types.h"
13 #include "tgn_locdef.h"
14
15 /*
16  *  NOTE:
17  *   Set ret_flg = 1, when a return value is expected to be 0 (FALSE).
18  *   Set ret_flg = 0, when a return value is expected to be non-zero (TRUE).
19  *
20  *   Since the functions return *non*-zero value for TRUE, can't
21  *   compare an actual return value with an expected return value.
22  *   Set the ret_flg=0 for TRUE cases and the tst_isw*() will check
23  *   the non-zero value.
24  *
25  * { { WEOF }, { 0,1,0 } },
26  *                 | |
27  *                 | ret_val: an expected return value
28  *                 ret_flg: if 1, compare an actual return value with the
29  *                          ret_val; if 0, the test program checks
30  *                          the actual return value.
31  */
32
33 TST_ISWCTYPE tst_iswctype_loc [] = {
34   {
35     { Tiswctype, TST_LOC_de },
36     {
37       {  { 0x009F, "alnum"  }, { 0,1,0 }  },       /* CTRL     */
38       {  { 0x00A0, "alnum"  }, { 0,1,0 }  },       /* NB SPACE */
39       {  { 0x00A1, "alnum"  }, { 0,1,0 }  },       /* UD !     */
40       {  { 0x00B1, "alnum"  }, { 0,1,0 }  },       /* +- sign  */
41       {  { 0x00B3, "alnum"  }, { 0,1,0 }  },       /* SUP 3    */
42       {  { 0x00B4, "alnum"  }, { 0,1,0 }  },       /* ACUTE    */
43       {  { 0x00BB, "alnum"  }, { 0,1,0 }  },       /* >>       */
44       {  { 0x00BE, "alnum"  }, { 0,1,0 }  },       /* 3/4      */
45       {  { 0x00BF, "alnum"  }, { 0,1,0 }  },       /* UD ?     */
46       {  { 0x00C0, "alnum"  }, { 0,0,0 }  },       /* A Grave  */
47       {  { 0x00D6, "alnum"  }, { 0,0,0 }  },       /* O dia    */
48       {  { 0x00D7, "alnum"  }, { 0,1,0 }  },       /* multipl. */
49       {  { 0x00D8, "alnum"  }, { 0,0,0 }  },       /* O stroke */
50       {  { 0x00DF, "alnum"  }, { 0,0,0 }  },       /* small Sh */
51       {  { 0x00E0, "alnum"  }, { 0,0,0 }  },       /* a grave  */
52       {  { 0x00F6, "alnum"  }, { 0,0,0 }  },       /* o dia    */
53       {  { 0x00F7, "alnum"  }, { 0,1,0 }  },       /* division */
54       {  { 0x00F8, "alnum"  }, { 0,0,0 }  },       /* o stroke */
55       {  { 0x00FF, "alnum"  }, { 0,0,0 }  },       /* y dia    */
56       {  { 0x0080, "alpha"  }, { 0,1,0 }  },       /* CTRL     */
57       {  { 0x00A0, "alpha"  }, { 0,1,0 }  },       /* NB SPACE */
58       {  { 0x00A1, "alpha"  }, { 0,1,0 }  },       /* UD !     */
59       {  { 0x00B1, "alpha"  }, { 0,1,0 }  },       /* +- sign  */
60       {  { 0x00B4, "alpha"  }, { 0,1,0 }  },       /* ACUTE    */
61       {  { 0x00B8, "alpha"  }, { 0,1,0 }  },       /* CEDILLA  */
62       {  { 0x00B9, "alpha"  }, { 0,1,0 }  },       /* SUP 1    */
63       {  { 0x00BB, "alpha"  }, { 0,1,0 }  },       /* >>       */
64       {  { 0x00BE, "alpha"  }, { 0,1,0 }  },       /* 3/4      */
65       {  { 0x00BF, "alpha"  }, { 0,1,0 }  },       /* UD ?     */
66       {  { 0x00C0, "alpha"  }, { 0,0,0 }  },       /* A Grave  */
67       {  { 0x00D6, "alpha"  }, { 0,0,0 }  },       /* O dia    */
68       {  { 0x00D7, "alpha"  }, { 0,1,0 }  },       /* multipl. */
69       {  { 0x00D8, "alpha"  }, { 0,0,0 }  },       /* O stroke */
70       {  { 0x00DF, "alpha"  }, { 0,0,0 }  },       /* small Sh */
71       {  { 0x00E0, "alpha"  }, { 0,0,0 }  },       /* a grave  */
72       {  { 0x00F6, "alpha"  }, { 0,0,0 }  },       /* o dia    */
73       {  { 0x00F7, "alpha"  }, { 0,1,0 }  },       /* division */
74       {  { 0x00F8, "alpha"  }, { 0,0,0 }  },       /* o stroke */
75       {  { 0x00FF, "alpha"  }, { 0,0,0 }  },       /* y dia    */
76       {  { 0x0080, "cntrl"  }, { 0,0,0 }  },       /* CTRL     */
77       {  { 0x009F, "cntrl"  }, { 0,0,0 }  },       /* CTRL     */
78       {  { 0x00A0, "cntrl"  }, { 0,1,0 }  },       /* NB SPACE */
79       {  { 0x00F6, "cntrl"  }, { 0,1,0 }  },       /* o dia    */
80       {  { 0x00FF, "cntrl"  }, { 0,1,0 }  },       /* y dia    */
81       {  { 0x00B9, "digit"  }, { 0,1,0 }  },       /* SUP 1    */
82       {  { 0x00BE, "digit"  }, { 0,1,0 }  },       /* 3/4      */
83       {  { 0x009F, "graph"  }, { 0,1,0 }  },       /* CTRL     */
84 #ifdef SHOJI_IS_RIGHT
85       {  { 0x00A0, "graph"  }, { 0,1,0 }  },       /* NB SPACE */
86 #else
87       {  { 0x00A0, "graph"  }, { 0,0,0 }  },       /* NB SPACE */
88 #endif
89       {  { 0x00A1, "graph"  }, { 0,0,0 }  },       /* UD !     */
90       {  { 0x00B1, "graph"  }, { 0,0,0 }  },       /* +- sign  */
91       {  { 0x00B3, "graph"  }, { 0,0,0 }  },       /* SUP 3    */
92       {  { 0x00B4, "graph"  }, { 0,0,0 }  },       /* ACUTE    */
93       {  { 0x00BB, "graph"  }, { 0,0,0 }  },       /* >>       */
94       {  { 0x00BE, "graph"  }, { 0,0,0 }  },       /* 3/4      */
95       {  { 0x00C0, "graph"  }, { 0,0,0 }  },       /* A Grave  */
96       {  { 0x00D6, "graph"  }, { 0,0,0 }  },       /* O dia    */
97       {  { 0x00D7, "graph"  }, { 0,0,0 }  },       /* multipl. */
98       {  { 0x00D8, "graph"  }, { 0,0,0 }  },       /* O stroke */
99       {  { 0x00DF, "graph"  }, { 0,0,0 }  },       /* small Sh */
100       {  { 0x00F7, "graph"  }, { 0,0,0 }  },       /* division */
101       {  { 0x00F8, "graph"  }, { 0,0,0 }  },       /* o stroke */
102       {  { 0x00FF, "graph"  }, { 0,0,0 }  },       /* y dia    */
103       {  { 0x009F, "print"  }, { 0,1,0 }  },       /* CTRL     */
104 #ifdef SHOJI_IS_RIGHT
105       {  { 0x00A0, "print"  }, { 0,1,0 }  },       /* NB SPACE */
106 #else
107       {  { 0x00A0, "print"  }, { 0,0,0 }  },       /* NB SPACE */
108 #endif
109       {  { 0x00A1, "print"  }, { 0,0,0 }  },       /* UD !     */
110       {  { 0x00B1, "print"  }, { 0,0,0 }  },       /* +- sign  */
111       {  { 0x00B4, "print"  }, { 0,0,0 }  },       /* ACUTE    */
112       {  { 0x00B8, "print"  }, { 0,0,0 }  },       /* CEDILLA  */
113       {  { 0x00B9, "print"  }, { 0,0,0 }  },       /* SUP 1    */
114       {  { 0x00BB, "print"  }, { 0,0,0 }  },       /* >>       */
115       {  { 0x00BE, "print"  }, { 0,0,0 }  },       /* 3/4      */
116       {  { 0x00C0, "print"  }, { 0,0,0 }  },       /* A Grave  */
117       {  { 0x00DF, "print"  }, { 0,0,0 }  },       /* small Sh */
118       {  { 0x00F6, "print"  }, { 0,0,0 }  },       /* o dia    */
119       {  { 0x00F7, "print"  }, { 0,0,0 }  },       /* division */
120       {  { 0x00F8, "print"  }, { 0,0,0 }  },       /* o stroke */
121       {  { 0x00FF, "print"  }, { 0,0,0 }  },       /* y dia    */
122       {  { 0x009F, "punct"  }, { 0,1,0 }  },       /* CTRL     */
123 #ifdef SHOJI_IS_RIGHT
124       {  { 0x00A0, "punct"  }, { 0,1,0 }  },       /* NB SPACE */
125 #else
126       {  { 0x00A0, "punct"  }, { 0,0,0 }  },       /* NB SPACE */
127 #endif
128       {  { 0x00A1, "punct"  }, { 0,0,0 }  },       /* UD !     */
129       {  { 0x00B0, "punct"  }, { 0,0,0 }  },       /* Degree   */
130       {  { 0x00B1, "punct"  }, { 0,0,0 }  },       /* +- sign  */
131       {  { 0x00B2, "punct"  }, { 0,0,0 }  },       /* SUP 2    */
132       {  { 0x00B3, "punct"  }, { 0,0,0 }  },       /* SUP 3    */
133       {  { 0x00B4, "punct"  }, { 0,0,0 }  },       /* ACUTE    */
134       {  { 0x00B8, "punct"  }, { 0,0,0 }  },       /* CEDILLA  */
135       {  { 0x00B9, "punct"  }, { 0,0,0 }  },       /* SUP 1    */
136       {  { 0x00BB, "punct"  }, { 0,0,0 }  },       /* >>       */
137       {  { 0x00BC, "punct"  }, { 0,0,0 }  },       /* 1/4      */
138       {  { 0x00BD, "punct"  }, { 0,0,0 }  },       /* 1/2      */
139       {  { 0x00BE, "punct"  }, { 0,0,0 }  },       /* 3/4      */
140       {  { 0x00BF, "punct"  }, { 0,0,0 }  },       /* UD ?     */
141       {  { 0x00C0, "punct"  }, { 0,1,0 }  },       /* A Grave  */
142       {  { 0x00D7, "punct"  }, { 0,0,0 }  },       /* multipl. */
143       {  { 0x00DF, "punct"  }, { 0,1,0 }  },       /* small Sh */
144       {  { 0x00F6, "punct"  }, { 0,1,0 }  },       /* o dia    */
145       {  { 0x00F7, "punct"  }, { 0,0,0 }  },       /* division */
146       {  { 0x00FF, "punct"  }, { 0,1,0 }  },       /* y dia    */
147       {  { 0x009F, "space"  }, { 0,1,0 }  },       /* CTRL     */
148       {  { 0x00A0, "space"  }, { 0,1,0 }  },       /* NB SPACE */
149       {  { 0x00A1, "space"  }, { 0,1,0 }  },       /* UD !     */
150       {  { 0x00B1, "space"  }, { 0,1,0 }  },       /* +- sign  */
151       {  { 0x00F8, "space"  }, { 0,1,0 }  },       /* o stroke */
152       {  { 0x00B3, "lower"  }, { 0,1,0 }  },       /* SUP 3    */
153       {  { 0x00B8, "lower"  }, { 0,1,0 }  },       /* CEDILLA  */
154       {  { 0x00BE, "lower"  }, { 0,1,0 }  },       /* 3/4      */
155       {  { 0x00C0, "lower"  }, { 0,1,0 }  },       /* A Grave  */
156       {  { 0x00D6, "lower"  }, { 0,1,0 }  },       /* O dia    */
157       {  { 0x00D8, "lower"  }, { 0,1,0 }  },       /* O stroke */
158       {  { 0x00DF, "lower"  }, { 0,0,0 }  },       /* small Sh */
159       {  { 0x00E0, "lower"  }, { 0,0,0 }  },       /* a grave  */
160       {  { 0x00F6, "lower"  }, { 0,0,0 }  },       /* o dia    */
161       {  { 0x00F7, "lower"  }, { 0,1,0 }  },       /* division */
162       {  { 0x00F8, "lower"  }, { 0,0,0 }  },       /* o stroke */
163       {  { 0x00FF, "lower"  }, { 0,0,0 }  },       /* y dia    */
164       {  { 0x00B4, "upper"  }, { 0,1,0 }  },       /* ACUTE    */
165       {  { 0x00B8, "upper"  }, { 0,1,0 }  },       /* CEDILLA  */
166       {  { 0x00B9, "upper"  }, { 0,1,0 }  },       /* SUP 1    */
167       {  { 0x00BE, "upper"  }, { 0,1,0 }  },       /* 3/4      */
168       {  { 0x00BF, "upper"  }, { 0,1,0 }  },       /* UD ?     */
169       {  { 0x00C0, "upper"  }, { 0,0,0 }  },       /* A Grave  */
170       {  { 0x00D6, "upper"  }, { 0,0,0 }  },       /* O dia    */
171       {  { 0x00D7, "upper"  }, { 0,1,0 }  },       /* multipl. */
172       {  { 0x00D8, "upper"  }, { 0,0,0 }  },       /* O stroke */
173       {  { 0x00DF, "upper"  }, { 0,1,0 }  },       /* small Sh */
174       {  { 0x00FF, "upper"  }, { 0,1,0 }  },       /* y dia    */
175       {  { 0x00B9, "xdigit" }, { 0,1,0 }  },       /* SUP 1    */
176       {  { 0x00BC, "xdigit" }, { 0,1,0 }  },       /* 1/4      */
177       { is_last: 1 }
178     }
179   },
180   {
181     { Tiswctype, TST_LOC_enUS },
182     {
183       {  { WEOF,   "alnum"  }, { 0,1,0 }  },
184       {  { 0x0000, "alnum"  }, { 0,1,0 }  },
185       {  { 0x001F, "alnum"  }, { 0,1,0 }  },
186       {  { 0x0020, "alnum"  }, { 0,1,0 }  },
187       {  { 0x0021, "alnum"  }, { 0,1,0 }  },
188       {  { 0x002F, "alnum"  }, { 0,1,0 }  },
189       {  { 0x0030, "alnum"  }, { 0,0,0 }  },
190       {  { 0x0039, "alnum"  }, { 0,0,0 }  },
191       {  { 0x003A, "alnum"  }, { 0,1,0 }  },
192       {  { 0x0040, "alnum"  }, { 0,1,0 }  },
193       {  { 0x0041, "alnum"  }, { 0,0,0 }  },
194       {  { 0x005A, "alnum"  }, { 0,0,0 }  },
195       {  { 0x005B, "alnum"  }, { 0,1,0 }  },
196       {  { 0x0060, "alnum"  }, { 0,1,0 }  },
197       {  { 0x0061, "alnum"  }, { 0,0,0 }  },
198       {  { 0x007A, "alnum"  }, { 0,0,0 }  },
199       {  { 0x007B, "alnum"  }, { 0,1,0 }  },
200       {  { 0x007E, "alnum"  }, { 0,1,0 }  },
201       {  { 0x007F, "alnum"  }, { 0,1,0 }  },
202       {  { 0x0080, "alnum"  }, { 0,1,0 }  },
203       {  { 0x0000, "alpha"  }, { 0,1,0 }  },
204       {  { 0x001F, "alpha"  }, { 0,1,0 }  },
205       {  { 0x0020, "alpha"  }, { 0,1,0 }  },
206       {  { 0x0021, "alpha"  }, { 0,1,0 }  },
207       {  { 0x002F, "alpha"  }, { 0,1,0 }  },
208       {  { 0x0030, "alpha"  }, { 0,1,0 }  },
209       {  { 0x0039, "alpha"  }, { 0,1,0 }  },
210       {  { 0x003A, "alpha"  }, { 0,1,0 }  },
211       {  { 0x0040, "alpha"  }, { 0,1,0 }  },
212       {  { 0x0041, "alpha"  }, { 0,0,0 }  },
213       {  { 0x005A, "alpha"  }, { 0,0,0 }  },
214       {  { 0x005B, "alpha"  }, { 0,1,0 }  },
215       {  { 0x0060, "alpha"  }, { 0,1,0 }  },
216       {  { 0x0061, "alpha"  }, { 0,0,0 }  },
217       {  { 0x007A, "alpha"  }, { 0,0,0 }  },
218       {  { 0x007B, "alpha"  }, { 0,1,0 }  },
219       {  { 0x007E, "alpha"  }, { 0,1,0 }  },
220       {  { 0x007F, "alpha"  }, { 0,1,0 }  },
221       {  { 0x0080, "alpha"  }, { 0,1,0 }  },
222       {  { 0x0009, "blank"  }, { 0,0,0 }  },
223       {  { 0x000B, "blank"  }, { 0,1,0 }  },
224       {  { 0x0020, "blank"  }, { 0,0,0 }  },
225       {  { 0x0000, "cntrl"  }, { 0,0,0 }  },
226       {  { 0x001F, "cntrl"  }, { 0,0,0 }  },
227       {  { 0x0020, "cntrl"  }, { 0,1,0 }  },
228       {  { 0x0021, "cntrl"  }, { 0,1,0 }  },
229       {  { 0x002F, "cntrl"  }, { 0,1,0 }  },
230       {  { 0x0030, "cntrl"  }, { 0,1,0 }  },
231       {  { 0x0039, "cntrl"  }, { 0,1,0 }  },
232       {  { 0x003A, "cntrl"  }, { 0,1,0 }  },
233       {  { 0x0040, "cntrl"  }, { 0,1,0 }  },
234       {  { 0x0041, "cntrl"  }, { 0,1,0 }  },
235       {  { 0x005A, "cntrl"  }, { 0,1,0 }  },
236       {  { 0x005B, "cntrl"  }, { 0,1,0 }  },
237       {  { 0x0060, "cntrl"  }, { 0,1,0 }  },
238       {  { 0x0061, "cntrl"  }, { 0,1,0 }  },
239       {  { 0x007A, "cntrl"  }, { 0,1,0 }  },
240       {  { 0x007B, "cntrl"  }, { 0,1,0 }  },
241       {  { 0x007E, "cntrl"  }, { 0,1,0 }  },
242       {  { 0x007F, "cntrl"  }, { 0,0,0 }  },
243       {  { 0x0080, "cntrl"  }, { 0,0,0 }  },
244       {  { 0x0000, "digit"  }, { 0,1,0 }  },
245       {  { 0x001F, "digit"  }, { 0,1,0 }  },
246       {  { 0x0020, "digit"  }, { 0,1,0 }  },
247       {  { 0x0021, "digit"  }, { 0,1,0 }  },
248       {  { 0x002F, "digit"  }, { 0,1,0 }  },
249       {  { 0x0030, "digit"  }, { 0,0,0 }  },
250       {  { 0x0039, "digit"  }, { 0,0,0 }  },
251       {  { 0x003A, "digit"  }, { 0,1,0 }  },
252       {  { 0x0040, "digit"  }, { 0,1,0 }  },
253       {  { 0x0041, "digit"  }, { 0,1,0 }  },
254       {  { 0x005A, "digit"  }, { 0,1,0 }  },
255       {  { 0x005B, "digit"  }, { 0,1,0 }  },
256       {  { 0x0060, "digit"  }, { 0,1,0 }  },
257       {  { 0x0061, "digit"  }, { 0,1,0 }  },
258       {  { 0x007A, "digit"  }, { 0,1,0 }  },
259       {  { 0x007B, "digit"  }, { 0,1,0 }  },
260       {  { 0x007E, "digit"  }, { 0,1,0 }  },
261       {  { 0x007F, "digit"  }, { 0,1,0 }  },
262       {  { 0x0080, "digit"  }, { 0,1,0 }  },
263       {  { 0x0000, "graph"  }, { 0,1,0 }  },
264       {  { 0x001F, "graph"  }, { 0,1,0 }  },
265       {  { 0x0020, "graph"  }, { 0,1,0 }  },
266       {  { 0x0021, "graph"  }, { 0,0,0 }  },
267       {  { 0x002F, "graph"  }, { 0,0,0 }  },
268       {  { 0x0030, "graph"  }, { 0,0,0 }  },
269       {  { 0x0039, "graph"  }, { 0,0,0 }  },
270       {  { 0x003A, "graph"  }, { 0,0,0 }  },
271       {  { 0x0040, "graph"  }, { 0,0,0 }  },
272       {  { 0x0041, "graph"  }, { 0,0,0 }  },
273       {  { 0x005A, "graph"  }, { 0,0,0 }  },
274       {  { 0x005B, "graph"  }, { 0,0,0 }  },
275       {  { 0x0060, "graph"  }, { 0,0,0 }  },
276       {  { 0x0061, "graph"  }, { 0,0,0 }  },
277       {  { 0x007A, "graph"  }, { 0,0,0 }  },
278       {  { 0x007B, "graph"  }, { 0,0,0 }  },
279       {  { 0x007E, "graph"  }, { 0,0,0 }  },
280       {  { 0x007F, "graph"  }, { 0,1,0 }  },
281       {  { 0x0080, "graph"  }, { 0,1,0 }  },
282       {  { 0x0000, "print"  }, { 0,1,0 }  },
283       {  { 0x001F, "print"  }, { 0,1,0 }  },
284       {  { 0x0020, "print"  }, { 0,0,0 }  },
285       {  { 0x0021, "print"  }, { 0,0,0 }  },
286       {  { 0x002F, "print"  }, { 0,0,0 }  },
287       {  { 0x0030, "print"  }, { 0,0,0 }  },
288       {  { 0x0039, "print"  }, { 0,0,0 }  },
289       {  { 0x003A, "print"  }, { 0,0,0 }  },
290       {  { 0x0040, "print"  }, { 0,0,0 }  },
291       {  { 0x0041, "print"  }, { 0,0,0 }  },
292       {  { 0x005A, "print"  }, { 0,0,0 }  },
293       {  { 0x005B, "print"  }, { 0,0,0 }  },
294       {  { 0x0060, "print"  }, { 0,0,0 }  },
295       {  { 0x0061, "print"  }, { 0,0,0 }  },
296       {  { 0x007A, "print"  }, { 0,0,0 }  },
297       {  { 0x007B, "print"  }, { 0,0,0 }  },
298       {  { 0x007E, "print"  }, { 0,0,0 }  },
299       {  { 0x007F, "print"  }, { 0,1,0 }  },
300       {  { 0x0080, "print"  }, { 0,1,0 }  },
301       {  { 0x0000, "punct"  }, { 0,1,0 }  },
302       {  { 0x001F, "punct"  }, { 0,1,0 }  },
303       {  { 0x0020, "punct"  }, { 0,1,0 }  },
304       {  { 0x0021, "punct"  }, { 0,0,0 }  },
305       {  { 0x002F, "punct"  }, { 0,0,0 }  },
306       {  { 0x0030, "punct"  }, { 0,1,0 }  },
307       {  { 0x0039, "punct"  }, { 0,1,0 }  },
308       {  { 0x003A, "punct"  }, { 0,0,0 }  },
309       {  { 0x0040, "punct"  }, { 0,0,0 }  },
310       {  { 0x0041, "punct"  }, { 0,1,0 }  },
311       {  { 0x005A, "punct"  }, { 0,1,0 }  },
312       {  { 0x005B, "punct"  }, { 0,0,0 }  },
313       {  { 0x0060, "punct"  }, { 0,0,0 }  },
314       {  { 0x0061, "punct"  }, { 0,1,0 }  },
315       {  { 0x007A, "punct"  }, { 0,1,0 }  },
316       {  { 0x007B, "punct"  }, { 0,0,0 }  },
317       {  { 0x007E, "punct"  }, { 0,0,0 }  },
318       {  { 0x007F, "punct"  }, { 0,1,0 }  },
319       {  { 0x0080, "punct"  }, { 0,1,0 }  },
320       {  { 0x0000, "space"  }, { 0,1,0 }  },
321       {  { 0x001F, "space"  }, { 0,1,0 }  },
322       {  { 0x0020, "space"  }, { 0,0,0 }  },
323       {  { 0x0021, "space"  }, { 0,1,0 }  },
324       {  { 0x002F, "space"  }, { 0,1,0 }  },
325       {  { 0x007E, "space"  }, { 0,1,0 }  },
326       {  { 0x007F, "space"  }, { 0,1,0 }  },
327       {  { 0x0080, "space"  }, { 0,1,0 }  },
328       {  { 0x0000, "lower"  }, { 0,1,0 }  },
329       {  { 0x001F, "lower"  }, { 0,1,0 }  },
330       {  { 0x0020, "lower"  }, { 0,1,0 }  },
331       {  { 0x0021, "lower"  }, { 0,1,0 }  },
332       {  { 0x002F, "lower"  }, { 0,1,0 }  },
333       {  { 0x0030, "lower"  }, { 0,1,0 }  },
334       {  { 0x0039, "lower"  }, { 0,1,0 }  },
335       {  { 0x003A, "lower"  }, { 0,1,0 }  },
336       {  { 0x0040, "lower"  }, { 0,1,0 }  },
337       {  { 0x0041, "lower"  }, { 0,1,0 }  },
338       {  { 0x005A, "lower"  }, { 0,1,0 }  },
339       {  { 0x005B, "lower"  }, { 0,1,0 }  },
340       {  { 0x0060, "lower"  }, { 0,1,0 }  },
341       {  { 0x0061, "lower"  }, { 0,0,0 }  },
342       {  { 0x007A, "lower"  }, { 0,0,0 }  },
343       {  { 0x007B, "lower"  }, { 0,1,0 }  },
344       {  { 0x007E, "lower"  }, { 0,1,0 }  },
345       {  { 0x007F, "lower"  }, { 0,1,0 }  },
346       {  { 0x0080, "lower"  }, { 0,1,0 }  },
347       {  { 0x0000, "upper"  }, { 0,1,0 }  },
348       {  { 0x001F, "upper"  }, { 0,1,0 }  },
349       {  { 0x0020, "upper"  }, { 0,1,0 }  },
350       {  { 0x0021, "upper"  }, { 0,1,0 }  },
351       {  { 0x002F, "upper"  }, { 0,1,0 }  },
352       {  { 0x0030, "upper"  }, { 0,1,0 }  },
353       {  { 0x0039, "upper"  }, { 0,1,0 }  },
354       {  { 0x003A, "upper"  }, { 0,1,0 }  },
355       {  { 0x0040, "upper"  }, { 0,1,0 }  },
356       {  { 0x0041, "upper"  }, { 0,0,0 }  },
357       {  { 0x005A, "upper"  }, { 0,0,0 }  },
358       {  { 0x005B, "upper"  }, { 0,1,0 }  },
359       {  { 0x0060, "upper"  }, { 0,1,0 }  },
360       {  { 0x0061, "upper"  }, { 0,1,0 }  },
361       {  { 0x007A, "upper"  }, { 0,1,0 }  },
362       {  { 0x007B, "upper"  }, { 0,1,0 }  },
363       {  { 0x007E, "upper"  }, { 0,1,0 }  },
364       {  { 0x007F, "upper"  }, { 0,1,0 }  },
365       {  { 0x0080, "upper"  }, { 0,1,0 }  },
366       {  { 0x0000, "xdigit" }, { 0,1,0 }  },
367       {  { 0x001F, "xdigit" }, { 0,1,0 }  },
368       {  { 0x0020, "xdigit" }, { 0,1,0 }  },
369       {  { 0x0021, "xdigit" }, { 0,1,0 }  },
370       {  { 0x002F, "xdigit" }, { 0,1,0 }  },
371       {  { 0x0030, "xdigit" }, { 0,0,0 }  },
372       {  { 0x0039, "xdigit" }, { 0,0,0 }  },
373       {  { 0x003A, "xdigit" }, { 0,1,0 }  },
374       {  { 0x0040, "xdigit" }, { 0,1,0 }  },
375       {  { 0x0041, "xdigit" }, { 0,0,0 }  },
376       {  { 0x005A, "xdigit" }, { 0,1,0 }  },
377       {  { 0x005B, "xdigit" }, { 0,1,0 }  },
378       {  { 0x0060, "xdigit" }, { 0,1,0 }  },
379       {  { 0x0061, "xdigit" }, { 0,0,0 }  },
380       {  { 0x007A, "xdigit" }, { 0,1,0 }  },
381       {  { 0x007B, "xdigit" }, { 0,1,0 }  },
382       {  { 0x007E, "xdigit" }, { 0,1,0 }  },
383       {  { 0x007F, "xdigit" }, { 0,1,0 }  },
384       {  { 0x0080, "xdigit" }, { 0,1,0 }  },
385       {  { 0x0061, "xxxxxx" }, { 0,1,0 }  },
386       { is_last: 1 }
387     }
388   },
389   {
390     { Tiswctype, TST_LOC_eucJP },
391     {
392       {  { 0x3029, "alnum"  }, { 0,1,0 }  },       /* Hangzhou NUM9      */
393       {  { 0xFE4F, "alnum"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
394       {  { 0xFF19, "alnum"  }, { 0,0,0 }  },       /* FULL 9             */
395       {  { 0xFF20, "alnum"  }, { 0,1,0 }  },       /* FULL @             */
396       {  { 0xFF3A, "alnum"  }, { 0,0,0 }  },       /* FULL Z             */
397       {  { 0xFF40, "alnum"  }, { 0,1,0 }  },       /* FULL GRAVE ACC.    */
398       {  { 0xFF5A, "alnum"  }, { 0,0,0 }  },       /* FULL z             */
399       {  { 0xFF71, "alnum"  }, { 0,1,0 }  },       /* HALF KATA A        */
400       {  { 0x3029, "alpha"  }, { 0,1,0 }  },       /* Hangzhou NUM9      */
401       {  { 0xFE4F, "alpha"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
402       {  { 0xFF19, "alpha"  }, { 0,1,0 }  },       /* FULL 9             */
403       {  { 0xFF20, "alpha"  }, { 0,1,0 }  },       /* FULL @             */
404       {  { 0xFF3A, "alpha"  }, { 0,0,0 }  },       /* FULL Z             */
405       {  { 0xFF40, "alpha"  }, { 0,1,0 }  },       /* FULL GRAVE ACC.    */
406       {  { 0xFF5A, "alpha"  }, { 0,0,0 }  },       /* FULL z             */
407       {  { 0xFF71, "alpha"  }, { 0,1,0 }  },       /* HALF KATA A        */
408       {  { 0x0080, "cntrl"  }, { 0,0,0 }  },       /* CNTRL              */
409       {  { 0x3000, "cntrl"  }, { 0,1,0 }  },       /* IDEO. SPACE        */
410       {  { 0x3029, "digit"  }, { 0,1,0 }  },       /* Hangzhou NUM9      */
411       {  { 0x32CB, "digit"  }, { 0,1,0 }  },       /* IDEO.TEL.SYM.DEC12 */
412       /* 21: */
413       {  { 0x33FE, "digit"  }, { 0,1,0 }  },       /* CJK IDEO.TEL.31th  */
414       {  { 0xFF19, "digit"  }, { 0,0,0 }  },       /* FULL 9             */
415       {  { 0x3000, "graph"  }, { 0,1,0 }  },       /* IDEO. SPACE        */
416       {  { 0x3020, "graph"  }, { 0,1,0 }  },       /* POSTAL MARK FACE   */
417       {  { 0x3029, "graph"  }, { 0,1,0 }  },       /* Hangzhou NUM9      */
418       {  { 0x302F, "graph"  }, { 0,1,0 }  },       /* Diacritics(Hangul) */
419       {  { 0x3037, "graph"  }, { 0,1,0 }  },       /* Separator Symbol   */
420       {  { 0x303F, "graph"  }, { 0,1,0 }  },       /* IDEO. HALF SPACE   */
421       /* 29: */
422       {  { 0x3041, "graph"  }, { 0,0,0 }  },       /* HIRAGANA a         */
423       /* Non jis: */
424       {  { 0x3094, "graph"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
425       /* Non jis: */
426       {  { 0x3099, "graph"  }, { 0,1,0 }  },       /* SOUND MARK         */
427       {  { 0x309E, "graph"  }, { 0,0,0 }  },       /* ITERATION MARK     */
428       /* 33: */
429       {  { 0x30A1, "graph"  }, { 0,0,0 }  },       /* KATAKANA a         */
430       /* Non jis: */
431       {  { 0x30FA, "graph"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
432       {  { 0x30FB, "graph"  }, { 0,0,0 }  },       /* KATAKANA MID.DOT   */
433       {  { 0x30FE, "graph"  }, { 0,0,0 }  },       /* KATAKANA ITERATION */
434       {  { 0x3191, "graph"  }, { 0,1,0 }  },       /* KANBUN REV.MARK    */
435       {  { 0x3243, "graph"  }, { 0,1,0 }  },       /* IDEO. MARK (reach) */
436       {  { 0x32CB, "graph"  }, { 0,1,0 }  },       /* IDEO.TEL.SYM.DEC12 */
437       {  { 0x32FE, "graph"  }, { 0,1,0 }  },       /* MARU KATAKANA wo   */
438       {  { 0x33FE, "graph"  }, { 0,1,0 }  },       /* CJK IDEO.TEL.31th  */
439       {  { 0x4E00, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
440       {  { 0x4E05, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
441       {  { 0x4E06, "graph"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
442       {  { 0x4E07, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
443       {  { 0x4FFF, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
444       {  { 0x9000, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
445       {  { 0x9006, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
446       {  { 0x9007, "graph"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
447       {  { 0x9FA4, "graph"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
448       /* 51 */
449       {  { 0x9FA5, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
450       /* Non jis: */
451       {  { 0xFE4F, "graph"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
452       {  { 0xFF0F, "graph"  }, { 0,0,0 }  },       /* FULL SLASH         */
453       {  { 0xFF19, "graph"  }, { 0,0,0 }  },       /* FULL 9             */
454       {  { 0xFF20, "graph"  }, { 0,0,0 }  },       /* FULL @             */
455       {  { 0xFF3A, "graph"  }, { 0,0,0 }  },       /* FULL Z             */
456       {  { 0xFF40, "graph"  }, { 0,0,0 }  },       /* FULL GRAVE ACC.    */
457       {  { 0xFF5A, "graph"  }, { 0,0,0 }  },       /* FULL z             */
458       {  { 0xFF5E, "graph"  }, { 0,0,0 }  },       /* FULL ~ (tilde)     */
459       {  { 0xFF61, "graph"  }, { 0,0,0 }  },       /* HALF IDEO.STOP. .  */
460       {  { 0xFF65, "graph"  }, { 0,0,0 }  },       /* HALF KATA MID.DOT  */
461       {  { 0xFF66, "graph"  }, { 0,0,0 }  },       /* HALF KATA WO       */
462       {  { 0xFF6F, "graph"  }, { 0,0,0 }  },       /* HALF KATA tu       */
463       {  { 0xFF70, "graph"  }, { 0,0,0 }  },       /* HALF KATA PL -     */
464       {  { 0xFF71, "graph"  }, { 0,0,0 }  },       /* HALF KATA A        */
465       {  { 0xFF9E, "graph"  }, { 0,0,0 }  },       /* HALF KATA MI       */
466       {  { 0x3000, "print"  }, { 0,0,0 }  },       /* IDEO. SPACE        */
467       {  { 0x3020, "print"  }, { 0,1,0 }  },       /* POSTAL MARK FACE   */
468       {  { 0x3029, "print"  }, { 0,1,0 }  },       /* Hangzhou NUM9      */
469       {  { 0x302F, "print"  }, { 0,1,0 }  },       /* Diacritics(Hangul) */
470       {  { 0x3037, "print"  }, { 0,1,0 }  },       /* Separator Symbol   */
471       {  { 0x4E00, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
472       {  { 0x4E05, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
473       {  { 0x4E06, "print"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
474       {  { 0x4E07, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
475       {  { 0x4FFF, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
476       {  { 0x9000, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
477       {  { 0x9006, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
478       {  { 0x9007, "print"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
479       {  { 0x9FA4, "print"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
480       /* 81: */
481       {  { 0x9FA5, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
482       /* Non jis: */
483       {  { 0xFE4F, "print"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
484       {  { 0x3000, "punct"  }, { 0,1,0 }  },       /* IDEO. SPACE        */
485       {  { 0x3020, "punct"  }, { 0,1,0 }  },       /* POSTAL MARK FACE   */
486       {  { 0x302F, "punct"  }, { 0,1,0 }  },       /* Diacritics(Hangul) */
487       {  { 0x3037, "punct"  }, { 0,1,0 }  },       /* FEED Separator     */
488       {  { 0x303F, "punct"  }, { 0,1,0 }  },       /* IDEO. HALF SPACE   */
489       {  { 0x3041, "punct"  }, { 0,1,0 }  },       /* HIRAGANA a         */
490       {  { 0x3094, "punct"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
491       /* 90: */
492       {  { 0x3099, "punct"  }, { 0,1,0 }  },       /* SOUND MARK         */
493       {  { 0x309E, "punct"  }, { 0,1,0 }  },       /* ITERATION MARK     */
494       {  { 0x30A1, "punct"  }, { 0,1,0 }  },       /* KATAKANA a         */
495       {  { 0x30FA, "punct"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
496       {  { 0x30FB, "punct"  }, { 0,0,0 }  },       /* KATAKANA MID.DOT   */
497       /* 95: */
498       {  { 0x30FE, "punct"  }, { 0,1,0 }  },       /* KATAKANA ITERATION */
499       {  { 0x3191, "punct"  }, { 0,1,0 }  },       /* KANBUN REV.MARK    */
500       {  { 0x3243, "punct"  }, { 0,1,0 }  },       /* IDEO. MARK (reach) */
501       {  { 0x32CB, "punct"  }, { 0,1,0 }  },       /* IDEO.TEL.SYM.DEC12 */
502       {  { 0x32FE, "punct"  }, { 0,1,0 }  },       /* MARU KATAKANA wo   */
503       {  { 0x33FE, "punct"  }, { 0,1,0 }  },       /* CJK IDEO.TEL.31th  */
504       {  { 0x9007, "punct"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
505       {  { 0x9FA4, "punct"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
506       {  { 0x9FA5, "punct"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
507       {  { 0xFF0F, "punct"  }, { 0,0,0 }  },       /* FULL SLASH         */
508       /* 105: */
509       {  { 0xFF19, "punct"  }, { 0,1,0 }  },       /* FULL 9             */
510       {  { 0xFF20, "punct"  }, { 0,0,0 }  },       /* FULL @             */
511       {  { 0xFF3A, "punct"  }, { 0,1,0 }  },       /* FULL Z             */
512       {  { 0xFF40, "punct"  }, { 0,0,0 }  },       /* FULL GRAVE ACC.    */
513       {  { 0xFF5A, "punct"  }, { 0,1,0 }  },       /* FULL z             */
514       {  { 0xFF5E, "punct"  }, { 0,0,0 }  },       /* FULL ~ (tilde)     */
515       {  { 0xFF61, "punct"  }, { 0,0,0 }  },       /* HALF IDEO.STOP. .  */
516       {  { 0xFF65, "punct"  }, { 0,0,0 }  },       /* HALF KATA MID.DOT  */
517       {  { 0xFF70, "punct"  }, { 0,1,0 }  },       /* HALF KATA PL -     */
518       {  { 0xFF9E, "punct"  }, { 0,1,0 }  },       /* HALF KATA MI       */
519       /* 115: */
520       {  { 0x3000, "space"  }, { 0,0,0 }  },       /* IDEO. SPACE        */
521       {  { 0x303F, "space"  }, { 0,1,0 }  },       /* IDEO. HALF SPACE   */
522       {  { 0x3041, "lower"  }, { 0,1,0 }  },       /* HIRAGANA a         */
523       {  { 0x3094, "lower"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
524       {  { 0x30A1, "lower"  }, { 0,1,0 }  },       /* KATAKANA a         */
525       {  { 0x30FA, "lower"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
526       {  { 0xFF66, "lower"  }, { 0,1,0 }  },       /* HALF KATA WO       */
527       {  { 0xFF6F, "lower"  }, { 0,1,0 }  },       /* HALF KATA tu       */
528       {  { 0xFF70, "lower"  }, { 0,1,0 }  },       /* HALF KATA PL -     */
529       /* 124: */
530       {  { 0xFF71, "lower"  }, { 0,1,0 }  },       /* HALF KATA A        */
531       {  { 0xFF9E, "lower"  }, { 0,1,0 }  },       /* HALF KATA MI       */
532       {  { 0xFF71, "upper"  }, { 0,1,0 }  },       /* HALF KATA A        */
533       {  { 0xFF19, "xdigit" }, { 0,1,0 }  },       /* FULL 9             */
534       {  { 0x3000, "jspace" }, { 0,0,0 }  },       /* IDEO. SPACE        */
535       /* Non jis? */
536       {  { 0x303F, "jspace" }, { 0,1,0 }  },       /* IDEO.HALF SPACE    */
537       {  { 0xFF19, "jdigit" }, { 0,0,0 }  },       /* FULL 9             */
538       {  { 0x3041, "jhira"  }, { 0,0,0 }  },       /* HIRAGANA a         */
539       {  { 0x3094, "jhira"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
540       {  { 0x30A1, "jkata"  }, { 0,0,0 }  },       /* KATAKANA a         */
541       /* Non jis: */
542       {  { 0x30FA, "jkata"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
543       {  { 0xFF66, "jkata"  }, { 0,0,0 }  },       /* HALF KATA WO       */
544       {  { 0xFF6F, "jkata"  }, { 0,0,0 }  },       /* HALF KATA tu       */
545       {  { 0x4E05, "jkanji" }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
546 #ifdef SHOJI_IS_RIGHT
547       /* <NO_WAIVER>: */
548       {  { 0x4E06, "jkanji" }, { 0,1,1 }  },       /* CJK UNI.IDEO.NON-J */
549 #else
550       /* XXX This character does not exist in EUC-JP.  */
551       {  { 0x4E06, "jkanji" }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
552 #endif
553       {  { 0x4E07, "jkanji" }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
554       { is_last: 1 }
555     }
556   },
557   {
558     { Tiswctype, TST_LOC_end }
559   }
560 };
561
562
563 /* dat_isw-funcs.c */