|
||||
File indexing completed on 2025-01-17 09:56:14
0001 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 0002 /* Word breaks in Unicode strings. 0003 Copyright (C) 2001-2003, 2005-2024 Free Software Foundation, Inc. 0004 Written by Bruno Haible <bruno@clisp.org>, 2009. 0005 0006 This file is free software. 0007 It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+". 0008 You can redistribute it and/or modify it under either 0009 - the terms of the GNU Lesser General Public License as published 0010 by the Free Software Foundation, either version 3, or (at your 0011 option) any later version, or 0012 - the terms of the GNU General Public License as published by the 0013 Free Software Foundation; either version 2, or (at your option) 0014 any later version, or 0015 - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+". 0016 0017 This file is distributed in the hope that it will be useful, 0018 but WITHOUT ANY WARRANTY; without even the implied warranty of 0019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0020 Lesser General Public License and the GNU General Public License 0021 for more details. 0022 0023 You should have received a copy of the GNU Lesser General Public 0024 License and of the GNU General Public License along with this 0025 program. If not, see <https://www.gnu.org/licenses/>. */ 0026 0027 #ifndef _UNIWBRK_H 0028 #define _UNIWBRK_H 0029 0030 /* Get size_t. */ 0031 #include <stddef.h> 0032 0033 #include "unitypes.h" 0034 0035 0036 #ifdef __cplusplus 0037 extern "C" { 0038 #endif 0039 0040 /* ========================================================================= */ 0041 0042 /* Property defined in Unicode Standard Annex #29, section "Word Boundaries" 0043 <https://www.unicode.org/reports/tr29/#Word_Boundaries> */ 0044 0045 /* Possible values of the Word_Break property. 0046 This enumeration may be extended in the future. */ 0047 enum 0048 { 0049 WBP_OTHER = 0, 0050 WBP_CR = 11, 0051 WBP_LF = 12, 0052 WBP_NEWLINE = 10, 0053 WBP_EXTEND = 8, 0054 WBP_FORMAT = 9, 0055 WBP_KATAKANA = 1, 0056 WBP_ALETTER = 2, 0057 WBP_MIDNUMLET = 3, 0058 WBP_MIDLETTER = 4, 0059 WBP_MIDNUM = 5, 0060 WBP_NUMERIC = 6, 0061 WBP_EXTENDNUMLET = 7, 0062 WBP_RI = 13, 0063 WBP_DQ = 14, 0064 WBP_SQ = 15, 0065 WBP_HL = 16, 0066 WBP_ZWJ = 17, 0067 WBP_EB = 18, /* obsolete */ 0068 WBP_EM = 19, /* obsolete */ 0069 WBP_GAZ = 20, /* obsolete */ 0070 WBP_EBG = 21, /* obsolete */ 0071 WBP_WSS = 22 0072 }; 0073 0074 /* Return the Word_Break property of a Unicode character. */ 0075 extern int 0076 uc_wordbreak_property (ucs4_t uc) 0077 _UC_ATTRIBUTE_CONST; 0078 0079 /* ========================================================================= */ 0080 0081 /* Word breaks. */ 0082 0083 /* Determine the word break points in S, and store the result at p[0..n-1]. 0084 p[i] = 1 means that there is a word boundary between s[i-1] and s[i]. 0085 p[i] = 0 means that s[i-1] and s[i] must not be separated. 0086 */ 0087 extern void 0088 u8_wordbreaks (const uint8_t *s, size_t n, char *p); 0089 extern void 0090 u16_wordbreaks (const uint16_t *s, size_t n, char *p); 0091 extern void 0092 u32_wordbreaks (const uint32_t *s, size_t n, char *p); 0093 extern void 0094 ulc_wordbreaks (const char *s, size_t n, char *_UC_RESTRICT p); 0095 0096 /* ========================================================================= */ 0097 0098 #ifdef __cplusplus 0099 } 0100 #endif 0101 0102 0103 #endif /* _UNIWBRK_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |