1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/*
* Character class tables.
* Do it yourself character classification
* macros, that understand the multinational character set,
* and let me ask some questions the standard macros (in
* ctype.h) don't let you ask.
*/
#include "def.h"
/*
* This table, indexed by a character drawn
* from the 256 member character set, is used by my
* own character type macros to answer questions about the
* type of a character. It handles the full multinational
* character set, and lets me ask some questions that the
* standard "ctype" macros cannot ask.
*/
char cinfo[256] =
{
_C, _C, _C, _C, /* 0x0X */
_C, _C, _C, _C,
_C, _C, _C, _C,
_C, _C, _C, _C,
_C, _C, _C, _C, /* 0x1X */
_C, _C, _C, _C,
_C, _C, _C, _C,
_C, _C, _C, _C,
0, 0, 0, 0, /* 0x2X */
_W, 0, 0, _W,
0, 0, 0, 0,
0, 0, 0, 0,
_W, _W, _W, _W, /* 0x3X */
_W, _W, _W, _W,
_W, _W, 0, 0,
0, 0, 0, 0,
0, _U | _W, _U | _W, _U | _W, /* 0x4X */
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, _U | _W, /* 0x5X */
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, 0,
0, 0, 0, _W,
0, _L | _W, _L | _W, _L | _W, /* 0x6X */
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, _L | _W, /* 0x7X */
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, 0,
0, 0, 0, _C,
0, 0, 0, 0, /* 0x8X */
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0, /* 0x9X */
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0, /* 0xAX */
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0, /* 0xBX */
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
_U | _W, _U | _W, _U | _W, _U | _W, /* 0xCX */
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, _U | _W,
0, _U | _W, _U | _W, _U | _W, /* 0xDX */
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, _U | _W, _U | _W,
_U | _W, _U | _W, 0, _W,
_L | _W, _L | _W, _L | _W, _L | _W, /* 0xEX */
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, _L | _W,
0, _L | _W, _L | _W, _L | _W, /* 0xFX */
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, _L | _W, _L | _W,
_L | _W, _L | _W, 0, 0
};
|