1 |
/* |
2 |
* Copyright (C) 1984-2012 Mark Nudelman |
3 |
* |
4 |
* You may distribute under the terms of either the GNU General Public |
5 |
* License or the Less License, as specified in the README file. |
6 |
* |
7 |
* For more information, see the README file. |
8 |
*/ |
9 |
|
10 |
#define IS_ASCII_OCTET(c) (((c) & 0x80) == 0) |
11 |
#define IS_UTF8_TRAIL(c) (((c) & 0xC0) == 0x80) |
12 |
#define IS_UTF8_LEAD2(c) (((c) & 0xE0) == 0xC0) |
13 |
#define IS_UTF8_LEAD3(c) (((c) & 0xF0) == 0xE0) |
14 |
#define IS_UTF8_LEAD4(c) (((c) & 0xF8) == 0xF0) |
15 |
#define IS_UTF8_LEAD5(c) (((c) & 0xFC) == 0xF8) |
16 |
#define IS_UTF8_LEAD6(c) (((c) & 0xFE) == 0xFC) |
17 |
#define IS_UTF8_INVALID(c) (((c) & 0xFE) == 0xFE) |
18 |
#define IS_UTF8_LEAD(c) (((c) & 0xC0) == 0xC0 && !IS_UTF8_INVALID(c)) |