ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/encoding.h
Revision: 1.17
Committed: Wed Nov 5 14:43:54 2008 UTC (15 years, 6 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: before_dynamic_fontidx, rxvt-unicode-rel-9_29, rxvt-unicode-rel-9_26, rxvt-unicode-rel-9_25, rxvt-unicode-rel-9_22, rxvt-unicode-rel-9_20, rxvt-unicode-rel-9_21, rel-9_14, rel-9_11, rel-9_10, rel-9_12, rxvt-unicode-rel-9_19, rxvt-unicode-rel-9_18, rxvt-unicode-rel-9_17, rxvt-unicode-rel-9_16, rxvt-unicode-rel-9_15, dynamic_fontidx, rxvt-unicode-rel-9_30, rel-9_09, rel-9_06, rel-9_07, HEAD
Changes since 1.16: +4 -2 lines
Log Message:
minor overlay refactoring, syntax changes

File Contents

# Content
1 #ifndef ENCODING_H
2 #define ENCODING_H
3
4 #include <inttypes.h>
5
6 typedef uint32_t unicode_t;
7
8 // order must match the table in encoding.C(!)
9 enum codeset {
10 CS_UNKNOWN = 0,
11 CS_US_ASCII,
12
13 CS_ISO8859_1,
14 CS_ISO8859_2,
15 CS_ISO8859_3,
16 CS_ISO8859_4,
17 CS_ISO8859_5,
18 CS_ISO8859_6,
19 CS_ISO8859_7,
20 CS_ISO8859_8,
21 CS_ISO8859_9,
22 CS_ISO8859_10,
23 CS_ISO8859_11,
24 CS_ISO8859_13,
25 CS_ISO8859_14,
26 CS_ISO8859_15,
27 CS_ISO8859_16,
28
29 CS_KOI8_R,
30 CS_KOI8_U,
31 CS_JIS0201_1976_0,
32 CS_JIS0208_1990_0,
33 CS_JIS0212_1990_0,
34 CS_JIS0213_1,
35 CS_JIS0213_2,
36
37 CS_KSC5601_1987_0,
38
39 CS_GB2312_1980_0,
40 CS_GBK_0,
41
42 CS_CNS11643_1992_1,
43 CS_CNS11643_1992_2,
44 CS_CNS11643_1992_3,
45 CS_CNS11643_1992_4,
46 CS_CNS11643_1992_5,
47 CS_CNS11643_1992_6,
48 CS_CNS11643_1992_7,
49 CS_CNS11643_1992_F,
50
51 CS_BIG5,
52 CS_BIG5_EXT,
53 CS_BIG5_PLUS,
54
55 CS_VISCII,
56
57 CS_UNICODE_16, /* 16-bit subset of unicode, for X11 */
58 CS_UNICODE,
59
60 NUM_CODESETS
61 };
62
63 codeset codeset_from_name (const char *name);
64
65 enum {
66 ZERO_WIDTH_CHAR = 0x200b,
67 REPLACEMENT_CHAR = 0xfffd,
68 NOCHAR = 0xffff, // must be invalid in ANY codeset (!)
69 };
70
71 struct rxvt_codeset_conv
72 {
73 uint32_t (*from_unicode) (unicode_t unicode);
74 #if ENCODING_TO_UNICODE
75 unicode_t (*to_unicode) (uint32_t enc);
76 #endif
77 };
78
79 extern const rxvt_codeset_conv rxvt_codeset[NUM_CODESETS];
80
81 extern unicode_t rxvt_compose (unicode_t c1, unicode_t c2);
82
83 #define FROM_UNICODE(cs,code) rxvt_codeset[cs].from_unicode (code)
84 #define TO_UNICODE(cs,code) rxvt_codeset[cs].to_unicode (code)
85
86 struct unicode // namespace für arme
87 {
88 static bool is_space (unicode_t c);
89 };
90
91 #endif
92