1/*
2 * utf8tbl.h - Header file for Convertion Table
3 *
4 * $Id: utf8tbl.h 37800 2012-11-22 08:47:30Z naruse $
5 */
6
7#ifndef _UTF8TBL_H_
8#define _UTF8TBL_H_
9
10#ifdef UTF8_OUTPUT_ENABLE
11#define sizeof_euc_to_utf8_1byte 94
12#define sizeof_euc_to_utf8_2bytes 94
13extern const unsigned short euc_to_utf8_1byte[];
14extern const unsigned short *const euc_to_utf8_2bytes[];
15extern const unsigned short *const euc_to_utf8_2bytes_ms[];
16extern const unsigned short *const euc_to_utf8_2bytes_mac[];
17extern const unsigned short *const euc_to_utf8_2bytes_x0213[];
18extern const unsigned short *const x0212_to_utf8_2bytes[];
19extern const unsigned short *const x0212_to_utf8_2bytes_x0213[];
20#define sizeof_x0213_combining_chars 5
21#define sizeof_x0213_combining_table 25
22#define sizeof_x0213_1_surrogate_table 26
23#define sizeof_x0213_2_surrogate_table 277
24extern const unsigned short x0213_combining_chars[sizeof_x0213_combining_chars];
25extern const unsigned short x0213_combining_table[sizeof_x0213_combining_table][3];
26extern const unsigned short x0213_1_surrogate_table[sizeof_x0213_1_surrogate_table][3];
27extern const unsigned short x0213_2_surrogate_table[sizeof_x0213_2_surrogate_table][3];
28#endif /* UTF8_OUTPUT_ENABLE */
29
30#ifdef UTF8_INPUT_ENABLE
31#define sizeof_utf8_to_euc_C2 64
32#define sizeof_utf8_to_euc_E5B8 64
33#define sizeof_utf8_to_euc_2bytes 112
34#define sizeof_utf8_to_euc_3bytes 16
35extern const unsigned short *const utf8_to_euc_2bytes[];
36extern const unsigned short *const utf8_to_euc_2bytes_ms[];
37extern const unsigned short *const utf8_to_euc_2bytes_932[];
38extern const unsigned short *const utf8_to_euc_2bytes_mac[];
39extern const unsigned short *const utf8_to_euc_2bytes_x0213[];
40extern const unsigned short *const *const utf8_to_euc_3bytes[];
41extern const unsigned short *const *const utf8_to_euc_3bytes_ms[];
42extern const unsigned short *const *const utf8_to_euc_3bytes_932[];
43extern const unsigned short *const *const utf8_to_euc_3bytes_mac[];
44extern const unsigned short *const *const utf8_to_euc_3bytes_x0213[];
45#endif /* UTF8_INPUT_ENABLE */
46
47#ifdef UNICODE_NORMALIZATION
48
49#define NORMALIZATION_TABLE_LENGTH 942
50#define NORMALIZATION_TABLE_NFC_LENGTH 3
51#define NORMALIZATION_TABLE_NFD_LENGTH 9
52struct normalization_pair {
53    const unsigned char nfc[NORMALIZATION_TABLE_NFC_LENGTH];
54    const unsigned char nfd[NORMALIZATION_TABLE_NFD_LENGTH];
55};
56extern const struct normalization_pair normalization_table[];
57#endif
58
59#ifdef SHIFTJIS_CP932
60#define CP932_TABLE_BEGIN 0xFA
61#define CP932_TABLE_END   0xFC
62extern const unsigned short shiftjis_cp932[3][189];
63#define CP932INV_TABLE_BEGIN 0xED
64#define CP932INV_TABLE_END   0xEE
65extern const unsigned short cp932inv[2][189];
66#endif /* SHIFTJIS_CP932 */
67
68#ifdef X0212_ENABLE
69extern const unsigned short shiftjis_x0212[3][189];
70extern const unsigned short *const x0212_shiftjis[];
71#endif /* X0212_ENABLE */
72
73#endif
74