89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
|
0x00853C01, 0x00862802, 0x00864297, 0x0091000B, 0x0092704E,
0x00940276, 0x009E53E0, 0x00ADD820, 0x00AE6068, 0x00B39406,
0x00B3BC03, 0x00B3E404, 0x00B3F802, 0x00B5C001, 0x00B5FC01,
0x00B7804F, 0x00B8C020, 0x00BA001A, 0x00BA6C59, 0x00BC00D6,
0x00BFC00C, 0x00C00005, 0x00C02019, 0x00C0A807, 0x00C0D802,
0x00C0F403, 0x00C26404, 0x00C28001, 0x00C3EC01, 0x00C64002,
0x00C6580A, 0x00C70024, 0x00C8001F, 0x00C8A81E, 0x00C94001,
0x00C98020, 0x00CA2827, 0x00CB003F, 0x00CC0100, 0x01370040,
0x02924037, 0x0293F802, 0x02983403, 0x0299BC10, 0x029A7802,
0x029BC008, 0x029C0017, 0x029C8002, 0x029E2402, 0x02A00801,
0x02A01801, 0x02A02C01, 0x02A08C09, 0x02A0D804, 0x02A1D004,
0x02A20002, 0x02A2D012, 0x02A33802, 0x02A38012, 0x02A3E003,
0x02A3F001, 0x02A3FC01, 0x02A4980A, 0x02A51C0D, 0x02A57C01,
0x02A60004, 0x02A6CC1B, 0x02A77802, 0x02A79401, 0x02A8A40E,
0x02A90C01, 0x02A93002, 0x02A97004, 0x02A9DC03, 0x02A9EC03,
0x02AAC001, 0x02AAC803, 0x02AADC02, 0x02AAF802, 0x02AB0401,
0x02AB7802, 0x02ABAC07, 0x02ABD402, 0x02AD6C01, 0x02AF8C0B,
0x03600001, 0x036DFC02, 0x036FFC02, 0x037FFC01, 0x03EC7801,
0x03ECA401, 0x03EEC810, 0x03F4F802, 0x03F7F002, 0x03F8001A,
0x03F88033, 0x03F95013, 0x03F9A004, 0x03FBFC01, 0x03FC040F,
0x03FC6807, 0x03FCEC06, 0x03FD6C0B, 0x03FF8007, 0x03FFA007,
0x03FFE405, 0x04040003, 0x0404DC09, 0x0405E411, 0x04063003,
0x0406400C, 0x04068001, 0x0407402E, 0x040B8001, 0x040DD805,
0x040E7C01, 0x040F4001, 0x0415BC01, 0x04215C01, 0x0421DC02,
0x04247C01, 0x0424FC01, 0x04280403, 0x04281402, 0x04283004,
0x0428E003, 0x0428FC01, 0x04294009, 0x0429FC01, 0x042B2001,
0x042B9402, 0x042BC007, 0x042CE407, 0x042E6404, 0x04349004,
0x043D180B, 0x043D5405, 0x04400003, 0x0440E016, 0x0441FC04,
0x0442C012, 0x04433401, 0x04440003, 0x04449C0E, 0x04450004,
0x04451402, 0x0445CC03, 0x04460003, 0x0446CC0E, 0x04471409,
0x04476C01, 0x04477403, 0x0448B013, 0x044AA401, 0x044B7C0C,
0x044C0004, 0x044CEC02, 0x044CF807, 0x044D1C02, 0x044D2C03,
0x044D5C01, 0x044D8802, 0x044D9807, 0x044DC005, 0x0450D412,
0x04512C05, 0x04516C01, 0x04517402, 0x0452C014, 0x04531801,
0x0456BC07, 0x0456E020, 0x04577002, 0x0458C014, 0x0459800D,
0x045AAC0D, 0x045C740F, 0x045CF004, 0x0460B010, 0x04674407,
0x04676807, 0x04678801, 0x04679001, 0x0468040A, 0x0468CC07,
0x0468EC0D, 0x0469440B, 0x046A2813, 0x046A7805, 0x0470BC08,
0x0470E008, 0x04710405, 0x0471C002, 0x04724816, 0x0472A40E,
0x0474C406, 0x0474E801, 0x0474F002, 0x0474FC07, 0x04751C01,
0x04762805, 0x04764002, 0x04764C05, 0x047BCC06, 0x047F541D,
0x047FFC01, 0x0491C005, 0x04D0C009, 0x05A9B802, 0x05ABC006,
0x05ACC010, 0x05AD1002, 0x05BA5C04, 0x05BD3C01, 0x05BD4437,
0x05BE3C04, 0x05BF8801, 0x06F27008, 0x074000F6, 0x07440027,
0x0744A4C0, 0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01,
0x075BEC01, 0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01,
0x075E2401, 0x075EA401, 0x075F0C01, 0x0760028C, 0x076A6C05,
0x076A840F, 0x07800007, 0x07802011, 0x07806C07, 0x07808C02,
0x07809805, 0x0784C007, 0x07853C01, 0x078BB004, 0x078BFC01,
0x07A34007, 0x07A51007, 0x07A57802, 0x07B2B001, 0x07B2C001,
0x07B4B801, 0x07BBC002, 0x07C0002C, 0x07C0C064, 0x07C2800F,
0x07C2C40F, 0x07C3040F, 0x07C34425, 0x07C4405D, 0x07C5C03D,
0x07C7981D, 0x07C8402C, 0x07C90009, 0x07C94002, 0x07C98006,
0x07CC03D6, 0x07DB800D, 0x07DBC00B, 0x07DC0074, 0x07DE0059,
0x07DF800C, 0x07E0000C, 0x07E04038, 0x07E1400A, 0x07E18028,
0x07E2401E, 0x07E4000C, 0x07E43465, 0x07E5CC04, 0x07E5E829,
0x07E69406, 0x07E6B81D, 0x07E73487, 0x07E9800E, 0x07E9C004,
0x07E9E003, 0x07EA0003, 0x07EA4006, 0x38000401, 0x38008060,
0x00C98020, 0x00CA2827, 0x00CB0140, 0x01370040, 0x02924037,
0x0293F802, 0x02983403, 0x0299BC10, 0x029A7802, 0x029BC008,
0x029C0017, 0x029C8002, 0x029E2402, 0x02A00801, 0x02A01801,
0x02A02C01, 0x02A08C09, 0x02A0D804, 0x02A1D004, 0x02A20002,
0x02A2D012, 0x02A33802, 0x02A38012, 0x02A3E003, 0x02A3F001,
0x02A3FC01, 0x02A4980A, 0x02A51C0D, 0x02A57C01, 0x02A60004,
0x02A6CC1B, 0x02A77802, 0x02A79401, 0x02A8A40E, 0x02A90C01,
0x02A93002, 0x02A97004, 0x02A9DC03, 0x02A9EC03, 0x02AAC001,
0x02AAC803, 0x02AADC02, 0x02AAF802, 0x02AB0401, 0x02AB7802,
0x02ABAC07, 0x02ABD402, 0x02AD6C01, 0x02AF8C0B, 0x03600001,
0x036DFC02, 0x036FFC02, 0x037FFC01, 0x03EC7801, 0x03ECA401,
0x03EEC810, 0x03F4F802, 0x03F7F002, 0x03F8001A, 0x03F88033,
0x03F95013, 0x03F9A004, 0x03FBFC01, 0x03FC040F, 0x03FC6807,
0x03FCEC06, 0x03FD6C0B, 0x03FF8007, 0x03FFA007, 0x03FFE405,
0x04040003, 0x0404DC09, 0x0405E411, 0x04063003, 0x0406400C,
0x04068001, 0x0407402E, 0x040B8001, 0x040DD805, 0x040E7C01,
0x040F4001, 0x0415BC01, 0x04215C01, 0x0421DC02, 0x04247C01,
0x0424FC01, 0x04280403, 0x04281402, 0x04283004, 0x0428E003,
0x0428FC01, 0x04294009, 0x0429FC01, 0x042B2001, 0x042B9402,
0x042BC007, 0x042CE407, 0x042E6404, 0x04349004, 0x043D180B,
0x043D5405, 0x04400003, 0x0440E016, 0x0441FC04, 0x0442C012,
0x04433401, 0x04440003, 0x04449C0E, 0x04450004, 0x04451402,
0x0445CC03, 0x04460003, 0x0446CC0E, 0x04471409, 0x04476C01,
0x04477403, 0x0448B013, 0x044AA401, 0x044B7C0C, 0x044C0004,
0x044CEC02, 0x044CF807, 0x044D1C02, 0x044D2C03, 0x044D5C01,
0x044D8802, 0x044D9807, 0x044DC005, 0x0450D412, 0x04512C05,
0x04516C01, 0x04517402, 0x0452C014, 0x04531801, 0x0456BC07,
0x0456E020, 0x04577002, 0x0458C014, 0x0459800D, 0x045AAC0D,
0x045C740F, 0x045CF004, 0x0460B010, 0x04674407, 0x04676807,
0x04678801, 0x04679001, 0x0468040A, 0x0468CC07, 0x0468EC0D,
0x0469440B, 0x046A2813, 0x046A7805, 0x0470BC08, 0x0470E008,
0x04710405, 0x0471C002, 0x04724816, 0x0472A40E, 0x0474C406,
0x0474E801, 0x0474F002, 0x0474FC07, 0x04751C01, 0x04762805,
0x04764002, 0x04764C05, 0x047BCC06, 0x047F541D, 0x047FFC01,
0x0491C005, 0x04D0C009, 0x05A9B802, 0x05ABC006, 0x05ACC010,
0x05AD1002, 0x05BA5C04, 0x05BD3C01, 0x05BD4437, 0x05BE3C04,
0x05BF8801, 0x06F27008, 0x074000F6, 0x07440027, 0x0744A4C0,
0x07480046, 0x074C0057, 0x075B0401, 0x075B6C01, 0x075BEC01,
0x075C5401, 0x075CD401, 0x075D3C01, 0x075DBC01, 0x075E2401,
0x075EA401, 0x075F0C01, 0x0760028C, 0x076A6C05, 0x076A840F,
0x07800007, 0x07802011, 0x07806C07, 0x07808C02, 0x07809805,
0x0784C007, 0x07853C01, 0x078BB004, 0x078BFC01, 0x07A34007,
0x07A51007, 0x07A57802, 0x07B2B001, 0x07B2C001, 0x07B4B801,
0x07BBC002, 0x07C0002C, 0x07C0C064, 0x07C2800F, 0x07C2C40F,
0x07C3040F, 0x07C34425, 0x07C4405D, 0x07C5C03D, 0x07C7981D,
0x07C8402C, 0x07C90009, 0x07C94002, 0x07C98006, 0x07CC03D6,
0x07DB800D, 0x07DBC00B, 0x07DC0074, 0x07DE0059, 0x07DF800C,
0x07E0000C, 0x07E04038, 0x07E1400A, 0x07E18028, 0x07E2401E,
0x07E4000C, 0x07E43465, 0x07E5CC04, 0x07E5E829, 0x07E69406,
0x07E6B81D, 0x07E73487, 0x07E9800E, 0x07E9C004, 0x07E9E003,
0x07EA0003, 0x07EA4006, 0x38000401, 0x38008060, 0x380400F0,
0x380400F0,
};
static const unsigned int aAscii[4] = {
0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001,
};
if( (unsigned int)c<128 ){
return ( (aAscii[c >> 5] & ((unsigned int)1 << (c & 0x001F)))==0 );
|