1 /* Association between Unicode characters and their names. 2 Copyright (C) 2000-2002, 2005, 2007, 2009-2020 Free Software Foundation, 3 Inc. 4 5 This program is free software: you can redistribute it and/or modify it 6 under the terms of the GNU General Public License as published 7 by the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _UNINAME_H 19 #define _UNINAME_H 20 21 #include "unitypes.h" 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 /* Required size of buffer for a Unicode character name. */ 28 #define UNINAME_MAX 256 29 30 /* Looks up the name of a Unicode character, in uppercase ASCII. 31 Returns the filled buf, or NULL if the character does not have a name. */ 32 extern char * 33 unicode_character_name (ucs4_t uc, char *buf); 34 35 /* Looks up the Unicode character with a given name, in upper- or lowercase 36 ASCII. Returns the character if found, or UNINAME_INVALID if not found. */ 37 extern ucs4_t 38 unicode_name_character (const char *name) 39 _UC_ATTRIBUTE_PURE; 40 #define UNINAME_INVALID ((ucs4_t) 0xFFFF) 41 42 #ifdef __cplusplus 43 } 44 #endif 45 46 #endif /* _UNINAME_H */ 47