OSDN Git Service

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