ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/encoding.h
(Generate patch)

Comparing rxvt-unicode/src/encoding.h (file contents):
Revision 1.6 by pcg, Thu Mar 4 20:09:01 2004 UTC vs.
Revision 1.14 by root, Fri Dec 10 19:55:55 2004 UTC

1#ifndef ENCODING_H 1#ifndef ENCODING_H
2#define ENCODING_H 2#define ENCODING_H
3 3
4#include <stdint.h> 4#include <inttypes.h>
5
6typedef uint32_t unicode_t;
5 7
6// order must match the table in encoding.C(!) 8// order must match the table in encoding.C(!)
7enum codeset { 9enum codeset {
8 CS_UNKNOWN = 0, 10 CS_UNKNOWN = 0,
9 CS_US_ASCII, 11 CS_US_ASCII,
25 CS_ISO8859_16, 27 CS_ISO8859_16,
26 28
27 CS_KOI8_R, 29 CS_KOI8_R,
28 CS_KOI8_U, 30 CS_KOI8_U,
29 CS_JIS0201_1976_0, 31 CS_JIS0201_1976_0,
30 CS_JIS0208_1983_0, 32 CS_JIS0208_1990_0,
31 CS_JIS0212_1990_0, 33 CS_JIS0212_1990_0,
32
33 CS_JIS0213_1, 34 CS_JIS0213_1,
34 CS_JIS0213_2, 35 CS_JIS0213_2,
35 36
36 CS_KSC5601_1987_0, 37 CS_KSC5601_1987_0,
37 38
38 CS_GB2312_1980_0, 39 CS_GB2312_1980_0,
40 CS_GBK_0,
39 41
40 CS_CNS11643_1992_1, 42 CS_CNS11643_1992_1,
41 CS_CNS11643_1992_2, 43 CS_CNS11643_1992_2,
42 CS_CNS11643_1992_3, 44 CS_CNS11643_1992_3,
43 CS_CNS11643_1992_4, 45 CS_CNS11643_1992_4,
65 REPLACEMENT_CHAR = 0xfffd, 67 REPLACEMENT_CHAR = 0xfffd,
66 NOCHAR = 65535, // must be invalid in ANY codeset (!) 68 NOCHAR = 65535, // must be invalid in ANY codeset (!)
67}; 69};
68 70
69struct rxvt_codeset_conv { 71struct rxvt_codeset_conv {
70 virtual uint32_t from_unicode (uint32_t unicode) const { return unicode; } 72 uint32_t (*from_unicode) (unicode_t unicode);
71 virtual uint32_t to_unicode (uint32_t enc) const { return enc; } 73#if ENCODING_TO_UNICODE
74 unicode_t (*to_unicode) (uint32_t enc);
75#endif
72}; 76};
73 77
74extern const rxvt_codeset_conv *rxvt_codeset[NUM_CODESETS]; 78extern const rxvt_codeset_conv rxvt_codeset[NUM_CODESETS];
75 79
76extern uint32_t rxvt_compose (uint32_t c1, uint32_t c2); 80extern unicode_t rxvt_compose (unicode_t c1, unicode_t c2);
77 81
78#define FROM_UNICODE(cs,code) rxvt_codeset[cs]->from_unicode (code) 82#define FROM_UNICODE(cs,code) rxvt_codeset[cs].from_unicode (code)
79#define TO_UNICODE(cs,code) rxvt_codeset[cs]->to_unicode (code) 83#define TO_UNICODE(cs,code) rxvt_codeset[cs].to_unicode (code)
84
85struct unicode { // namespace für arme
86 static bool is_space (unicode_t c);
87};
80 88
81#endif 89#endif
82 90

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines