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.2 by pcg, Fri Feb 13 12:16:21 2004 UTC vs.
Revision 1.12 by root, Thu Jul 29 14:05:27 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 5
6typedef uint32_t unicode_t;
7
8// order must match the table in encoding.C(!)
6enum codeset { 9enum codeset {
7 CS_UNKNOWN = 0, 10 CS_UNKNOWN = 0,
8 CS_SPECIAL,
9 CS_US_ASCII, 11 CS_US_ASCII,
10 12
11 CS_ISO8859_1, 13 CS_ISO8859_1,
12 CS_ISO8859_2, 14 CS_ISO8859_2,
13 CS_ISO8859_3, 15 CS_ISO8859_3,
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
44 CS_CNS11643_1992_5, 45 CS_CNS11643_1992_5,
45 CS_CNS11643_1992_6, 46 CS_CNS11643_1992_6,
46 CS_CNS11643_1992_7, 47 CS_CNS11643_1992_7,
47 CS_CNS11643_1992_F, 48 CS_CNS11643_1992_F,
48 49
50 CS_BIG5,
49 CS_BIG5_EXT, 51 CS_BIG5_EXT,
50 CS_BIG5_PLUS, 52 CS_BIG5_PLUS,
51 53
52 CS_VISCII, 54 CS_VISCII,
53 55
59 61
60codeset codeset_from_name (const char *name); 62codeset codeset_from_name (const char *name);
61 63
62enum { 64enum {
63 ZERO_WIDTH_CHAR = 0x200b, 65 ZERO_WIDTH_CHAR = 0x200b,
66 REPLACEMENT_CHAR = 0xfffd,
64 NOCHAR = 65535, // must be invalid in ANY codeset (!) 67 NOCHAR = 65535, // must be invalid in ANY codeset (!)
65}; 68};
66 69
67struct rxvt_codeset_conv { 70struct rxvt_codeset_conv {
68 virtual uint32_t from_unicode (uint32_t unicode) const { return unicode; } 71 virtual uint32_t from_unicode (unicode_t unicode) const { return unicode; }
72#if ENCODING_TO_UNICODE
69 virtual uint32_t to_unicode (uint32_t enc) const { return enc; } 73 virtual unicode_t to_unicode (uint32_t enc) const { return enc; }
74#endif
70}; 75};
71 76
72extern const rxvt_codeset_conv *rxvt_codeset[NUM_CODESETS]; 77extern const rxvt_codeset_conv *rxvt_codeset[NUM_CODESETS];
73 78
79extern unicode_t rxvt_compose (unicode_t c1, unicode_t c2);
80
74#define FROM_UNICODE(cs,code) rxvt_codeset[cs]->from_unicode (code) 81#define FROM_UNICODE(cs,code) rxvt_codeset[cs]->from_unicode (code)
75#define TO_UNICODE(cs,code) rxvt_codeset[cs]->to_unicode (code) 82#define TO_UNICODE(cs,code) rxvt_codeset[cs]->to_unicode (code)
76 83
84struct unicode { // namespace für arme
85 static bool is_space (unicode_t c);
86};
87
77#endif 88#endif
78 89

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines