tizen 2.4 release
[framework/base/tizen-locale.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       {  { 0x00A0, "graph"  }, { 0,0,0 }  },       /* NB SPACE */
85       {  { 0x00A1, "graph"  }, { 0,0,0 }  },       /* UD !     */
86       {  { 0x00B1, "graph"  }, { 0,0,0 }  },       /* +- sign  */
87       {  { 0x00B3, "graph"  }, { 0,0,0 }  },       /* SUP 3    */
88       {  { 0x00B4, "graph"  }, { 0,0,0 }  },       /* ACUTE    */
89       {  { 0x00BB, "graph"  }, { 0,0,0 }  },       /* >>       */
90       {  { 0x00BE, "graph"  }, { 0,0,0 }  },       /* 3/4      */
91       {  { 0x00C0, "graph"  }, { 0,0,0 }  },       /* A Grave  */
92       {  { 0x00D6, "graph"  }, { 0,0,0 }  },       /* O dia    */
93       {  { 0x00D7, "graph"  }, { 0,0,0 }  },       /* multipl. */
94       {  { 0x00D8, "graph"  }, { 0,0,0 }  },       /* O stroke */
95       {  { 0x00DF, "graph"  }, { 0,0,0 }  },       /* small Sh */
96       {  { 0x00F7, "graph"  }, { 0,0,0 }  },       /* division */
97       {  { 0x00F8, "graph"  }, { 0,0,0 }  },       /* o stroke */
98       {  { 0x00FF, "graph"  }, { 0,0,0 }  },       /* y dia    */
99       {  { 0x009F, "print"  }, { 0,1,0 }  },       /* CTRL     */
100       {  { 0x00A0, "print"  }, { 0,0,0 }  },       /* NB SPACE */
101       {  { 0x00A1, "print"  }, { 0,0,0 }  },       /* UD !     */
102       {  { 0x00B1, "print"  }, { 0,0,0 }  },       /* +- sign  */
103       {  { 0x00B4, "print"  }, { 0,0,0 }  },       /* ACUTE    */
104       {  { 0x00B8, "print"  }, { 0,0,0 }  },       /* CEDILLA  */
105       {  { 0x00B9, "print"  }, { 0,0,0 }  },       /* SUP 1    */
106       {  { 0x00BB, "print"  }, { 0,0,0 }  },       /* >>       */
107       {  { 0x00BE, "print"  }, { 0,0,0 }  },       /* 3/4      */
108       {  { 0x00C0, "print"  }, { 0,0,0 }  },       /* A Grave  */
109       {  { 0x00DF, "print"  }, { 0,0,0 }  },       /* small Sh */
110       {  { 0x00F6, "print"  }, { 0,0,0 }  },       /* o dia    */
111       {  { 0x00F7, "print"  }, { 0,0,0 }  },       /* division */
112       {  { 0x00F8, "print"  }, { 0,0,0 }  },       /* o stroke */
113       {  { 0x00FF, "print"  }, { 0,0,0 }  },       /* y dia    */
114       {  { 0x009F, "punct"  }, { 0,1,0 }  },       /* CTRL     */
115       {  { 0x00A0, "punct"  }, { 0,0,0 }  },       /* NB SPACE */
116       {  { 0x00A1, "punct"  }, { 0,0,0 }  },       /* UD !     */
117       {  { 0x00B0, "punct"  }, { 0,0,0 }  },       /* Degree   */
118       {  { 0x00B1, "punct"  }, { 0,0,0 }  },       /* +- sign  */
119       {  { 0x00B2, "punct"  }, { 0,0,0 }  },       /* SUP 2    */
120       {  { 0x00B3, "punct"  }, { 0,0,0 }  },       /* SUP 3    */
121       {  { 0x00B4, "punct"  }, { 0,0,0 }  },       /* ACUTE    */
122       {  { 0x00B8, "punct"  }, { 0,0,0 }  },       /* CEDILLA  */
123       {  { 0x00B9, "punct"  }, { 0,0,0 }  },       /* SUP 1    */
124       {  { 0x00BB, "punct"  }, { 0,0,0 }  },       /* >>       */
125       {  { 0x00BC, "punct"  }, { 0,0,0 }  },       /* 1/4      */
126       {  { 0x00BD, "punct"  }, { 0,0,0 }  },       /* 1/2      */
127       {  { 0x00BE, "punct"  }, { 0,0,0 }  },       /* 3/4      */
128       {  { 0x00BF, "punct"  }, { 0,0,0 }  },       /* UD ?     */
129       {  { 0x00C0, "punct"  }, { 0,1,0 }  },       /* A Grave  */
130       {  { 0x00D7, "punct"  }, { 0,0,0 }  },       /* multipl. */
131       {  { 0x00DF, "punct"  }, { 0,1,0 }  },       /* small Sh */
132       {  { 0x00F6, "punct"  }, { 0,1,0 }  },       /* o dia    */
133       {  { 0x00F7, "punct"  }, { 0,0,0 }  },       /* division */
134       {  { 0x00FF, "punct"  }, { 0,1,0 }  },       /* y dia    */
135       {  { 0x009F, "space"  }, { 0,1,0 }  },       /* CTRL     */
136       {  { 0x00A0, "space"  }, { 0,1,0 }  },       /* NB SPACE */
137       {  { 0x00A1, "space"  }, { 0,1,0 }  },       /* UD !     */
138       {  { 0x00B1, "space"  }, { 0,1,0 }  },       /* +- sign  */
139       {  { 0x00F8, "space"  }, { 0,1,0 }  },       /* o stroke */
140       {  { 0x00B3, "lower"  }, { 0,1,0 }  },       /* SUP 3    */
141       {  { 0x00B8, "lower"  }, { 0,1,0 }  },       /* CEDILLA  */
142       {  { 0x00BE, "lower"  }, { 0,1,0 }  },       /* 3/4      */
143       {  { 0x00C0, "lower"  }, { 0,1,0 }  },       /* A Grave  */
144       {  { 0x00D6, "lower"  }, { 0,1,0 }  },       /* O dia    */
145       {  { 0x00D8, "lower"  }, { 0,1,0 }  },       /* O stroke */
146       {  { 0x00DF, "lower"  }, { 0,0,0 }  },       /* small Sh */
147       {  { 0x00E0, "lower"  }, { 0,0,0 }  },       /* a grave  */
148       {  { 0x00F6, "lower"  }, { 0,0,0 }  },       /* o dia    */
149       {  { 0x00F7, "lower"  }, { 0,1,0 }  },       /* division */
150       {  { 0x00F8, "lower"  }, { 0,0,0 }  },       /* o stroke */
151       {  { 0x00FF, "lower"  }, { 0,0,0 }  },       /* y dia    */
152       {  { 0x00B4, "upper"  }, { 0,1,0 }  },       /* ACUTE    */
153       {  { 0x00B8, "upper"  }, { 0,1,0 }  },       /* CEDILLA  */
154       {  { 0x00B9, "upper"  }, { 0,1,0 }  },       /* SUP 1    */
155       {  { 0x00BE, "upper"  }, { 0,1,0 }  },       /* 3/4      */
156       {  { 0x00BF, "upper"  }, { 0,1,0 }  },       /* UD ?     */
157       {  { 0x00C0, "upper"  }, { 0,0,0 }  },       /* A Grave  */
158       {  { 0x00D6, "upper"  }, { 0,0,0 }  },       /* O dia    */
159       {  { 0x00D7, "upper"  }, { 0,1,0 }  },       /* multipl. */
160       {  { 0x00D8, "upper"  }, { 0,0,0 }  },       /* O stroke */
161       {  { 0x00DF, "upper"  }, { 0,1,0 }  },       /* small Sh */
162       {  { 0x00FF, "upper"  }, { 0,1,0 }  },       /* y dia    */
163       {  { 0x00B9, "xdigit" }, { 0,1,0 }  },       /* SUP 1    */
164       {  { 0x00BC, "xdigit" }, { 0,1,0 }  },       /* 1/4      */
165       { .is_last = 1 }
166     }
167   },
168   {
169     { Tiswctype, TST_LOC_enUS },
170     {
171       {  { WEOF,   "alnum"  }, { 0,1,0 }  },
172       {  { 0x0000, "alnum"  }, { 0,1,0 }  },
173       {  { 0x001F, "alnum"  }, { 0,1,0 }  },
174       {  { 0x0020, "alnum"  }, { 0,1,0 }  },
175       {  { 0x0021, "alnum"  }, { 0,1,0 }  },
176       {  { 0x002F, "alnum"  }, { 0,1,0 }  },
177       {  { 0x0030, "alnum"  }, { 0,0,0 }  },
178       {  { 0x0039, "alnum"  }, { 0,0,0 }  },
179       {  { 0x003A, "alnum"  }, { 0,1,0 }  },
180       {  { 0x0040, "alnum"  }, { 0,1,0 }  },
181       {  { 0x0041, "alnum"  }, { 0,0,0 }  },
182       {  { 0x005A, "alnum"  }, { 0,0,0 }  },
183       {  { 0x005B, "alnum"  }, { 0,1,0 }  },
184       {  { 0x0060, "alnum"  }, { 0,1,0 }  },
185       {  { 0x0061, "alnum"  }, { 0,0,0 }  },
186       {  { 0x007A, "alnum"  }, { 0,0,0 }  },
187       {  { 0x007B, "alnum"  }, { 0,1,0 }  },
188       {  { 0x007E, "alnum"  }, { 0,1,0 }  },
189       {  { 0x007F, "alnum"  }, { 0,1,0 }  },
190       {  { 0x0080, "alnum"  }, { 0,1,0 }  },
191       {  { 0x0000, "alpha"  }, { 0,1,0 }  },
192       {  { 0x001F, "alpha"  }, { 0,1,0 }  },
193       {  { 0x0020, "alpha"  }, { 0,1,0 }  },
194       {  { 0x0021, "alpha"  }, { 0,1,0 }  },
195       {  { 0x002F, "alpha"  }, { 0,1,0 }  },
196       {  { 0x0030, "alpha"  }, { 0,1,0 }  },
197       {  { 0x0039, "alpha"  }, { 0,1,0 }  },
198       {  { 0x003A, "alpha"  }, { 0,1,0 }  },
199       {  { 0x0040, "alpha"  }, { 0,1,0 }  },
200       {  { 0x0041, "alpha"  }, { 0,0,0 }  },
201       {  { 0x005A, "alpha"  }, { 0,0,0 }  },
202       {  { 0x005B, "alpha"  }, { 0,1,0 }  },
203       {  { 0x0060, "alpha"  }, { 0,1,0 }  },
204       {  { 0x0061, "alpha"  }, { 0,0,0 }  },
205       {  { 0x007A, "alpha"  }, { 0,0,0 }  },
206       {  { 0x007B, "alpha"  }, { 0,1,0 }  },
207       {  { 0x007E, "alpha"  }, { 0,1,0 }  },
208       {  { 0x007F, "alpha"  }, { 0,1,0 }  },
209       {  { 0x0080, "alpha"  }, { 0,1,0 }  },
210       {  { 0x0009, "blank"  }, { 0,0,0 }  },
211       {  { 0x000B, "blank"  }, { 0,1,0 }  },
212       {  { 0x0020, "blank"  }, { 0,0,0 }  },
213       {  { 0x0000, "cntrl"  }, { 0,0,0 }  },
214       {  { 0x001F, "cntrl"  }, { 0,0,0 }  },
215       {  { 0x0020, "cntrl"  }, { 0,1,0 }  },
216       {  { 0x0021, "cntrl"  }, { 0,1,0 }  },
217       {  { 0x002F, "cntrl"  }, { 0,1,0 }  },
218       {  { 0x0030, "cntrl"  }, { 0,1,0 }  },
219       {  { 0x0039, "cntrl"  }, { 0,1,0 }  },
220       {  { 0x003A, "cntrl"  }, { 0,1,0 }  },
221       {  { 0x0040, "cntrl"  }, { 0,1,0 }  },
222       {  { 0x0041, "cntrl"  }, { 0,1,0 }  },
223       {  { 0x005A, "cntrl"  }, { 0,1,0 }  },
224       {  { 0x005B, "cntrl"  }, { 0,1,0 }  },
225       {  { 0x0060, "cntrl"  }, { 0,1,0 }  },
226       {  { 0x0061, "cntrl"  }, { 0,1,0 }  },
227       {  { 0x007A, "cntrl"  }, { 0,1,0 }  },
228       {  { 0x007B, "cntrl"  }, { 0,1,0 }  },
229       {  { 0x007E, "cntrl"  }, { 0,1,0 }  },
230       {  { 0x007F, "cntrl"  }, { 0,0,0 }  },
231       {  { 0x0080, "cntrl"  }, { 0,0,0 }  },
232       {  { 0x0000, "digit"  }, { 0,1,0 }  },
233       {  { 0x001F, "digit"  }, { 0,1,0 }  },
234       {  { 0x0020, "digit"  }, { 0,1,0 }  },
235       {  { 0x0021, "digit"  }, { 0,1,0 }  },
236       {  { 0x002F, "digit"  }, { 0,1,0 }  },
237       {  { 0x0030, "digit"  }, { 0,0,0 }  },
238       {  { 0x0039, "digit"  }, { 0,0,0 }  },
239       {  { 0x003A, "digit"  }, { 0,1,0 }  },
240       {  { 0x0040, "digit"  }, { 0,1,0 }  },
241       {  { 0x0041, "digit"  }, { 0,1,0 }  },
242       {  { 0x005A, "digit"  }, { 0,1,0 }  },
243       {  { 0x005B, "digit"  }, { 0,1,0 }  },
244       {  { 0x0060, "digit"  }, { 0,1,0 }  },
245       {  { 0x0061, "digit"  }, { 0,1,0 }  },
246       {  { 0x007A, "digit"  }, { 0,1,0 }  },
247       {  { 0x007B, "digit"  }, { 0,1,0 }  },
248       {  { 0x007E, "digit"  }, { 0,1,0 }  },
249       {  { 0x007F, "digit"  }, { 0,1,0 }  },
250       {  { 0x0080, "digit"  }, { 0,1,0 }  },
251       {  { 0x0000, "graph"  }, { 0,1,0 }  },
252       {  { 0x001F, "graph"  }, { 0,1,0 }  },
253       {  { 0x0020, "graph"  }, { 0,1,0 }  },
254       {  { 0x0021, "graph"  }, { 0,0,0 }  },
255       {  { 0x002F, "graph"  }, { 0,0,0 }  },
256       {  { 0x0030, "graph"  }, { 0,0,0 }  },
257       {  { 0x0039, "graph"  }, { 0,0,0 }  },
258       {  { 0x003A, "graph"  }, { 0,0,0 }  },
259       {  { 0x0040, "graph"  }, { 0,0,0 }  },
260       {  { 0x0041, "graph"  }, { 0,0,0 }  },
261       {  { 0x005A, "graph"  }, { 0,0,0 }  },
262       {  { 0x005B, "graph"  }, { 0,0,0 }  },
263       {  { 0x0060, "graph"  }, { 0,0,0 }  },
264       {  { 0x0061, "graph"  }, { 0,0,0 }  },
265       {  { 0x007A, "graph"  }, { 0,0,0 }  },
266       {  { 0x007B, "graph"  }, { 0,0,0 }  },
267       {  { 0x007E, "graph"  }, { 0,0,0 }  },
268       {  { 0x007F, "graph"  }, { 0,1,0 }  },
269       {  { 0x0080, "graph"  }, { 0,1,0 }  },
270       {  { 0x0000, "print"  }, { 0,1,0 }  },
271       {  { 0x001F, "print"  }, { 0,1,0 }  },
272       {  { 0x0020, "print"  }, { 0,0,0 }  },
273       {  { 0x0021, "print"  }, { 0,0,0 }  },
274       {  { 0x002F, "print"  }, { 0,0,0 }  },
275       {  { 0x0030, "print"  }, { 0,0,0 }  },
276       {  { 0x0039, "print"  }, { 0,0,0 }  },
277       {  { 0x003A, "print"  }, { 0,0,0 }  },
278       {  { 0x0040, "print"  }, { 0,0,0 }  },
279       {  { 0x0041, "print"  }, { 0,0,0 }  },
280       {  { 0x005A, "print"  }, { 0,0,0 }  },
281       {  { 0x005B, "print"  }, { 0,0,0 }  },
282       {  { 0x0060, "print"  }, { 0,0,0 }  },
283       {  { 0x0061, "print"  }, { 0,0,0 }  },
284       {  { 0x007A, "print"  }, { 0,0,0 }  },
285       {  { 0x007B, "print"  }, { 0,0,0 }  },
286       {  { 0x007E, "print"  }, { 0,0,0 }  },
287       {  { 0x007F, "print"  }, { 0,1,0 }  },
288       {  { 0x0080, "print"  }, { 0,1,0 }  },
289       {  { 0x0000, "punct"  }, { 0,1,0 }  },
290       {  { 0x001F, "punct"  }, { 0,1,0 }  },
291       {  { 0x0020, "punct"  }, { 0,1,0 }  },
292       {  { 0x0021, "punct"  }, { 0,0,0 }  },
293       {  { 0x002F, "punct"  }, { 0,0,0 }  },
294       {  { 0x0030, "punct"  }, { 0,1,0 }  },
295       {  { 0x0039, "punct"  }, { 0,1,0 }  },
296       {  { 0x003A, "punct"  }, { 0,0,0 }  },
297       {  { 0x0040, "punct"  }, { 0,0,0 }  },
298       {  { 0x0041, "punct"  }, { 0,1,0 }  },
299       {  { 0x005A, "punct"  }, { 0,1,0 }  },
300       {  { 0x005B, "punct"  }, { 0,0,0 }  },
301       {  { 0x0060, "punct"  }, { 0,0,0 }  },
302       {  { 0x0061, "punct"  }, { 0,1,0 }  },
303       {  { 0x007A, "punct"  }, { 0,1,0 }  },
304       {  { 0x007B, "punct"  }, { 0,0,0 }  },
305       {  { 0x007E, "punct"  }, { 0,0,0 }  },
306       {  { 0x007F, "punct"  }, { 0,1,0 }  },
307       {  { 0x0080, "punct"  }, { 0,1,0 }  },
308       {  { 0x0000, "space"  }, { 0,1,0 }  },
309       {  { 0x001F, "space"  }, { 0,1,0 }  },
310       {  { 0x0020, "space"  }, { 0,0,0 }  },
311       {  { 0x0021, "space"  }, { 0,1,0 }  },
312       {  { 0x002F, "space"  }, { 0,1,0 }  },
313       {  { 0x007E, "space"  }, { 0,1,0 }  },
314       {  { 0x007F, "space"  }, { 0,1,0 }  },
315       {  { 0x0080, "space"  }, { 0,1,0 }  },
316       {  { 0x0000, "lower"  }, { 0,1,0 }  },
317       {  { 0x001F, "lower"  }, { 0,1,0 }  },
318       {  { 0x0020, "lower"  }, { 0,1,0 }  },
319       {  { 0x0021, "lower"  }, { 0,1,0 }  },
320       {  { 0x002F, "lower"  }, { 0,1,0 }  },
321       {  { 0x0030, "lower"  }, { 0,1,0 }  },
322       {  { 0x0039, "lower"  }, { 0,1,0 }  },
323       {  { 0x003A, "lower"  }, { 0,1,0 }  },
324       {  { 0x0040, "lower"  }, { 0,1,0 }  },
325       {  { 0x0041, "lower"  }, { 0,1,0 }  },
326       {  { 0x005A, "lower"  }, { 0,1,0 }  },
327       {  { 0x005B, "lower"  }, { 0,1,0 }  },
328       {  { 0x0060, "lower"  }, { 0,1,0 }  },
329       {  { 0x0061, "lower"  }, { 0,0,0 }  },
330       {  { 0x007A, "lower"  }, { 0,0,0 }  },
331       {  { 0x007B, "lower"  }, { 0,1,0 }  },
332       {  { 0x007E, "lower"  }, { 0,1,0 }  },
333       {  { 0x007F, "lower"  }, { 0,1,0 }  },
334       {  { 0x0080, "lower"  }, { 0,1,0 }  },
335       {  { 0x0000, "upper"  }, { 0,1,0 }  },
336       {  { 0x001F, "upper"  }, { 0,1,0 }  },
337       {  { 0x0020, "upper"  }, { 0,1,0 }  },
338       {  { 0x0021, "upper"  }, { 0,1,0 }  },
339       {  { 0x002F, "upper"  }, { 0,1,0 }  },
340       {  { 0x0030, "upper"  }, { 0,1,0 }  },
341       {  { 0x0039, "upper"  }, { 0,1,0 }  },
342       {  { 0x003A, "upper"  }, { 0,1,0 }  },
343       {  { 0x0040, "upper"  }, { 0,1,0 }  },
344       {  { 0x0041, "upper"  }, { 0,0,0 }  },
345       {  { 0x005A, "upper"  }, { 0,0,0 }  },
346       {  { 0x005B, "upper"  }, { 0,1,0 }  },
347       {  { 0x0060, "upper"  }, { 0,1,0 }  },
348       {  { 0x0061, "upper"  }, { 0,1,0 }  },
349       {  { 0x007A, "upper"  }, { 0,1,0 }  },
350       {  { 0x007B, "upper"  }, { 0,1,0 }  },
351       {  { 0x007E, "upper"  }, { 0,1,0 }  },
352       {  { 0x007F, "upper"  }, { 0,1,0 }  },
353       {  { 0x0080, "upper"  }, { 0,1,0 }  },
354       {  { 0x0000, "xdigit" }, { 0,1,0 }  },
355       {  { 0x001F, "xdigit" }, { 0,1,0 }  },
356       {  { 0x0020, "xdigit" }, { 0,1,0 }  },
357       {  { 0x0021, "xdigit" }, { 0,1,0 }  },
358       {  { 0x002F, "xdigit" }, { 0,1,0 }  },
359       {  { 0x0030, "xdigit" }, { 0,0,0 }  },
360       {  { 0x0039, "xdigit" }, { 0,0,0 }  },
361       {  { 0x003A, "xdigit" }, { 0,1,0 }  },
362       {  { 0x0040, "xdigit" }, { 0,1,0 }  },
363       {  { 0x0041, "xdigit" }, { 0,0,0 }  },
364       {  { 0x005A, "xdigit" }, { 0,1,0 }  },
365       {  { 0x005B, "xdigit" }, { 0,1,0 }  },
366       {  { 0x0060, "xdigit" }, { 0,1,0 }  },
367       {  { 0x0061, "xdigit" }, { 0,0,0 }  },
368       {  { 0x007A, "xdigit" }, { 0,1,0 }  },
369       {  { 0x007B, "xdigit" }, { 0,1,0 }  },
370       {  { 0x007E, "xdigit" }, { 0,1,0 }  },
371       {  { 0x007F, "xdigit" }, { 0,1,0 }  },
372       {  { 0x0080, "xdigit" }, { 0,1,0 }  },
373       {  { 0x0061, "xxxxxx" }, { 0,1,0 }  },
374       { .is_last = 1 }
375     }
376   },
377   {
378     { Tiswctype, TST_LOC_eucJP },
379     {
380       {  { 0x3029, "alnum"  }, { 0,0,0 }  },       /* Hangzhou NUM9      */
381       {  { 0xFE4F, "alnum"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
382       {  { 0xFF19, "alnum"  }, { 0,0,0 }  },       /* FULL 9             */
383       {  { 0xFF20, "alnum"  }, { 0,1,0 }  },       /* FULL @             */
384       {  { 0xFF3A, "alnum"  }, { 0,0,0 }  },       /* FULL Z             */
385       {  { 0xFF40, "alnum"  }, { 0,1,0 }  },       /* FULL GRAVE ACC.    */
386       {  { 0xFF5A, "alnum"  }, { 0,0,0 }  },       /* FULL z             */
387       {  { 0xFF71, "alnum"  }, { 0,0,0 }  },       /* HALF KATA A        */
388       {  { 0x3029, "alpha"  }, { 0,0,0 }  },       /* Hangzhou NUM9      */
389       {  { 0xFE4F, "alpha"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
390       {  { 0xFF19, "alpha"  }, { 0,0,0 }  },       /* FULL 9             */
391       {  { 0xFF20, "alpha"  }, { 0,1,0 }  },       /* FULL @             */
392       {  { 0xFF3A, "alpha"  }, { 0,0,0 }  },       /* FULL Z             */
393       {  { 0xFF40, "alpha"  }, { 0,1,0 }  },       /* FULL GRAVE ACC.    */
394       {  { 0xFF5A, "alpha"  }, { 0,0,0 }  },       /* FULL z             */
395       {  { 0xFF71, "alpha"  }, { 0,0,0 }  },       /* HALF KATA A        */
396       {  { 0x0080, "cntrl"  }, { 0,0,0 }  },       /* CNTRL              */
397       {  { 0x3000, "cntrl"  }, { 0,1,0 }  },       /* IDEO. SPACE        */
398       {  { 0x3029, "digit"  }, { 0,1,0 }  },       /* Hangzhou NUM9      */
399       {  { 0x32CB, "digit"  }, { 0,1,0 }  },       /* IDEO.TEL.SYM.DEC12 */
400       /* 21: */
401       {  { 0x33FE, "digit"  }, { 0,1,0 }  },       /* CJK IDEO.TEL.31th  */
402       {  { 0xFF19, "digit"  }, { 0,1,0 }  },       /* FULL 9             */
403       {  { 0x3000, "graph"  }, { 0,1,0 }  },       /* IDEO. SPACE        */
404       {  { 0x3020, "graph"  }, { 0,0,0 }  },       /* POSTAL MARK FACE   */
405       {  { 0x3029, "graph"  }, { 0,0,0 }  },       /* Hangzhou NUM9      */
406       {  { 0x302F, "graph"  }, { 0,0,0 }  },       /* Diacritics(Hangul) */
407       {  { 0x3037, "graph"  }, { 0,0,0 }  },       /* Separator Symbol   */
408       {  { 0x303F, "graph"  }, { 0,0,0 }  },       /* IDEO. HALF SPACE   */
409       /* 29: */
410       {  { 0x3041, "graph"  }, { 0,0,0 }  },       /* HIRAGANA a         */
411       /* Non jis: */
412       {  { 0x3094, "graph"  }, { 0,0,0 }  },       /* HIRAGANA u"        */
413       /* Non jis: */
414       {  { 0x3099, "graph"  }, { 0,0,0 }  },       /* SOUND MARK         */
415       {  { 0x309E, "graph"  }, { 0,0,0 }  },       /* ITERATION MARK     */
416       /* 33: */
417       {  { 0x30A1, "graph"  }, { 0,0,0 }  },       /* KATAKANA a         */
418       /* Non jis: */
419       {  { 0x30FA, "graph"  }, { 0,0,0 }  },       /* KATAKANA wo"       */
420       {  { 0x30FB, "graph"  }, { 0,0,0 }  },       /* KATAKANA MID.DOT   */
421       {  { 0x30FE, "graph"  }, { 0,0,0 }  },       /* KATAKANA ITERATION */
422       {  { 0x3191, "graph"  }, { 0,0,0 }  },       /* KANBUN REV.MARK    */
423       {  { 0x3243, "graph"  }, { 0,0,0 }  },       /* IDEO. MARK (reach) */
424       {  { 0x32CB, "graph"  }, { 0,0,0 }  },       /* IDEO.TEL.SYM.DEC12 */
425       {  { 0x32FE, "graph"  }, { 0,0,0 }  },       /* MARU KATAKANA wo   */
426       {  { 0x33FE, "graph"  }, { 0,0,0 }  },       /* CJK IDEO.TEL.31th  */
427       {  { 0x4E00, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
428       {  { 0x4E05, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
429       {  { 0x4E06, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.NON-J */
430       {  { 0x4E07, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
431       {  { 0x4FFF, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
432       {  { 0x9000, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
433       {  { 0x9006, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
434       {  { 0x9007, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.NON-J */
435       {  { 0x9FA4, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.NON-J */
436       /* 51 */
437       {  { 0x9FA5, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
438       /* Non jis: */
439       {  { 0xFE4F, "graph"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
440       {  { 0xFF0F, "graph"  }, { 0,0,0 }  },       /* FULL SLASH         */
441       {  { 0xFF19, "graph"  }, { 0,0,0 }  },       /* FULL 9             */
442       {  { 0xFF20, "graph"  }, { 0,0,0 }  },       /* FULL @             */
443       {  { 0xFF3A, "graph"  }, { 0,0,0 }  },       /* FULL Z             */
444       {  { 0xFF40, "graph"  }, { 0,0,0 }  },       /* FULL GRAVE ACC.    */
445       {  { 0xFF5A, "graph"  }, { 0,0,0 }  },       /* FULL z             */
446       {  { 0xFF5E, "graph"  }, { 0,0,0 }  },       /* FULL ~ (tilde)     */
447       {  { 0xFF61, "graph"  }, { 0,0,0 }  },       /* HALF IDEO.STOP. .  */
448       {  { 0xFF65, "graph"  }, { 0,0,0 }  },       /* HALF KATA MID.DOT  */
449       {  { 0xFF66, "graph"  }, { 0,0,0 }  },       /* HALF KATA WO       */
450       {  { 0xFF6F, "graph"  }, { 0,0,0 }  },       /* HALF KATA tu       */
451       {  { 0xFF70, "graph"  }, { 0,0,0 }  },       /* HALF KATA PL -     */
452       {  { 0xFF71, "graph"  }, { 0,0,0 }  },       /* HALF KATA A        */
453       {  { 0xFF9E, "graph"  }, { 0,0,0 }  },       /* HALF KATA MI       */
454       {  { 0x3000, "print"  }, { 0,0,0 }  },       /* IDEO. SPACE        */
455       {  { 0x3020, "print"  }, { 0,0,0 }  },       /* POSTAL MARK FACE   */
456       {  { 0x3029, "print"  }, { 0,0,0 }  },       /* Hangzhou NUM9      */
457       {  { 0x302F, "print"  }, { 0,0,0 }  },       /* Diacritics(Hangul) */
458       {  { 0x3037, "print"  }, { 0,0,0 }  },       /* Separator Symbol   */
459       {  { 0x4E00, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
460       {  { 0x4E05, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
461       {  { 0x4E06, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.NON-J */
462       {  { 0x4E07, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
463       {  { 0x4FFF, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
464       {  { 0x9000, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
465       {  { 0x9006, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
466       {  { 0x9007, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.NON-J */
467       {  { 0x9FA4, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.NON-J */
468       /* 81: */
469       {  { 0x9FA5, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
470       /* Non jis: */
471       {  { 0xFE4F, "print"  }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
472       {  { 0x3000, "punct"  }, { 0,1,0 }  },       /* IDEO. SPACE        */
473       {  { 0x3020, "punct"  }, { 0,0,0 }  },       /* POSTAL MARK FACE   */
474       {  { 0x302F, "punct"  }, { 0,0,0 }  },       /* Diacritics(Hangul) */
475       {  { 0x3037, "punct"  }, { 0,0,0 }  },       /* FEED Separator     */
476       {  { 0x303F, "punct"  }, { 0,0,0 }  },       /* IDEO. HALF SPACE   */
477       {  { 0x3041, "punct"  }, { 0,1,0 }  },       /* HIRAGANA a         */
478       {  { 0x3094, "punct"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
479       /* 90: */
480       {  { 0x3099, "punct"  }, { 0,0,0 }  },       /* SOUND MARK         */
481       {  { 0x309E, "punct"  }, { 0,1,0 }  },       /* ITERATION MARK     */
482       {  { 0x30A1, "punct"  }, { 0,1,0 }  },       /* KATAKANA a         */
483       {  { 0x30FA, "punct"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
484       {  { 0x30FB, "punct"  }, { 0,0,0 }  },       /* KATAKANA MID.DOT   */
485       /* 95: */
486       {  { 0x30FE, "punct"  }, { 0,1,0 }  },       /* KATAKANA ITERATION */
487       {  { 0x3191, "punct"  }, { 0,0,0 }  },       /* KANBUN REV.MARK    */
488       {  { 0x3243, "punct"  }, { 0,0,0 }  },       /* IDEO. MARK (reach) */
489       {  { 0x32CB, "punct"  }, { 0,0,0 }  },       /* IDEO.TEL.SYM.DEC12 */
490       {  { 0x32FE, "punct"  }, { 0,0,0 }  },       /* MARU KATAKANA wo   */
491       {  { 0x33FE, "punct"  }, { 0,0,0 }  },       /* CJK IDEO.TEL.31th  */
492       {  { 0x9007, "punct"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
493       {  { 0x9FA4, "punct"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
494       {  { 0x9FA5, "punct"  }, { 0,1,0 }  },       /* CJK UNI.IDEO.      */
495       {  { 0xFF0F, "punct"  }, { 0,0,0 }  },       /* FULL SLASH         */
496       /* 105: */
497       {  { 0xFF19, "punct"  }, { 0,1,0 }  },       /* FULL 9             */
498       {  { 0xFF20, "punct"  }, { 0,0,0 }  },       /* FULL @             */
499       {  { 0xFF3A, "punct"  }, { 0,1,0 }  },       /* FULL Z             */
500       {  { 0xFF40, "punct"  }, { 0,0,0 }  },       /* FULL GRAVE ACC.    */
501       {  { 0xFF5A, "punct"  }, { 0,1,0 }  },       /* FULL z             */
502       {  { 0xFF5E, "punct"  }, { 0,0,0 }  },       /* FULL ~ (tilde)     */
503       {  { 0xFF61, "punct"  }, { 0,0,0 }  },       /* HALF IDEO.STOP. .  */
504       {  { 0xFF65, "punct"  }, { 0,0,0 }  },       /* HALF KATA MID.DOT  */
505       {  { 0xFF70, "punct"  }, { 0,1,0 }  },       /* HALF KATA PL -     */
506       {  { 0xFF9E, "punct"  }, { 0,1,0 }  },       /* HALF KATA MI       */
507       /* 115: */
508       {  { 0x3000, "space"  }, { 0,0,0 }  },       /* IDEO. SPACE        */
509       {  { 0x303F, "space"  }, { 0,1,0 }  },       /* IDEO. HALF SPACE   */
510       {  { 0x3041, "lower"  }, { 0,1,0 }  },       /* HIRAGANA a         */
511       {  { 0x3094, "lower"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
512       {  { 0x30A1, "lower"  }, { 0,1,0 }  },       /* KATAKANA a         */
513       {  { 0x30FA, "lower"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
514       {  { 0xFF66, "lower"  }, { 0,1,0 }  },       /* HALF KATA WO       */
515       {  { 0xFF6F, "lower"  }, { 0,1,0 }  },       /* HALF KATA tu       */
516       {  { 0xFF70, "lower"  }, { 0,1,0 }  },       /* HALF KATA PL -     */
517       /* 124: */
518       {  { 0xFF71, "lower"  }, { 0,1,0 }  },       /* HALF KATA A        */
519       {  { 0xFF9E, "lower"  }, { 0,1,0 }  },       /* HALF KATA MI       */
520       {  { 0xFF71, "upper"  }, { 0,1,0 }  },       /* HALF KATA A        */
521       {  { 0xFF19, "xdigit" }, { 0,1,0 }  },       /* FULL 9             */
522       {  { 0x3000, "jspace" }, { 0,0,0 }  },       /* IDEO. SPACE        */
523       /* Non jis? */
524       {  { 0x303F, "jspace" }, { 0,1,0 }  },       /* IDEO.HALF SPACE    */
525       {  { 0xFF19, "jdigit" }, { 0,0,0 }  },       /* FULL 9             */
526       {  { 0x3041, "jhira"  }, { 0,0,0 }  },       /* HIRAGANA a         */
527       {  { 0x3094, "jhira"  }, { 0,1,0 }  },       /* HIRAGANA u"        */
528       {  { 0x30A1, "jkata"  }, { 0,0,0 }  },       /* KATAKANA a         */
529       /* Non jis: */
530       {  { 0x30FA, "jkata"  }, { 0,1,0 }  },       /* KATAKANA wo"       */
531       {  { 0xFF66, "jkata"  }, { 0,0,0 }  },       /* HALF KATA WO       */
532       {  { 0xFF6F, "jkata"  }, { 0,0,0 }  },       /* HALF KATA tu       */
533       {  { 0x4E05, "jkanji" }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
534       /* XXX This character does not exist in EUC-JP.  */
535       {  { 0x4E06, "jkanji" }, { 0,1,0 }  },       /* CJK UNI.IDEO.NON-J */
536       {  { 0x4E07, "jkanji" }, { 0,0,0 }  },       /* CJK UNI.IDEO.      */
537       { .is_last = 1 }
538     }
539   },
540   {
541     { Tiswctype, TST_LOC_end }
542   }
543 };
544
545
546 /* dat_isw-funcs.c */