version 0.1.0
[fms.git] / src / nntp / mime / MimeChar.cpp
1 //////////////////////////////////////////////////////////////////////\r
2 //\r
3 // MIME Character Classification\r
4 //\r
5 // Jeff Lee\r
6 // Dec 16, 2000\r
7 //\r
8 //////////////////////////////////////////////////////////////////////\r
9 //#include "StdAfx.h"\r
10 #include "../../../include/nntp/mime/MimeChar.h"\r
11 \r
12 const unsigned char CMimeChar::m_aCharTbl[128] =\r
13 {\r
14         CONTROL,                                                // 00 (NUL)\r
15         CONTROL,                                                // 01 (SOH)\r
16         CONTROL,                                                // 02 (STX)\r
17         CONTROL,                                                // 03 (ETX)\r
18         CONTROL,                                                // 04 (EOT)\r
19         CONTROL,                                                // 05 (ENQ)\r
20         CONTROL,                                                // 06 (ACK)\r
21         CONTROL,                                                // 07 (BEL)\r
22         CONTROL,                                                // 08 (BS)\r
23         SPACE | CONTROL,                                // 09 (HT)\r
24         SPACE | CONTROL,                                // 0A (LF)\r
25         SPACE | CONTROL,                                // 0B (VT)\r
26         SPACE | CONTROL,                                // 0C (FF)\r
27         SPACE | CONTROL,                                // 0D (CR)\r
28         CONTROL,                                                // 0E (SI)\r
29         CONTROL,                                                // 0F (SO)\r
30         CONTROL,                                                // 10 (DLE)\r
31         CONTROL,                                                // 11 (DC1)\r
32         CONTROL,                                                // 12 (DC2)\r
33         CONTROL,                                                // 13 (DC3)\r
34         CONTROL,                                                // 14 (DC4)\r
35         CONTROL,                                                // 15 (NAK)\r
36         CONTROL,                                                // 16 (SYN)\r
37         CONTROL,                                                // 17 (ETB)\r
38         CONTROL,                                                // 18 (CAN)\r
39         CONTROL,                                                // 19 (EM)\r
40         CONTROL,                                                // 1A (SUB)\r
41         CONTROL,                                                // 1B (ESC)\r
42         CONTROL,                                                // 1C (FS)\r
43         CONTROL,                                                // 1D (GS)\r
44         CONTROL,                                                // 1E (RS)\r
45         CONTROL,                                                // 1F (US)\r
46         SPACE,                                                  // 20 SPACE\r
47         PUNCT,                                                  // 21 !\r
48         PUNCT | SPECIAL,                                // 22 "\r
49         PUNCT,                                                  // 23 #\r
50         PUNCT,                                                  // 24 $\r
51         PUNCT,                                                  // 25 %\r
52         PUNCT,                                                  // 26 &\r
53         PUNCT,                                                  // 27 '\r
54         PUNCT | SPECIAL,                                // 28 (\r
55         PUNCT | SPECIAL,                                // 29 )\r
56         PUNCT,                                                  // 2A *\r
57         PUNCT,                                                  // 2B +\r
58         PUNCT | SPECIAL,                                // 2C ,\r
59         PUNCT,                                                  // 2D -\r
60         PUNCT | SPECIAL,                                // 2E .\r
61         PUNCT,                                                  // 2F /\r
62         PRINT | HEXDIGIT,                               // 30 0\r
63         PRINT | HEXDIGIT,                               // 31 1\r
64         PRINT | HEXDIGIT,                               // 32 2\r
65         PRINT | HEXDIGIT,                               // 33 3\r
66         PRINT | HEXDIGIT,                               // 34 4\r
67         PRINT | HEXDIGIT,                               // 35 5\r
68         PRINT | HEXDIGIT,                               // 36 6\r
69         PRINT | HEXDIGIT,                               // 37 7\r
70         PRINT | HEXDIGIT,                               // 38 8\r
71         PRINT | HEXDIGIT,                               // 39 9\r
72         PUNCT | SPECIAL,                                // 3A :\r
73         PUNCT | SPECIAL,                                // 3B ;\r
74         PUNCT | SPECIAL,                                // 3C <\r
75         PUNCT | SPECIAL,                                // 3D =\r
76         PUNCT | SPECIAL,                                // 3E >\r
77         PUNCT,                                                  // 3F ?\r
78         PUNCT | SPECIAL,                                // 40 @\r
79         PRINT | HEXDIGIT,                               // 41 A\r
80         PRINT | HEXDIGIT,                               // 42 B\r
81         PRINT | HEXDIGIT,                               // 43 C\r
82         PRINT | HEXDIGIT,                               // 44 D\r
83         PRINT | HEXDIGIT,                               // 45 E\r
84         PRINT | HEXDIGIT,                               // 46 F\r
85         PRINT,                                                  // 47 G\r
86         PRINT,                                                  // 48 H\r
87         PRINT,                                                  // 49 I\r
88         PRINT,                                                  // 4A J\r
89         PRINT,                                                  // 4B K\r
90         PRINT,                                                  // 4C L\r
91         PRINT,                                                  // 4D M\r
92         PRINT,                                                  // 4E N\r
93         PRINT,                                                  // 4F O\r
94         PRINT,                                                  // 50 P\r
95         PRINT,                                                  // 51 Q\r
96         PRINT,                                                  // 52 R\r
97         PRINT,                                                  // 53 S\r
98         PRINT,                                                  // 54 T\r
99         PRINT,                                                  // 55 U\r
100         PRINT,                                                  // 56 V\r
101         PRINT,                                                  // 57 W\r
102         PRINT,                                                  // 58 X\r
103         PRINT,                                                  // 59 Y\r
104         PRINT,                                                  // 5A Z\r
105         PUNCT | SPECIAL,                                // 5B [\r
106         PUNCT | SPECIAL,                                // 5C '\'\r
107         PUNCT | SPECIAL,                                // 5D ]\r
108         PUNCT,                                                  // 5E ^\r
109         PUNCT,                                                  // 5F \r
110         PUNCT,                                                  // 60 `\r
111         PRINT,                                                  // 61 a\r
112         PRINT,                                                  // 62 b\r
113         PRINT,                                                  // 63 c\r
114         PRINT,                                                  // 64 d\r
115         PRINT,                                                  // 65 e\r
116         PRINT,                                                  // 66 f\r
117         PRINT,                                                  // 67 g\r
118         PRINT,                                                  // 68 h\r
119         PRINT,                                                  // 69 i\r
120         PRINT,                                                  // 6A j\r
121         PRINT,                                                  // 6B k\r
122         PRINT,                                                  // 6C l\r
123         PRINT,                                                  // 6D m\r
124         PRINT,                                                  // 6E n\r
125         PRINT,                                                  // 6F o\r
126         PRINT,                                                  // 70 p\r
127         PRINT,                                                  // 71 q\r
128         PRINT,                                                  // 72 r\r
129         PRINT,                                                  // 73 s\r
130         PRINT,                                                  // 74 t\r
131         PRINT,                                                  // 75 u\r
132         PRINT,                                                  // 76 v\r
133         PRINT,                                                  // 77 w\r
134         PRINT,                                                  // 78 x\r
135         PRINT,                                                  // 79 y\r
136         PRINT,                                                  // 7A z\r
137         PUNCT,                                                  // 7B {\r
138         PUNCT,                                                  // 7C |\r
139         PUNCT,                                                  // 7D }\r
140         PUNCT,                                                  // 7E ~\r
141         CONTROL,                                                // 7F (DEL)\r
142 };\r