xref: /netbsd-src/lib/libc/locale/runetable.c (revision 2933c534644848bf783a67fcb47a7e3e913f8ad2)
1*2933c534Sjoerg /*	$NetBSD: runetable.c,v 1.29 2013/08/18 20:03:48 joerg Exp $	*/
2408f4697Sitojun 
3408f4697Sitojun /*-
4408f4697Sitojun  * Copyright (c) 1993
5408f4697Sitojun  *	The Regents of the University of California.  All rights reserved.
6408f4697Sitojun  *
7408f4697Sitojun  * This code is derived from software contributed to Berkeley by
8408f4697Sitojun  * Paul Borman at Krystal Technologies.
9408f4697Sitojun  *
10408f4697Sitojun  * Redistribution and use in source and binary forms, with or without
11408f4697Sitojun  * modification, are permitted provided that the following conditions
12408f4697Sitojun  * are met:
13408f4697Sitojun  * 1. Redistributions of source code must retain the above copyright
14408f4697Sitojun  *    notice, this list of conditions and the following disclaimer.
15408f4697Sitojun  * 2. Redistributions in binary form must reproduce the above copyright
16408f4697Sitojun  *    notice, this list of conditions and the following disclaimer in the
17408f4697Sitojun  *    documentation and/or other materials provided with the distribution.
18eb7c1594Sagc  * 3. Neither the name of the University nor the names of its contributors
19408f4697Sitojun  *    may be used to endorse or promote products derived from this software
20408f4697Sitojun  *    without specific prior written permission.
21408f4697Sitojun  *
22408f4697Sitojun  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23408f4697Sitojun  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24408f4697Sitojun  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25408f4697Sitojun  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26408f4697Sitojun  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27408f4697Sitojun  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28408f4697Sitojun  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29408f4697Sitojun  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30408f4697Sitojun  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31408f4697Sitojun  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32408f4697Sitojun  * SUCH DAMAGE.
33408f4697Sitojun  *
34408f4697Sitojun  * $FreeBSD: src/lib/libc/locale/table.c,v 1.13 2000/02/08 07:43:25 obrien Exp $
35408f4697Sitojun  */
36408f4697Sitojun 
37408f4697Sitojun #include <sys/cdefs.h>
38408f4697Sitojun #if defined(LIBC_SCCS) && !defined(lint)
39408f4697Sitojun #if 0
40408f4697Sitojun static char sccsid[] = "@(#)table.c	8.1 (Berkeley) 6/27/93";
41408f4697Sitojun #else
42*2933c534Sjoerg __RCSID("$NetBSD: runetable.c,v 1.29 2013/08/18 20:03:48 joerg Exp $");
43408f4697Sitojun #endif
44408f4697Sitojun #endif /* LIBC_SCCS and not lint */
45408f4697Sitojun 
469a35d797Stnozaki #include <sys/types.h>
4764a7d4faStnozaki #include <assert.h>
48326ed368Stshiozak #include <wchar.h>
4964a7d4faStnozaki 
5052ed7b03Stnozaki #include "citrus_module.h"
5152ed7b03Stnozaki #include "citrus_ctype.h"
522a7af30cStnozaki #include "runetype_local.h"
53408f4697Sitojun 
54*2933c534Sjoerg __dso_hidden const _RuneLocale _DefaultRuneLocale = {
55fd847aaaStnozaki     {	/*00*/	_RUNETYPE_C,
56fd847aaaStnozaki 		_RUNETYPE_C,
57fd847aaaStnozaki 		_RUNETYPE_C,
58fd847aaaStnozaki 		_RUNETYPE_C,
59fd847aaaStnozaki 		_RUNETYPE_C,
60fd847aaaStnozaki 		_RUNETYPE_C,
61fd847aaaStnozaki 		_RUNETYPE_C,
62fd847aaaStnozaki 		_RUNETYPE_C,
63fd847aaaStnozaki 	/*08*/	_RUNETYPE_C,
64fd847aaaStnozaki 		_RUNETYPE_C|_RUNETYPE_S|_RUNETYPE_B,
65fd847aaaStnozaki 		_RUNETYPE_C|_RUNETYPE_S,
66fd847aaaStnozaki 		_RUNETYPE_C|_RUNETYPE_S,
67fd847aaaStnozaki 		_RUNETYPE_C|_RUNETYPE_S,
68fd847aaaStnozaki 		_RUNETYPE_C|_RUNETYPE_S,
69fd847aaaStnozaki 		_RUNETYPE_C,
70fd847aaaStnozaki 		_RUNETYPE_C,
71fd847aaaStnozaki 	/*10*/	_RUNETYPE_C,
72fd847aaaStnozaki 		_RUNETYPE_C,
73fd847aaaStnozaki 		_RUNETYPE_C,
74fd847aaaStnozaki 		_RUNETYPE_C,
75fd847aaaStnozaki 		_RUNETYPE_C,
76fd847aaaStnozaki 		_RUNETYPE_C,
77fd847aaaStnozaki 		_RUNETYPE_C,
78fd847aaaStnozaki 		_RUNETYPE_C,
79fd847aaaStnozaki 	/*18*/	_RUNETYPE_C,
80fd847aaaStnozaki 		_RUNETYPE_C,
81fd847aaaStnozaki 		_RUNETYPE_C,
82fd847aaaStnozaki 		_RUNETYPE_C,
83fd847aaaStnozaki 		_RUNETYPE_C,
84fd847aaaStnozaki 		_RUNETYPE_C,
85fd847aaaStnozaki 		_RUNETYPE_C,
86fd847aaaStnozaki 		_RUNETYPE_C,
87fd847aaaStnozaki 	/*20*/	_RUNETYPE_S|_RUNETYPE_B|_RUNETYPE_R|_RUNETYPE_SW1,
88fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
89fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
90fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
91fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
92fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
93fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
94fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
95fd847aaaStnozaki 	/*28*/	_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
96fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
97fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
98fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
99fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
100fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
101fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
102fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
103fd847aaaStnozaki 	/*30*/	_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|0,
104fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|1,
105fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|2,
106fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|3,
107fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|4,
108fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|5,
109fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|6,
110fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|7,
111fd847aaaStnozaki 	/*38*/	_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|8,
112fd847aaaStnozaki 		_RUNETYPE_D|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_X|_RUNETYPE_SW1|9,
113fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
114fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
115fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
116fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
117fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
118fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
119fd847aaaStnozaki 	/*40*/	_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
120fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|10,
121fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|11,
122fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|12,
123fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|13,
124fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|14,
125fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|15,
126fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
127fd847aaaStnozaki 	/*48*/	_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
128fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
129fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
130fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
131fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
132fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
133fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
134fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
135fd847aaaStnozaki 	/*50*/	_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
136fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
137fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
138fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
139fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
140fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
141fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
142fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
143fd847aaaStnozaki 	/*58*/	_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
144fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
145fd847aaaStnozaki 		_RUNETYPE_U|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
146fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
147fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
148fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
149fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
150fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
151fd847aaaStnozaki 	/*60*/	_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
152fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|10,
153fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|11,
154fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|12,
155fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|13,
156fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|14,
157fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_X|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1|15,
158fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
159fd847aaaStnozaki 	/*68*/	_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
160fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
161fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
162fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
163fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
164fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
165fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
166fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
167fd847aaaStnozaki 	/*70*/	_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
168fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
169fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
170fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
171fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
172fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
173fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
174fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
175fd847aaaStnozaki 	/*78*/	_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
176fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
177fd847aaaStnozaki 		_RUNETYPE_L|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_A|_RUNETYPE_SW1,
178fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
179fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
180fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
181fd847aaaStnozaki 		_RUNETYPE_P|_RUNETYPE_R|_RUNETYPE_G|_RUNETYPE_SW1,
182fd847aaaStnozaki 		_RUNETYPE_C,
183c607cb21Smartin #ifdef ALL_80_TO_FF_SW1
184fd847aaaStnozaki 	/*80*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
185fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
186fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
187fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
188fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
189fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
190fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
191fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
192fd847aaaStnozaki 	/*90*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
193fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
194fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
195fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
196fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
197fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
198fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
199fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
200fd847aaaStnozaki 	/*A0*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
201fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
202fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
203fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
204fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
205fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
206fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
207fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
208fd847aaaStnozaki 	/*B0*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
209fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
210fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
211fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
212fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
213fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
214fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
215fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
216fd847aaaStnozaki 	/*C0*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
217fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
218fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
219fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
220fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
221fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
222fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
223fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
224fd847aaaStnozaki 	/*D0*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
225fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
226fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
227fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
228fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
229fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
230fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
231fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
232fd847aaaStnozaki 	/*E0*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
233fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
234fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
235fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
236fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
237fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
238fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
239fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
240fd847aaaStnozaki 	/*F0*/	_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
241fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
242fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
243fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
244fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
245fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
246fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
247fd847aaaStnozaki 		_RUNETYPE_R|_RUNETYPE_SW1, _RUNETYPE_R|_RUNETYPE_SW1,
248c607cb21Smartin #endif
249408f4697Sitojun     },
250408f4697Sitojun     {	0x00,	0x01,	0x02,	0x03,	0x04,	0x05,	0x06,	0x07,
251408f4697Sitojun      	0x08,	0x09,	0x0a,	0x0b,	0x0c,	0x0d,	0x0e,	0x0f,
252408f4697Sitojun 	0x10,	0x11,	0x12,	0x13,	0x14,	0x15,	0x16,	0x17,
253408f4697Sitojun      	0x18,	0x19,	0x1a,	0x1b,	0x1c,	0x1d,	0x1e,	0x1f,
254408f4697Sitojun 	0x20,	0x21,	0x22,	0x23,	0x24,	0x25,	0x26,	0x27,
255408f4697Sitojun      	0x28,	0x29,	0x2a,	0x2b,	0x2c,	0x2d,	0x2e,	0x2f,
256408f4697Sitojun 	0x30,	0x31,	0x32,	0x33,	0x34,	0x35,	0x36,	0x37,
257408f4697Sitojun      	0x38,	0x39,	0x3a,	0x3b,	0x3c,	0x3d,	0x3e,	0x3f,
258408f4697Sitojun 	0x40,	'a',	'b',	'c',	'd',	'e',	'f',	'g',
259408f4697Sitojun      	'h',	'i',	'j',	'k',	'l',	'm',	'n',	'o',
260408f4697Sitojun 	'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
261408f4697Sitojun      	'x',	'y',	'z',	0x5b,	0x5c,	0x5d,	0x5e,	0x5f,
262408f4697Sitojun 	0x60,	'a',	'b',	'c',	'd',	'e',	'f',	'g',
263408f4697Sitojun      	'h',	'i',	'j',	'k',	'l',	'm',	'n',	'o',
264408f4697Sitojun 	'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
265408f4697Sitojun      	'x',	'y',	'z',	0x7b,	0x7c,	0x7d,	0x7e,	0x7f,
266408f4697Sitojun 	0x80,	0x81,	0x82,	0x83,	0x84,	0x85,	0x86,	0x87,
267408f4697Sitojun      	0x88,	0x89,	0x8a,	0x8b,	0x8c,	0x8d,	0x8e,	0x8f,
268408f4697Sitojun 	0x90,	0x91,	0x92,	0x93,	0x94,	0x95,	0x96,	0x97,
269408f4697Sitojun      	0x98,	0x99,	0x9a,	0x9b,	0x9c,	0x9d,	0x9e,	0x9f,
270408f4697Sitojun 	0xa0,	0xa1,	0xa2,	0xa3,	0xa4,	0xa5,	0xa6,	0xa7,
271408f4697Sitojun      	0xa8,	0xa9,	0xaa,	0xab,	0xac,	0xad,	0xae,	0xaf,
272408f4697Sitojun 	0xb0,	0xb1,	0xb2,	0xb3,	0xb4,	0xb5,	0xb6,	0xb7,
273408f4697Sitojun      	0xb8,	0xb9,	0xba,	0xbb,	0xbc,	0xbd,	0xbe,	0xbf,
274408f4697Sitojun 	0xc0,	0xc1,	0xc2,	0xc3,	0xc4,	0xc5,	0xc6,	0xc7,
275408f4697Sitojun      	0xc8,	0xc9,	0xca,	0xcb,	0xcc,	0xcd,	0xce,	0xcf,
276408f4697Sitojun 	0xd0,	0xd1,	0xd2,	0xd3,	0xd4,	0xd5,	0xd6,	0xd7,
277408f4697Sitojun      	0xd8,	0xd9,	0xda,	0xdb,	0xdc,	0xdd,	0xde,	0xdf,
278408f4697Sitojun 	0xe0,	0xe1,	0xe2,	0xe3,	0xe4,	0xe5,	0xe6,	0xe7,
279408f4697Sitojun      	0xe8,	0xe9,	0xea,	0xeb,	0xec,	0xed,	0xee,	0xef,
280408f4697Sitojun 	0xf0,	0xf1,	0xf2,	0xf3,	0xf4,	0xf5,	0xf6,	0xf7,
281408f4697Sitojun      	0xf8,	0xf9,	0xfa,	0xfb,	0xfc,	0xfd,	0xfe,	0xff,
282408f4697Sitojun     },
283408f4697Sitojun     {	0x00,	0x01,	0x02,	0x03,	0x04,	0x05,	0x06,	0x07,
284408f4697Sitojun      	0x08,	0x09,	0x0a,	0x0b,	0x0c,	0x0d,	0x0e,	0x0f,
285408f4697Sitojun 	0x10,	0x11,	0x12,	0x13,	0x14,	0x15,	0x16,	0x17,
286408f4697Sitojun      	0x18,	0x19,	0x1a,	0x1b,	0x1c,	0x1d,	0x1e,	0x1f,
287408f4697Sitojun 	0x20,	0x21,	0x22,	0x23,	0x24,	0x25,	0x26,	0x27,
288408f4697Sitojun      	0x28,	0x29,	0x2a,	0x2b,	0x2c,	0x2d,	0x2e,	0x2f,
289408f4697Sitojun 	0x30,	0x31,	0x32,	0x33,	0x34,	0x35,	0x36,	0x37,
290408f4697Sitojun      	0x38,	0x39,	0x3a,	0x3b,	0x3c,	0x3d,	0x3e,	0x3f,
291408f4697Sitojun 	0x40,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
292408f4697Sitojun      	'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
293408f4697Sitojun 	'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
294408f4697Sitojun      	'X',	'Y',	'Z',	0x5b,	0x5c,	0x5d,	0x5e,	0x5f,
295408f4697Sitojun 	0x60,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
296408f4697Sitojun      	'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
297408f4697Sitojun 	'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
298408f4697Sitojun      	'X',	'Y',	'Z',	0x7b,	0x7c,	0x7d,	0x7e,	0x7f,
299408f4697Sitojun 	0x80,	0x81,	0x82,	0x83,	0x84,	0x85,	0x86,	0x87,
300408f4697Sitojun      	0x88,	0x89,	0x8a,	0x8b,	0x8c,	0x8d,	0x8e,	0x8f,
301408f4697Sitojun 	0x90,	0x91,	0x92,	0x93,	0x94,	0x95,	0x96,	0x97,
302408f4697Sitojun      	0x98,	0x99,	0x9a,	0x9b,	0x9c,	0x9d,	0x9e,	0x9f,
303408f4697Sitojun 	0xa0,	0xa1,	0xa2,	0xa3,	0xa4,	0xa5,	0xa6,	0xa7,
304408f4697Sitojun      	0xa8,	0xa9,	0xaa,	0xab,	0xac,	0xad,	0xae,	0xaf,
305408f4697Sitojun 	0xb0,	0xb1,	0xb2,	0xb3,	0xb4,	0xb5,	0xb6,	0xb7,
306408f4697Sitojun      	0xb8,	0xb9,	0xba,	0xbb,	0xbc,	0xbd,	0xbe,	0xbf,
307408f4697Sitojun 	0xc0,	0xc1,	0xc2,	0xc3,	0xc4,	0xc5,	0xc6,	0xc7,
308408f4697Sitojun      	0xc8,	0xc9,	0xca,	0xcb,	0xcc,	0xcd,	0xce,	0xcf,
309408f4697Sitojun 	0xd0,	0xd1,	0xd2,	0xd3,	0xd4,	0xd5,	0xd6,	0xd7,
310408f4697Sitojun      	0xd8,	0xd9,	0xda,	0xdb,	0xdc,	0xdd,	0xde,	0xdf,
311408f4697Sitojun 	0xe0,	0xe1,	0xe2,	0xe3,	0xe4,	0xe5,	0xe6,	0xe7,
312408f4697Sitojun      	0xe8,	0xe9,	0xea,	0xeb,	0xec,	0xed,	0xee,	0xef,
313408f4697Sitojun 	0xf0,	0xf1,	0xf2,	0xf3,	0xf4,	0xf5,	0xf6,	0xf7,
314408f4697Sitojun      	0xf8,	0xf9,	0xfa,	0xfb,	0xfc,	0xfd,	0xfe,	0xff,
315408f4697Sitojun     },
316408f4697Sitojun     { 0, NULL },
317408f4697Sitojun     { 0, NULL },
318408f4697Sitojun     { 0, NULL },
319408f4697Sitojun     NULL, 0,
320dc7d18ffStshiozak     "646",
321dc7d18ffStshiozak     &_citrus_ctype_default,
32231e2cbf0Stshiozak     {
323db741099Stnozaki 	{   "towlower",
324db741099Stnozaki 	    __UNCONST(&_DefaultRuneLocale.rl_maplower[0]),
325db741099Stnozaki 	    __UNCONST(&_DefaultRuneLocale.rl_maplower_ext)
326db741099Stnozaki 	},
327db741099Stnozaki 	{   "towupper",
328db741099Stnozaki 	    __UNCONST(&_DefaultRuneLocale.rl_mapupper[0]),
329db741099Stnozaki 	    __UNCONST(&_DefaultRuneLocale.rl_mapupper_ext)
330db741099Stnozaki 	},
33131e2cbf0Stshiozak     },
33231e2cbf0Stshiozak     {
333fd847aaaStnozaki 	    { "alnum", _RUNETYPE_A|_RUNETYPE_D },
334fd847aaaStnozaki 	    { "alpha", _RUNETYPE_A },
335fd847aaaStnozaki 	    { "blank", _RUNETYPE_B },
336fd847aaaStnozaki 	    { "cntrl", _RUNETYPE_C },
337fd847aaaStnozaki 	    { "digit", _RUNETYPE_D },
338fd847aaaStnozaki 	    { "graph", _RUNETYPE_G },
339fd847aaaStnozaki 	    { "lower", _RUNETYPE_L },
340fd847aaaStnozaki 	    { "print", _RUNETYPE_R },
341fd847aaaStnozaki 	    { "punct", _RUNETYPE_P },
342fd847aaaStnozaki 	    { "space", _RUNETYPE_S },
343fd847aaaStnozaki 	    { "upper", _RUNETYPE_U },
344fd847aaaStnozaki 	    { "xdigit", _RUNETYPE_X },
345059d6005Stnozaki     },
346e8fa8f4dSjoerg     _C_ctype_tab_,
347e8fa8f4dSjoerg     _C_tolower_tab_,
348e8fa8f4dSjoerg     _C_toupper_tab_,
349e8fa8f4dSjoerg 
350e8fa8f4dSjoerg #ifdef __BUILD_LEGACY
351e8fa8f4dSjoerg     _C_compat_bsdctype,
352e8fa8f4dSjoerg #endif
353408f4697Sitojun };
354