annotate mcabber/mcabber/utf8.h @ 2218:b56be18d5a04

Update OTR comments
author Mikael Berthe <mikael@lilotux.net>
date Thu, 05 Nov 2015 23:29:59 +0100
parents e6d355e50d7a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1571
diff changeset
1 #ifndef __MCABBER_UTF8_H__
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1571
diff changeset
2 #define __MCABBER_UTF8_H__ 1
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1571
diff changeset
4 #include <mcabber/config.h>
930
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>
1571
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
20
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
21 /* The following bit is a hack for Solaris 8&9 systems that don't have
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
22 * iswblank().
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
23 * For now i made sure it comes after wctype.h so it doesn't create
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
24 * problems (wctype.h has calls to iswblank() before wctype() is declared).
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
25 * (Sebastian Kayser)
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
26 */
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
27 # ifndef HAVE_ISWBLANK
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
28 # define iswblank(wc) iswctype(wc, wctype("blank"))
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
29 # endif
481b60da99c9 Workaround for missing iswblank() on Solaris 8 & 9 (Sebastian Kayser)
Mikael Berthe <mikael@lilotux.net>
parents: 1179
diff changeset
30
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
31 #else
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
32 # define iswblank(c) (c == ' ')
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
33 # define iswalnum(c) isalnum(c)
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
34 # define iswprint(c) isprint(c)
1172
334ae9f498f1 Add some more iline functions (Lego12239)
Mikael Berthe <mikael@lilotux.net>
parents: 1089
diff changeset
35 # define towupper(c) toupper(c)
334ae9f498f1 Add some more iline functions (Lego12239)
Mikael Berthe <mikael@lilotux.net>
parents: 1089
diff changeset
36 # define towlower(c) tolower(c)
1179
0f7e0346d9cb Add aspell support
entragian <entragian@o2.pl>
parents: 1172
diff changeset
37 # define iswalpha(c) isalpha(c)
934
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 932
diff changeset
38 #endif
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 932
diff changeset
39
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
40 extern int utf8_mode;
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
41
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
42 char *prev_char(char *str, const char *limit);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
43 char *next_char(char *str);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
44 unsigned get_char(const char *str);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
45 char *put_char(char *str, unsigned c);
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
46
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1571
diff changeset
47 #endif /* __MCABBER_UTF8_H__ */
930
a75f7a13df7b UTF-8 terminal support (Reimar Döffinger)
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
48
1811
e6d355e50d7a Update Vim modelines
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
49 /* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */