1 /* $NetBSD: charset.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ 2 3 /* 4 * Copyright (C) 2005-2011 Mark Nudelman 5 * 6 * You may distribute under the terms of either the GNU General Public 7 * License or the Less License, as specified in the README file. 8 * 9 * For more information about less, or for information on how to 10 * contact the author, see the README file. 11 */ 12 13 #define IS_ASCII_OCTET(c) (((c) & 0x80) == 0) 14 #define IS_UTF8_TRAIL(c) (((c) & 0xC0) == 0x80) 15 #define IS_UTF8_LEAD2(c) (((c) & 0xE0) == 0xC0) 16 #define IS_UTF8_LEAD3(c) (((c) & 0xF0) == 0xE0) 17 #define IS_UTF8_LEAD4(c) (((c) & 0xF8) == 0xF0) 18 #define IS_UTF8_LEAD5(c) (((c) & 0xFC) == 0xF8) 19 #define IS_UTF8_LEAD6(c) (((c) & 0xFE) == 0xFC) 20 #define IS_UTF8_INVALID(c) (((c) & 0xFE) == 0xFE) 21 #define IS_UTF8_LEAD(c) (((c) & 0xC0) == 0xC0 && !IS_UTF8_INVALID(c)) 22