xref: /original-bsd/lib/libc/locale/table.c (revision 3705696b)
1 /*-
2  * Copyright (c) 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Paul Borman at Krystal Technologies.
7  *
8  * %sccs.include.redist.c%
9  */
10 
11 #if defined(LIBC_SCCS) && !defined(lint)
12 static char sccsid[] = "@(#)table.c	8.1 (Berkeley) 06/27/93";
13 #endif /* LIBC_SCCS and not lint */
14 
15 #include <sys/types.h>
16 
17 #include <ctype.h>
18 #include <rune.h>
19 
20 extern rune_t	_none_sgetrune __P((const char *, size_t, char const **));
21 extern int	_none_sputrune __P((rune_t, char *, size_t, char **));
22 extern int	_none_init __P((char *, char **));
23 
24 _RuneLocale _DefaultRuneLocale = {
25     _RUNE_MAGIC_1,
26     "none",
27     _none_sgetrune,
28     _none_sputrune,
29     0xFFFD,
30 
31     {	/*00*/	_C,		_C,		_C,		_C,
32 		_C,		_C,		_C,		_C,
33 	/*08*/	_C,		_C|_S|_B,	_C|_S,		_C|_S,
34 		_C|_S,		_C|_S,		_C,		_C,
35 	/*10*/	_C,		_C,		_C,		_C,
36 		_C,		_C,		_C,		_C,
37 	/*18*/	_C,		_C,		_C,		_C,
38 		_C,		_C,		_C,		_C,
39 	/*20*/	_S|_B|_R,	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,
40 		_P|_R|_G,	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,
41 	/*28*/	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,
42 		_P|_R|_G,	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,
43 	/*30*/	_D|_R|_G|_X|0,	_D|_R|_G|_X|1,	_D|_R|_G|_X|2,	_D|_R|_G|_X|3,
44 		_D|_R|_G|_X|4,	_D|_R|_G|_X|5,	_D|_R|_G|_X|6,	_D|_R|_G|_X|7,
45 	/*38*/	_D|_R|_G|_X|8,	_D|_R|_G|_X|9,	_P|_R|_G,	_P|_R|_G,
46 		_P|_R|_G,	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,
47 	/*40*/	_P|_R|_G, _U|_X|_R|_G|_A|10, _U|_X|_R|_G|_A|11, _U|_X|_R|_G|_A|12,
48 		_U|_X|_R|_G|_A|13, _U|_X|_R|_G|_A|14, _U|_X|_R|_G|_A|15, _U|_R|_G|_A,
49 	/*48*/	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,
50 		_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,
51 	/*50*/	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,
52 		_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,
53 	/*58*/	_U|_R|_G|_A,	_U|_R|_G|_A,	_U|_R|_G|_A,	_P|_R|_G,
54 		_P|_R|_G,	_P|_R|_G,	_P|_R|_G,	_P|_R|_G,
55 	/*60*/	_P|_R|_G, _L|_X|_R|_G|_A|10, _L|_X|_R|_G|_A|11, _L|_X|_R|_G|_A|12,
56 		_L|_X|_R|_G|_A|13, _L|_X|_R|_G|_A|14, _L|_X|_R|_G|_A|15, _L|_R|_G|_A,
57 	/*68*/	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,
58 		_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,
59 	/*70*/	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,
60 		_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,
61 	/*78*/	_L|_R|_G|_A,	_L|_R|_G|_A,	_L|_R|_G|_A,	_P|_R|_G,
62 		_P|_R|_G,	_P|_R|_G,	_P|_R|_G,	_C,
63     },
64     {	0x00,	0x01,	0x02,	0x03,	0x04,	0x05,	0x06,	0x07,
65      	0x08,	0x09,	0x0a,	0x0b,	0x0c,	0x0d,	0x0e,	0x0f,
66 	0x10,	0x11,	0x12,	0x13,	0x14,	0x15,	0x16,	0x17,
67      	0x18,	0x19,	0x1a,	0x1b,	0x1c,	0x1d,	0x1e,	0x1f,
68 	0x20,	0x21,	0x22,	0x23,	0x24,	0x25,	0x26,	0x27,
69      	0x28,	0x29,	0x2a,	0x2b,	0x2c,	0x2d,	0x2e,	0x2f,
70 	0x30,	0x31,	0x32,	0x33,	0x34,	0x35,	0x36,	0x37,
71      	0x38,	0x39,	0x3a,	0x3b,	0x3c,	0x3d,	0x3e,	0x3f,
72 	0x40,	'a',	'b',	'c',	'd',	'e',	'f',	'g',
73      	'h',	'i',	'j',	'k',	'l',	'm',	'n',	'o',
74 	'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
75      	'x',	'y',	'z',	0x5b,	0x5c,	0x5d,	0x5e,	0x5f,
76 	0x60,	'a',	'b',	'c',	'd',	'e',	'f',	'g',
77      	'h',	'i',	'j',	'k',	'l',	'm',	'n',	'o',
78 	'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
79      	'x',	'y',	'z',	0x7b,	0x7c,	0x7d,	0x7e,	0x7f,
80 	0x80,	0x81,	0x82,	0x83,	0x84,	0x85,	0x86,	0x87,
81      	0x88,	0x89,	0x8a,	0x8b,	0x8c,	0x8d,	0x8e,	0x8f,
82 	0x90,	0x91,	0x92,	0x93,	0x94,	0x95,	0x96,	0x97,
83      	0x98,	0x99,	0x9a,	0x9b,	0x9c,	0x9d,	0x9e,	0x9f,
84 	0xa0,	0xa1,	0xa2,	0xa3,	0xa4,	0xa5,	0xa6,	0xa7,
85      	0xa8,	0xa9,	0xaa,	0xab,	0xac,	0xad,	0xae,	0xaf,
86 	0xb0,	0xb1,	0xb2,	0xb3,	0xb4,	0xb5,	0xb6,	0xb7,
87      	0xb8,	0xb9,	0xba,	0xbb,	0xbc,	0xbd,	0xbe,	0xbf,
88 	0xc0,	0xc1,	0xc2,	0xc3,	0xc4,	0xc5,	0xc6,	0xc7,
89      	0xc8,	0xc9,	0xca,	0xcb,	0xcc,	0xcd,	0xce,	0xcf,
90 	0xd0,	0xd1,	0xd2,	0xd3,	0xd4,	0xd5,	0xd6,	0xd7,
91      	0xd8,	0xd9,	0xda,	0xdb,	0xdc,	0xdd,	0xde,	0xdf,
92 	0xe0,	0xe1,	0xe2,	0xe3,	0xe4,	0xe5,	0xe6,	0xe7,
93      	0xe8,	0xe9,	0xea,	0xeb,	0xec,	0xed,	0xee,	0xef,
94 	0xf0,	0xf1,	0xf2,	0xf3,	0xf4,	0xf5,	0xf6,	0xf7,
95      	0xf8,	0xf9,	0xfa,	0xfb,	0xfc,	0xfd,	0xfe,	0xff,
96     },
97     {	0x00,	0x01,	0x02,	0x03,	0x04,	0x05,	0x06,	0x07,
98      	0x08,	0x09,	0x0a,	0x0b,	0x0c,	0x0d,	0x0e,	0x0f,
99 	0x10,	0x11,	0x12,	0x13,	0x14,	0x15,	0x16,	0x17,
100      	0x18,	0x19,	0x1a,	0x1b,	0x1c,	0x1d,	0x1e,	0x1f,
101 	0x20,	0x21,	0x22,	0x23,	0x24,	0x25,	0x26,	0x27,
102      	0x28,	0x29,	0x2a,	0x2b,	0x2c,	0x2d,	0x2e,	0x2f,
103 	0x30,	0x31,	0x32,	0x33,	0x34,	0x35,	0x36,	0x37,
104      	0x38,	0x39,	0x3a,	0x3b,	0x3c,	0x3d,	0x3e,	0x3f,
105 	0x40,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
106      	'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
107 	'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
108      	'X',	'Y',	'Z',	0x5b,	0x5c,	0x5d,	0x5e,	0x5f,
109 	0x60,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
110      	'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
111 	'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
112      	'X',	'Y',	'Z',	0x7b,	0x7c,	0x7d,	0x7e,	0x7f,
113 	0x80,	0x81,	0x82,	0x83,	0x84,	0x85,	0x86,	0x87,
114      	0x88,	0x89,	0x8a,	0x8b,	0x8c,	0x8d,	0x8e,	0x8f,
115 	0x90,	0x91,	0x92,	0x93,	0x94,	0x95,	0x96,	0x97,
116      	0x98,	0x99,	0x9a,	0x9b,	0x9c,	0x9d,	0x9e,	0x9f,
117 	0xa0,	0xa1,	0xa2,	0xa3,	0xa4,	0xa5,	0xa6,	0xa7,
118      	0xa8,	0xa9,	0xaa,	0xab,	0xac,	0xad,	0xae,	0xaf,
119 	0xb0,	0xb1,	0xb2,	0xb3,	0xb4,	0xb5,	0xb6,	0xb7,
120      	0xb8,	0xb9,	0xba,	0xbb,	0xbc,	0xbd,	0xbe,	0xbf,
121 	0xc0,	0xc1,	0xc2,	0xc3,	0xc4,	0xc5,	0xc6,	0xc7,
122      	0xc8,	0xc9,	0xca,	0xcb,	0xcc,	0xcd,	0xce,	0xcf,
123 	0xd0,	0xd1,	0xd2,	0xd3,	0xd4,	0xd5,	0xd6,	0xd7,
124      	0xd8,	0xd9,	0xda,	0xdb,	0xdc,	0xdd,	0xde,	0xdf,
125 	0xe0,	0xe1,	0xe2,	0xe3,	0xe4,	0xe5,	0xe6,	0xe7,
126      	0xe8,	0xe9,	0xea,	0xeb,	0xec,	0xed,	0xee,	0xef,
127 	0xf0,	0xf1,	0xf2,	0xf3,	0xf4,	0xf5,	0xf6,	0xf7,
128      	0xf8,	0xf9,	0xfa,	0xfb,	0xfc,	0xfd,	0xfe,	0xff,
129     },
130 };
131 
132 _RuneLocale *_CurrentRuneLocale = &_DefaultRuneLocale;
133 
134 int __mb_cur_max = 1;
135