charset.h (2235c7feac959bcc9ddfd6a2bc6be32102b1f84c) charset.h (95270f73baf6fa95ae529bc2eb6a61f5c79f32c0)
1/*
1/*
2 * Copyright (C) 1984-2021 Mark Nudelman
2 * Copyright (C) 1984-2022 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))
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))