87
98
000, 000, 000, 000, 000, 000, 000, 000, /* 00 */
88
99
000, SPA, SPA, SPA, SPA, SPA, 000, 000, /* 08 */
89
100
000, 000, 000, 000, 000, 000, 000, 000, /* 10 */
90
000, 000, 000, 000, LET, 000, 000, SPA, /* 18 */
102
000, LET, LET, 000, 000, 000, 000, SPA, /* 18 */
104
000, 000, 000, 000, 000, 000, 000, 000, /* 18 */
91
106
SPA, PUNC, QUO, PUNC, DOL, PUNC, PUNC, QUO, /* 20 !"#$%&' */
92
107
PUNC, PUNC, PUNC, PUNC, PUNC, PUNC, DOT, PUNC, /* 28 ()*+,-./ */
93
108
DIG, DIG, DIG, DIG, DIG, DIG, DIG, DIG, /* 30 01234567 */
204
219
000, 000, 000, 000, 000, 000, 000, 000, /* 00 */
205
220
000, SPA, SPA, SPA, SPA, SPA, 000, 000, /* 08 */
206
221
000, 000, 000, 000, 000, 000, 000, 000, /* 10 */
207
000, 000, 000, 000, LET, 000, 000, SPA, /* 18 */
223
000, LET, LET, 000, 000, 000, 000, SPA, /* 18 */
225
000, 000, 000, 000, 000, 000, 000, 000, /* 18 */
208
227
SPA, PUNC, QUO, PUNC, DOL, PUNC, PUNC, QUO, /* 20 !"#$%&' */
209
228
PUNC, PUNC, PUNC, PUNC, PUNC, PUNC, DOT, PUNC, /* 28 ()*+,-./ */
210
229
DIG, DIG, DIG, DIG, DIG, DIG, DIG, DIG, /* 30 01234567 */
264
283
000, 000, 000, 000, 000, 000, 000, 000, /* 00 */
265
284
000, SPA, SPA, SPA, SPA, SPA, 000, 000, /* 08 */
266
285
000, 000, 000, 000, 000, 000, 000, 000, /* 10 */
267
000, 000, 000, 000, LET, 000, 000, SPA, /* 18 */
287
000, LET, LET, 000, 000, 000, 000, SPA, /* 18 */
289
000, 000, 000, 000, 000, 000, 000, 000, /* 18 */
268
291
SPA, PUNC, QUO, PUNC, DOL, PUNC, PUNC, QUO, /* 20 !"#$%&' */
269
292
PUNC, PUNC, PUNC, PUNC, PUNC, PUNC, DOT, PUNC, /* 28 ()*+,-./ */
270
293
DIG, DIG, DIG, DIG, DIG, DIG, DIG, DIG, /* 30 01234567 */
305
328
#define IS2 0x80 /* 2nd byte of shift-sequence */
306
329
#define IS3 0x100 /* 3rd byte of shift-sequence */
307
330
#define IS4 0x200 /* 4th byte of shift-sequence */
308
#define IJ1 0x400 /* 1st byte of ISO-2022-JP (ISO-2022-JP1) */
309
#define IJ2 0x800 /* 2nd byte of ISO-2022-JP (ISO-2022-JP1) */
311
#define IJ12 (IJ1 | IJ2)
313
#define PI12 (PUNC | IJ12)
314
#define QI12 (QUO | IJ12)
315
#define DT12 (DOT | IJ12)
316
#define DG12 (DIG | IJ12)
317
#define LI12 (LET | IJ12)
319
#define DL12S2 (DOL | IJ12 | IS2)
320
#define P12S23 (PI12 | IS2 | IS3)
321
#define L12S3 (LI12 | IS3)
322
#define L12S4 (LI12 | IS4)
324
const short type_iso2022_jp[ UCHARMAX + 1] = {
331
#define IJP 0x400 /* 1st or 2nd byte of ISO-2022-JP (ISO-2022-JP1) */
333
#define PIJP (PUNC | IJP)
334
#define QIJP (QUO | IJP)
335
#define DTJP (DOT | IJP)
336
#define DGJP (DIG | IJP)
337
#define LIJP (LET | IJP)
339
#define DLJPS2 (DOL | IJP | IS2)
340
#define PJPS23 (PIJP | IS2 | IS3)
341
#define LJPS3 (LIJP | IS3)
342
#define LJPS4 (LIJP | IS4)
344
static short type_iso2022_jp[ UCHARMAX + 1] = {
326
346
/* Character type codes */
327
347
/* 0, 1, 2, 3, 4, 5, 6, 7, */
330
350
000, 000, 000, 000, 000, 000, 000, 000, /* 00 */
331
351
000, SPA, SPA, SPA, SPA, SPA, 000, 000, /* 08 */
332
352
000, 000, 000, 000, 000, 000, 000, 000, /* 10 */
333
000, 000, 000, IS1, LET, 000, 000, SPA, /* 18 */
334
SPA, PI12, QI12, PI12, DL12S2,PI12, PI12, QI12, /* 20 !"#$%&' */
335
P12S23,PI12, PI12, PI12, PI12, PI12, DT12, PI12, /* 28 ()*+,-./ */
336
DG12, DG12, DG12, DG12, DG12, DG12, DG12, DG12, /* 30 01234567 */
337
DG12, DG12, PI12, PI12, PI12, PI12, PI12, PI12, /* 38 89:;<=>? */
354
000, LET, LET, IS1, 000, 000, 000, SPA, /* 18 */
356
000, 000, 000, 000, 000, 000, 000, 000, /* 18 */
358
SPA, PIJP, QIJP, PIJP, DLJPS2,PIJP, PIJP, QIJP, /* 20 !"#$%&' */
359
PJPS23,PIJP, PIJP, PIJP, PIJP, PIJP, DTJP, PIJP, /* 28 ()*+,-./ */
360
DGJP, DGJP, DGJP, DGJP, DGJP, DGJP, DGJP, DGJP, /* 30 01234567 */
361
DGJP, DGJP, PIJP, PIJP, PIJP, PIJP, PIJP, PIJP, /* 38 89:;<=>? */
339
IJ12, LI12, L12S3, LI12, L12S4, LI12, LI12, LI12, /* 40 @ABCDEFG */
340
LI12, LI12, LI12, LI12, LI12, LI12, LI12, LI12, /* 48 HIJKLMNO */
341
LI12, LI12, LI12, LI12, LI12, LI12, LI12, LI12, /* 50 PQRSTUVW */
342
LI12, LI12, LI12, PI12, IJ12, PI12, PI12, LI12, /* 58 XYZ[\]^_ */
343
IJ12, LI12, LI12, LI12, LI12, LI12, LI12, LI12, /* 60 `abcdefg */
344
LI12, LI12, LI12, LI12, LI12, LI12, LI12, LI12, /* 68 hijklmno */
345
LI12, LI12, LI12, LI12, LI12, LI12, LI12, LI12, /* 70 pqrstuvw */
346
LI12, LI12, LI12, PI12, PI12, PI12, PI12, 000, /* 78 xyz{|}~ */
363
IJP, LIJP, LJPS3, LIJP, LJPS4, LIJP, LIJP, LIJP, /* 40 @ABCDEFG */
364
LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, /* 48 HIJKLMNO */
365
LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, /* 50 PQRSTUVW */
366
LIJP, LIJP, LIJP, PIJP, IJP, PIJP, PIJP, LIJP, /* 58 XYZ[\]^_ */
367
IJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, /* 60 `abcdefg */
368
LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, /* 68 hijklmno */
369
LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, LIJP, /* 70 pqrstuvw */
370
LIJP, LIJP, LIJP, PIJP, PIJP, PIJP, PIJP, 000, /* 78 xyz{|}~ */
347
371
/* the rests are 0 cleared */
371
395
000, 000, 000, 000, 000, 000, 000, 000, /* 00 */
372
396
000, SPA, SPA, SPA, SPA, SPA, 000, 000, /* 08 */
373
397
000, 000, 000, 000, 000, 000, 000, 000, /* 10 */
374
000, 000, 000, 000, LET, 000, 000, SPA, /* 18 */
399
000, LET, LET, 000, 000, 000, 000, SPA, /* 18 */
401
000, 000, 000, 000, 000, 000, 000, 000, /* 18 */
375
403
SPA, PUNC, QUO, PUNC, DOL, PUNC, PUNC, QUO, /* 20 !"#$%&' */
376
404
PUNC, PUNC, PUNC, PUNC, PUNC, PUNC, DOT, PUNC, /* 28 ()*+,-./ */
377
405
DIG, DIG, DIG, DIG, DIG, DIG, DIG, DIG, /* 30 01234567 */
407
435
#define SETLOCALE 2 /* #pragma setlocale (not __setlocale) */
409
437
#define NUM_ENCODING 8
413
441
* Names of encoding recognized. Table for search_encoding().
414
442
* Note: GNU C documents that LANG=C-EUCJP (C-SJIS, C-JIS) is effective,
415
443
* though this feature is not fully enabled in GNU C.
417
static char * encoding_name[ NUM_ENCODING][ NUM_ALIAS] = {
445
static const char * const encoding_name[ NUM_ENCODING][ NUM_ALIAS] = {
418
446
/* normalized LANG, Visual C full, Visual C short
419
447
, miscellaneous */
420
448
{ "c", "english", "c"
421
, "c", "en", "latin", "iso8859", "", "" },
449
, "c", "en", "latin", "iso8859"},
422
450
{ "ceucjp", "", ""
423
, "eucjp", "euc", "ujis", "jajpeucjp", "", "" },
451
, "eucjp", "euc", "ujis", ""},
424
452
{ "", "chinesesimplified", "chs"
425
, "gb2312", "cngb", "euccn", "zhcn", "zhcneuccn", "" },
453
, "gb2312", "cngb", "euccn", ""},
426
454
{ "", "korean", "kor"
427
, "ksc5601", "ksx1001", "wansung", "euckr", "kokr", "kokreuckr" },
455
, "ksc5601", "ksx1001", "wansung", "euckr"},
428
456
{ "csjis", "japanese", "jpn"
429
, "sjis", "shiftjis", "mskanji", "jajpsjis", "", "" },
457
, "sjis", "shiftjis", "mskanji", ""},
430
458
{ "", "chinesetraditional", "cht"
431
, "bigfive", "big5", "cnbig5", "euctw", "zhtw", "zhtweuctw" },
459
, "bigfive", "big5", "cnbig5", "euctw"},
433
, "iso2022jp", "iso2022jp1", "jis", "jajpjis", "", "" },
461
, "iso2022jp", "iso2022jp1", "jis", ""},
435
, "utf8", "utf", "", "", "", "" },
463
, "utf8", "utf", "", ""},
438
466
#endif /* SYSTEM != SYS_MSDOS */