mcabber/src/utf8.h
author Mikael Berthe <mikael@lilotux.net>
Fri, 11 Apr 2008 21:59:06 +0200
changeset 1460 af54d33facd0
parent 1179 0f7e0346d9cb
child 1575 481b60da99c9
permissions -rw-r--r--
Fix two comments
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)
1179
0f7e0346d9cb Add aspell support
entragian <entragian@o2.pl>
parents: 1172
diff changeset
    26
# define iswalpha(c) isalpha(c)
934
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 932
diff changeset
    27
#endif
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 932
diff changeset
    28
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    29
extern int utf8_mode;
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
char *prev_char(char *str, const char *limit);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    32
char *next_char(char *str);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
unsigned get_char(const char *str);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
char *put_char(char *str, unsigned c);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    35
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    36
#endif /* __UTF8_H__ */
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    37
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    38
/* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */