ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/encoding.h
Revision: 1.2
Committed: Fri Feb 13 12:16:21 2004 UTC (20 years, 3 months ago) by pcg
Content type: text/plain
Branch: MAIN
CVS Tags: rel-2_0, rel-1_9
Changes since 1.1: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef ENCODING_H
2 #define ENCODING_H
3
4 #include <stdint.h>
5
6 enum codeset {
7 CS_UNKNOWN = 0,
8 CS_SPECIAL,
9 CS_US_ASCII,
10
11 CS_ISO8859_1,
12 CS_ISO8859_2,
13 CS_ISO8859_3,
14 CS_ISO8859_4,
15 CS_ISO8859_5,
16 CS_ISO8859_6,
17 CS_ISO8859_7,
18 CS_ISO8859_8,
19 CS_ISO8859_9,
20 CS_ISO8859_10,
21 CS_ISO8859_11,
22 CS_ISO8859_13,
23 CS_ISO8859_14,
24 CS_ISO8859_15,
25 CS_ISO8859_16,
26
27 CS_KOI8_R,
28 CS_KOI8_U,
29 CS_JIS0201_1976_0,
30 CS_JIS0208_1983_0,
31 CS_JIS0212_1990_0,
32
33 CS_JIS0213_1,
34 CS_JIS0213_2,
35
36 CS_KSC5601_1987_0,
37
38 CS_GB2312_1980_0,
39
40 CS_CNS11643_1992_1,
41 CS_CNS11643_1992_2,
42 CS_CNS11643_1992_3,
43 CS_CNS11643_1992_4,
44 CS_CNS11643_1992_5,
45 CS_CNS11643_1992_6,
46 CS_CNS11643_1992_7,
47 CS_CNS11643_1992_F,
48
49 CS_BIG5_EXT,
50 CS_BIG5_PLUS,
51
52 CS_VISCII,
53
54 CS_UNICODE_16, /* 16-bit subset of unicode, for X11 */
55 CS_UNICODE,
56
57 NUM_CODESETS
58 };
59
60 codeset codeset_from_name (const char *name);
61
62 enum {
63 ZERO_WIDTH_CHAR = 0x200b,
64 NOCHAR = 65535, // must be invalid in ANY codeset (!)
65 };
66
67 struct rxvt_codeset_conv {
68 virtual uint32_t from_unicode (uint32_t unicode) const { return unicode; }
69 virtual uint32_t to_unicode (uint32_t enc) const { return enc; }
70 };
71
72 extern const rxvt_codeset_conv *rxvt_codeset[NUM_CODESETS];
73
74 #define FROM_UNICODE(cs,code) rxvt_codeset[cs]->from_unicode (code)
75 #define TO_UNICODE(cs,code) rxvt_codeset[cs]->to_unicode (code)
76
77 #endif
78