mcabber/src/utf8.h
author Mikael Berthe <mikael@lilotux.net>
Wed, 04 Apr 2007 22:03:49 +0200
changeset 1176 547a8ca7c1a8
parent 1172 334ae9f498f1
child 1179 0f7e0346d9cb
permissions -rw-r--r--
Move init_bindings() to screen.c, with a few updates - Move the function init_bindings() to screen.c scr_init_bindings() - Get rid of the malloc/free - Add two key bindings: Meta-a, Meta-b - Put the comments on the same line when it is possible, in order to save some space.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
#ifndef __UTF8_H__
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
#define __UTF8_H__ 1
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
#include <config.h>
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
1089
a61c3311a5bb Hopefully fix unicode detection on BSD systems
Mikael Berthe <mikael@lilotux.net>
parents: 934
diff changeset
     6
#if defined HAVE_UNICODE && defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H
a61c3311a5bb Hopefully fix unicode detection on BSD systems
Mikael Berthe <mikael@lilotux.net>
parents: 934
diff changeset
     7
# define UNICODE
a61c3311a5bb Hopefully fix unicode detection on BSD systems
Mikael Berthe <mikael@lilotux.net>
parents: 934
diff changeset
     8
#endif
a61c3311a5bb Hopefully fix unicode detection on BSD systems
Mikael Berthe <mikael@lilotux.net>
parents: 934
diff changeset
     9
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
#ifdef HAVE_WCHAR_H
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
# include <wchar.h>
932
fc6aaa223650 Fix a few problems with non-UTF-8 locales
Mikael Berthe <mikael@lilotux.net>
parents: 930
diff changeset
    12
# define get_char_width(c) (utf8_mode ? wcwidth(get_char(c)) : 1)
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
#else
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
# define wcwidth(c) 1
932
fc6aaa223650 Fix a few problems with non-UTF-8 locales
Mikael Berthe <mikael@lilotux.net>
parents: 930
diff changeset
    15
# define get_char_width(c) 1
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
#endif
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    17
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
#ifdef HAVE_WCTYPE_H
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
# include <wctype.h>
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    20
#else
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    21
# define iswblank(c) (c == ' ')
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
# define iswalnum(c) isalnum(c)
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
# define iswprint(c) isprint(c)
1172
334ae9f498f1 Add some more iline functions (Lego12239)
Mikael Berthe <mikael@lilotux.net>
parents: 1089
diff changeset
    24
# define towupper(c) toupper(c)
334ae9f498f1 Add some more iline functions (Lego12239)
Mikael Berthe <mikael@lilotux.net>
parents: 1089
diff changeset
    25
# define towlower(c) tolower(c)
934
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 932
diff changeset
    26
#endif
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 932
diff changeset
    27
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    28
extern int utf8_mode;
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    29
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
char *prev_char(char *str, const char *limit);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
char *next_char(char *str);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    32
unsigned get_char(const char *str);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
char *put_char(char *str, unsigned c);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    35
#endif /* __UTF8_H__ */
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    36
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    37
/* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */