--- rxvt-unicode/src/encoding.h 2004/03/04 20:09:01 1.6 +++ rxvt-unicode/src/encoding.h 2004/08/04 03:29:28 1.13 @@ -1,7 +1,9 @@ #ifndef ENCODING_H #define ENCODING_H -#include +#include + +typedef uint32_t unicode_t; // order must match the table in encoding.C(!) enum codeset { @@ -27,9 +29,8 @@ CS_KOI8_R, CS_KOI8_U, CS_JIS0201_1976_0, - CS_JIS0208_1983_0, + CS_JIS0208_1990_0, CS_JIS0212_1990_0, - CS_JIS0213_1, CS_JIS0213_2, @@ -67,16 +68,22 @@ }; struct rxvt_codeset_conv { - virtual uint32_t from_unicode (uint32_t unicode) const { return unicode; } - virtual uint32_t to_unicode (uint32_t enc) const { return enc; } + uint32_t (*from_unicode) (unicode_t unicode); +#if ENCODING_TO_UNICODE + unicode_t (*to_unicode) (uint32_t enc); +#endif }; -extern const rxvt_codeset_conv *rxvt_codeset[NUM_CODESETS]; +extern const rxvt_codeset_conv rxvt_codeset[NUM_CODESETS]; -extern uint32_t rxvt_compose (uint32_t c1, uint32_t c2); +extern unicode_t rxvt_compose (unicode_t c1, unicode_t c2); -#define FROM_UNICODE(cs,code) rxvt_codeset[cs]->from_unicode (code) -#define TO_UNICODE(cs,code) rxvt_codeset[cs]->to_unicode (code) +#define FROM_UNICODE(cs,code) rxvt_codeset[cs].from_unicode (code) +#define TO_UNICODE(cs,code) rxvt_codeset[cs].to_unicode (code) + +struct unicode { // namespace für arme + static bool is_space (unicode_t c); +}; #endif