libunibreak
8.0
Toggle main menu visibility
Loading...
Searching...
No Matches
src
graphemebreakdef.h
Go to the documentation of this file.
1
/*
2
* Grapheme breaking in a Unicode sequence. Designed to be used in a
3
* generic text renderer.
4
*
5
* Copyright (C) 2016-2026 Andreas Röver <roever at users dot sf dot net>
6
*
7
* This software is provided 'as-is', without any express or implied
8
* warranty. In no event will the author be held liable for any damages
9
* arising from the use of this software.
10
*
11
* Permission is granted to anyone to use this software for any purpose,
12
* including commercial applications, and to alter it and redistribute
13
* it freely, subject to the following restrictions:
14
*
15
* 1. The origin of this software must not be misrepresented; you must
16
* not claim that you wrote the original software. If you use this
17
* software in a product, an acknowledgement in the product
18
* documentation would be appreciated but is not required.
19
* 2. Altered source versions must be plainly marked as such, and must
20
* not be misrepresented as being the original software.
21
* 3. This notice may not be removed or altered from any source
22
* distribution.
23
*
24
* The main reference is Unicode Standard Annex 29 (UAX #29):
25
* <URL:http://unicode.org/reports/tr29>
26
*
27
* When this library was designed, this annex was at Revision 29, for
28
* Unicode 9.0.0:
29
* <URL:http://www.unicode.org/reports/tr29/tr29-29.html>
30
*
31
* This library has been updated according to Revision 47, for
32
* Unicode 17.0.0:
33
* <URL:http://www.unicode.org/reports/tr29/tr29-47.html>
34
*
35
* The Unicode Terms of Use are available at
36
* <URL:http://www.unicode.org/copyright.html>
37
*/
38
47
48
#ifndef GRAPHEMEBREAKDEF_H
49
#define GRAPHEMEBREAKDEF_H
50
51
#include "
unibreakdef.h
"
52
57
enum
GraphemeBreakClass
58
{
59
GBP_CR
,
60
GBP_LF
,
61
GBP_Control
,
62
GBP_Virama
,
63
GBP_LinkingConsonant
,
64
GBP_Extend
,
65
GBP_ZWJ
,
66
GBP_Regional_Indicator
,
67
GBP_Prepend
,
68
GBP_SpacingMark
,
69
GBP_L
,
70
GBP_V
,
71
GBP_T
,
72
GBP_LV
,
73
GBP_LVT
,
74
GBP_Other
,
75
GBP_Undefined
76
};
77
82
struct
GraphemeBreakProperties
83
{
84
utf32_t
start
;
85
utf32_t
end
;
86
enum
GraphemeBreakClass
prop
;
87
};
88
89
#endif
/* GRAPHEMEBREAKDEF_H */
GraphemeBreakClass
GraphemeBreakClass
Word break classes.
Definition
graphemebreakdef.h:58
GBP_V
@ GBP_V
Definition
graphemebreakdef.h:70
GBP_ZWJ
@ GBP_ZWJ
Definition
graphemebreakdef.h:65
GBP_T
@ GBP_T
Definition
graphemebreakdef.h:71
GBP_Prepend
@ GBP_Prepend
Definition
graphemebreakdef.h:67
GBP_SpacingMark
@ GBP_SpacingMark
Definition
graphemebreakdef.h:68
GBP_LinkingConsonant
@ GBP_LinkingConsonant
Definition
graphemebreakdef.h:63
GBP_LV
@ GBP_LV
Definition
graphemebreakdef.h:72
GBP_Control
@ GBP_Control
Definition
graphemebreakdef.h:61
GBP_Regional_Indicator
@ GBP_Regional_Indicator
Definition
graphemebreakdef.h:66
GBP_L
@ GBP_L
Definition
graphemebreakdef.h:69
GBP_LVT
@ GBP_LVT
Definition
graphemebreakdef.h:73
GBP_LF
@ GBP_LF
Definition
graphemebreakdef.h:60
GBP_Virama
@ GBP_Virama
Definition
graphemebreakdef.h:62
GBP_Extend
@ GBP_Extend
Definition
graphemebreakdef.h:64
GBP_Other
@ GBP_Other
Definition
graphemebreakdef.h:74
GBP_CR
@ GBP_CR
Definition
graphemebreakdef.h:59
GBP_Undefined
@ GBP_Undefined
Definition
graphemebreakdef.h:75
GraphemeBreakProperties
Struct for entries of grapheme break properties.
Definition
graphemebreakdef.h:83
GraphemeBreakProperties::end
utf32_t end
End codepoint, inclusive.
Definition
graphemebreakdef.h:85
GraphemeBreakProperties::prop
enum GraphemeBreakClass prop
The grapheme breaking property.
Definition
graphemebreakdef.h:86
GraphemeBreakProperties::start
utf32_t start
Start codepoint.
Definition
graphemebreakdef.h:84
utf32_t
unsigned int utf32_t
Type for UTF-32 data points.
Definition
unibreakbase.h:49
unibreakdef.h
Header file for private definitions in the libunibreak library.
Generated by
1.18.0