diff options
author | David Walter Seikel | 2012-01-23 23:30:42 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-23 23:30:42 +1000 |
commit | 825a3d837a33f226c879cd02ad15c3fba57e8b2c (patch) | |
tree | 75f57bd9c4253508d338dc79ba8e57a7abc42255 /libraries/evas/src/static_deps/liblinebreak | |
parent | Add ability to disable the test harness, or the Lua compile test. (diff) | |
download | SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.zip SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.gz SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.bz2 SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.xz |
Update the EFL to what I'm actually using, coz I'm using some stuff not yet released.
Diffstat (limited to '')
7 files changed, 1463 insertions, 7 deletions
diff --git a/libraries/evas/src/static_deps/liblinebreak/AUTHORS b/libraries/evas/src/static_deps/liblinebreak/AUTHORS index 523106f..22786d4 100644 --- a/libraries/evas/src/static_deps/liblinebreak/AUTHORS +++ b/libraries/evas/src/static_deps/liblinebreak/AUTHORS | |||
@@ -4,3 +4,5 @@ Nikolay Pultsin. Put forward the original requirements on liblinebreak, | |||
4 | performed tests, and made a lot of suggestions on the initial versions. | 4 | performed tests, and made a lot of suggestions on the initial versions. |
5 | 5 | ||
6 | Thomas Klausner. Autoconfiscated and libtoolized liblinebreak. | 6 | Thomas Klausner. Autoconfiscated and libtoolized liblinebreak. |
7 | |||
8 | Tom Hacohen. Added word boundaries support. | ||
diff --git a/libraries/evas/src/static_deps/liblinebreak/Makefile.am b/libraries/evas/src/static_deps/liblinebreak/Makefile.am index f386455..68e9c4a 100644 --- a/libraries/evas/src/static_deps/liblinebreak/Makefile.am +++ b/libraries/evas/src/static_deps/liblinebreak/Makefile.am | |||
@@ -1,13 +1,15 @@ | |||
1 | MAINTAINERCLEANFILES = Makefile.in | 1 | MAINTAINERCLEANFILES = Makefile.in |
2 | 2 | ||
3 | #noinst_PROGRAMS = filter_dup | 3 | #noinst_PROGRAMS = filter_dup |
4 | noinst_HEADERS = linebreak.h linebreakdef.h | 4 | noinst_HEADERS = linebreak.h linebreakdef.h wordbreakdef.h wordbreak.h |
5 | noinst_LTLIBRARIES = liblinebreak.la | 5 | noinst_LTLIBRARIES = liblinebreak.la |
6 | 6 | ||
7 | liblinebreak_la_SOURCES = \ | 7 | liblinebreak_la_SOURCES = \ |
8 | linebreak.c \ | 8 | linebreak.c \ |
9 | linebreakdata.c \ | 9 | linebreakdata.c \ |
10 | linebreakdef.c | 10 | linebreakdef.c \ |
11 | wordbreak.c \ | ||
12 | wordbreakdata.x | ||
11 | 13 | ||
12 | EXTRA_DIST = \ | 14 | EXTRA_DIST = \ |
13 | LineBreak1.sed \ | 15 | LineBreak1.sed \ |
diff --git a/libraries/evas/src/static_deps/liblinebreak/Makefile.in b/libraries/evas/src/static_deps/liblinebreak/Makefile.in index 909f75e..9d44327 100644 --- a/libraries/evas/src/static_deps/liblinebreak/Makefile.in +++ b/libraries/evas/src/static_deps/liblinebreak/Makefile.in | |||
@@ -61,7 +61,7 @@ CONFIG_CLEAN_VPATH_FILES = | |||
61 | LTLIBRARIES = $(noinst_LTLIBRARIES) | 61 | LTLIBRARIES = $(noinst_LTLIBRARIES) |
62 | liblinebreak_la_LIBADD = | 62 | liblinebreak_la_LIBADD = |
63 | am_liblinebreak_la_OBJECTS = linebreak.lo linebreakdata.lo \ | 63 | am_liblinebreak_la_OBJECTS = linebreak.lo linebreakdata.lo \ |
64 | linebreakdef.lo | 64 | linebreakdef.lo wordbreak.lo |
65 | liblinebreak_la_OBJECTS = $(am_liblinebreak_la_OBJECTS) | 65 | liblinebreak_la_OBJECTS = $(am_liblinebreak_la_OBJECTS) |
66 | AM_V_lt = $(am__v_lt_$(V)) | 66 | AM_V_lt = $(am__v_lt_$(V)) |
67 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) | 67 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) |
@@ -200,8 +200,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
200 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 200 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
201 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 201 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
202 | PKG_CONFIG = @PKG_CONFIG@ | 202 | PKG_CONFIG = @PKG_CONFIG@ |
203 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
204 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
205 | PNG_CFLAGS = @PNG_CFLAGS@ | 203 | PNG_CFLAGS = @PNG_CFLAGS@ |
206 | PNG_LIBS = @PNG_LIBS@ | 204 | PNG_LIBS = @PNG_LIBS@ |
207 | RANLIB = @RANLIB@ | 205 | RANLIB = @RANLIB@ |
@@ -218,6 +216,8 @@ VALGRIND_CFLAGS = @VALGRIND_CFLAGS@ | |||
218 | VALGRIND_LIBS = @VALGRIND_LIBS@ | 216 | VALGRIND_LIBS = @VALGRIND_LIBS@ |
219 | VERSION = @VERSION@ | 217 | VERSION = @VERSION@ |
220 | VMAJ = @VMAJ@ | 218 | VMAJ = @VMAJ@ |
219 | WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ | ||
220 | WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ | ||
221 | WIN32_CFLAGS = @WIN32_CFLAGS@ | 221 | WIN32_CFLAGS = @WIN32_CFLAGS@ |
222 | WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ | 222 | WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ |
223 | XCB_CFLAGS = @XCB_CFLAGS@ | 223 | XCB_CFLAGS = @XCB_CFLAGS@ |
@@ -299,6 +299,10 @@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ | |||
299 | evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ | 299 | evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ |
300 | evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ | 300 | evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ |
301 | evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@ | 301 | evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@ |
302 | evas_engine_wayland_egl_cflags = @evas_engine_wayland_egl_cflags@ | ||
303 | evas_engine_wayland_egl_libs = @evas_engine_wayland_egl_libs@ | ||
304 | evas_engine_wayland_shm_cflags = @evas_engine_wayland_shm_cflags@ | ||
305 | evas_engine_wayland_shm_libs = @evas_engine_wayland_shm_libs@ | ||
302 | evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@ | 306 | evas_image_loader_bmp_cflags = @evas_image_loader_bmp_cflags@ |
303 | evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@ | 307 | evas_image_loader_bmp_libs = @evas_image_loader_bmp_libs@ |
304 | evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@ | 308 | evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@ |
@@ -376,12 +380,14 @@ version_info = @version_info@ | |||
376 | MAINTAINERCLEANFILES = Makefile.in | 380 | MAINTAINERCLEANFILES = Makefile.in |
377 | 381 | ||
378 | #noinst_PROGRAMS = filter_dup | 382 | #noinst_PROGRAMS = filter_dup |
379 | noinst_HEADERS = linebreak.h linebreakdef.h | 383 | noinst_HEADERS = linebreak.h linebreakdef.h wordbreakdef.h wordbreak.h |
380 | noinst_LTLIBRARIES = liblinebreak.la | 384 | noinst_LTLIBRARIES = liblinebreak.la |
381 | liblinebreak_la_SOURCES = \ | 385 | liblinebreak_la_SOURCES = \ |
382 | linebreak.c \ | 386 | linebreak.c \ |
383 | linebreakdata.c \ | 387 | linebreakdata.c \ |
384 | linebreakdef.c | 388 | linebreakdef.c \ |
389 | wordbreak.c \ | ||
390 | wordbreakdata.x | ||
385 | 391 | ||
386 | EXTRA_DIST = \ | 392 | EXTRA_DIST = \ |
387 | LineBreak1.sed \ | 393 | LineBreak1.sed \ |
@@ -446,6 +452,7 @@ distclean-compile: | |||
446 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreak.Plo@am__quote@ | 452 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreak.Plo@am__quote@ |
447 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreakdata.Plo@am__quote@ | 453 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreakdata.Plo@am__quote@ |
448 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreakdef.Plo@am__quote@ | 454 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreakdef.Plo@am__quote@ |
455 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wordbreak.Plo@am__quote@ | ||
449 | 456 | ||
450 | .c.o: | 457 | .c.o: |
451 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | 458 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< |
diff --git a/libraries/evas/src/static_deps/liblinebreak/wordbreak.c b/libraries/evas/src/static_deps/liblinebreak/wordbreak.c new file mode 100644 index 0000000..bbbb7f4 --- /dev/null +++ b/libraries/evas/src/static_deps/liblinebreak/wordbreak.c | |||
@@ -0,0 +1,435 @@ | |||
1 | /* vim: set tabstop=4 shiftwidth=4: */ | ||
2 | |||
3 | /* | ||
4 | * Word breaking in a Unicode sequence. Designed to be used in a | ||
5 | * generic text renderer. | ||
6 | * | ||
7 | * Copyright (C) 2011-2011 Tom Hacohen <tom@stosb.com> | ||
8 | * | ||
9 | * This software is provided 'as-is', without any express or implied | ||
10 | * warranty. In no event will the author be held liable for any damages | ||
11 | * arising from the use of this software. | ||
12 | * | ||
13 | * Permission is granted to anyone to use this software for any purpose, | ||
14 | * including commercial applications, and to alter it and redistribute | ||
15 | * it freely, subject to the following restrictions: | ||
16 | * | ||
17 | * 1. The origin of this software must not be misrepresented; you must | ||
18 | * not claim that you wrote the original software. If you use this | ||
19 | * software in a product, an acknowledgement in the product | ||
20 | * documentation would be appreciated but is not required. | ||
21 | * 2. Altered source versions must be plainly marked as such, and must | ||
22 | * not be misrepresented as being the original software. | ||
23 | * 3. This notice may not be removed or altered from any source | ||
24 | * distribution. | ||
25 | * | ||
26 | * The main reference is Unicode Standard Annex 29 (UAX #29): | ||
27 | * <URL:http://unicode.org/reports/tr29> | ||
28 | * | ||
29 | * When this library was designed, this annex was at Revision 17, for | ||
30 | * Unicode 6.0.0: | ||
31 | * <URL:http://www.unicode.org/reports/tr29/tr29-17.html> | ||
32 | * | ||
33 | * The Unicode Terms of Use are available at | ||
34 | * <URL:http://www.unicode.org/copyright.html> | ||
35 | */ | ||
36 | |||
37 | /** | ||
38 | * @file wordbreak.c | ||
39 | * | ||
40 | * Implementation of the word breaking algorithm as described in Unicode | ||
41 | * Standard Annex 29. | ||
42 | * | ||
43 | * @version 2.0, 2011/12/12 | ||
44 | * @author Tom Hacohen | ||
45 | */ | ||
46 | |||
47 | |||
48 | #include <assert.h> | ||
49 | #include <stddef.h> | ||
50 | #include <string.h> | ||
51 | #include "linebreak.h" | ||
52 | #include "linebreakdef.h" | ||
53 | |||
54 | #include "wordbreak.h" | ||
55 | #include "wordbreakdata.x" | ||
56 | |||
57 | #define ARRAY_LEN(x) (sizeof(x) / sizeof(x[0])) | ||
58 | |||
59 | /* Init the wordbreak internals. */ | ||
60 | void init_wordbreak(void) | ||
61 | { | ||
62 | /* Currently does nothing, may be needed in the future. */ | ||
63 | return; | ||
64 | } | ||
65 | |||
66 | /** | ||
67 | * Gets the word breaking class of a character. | ||
68 | * | ||
69 | * @param ch character to check | ||
70 | * @param wbp pointer to the wbp breaking properties array | ||
71 | * @param len the size of the wbp array in number of items. | ||
72 | * @return the word breaking class if found; \c WBP_Any otherwise | ||
73 | */ | ||
74 | static enum WordBreakClass get_char_wb_class( | ||
75 | utf32_t ch, | ||
76 | struct WordBreakProperties *wbp, | ||
77 | size_t len) | ||
78 | { | ||
79 | int min = 0; | ||
80 | int max = len - 1; | ||
81 | int mid; | ||
82 | |||
83 | do | ||
84 | { | ||
85 | mid = (min + max) / 2; | ||
86 | |||
87 | if (ch < wbp[mid].start) | ||
88 | max = mid - 1; | ||
89 | else if (ch > wbp[mid].end) | ||
90 | min = mid + 1; | ||
91 | else | ||
92 | return wbp[mid].prop; | ||
93 | } | ||
94 | while (min <= max); | ||
95 | |||
96 | return WBP_Any; | ||
97 | } | ||
98 | |||
99 | /** | ||
100 | * Sets the break types in brks starting from posLast up to posStop. | ||
101 | * | ||
102 | * It sets the inside chars to #WORDBREAK_INSIDECHAR and the rest to brkType. | ||
103 | * Assumes brks is initialized - all the cells with #WORDBREAK_NOBREAK are | ||
104 | * cells that we really don't want to break after. | ||
105 | * | ||
106 | * @param s the string | ||
107 | * @param brks[out] the breaks array to fill. | ||
108 | * @param posStart the start position | ||
109 | * @param posEnd the end position | ||
110 | * @param len the length of the string | ||
111 | * @param brkType the breaks type to use | ||
112 | * @param get_next_char function to get the next UTF-32 character | ||
113 | */ | ||
114 | static void set_brks_to(const void *s, | ||
115 | char *brks, | ||
116 | size_t posStart, | ||
117 | size_t posEnd, | ||
118 | size_t len, | ||
119 | char brkType, | ||
120 | get_next_char_t get_next_char) | ||
121 | { | ||
122 | size_t posCur = posStart; | ||
123 | while (posCur < posEnd) | ||
124 | { | ||
125 | get_next_char(s, len, &posCur); | ||
126 | for ( ; posStart < posCur - 1; ++posStart) | ||
127 | { | ||
128 | brks[posStart] = WORDBREAK_INSIDECHAR; | ||
129 | } | ||
130 | assert(posStart == posCur - 1); | ||
131 | |||
132 | /* Only set it if we haven't set it not to break before. */ | ||
133 | if (brks[posStart] != WORDBREAK_NOBREAK) | ||
134 | brks[posStart] = brkType; | ||
135 | posStart = posCur; | ||
136 | } | ||
137 | } | ||
138 | |||
139 | /* Checks to see if newline, cr, or lf. for WB3a and b */ | ||
140 | #define IS_WB3ab(cls) ((cls == WBP_Newline) || (cls == WBP_CR) || \ | ||
141 | (cls == WBP_LF)) | ||
142 | |||
143 | /** | ||
144 | * Sets the word breaking information for a generic input string. | ||
145 | * | ||
146 | * @param[in] s input string | ||
147 | * @param[in] len length of the input | ||
148 | * @param[in] lang language of the input | ||
149 | * @param[out] brks pointer to the output breaking data, containing | ||
150 | * #WORDBREAK_BREAK, #WORDBREAK_NOBREAK, or | ||
151 | * #WORDBREAK_INSIDEACHAR | ||
152 | * @param[in] get_next_char function to get the next UTF-32 character | ||
153 | */ | ||
154 | static void set_wordbreaks( | ||
155 | const void *s, | ||
156 | size_t len, | ||
157 | const char *lang, | ||
158 | char *brks, | ||
159 | get_next_char_t get_next_char) | ||
160 | { | ||
161 | /* Previous class */ | ||
162 | enum WordBreakClass p_cls = WBP_Undefined; | ||
163 | /* Strong previous class. */ | ||
164 | enum WordBreakClass sp_cls = WBP_Undefined; | ||
165 | utf32_t ch; | ||
166 | size_t posCur = 0; | ||
167 | size_t posCurSt = 0; | ||
168 | size_t posLast = 0; | ||
169 | |||
170 | /* FIXME: unused atm. */ | ||
171 | (void) lang; | ||
172 | |||
173 | |||
174 | /* Init brks */ | ||
175 | memset(brks, WORDBREAK_BREAK, len); | ||
176 | |||
177 | ch = get_next_char(s, len, &posCur); | ||
178 | |||
179 | /* WB3a, WB3b are implied. */ | ||
180 | for ( ; ch != EOS ; ) | ||
181 | { | ||
182 | /* Current class */ | ||
183 | enum WordBreakClass c_cls; | ||
184 | c_cls = get_char_wb_class(ch, wb_prop_default, | ||
185 | ARRAY_LEN(wb_prop_default)); | ||
186 | |||
187 | switch (c_cls) | ||
188 | { | ||
189 | case WBP_CR: | ||
190 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
191 | get_next_char); | ||
192 | sp_cls = c_cls; | ||
193 | posLast = posCurSt; | ||
194 | break; | ||
195 | |||
196 | case WBP_LF: | ||
197 | if (sp_cls == WBP_CR) /* WB3 */ | ||
198 | { | ||
199 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_NOBREAK, | ||
200 | get_next_char); | ||
201 | sp_cls = c_cls; | ||
202 | posLast = posCurSt; | ||
203 | } | ||
204 | sp_cls = c_cls; | ||
205 | posLast = posCurSt; | ||
206 | break; | ||
207 | |||
208 | case WBP_Newline: | ||
209 | /* WB3a, WB3b */ | ||
210 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
211 | get_next_char); | ||
212 | sp_cls = c_cls; | ||
213 | posLast = posCurSt; | ||
214 | break; | ||
215 | |||
216 | case WBP_Extend: | ||
217 | case WBP_Format: | ||
218 | /* WB4 - If not the first char/after a newline (W3ab), | ||
219 | * skip this class, set it to be the same as the prev, and mark | ||
220 | * brks not to break before them. */ | ||
221 | if ((sp_cls == WBP_Undefined) || IS_WB3ab(sp_cls)) | ||
222 | { | ||
223 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
224 | get_next_char); | ||
225 | sp_cls = c_cls; | ||
226 | } | ||
227 | else | ||
228 | { | ||
229 | /* It's surely not the first */ | ||
230 | brks[posCurSt - 1] = WORDBREAK_NOBREAK; | ||
231 | /* "inherit" the previous class. */ | ||
232 | c_cls = p_cls; | ||
233 | } | ||
234 | break; | ||
235 | |||
236 | case WBP_Katakana: | ||
237 | if ((sp_cls == WBP_Katakana) || /* WB13 */ | ||
238 | (sp_cls == WBP_ExtendNumLet)) /* WB13b */ | ||
239 | { | ||
240 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_NOBREAK, | ||
241 | get_next_char); | ||
242 | } | ||
243 | /* No rule found, reset */ | ||
244 | else | ||
245 | { | ||
246 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
247 | get_next_char); | ||
248 | } | ||
249 | sp_cls = c_cls; | ||
250 | posLast = posCurSt; | ||
251 | break; | ||
252 | |||
253 | case WBP_ALetter: | ||
254 | if ((sp_cls == WBP_ALetter) || /* WB5,6,7 */ | ||
255 | ((sp_cls == WBP_Numeric) && (p_cls == WBP_Numeric)) || /* WB10 */ | ||
256 | (sp_cls == WBP_ExtendNumLet)) /* WB13b */ | ||
257 | { | ||
258 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_NOBREAK, | ||
259 | get_next_char); | ||
260 | } | ||
261 | /* No rule found, reset */ | ||
262 | else | ||
263 | { | ||
264 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
265 | get_next_char); | ||
266 | } | ||
267 | sp_cls = c_cls; | ||
268 | posLast = posCurSt; | ||
269 | break; | ||
270 | |||
271 | case WBP_MidNumLet: | ||
272 | if ((p_cls == WBP_ALetter) || /* WBP6,7 */ | ||
273 | (p_cls == WBP_Numeric)) /* WBP11,12 */ | ||
274 | { | ||
275 | /* Go on */ | ||
276 | } | ||
277 | else | ||
278 | { | ||
279 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
280 | get_next_char); | ||
281 | sp_cls = c_cls; | ||
282 | posLast = posCurSt; | ||
283 | } | ||
284 | break; | ||
285 | |||
286 | case WBP_MidLetter: | ||
287 | if (p_cls == WBP_ALetter) /* WBP6,7 */ | ||
288 | { | ||
289 | /* Go on */ | ||
290 | } | ||
291 | else | ||
292 | { | ||
293 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
294 | get_next_char); | ||
295 | sp_cls = c_cls; | ||
296 | posLast = posCurSt; | ||
297 | } | ||
298 | break; | ||
299 | |||
300 | case WBP_MidNum: | ||
301 | if (p_cls == WBP_Numeric) /* WBP11,12 */ | ||
302 | { | ||
303 | /* Go on */ | ||
304 | } | ||
305 | else | ||
306 | { | ||
307 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
308 | get_next_char); | ||
309 | sp_cls = c_cls; | ||
310 | posLast = posCurSt; | ||
311 | } | ||
312 | break; | ||
313 | |||
314 | case WBP_Numeric: | ||
315 | if ((sp_cls == WBP_Numeric) || /* WB8,11,12 */ | ||
316 | ((sp_cls == WBP_ALetter) && (p_cls == WBP_ALetter)) || /* WB9 */ | ||
317 | (sp_cls == WBP_ExtendNumLet)) /* WB13b */ | ||
318 | { | ||
319 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_NOBREAK, | ||
320 | get_next_char); | ||
321 | } | ||
322 | /* No rule found, reset */ | ||
323 | else | ||
324 | { | ||
325 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
326 | get_next_char); | ||
327 | } | ||
328 | sp_cls = c_cls; | ||
329 | posLast = posCurSt; | ||
330 | break; | ||
331 | |||
332 | case WBP_ExtendNumLet: | ||
333 | /* WB13a,13b */ | ||
334 | if ((sp_cls == p_cls) && | ||
335 | ((p_cls == WBP_ALetter) || | ||
336 | (p_cls == WBP_Numeric) || | ||
337 | (p_cls == WBP_Katakana) || | ||
338 | (p_cls == WBP_ExtendNumLet))) | ||
339 | { | ||
340 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_NOBREAK, | ||
341 | get_next_char); | ||
342 | } | ||
343 | /* No rule found, reset */ | ||
344 | else | ||
345 | { | ||
346 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
347 | get_next_char); | ||
348 | } | ||
349 | sp_cls = c_cls; | ||
350 | posLast = posCurSt; | ||
351 | break; | ||
352 | |||
353 | case WBP_Any: | ||
354 | /* Allow breaks and reset */ | ||
355 | set_brks_to(s, brks, posLast, posCurSt, len, WORDBREAK_BREAK, | ||
356 | get_next_char); | ||
357 | sp_cls = c_cls; | ||
358 | posLast = posCurSt; | ||
359 | break; | ||
360 | |||
361 | default: | ||
362 | /* Error, should never get here! */ | ||
363 | assert(0); | ||
364 | break; | ||
365 | } | ||
366 | |||
367 | p_cls = c_cls; | ||
368 | posCurSt = posCur; | ||
369 | ch = get_next_char(s, len, &posCur); | ||
370 | } | ||
371 | |||
372 | /* WB2 */ | ||
373 | set_brks_to(s, brks, posLast, posCur, len, WORDBREAK_BREAK, | ||
374 | get_next_char); | ||
375 | } | ||
376 | |||
377 | /** | ||
378 | * Sets the word breaking information for a UTF-8 input string. | ||
379 | * | ||
380 | * @param[in] s input UTF-8 string | ||
381 | * @param[in] len length of the input | ||
382 | * @param[in] lang language of the input | ||
383 | * @param[out] brks pointer to the output breaking data, containing | ||
384 | * #WORDBREAK_BREAK, #WORDBREAK_NOBREAK, or | ||
385 | * #WORDBREAK_INSIDEACHAR | ||
386 | */ | ||
387 | void set_wordbreaks_utf8( | ||
388 | const utf8_t *s, | ||
389 | size_t len, | ||
390 | const char *lang, | ||
391 | char *brks) | ||
392 | { | ||
393 | set_wordbreaks(s, len, lang, brks, | ||
394 | (get_next_char_t)lb_get_next_char_utf8); | ||
395 | } | ||
396 | |||
397 | /** | ||
398 | * Sets the word breaking information for a UTF-16 input string. | ||
399 | * | ||
400 | * @param[in] s input UTF-16 string | ||
401 | * @param[in] len length of the input | ||
402 | * @param[in] lang language of the input | ||
403 | * @param[out] brks pointer to the output breaking data, containing | ||
404 | * #WORDBREAK_BREAK, #WORDBREAK_NOBREAK, or | ||
405 | * #WORDBREAK_INSIDEACHAR | ||
406 | */ | ||
407 | void set_wordbreaks_utf16( | ||
408 | const utf16_t *s, | ||
409 | size_t len, | ||
410 | const char *lang, | ||
411 | char *brks) | ||
412 | { | ||
413 | set_wordbreaks(s, len, lang, brks, | ||
414 | (get_next_char_t)lb_get_next_char_utf16); | ||
415 | } | ||
416 | |||
417 | /** | ||
418 | * Sets the word breaking information for a UTF-32 input string. | ||
419 | * | ||
420 | * @param[in] s input UTF-32 string | ||
421 | * @param[in] len length of the input | ||
422 | * @param[in] lang language of the input | ||
423 | * @param[out] brks pointer to the output breaking data, containing | ||
424 | * #WORDBREAK_BREAK, #WORDBREAK_NOBREAK, or | ||
425 | * #WORDBREAK_INSIDEACHAR | ||
426 | */ | ||
427 | void set_wordbreaks_utf32( | ||
428 | const utf32_t *s, | ||
429 | size_t len, | ||
430 | const char *lang, | ||
431 | char *brks) | ||
432 | { | ||
433 | set_wordbreaks(s, len, lang, brks, | ||
434 | (get_next_char_t)lb_get_next_char_utf32); | ||
435 | } | ||
diff --git a/libraries/evas/src/static_deps/liblinebreak/wordbreak.h b/libraries/evas/src/static_deps/liblinebreak/wordbreak.h new file mode 100644 index 0000000..7b7bea7 --- /dev/null +++ b/libraries/evas/src/static_deps/liblinebreak/wordbreak.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* vim: set tabstop=4 shiftwidth=4: */ | ||
2 | |||
3 | /* | ||
4 | * Word breaking in a Unicode sequence. Designed to be used in a | ||
5 | * generic text renderer. | ||
6 | * | ||
7 | * Copyright (C) 2011-2011 Tom Hacohen <tom@stosb.com> | ||
8 | * | ||
9 | * This software is provided 'as-is', without any express or implied | ||
10 | * warranty. In no event will the author be held liable for any damages | ||
11 | * arising from the use of this software. | ||
12 | * | ||
13 | * Permission is granted to anyone to use this software for any purpose, | ||
14 | * including commercial applications, and to alter it and redistribute | ||
15 | * it freely, subject to the following restrictions: | ||
16 | * | ||
17 | * 1. The origin of this software must not be misrepresented; you must | ||
18 | * not claim that you wrote the original software. If you use this | ||
19 | * software in a product, an acknowledgement in the product | ||
20 | * documentation would be appreciated but is not required. | ||
21 | * 2. Altered source versions must be plainly marked as such, and must | ||
22 | * not be misrepresented as being the original software. | ||
23 | * 3. This notice may not be removed or altered from any source | ||
24 | * distribution. | ||
25 | * | ||
26 | * The main reference is Unicode Standard Annex 29 (UAX #29): | ||
27 | * <URL:http://unicode.org/reports/tr29> | ||
28 | * | ||
29 | * When this library was designed, this annex was at Revision 17, for | ||
30 | * Unicode 6.0.0: | ||
31 | * <URL:http://www.unicode.org/reports/tr29/tr29-17.html> | ||
32 | * | ||
33 | * The Unicode Terms of Use are available at | ||
34 | * <URL:http://www.unicode.org/copyright.html> | ||
35 | */ | ||
36 | |||
37 | /** | ||
38 | * @file wordbreak.h | ||
39 | * | ||
40 | * Header file for the word breaking (segmentation) algorithm. | ||
41 | * | ||
42 | * @version 2.0, 2011/12/12 | ||
43 | * @author Tom Hacohen | ||
44 | */ | ||
45 | |||
46 | #ifndef WORDBREAK_H | ||
47 | #define WORDBREAK_H | ||
48 | |||
49 | #include <stddef.h> | ||
50 | #include <linebreak.h> | ||
51 | |||
52 | #ifdef __cplusplus | ||
53 | extern "C" { | ||
54 | #endif | ||
55 | |||
56 | #define WORDBREAK_BREAK 0 /* Break found */ | ||
57 | #define WORDBREAK_NOBREAK 1 /**< Break not found */ | ||
58 | #define WORDBREAK_INSIDECHAR 2 /**< A UTF-8/16 sequence is unfinished */ | ||
59 | |||
60 | void init_wordbreak(void); | ||
61 | void set_wordbreaks_utf8( | ||
62 | const utf8_t *s, size_t len, const char* lang, char *brks); | ||
63 | void set_wordbreaks_utf16( | ||
64 | const utf16_t *s, size_t len, const char* lang, char *brks); | ||
65 | void set_wordbreaks_utf32( | ||
66 | const utf32_t *s, size_t len, const char* lang, char *brks); | ||
67 | |||
68 | #ifdef __cplusplus | ||
69 | } | ||
70 | #endif | ||
71 | |||
72 | #endif | ||
diff --git a/libraries/evas/src/static_deps/liblinebreak/wordbreakdata.x b/libraries/evas/src/static_deps/liblinebreak/wordbreakdata.x new file mode 100644 index 0000000..c7278ef --- /dev/null +++ b/libraries/evas/src/static_deps/liblinebreak/wordbreakdata.x | |||
@@ -0,0 +1,858 @@ | |||
1 | /* The content of this file is generated from: | ||
2 | # WordBreakProperty-6.0.0.txt | ||
3 | # Date: 2010-08-19, 00:48:48 GMT [MD] | ||
4 | */ | ||
5 | #include "linebreak.h" | ||
6 | #include "wordbreakdef.h" | ||
7 | static struct WordBreakProperties wb_prop_default[] = { | ||
8 | {0x000A, 0x000A, WBP_LF}, | ||
9 | {0x000B, 0x000C, WBP_Newline}, | ||
10 | {0x000D, 0x000D, WBP_CR}, | ||
11 | {0x0027, 0x0027, WBP_MidNumLet}, | ||
12 | {0x002C, 0x002C, WBP_MidNum}, | ||
13 | {0x002E, 0x002E, WBP_MidNumLet}, | ||
14 | {0x0030, 0x0039, WBP_Numeric}, | ||
15 | {0x003A, 0x003A, WBP_MidLetter}, | ||
16 | {0x003B, 0x003B, WBP_MidNum}, | ||
17 | {0x0041, 0x005A, WBP_ALetter}, | ||
18 | {0x005F, 0x005F, WBP_ExtendNumLet}, | ||
19 | {0x0061, 0x007A, WBP_ALetter}, | ||
20 | {0x0085, 0x0085, WBP_Newline}, | ||
21 | {0x00AA, 0x00AA, WBP_ALetter}, | ||
22 | {0x00AD, 0x00AD, WBP_Format}, | ||
23 | {0x00B5, 0x00B5, WBP_ALetter}, | ||
24 | {0x00B7, 0x00B7, WBP_MidLetter}, | ||
25 | {0x00BA, 0x00BA, WBP_ALetter}, | ||
26 | {0x00C0, 0x00D6, WBP_ALetter}, | ||
27 | {0x00D8, 0x00F6, WBP_ALetter}, | ||
28 | {0x00F8, 0x01BA, WBP_ALetter}, | ||
29 | {0x01BB, 0x01BB, WBP_ALetter}, | ||
30 | {0x01BC, 0x01BF, WBP_ALetter}, | ||
31 | {0x01C0, 0x01C3, WBP_ALetter}, | ||
32 | {0x01C4, 0x0293, WBP_ALetter}, | ||
33 | {0x0294, 0x0294, WBP_ALetter}, | ||
34 | {0x0295, 0x02AF, WBP_ALetter}, | ||
35 | {0x02B0, 0x02C1, WBP_ALetter}, | ||
36 | {0x02C6, 0x02D1, WBP_ALetter}, | ||
37 | {0x02E0, 0x02E4, WBP_ALetter}, | ||
38 | {0x02EC, 0x02EC, WBP_ALetter}, | ||
39 | {0x02EE, 0x02EE, WBP_ALetter}, | ||
40 | {0x0300, 0x036F, WBP_Extend}, | ||
41 | {0x0370, 0x0373, WBP_ALetter}, | ||
42 | {0x0374, 0x0374, WBP_ALetter}, | ||
43 | {0x0376, 0x0377, WBP_ALetter}, | ||
44 | {0x037A, 0x037A, WBP_ALetter}, | ||
45 | {0x037B, 0x037D, WBP_ALetter}, | ||
46 | {0x037E, 0x037E, WBP_MidNum}, | ||
47 | {0x0386, 0x0386, WBP_ALetter}, | ||
48 | {0x0387, 0x0387, WBP_MidLetter}, | ||
49 | {0x0388, 0x038A, WBP_ALetter}, | ||
50 | {0x038C, 0x038C, WBP_ALetter}, | ||
51 | {0x038E, 0x03A1, WBP_ALetter}, | ||
52 | {0x03A3, 0x03F5, WBP_ALetter}, | ||
53 | {0x03F7, 0x0481, WBP_ALetter}, | ||
54 | {0x0483, 0x0487, WBP_Extend}, | ||
55 | {0x0488, 0x0489, WBP_Extend}, | ||
56 | {0x048A, 0x0527, WBP_ALetter}, | ||
57 | {0x0531, 0x0556, WBP_ALetter}, | ||
58 | {0x0559, 0x0559, WBP_ALetter}, | ||
59 | {0x0561, 0x0587, WBP_ALetter}, | ||
60 | {0x0589, 0x0589, WBP_MidNum}, | ||
61 | {0x0591, 0x05BD, WBP_Extend}, | ||
62 | {0x05BF, 0x05BF, WBP_Extend}, | ||
63 | {0x05C1, 0x05C2, WBP_Extend}, | ||
64 | {0x05C4, 0x05C5, WBP_Extend}, | ||
65 | {0x05C7, 0x05C7, WBP_Extend}, | ||
66 | {0x05D0, 0x05EA, WBP_ALetter}, | ||
67 | {0x05F0, 0x05F2, WBP_ALetter}, | ||
68 | {0x05F3, 0x05F3, WBP_ALetter}, | ||
69 | {0x05F4, 0x05F4, WBP_MidLetter}, | ||
70 | {0x0600, 0x0603, WBP_Format}, | ||
71 | {0x060C, 0x060D, WBP_MidNum}, | ||
72 | {0x0610, 0x061A, WBP_Extend}, | ||
73 | {0x0620, 0x063F, WBP_ALetter}, | ||
74 | {0x0640, 0x0640, WBP_ALetter}, | ||
75 | {0x0641, 0x064A, WBP_ALetter}, | ||
76 | {0x064B, 0x065F, WBP_Extend}, | ||
77 | {0x0660, 0x0669, WBP_Numeric}, | ||
78 | {0x066B, 0x066B, WBP_Numeric}, | ||
79 | {0x066C, 0x066C, WBP_MidNum}, | ||
80 | {0x066E, 0x066F, WBP_ALetter}, | ||
81 | {0x0670, 0x0670, WBP_Extend}, | ||
82 | {0x0671, 0x06D3, WBP_ALetter}, | ||
83 | {0x06D5, 0x06D5, WBP_ALetter}, | ||
84 | {0x06D6, 0x06DC, WBP_Extend}, | ||
85 | {0x06DD, 0x06DD, WBP_Format}, | ||
86 | {0x06DF, 0x06E4, WBP_Extend}, | ||
87 | {0x06E5, 0x06E6, WBP_ALetter}, | ||
88 | {0x06E7, 0x06E8, WBP_Extend}, | ||
89 | {0x06EA, 0x06ED, WBP_Extend}, | ||
90 | {0x06EE, 0x06EF, WBP_ALetter}, | ||
91 | {0x06F0, 0x06F9, WBP_Numeric}, | ||
92 | {0x06FA, 0x06FC, WBP_ALetter}, | ||
93 | {0x06FF, 0x06FF, WBP_ALetter}, | ||
94 | {0x070F, 0x070F, WBP_Format}, | ||
95 | {0x0710, 0x0710, WBP_ALetter}, | ||
96 | {0x0711, 0x0711, WBP_Extend}, | ||
97 | {0x0712, 0x072F, WBP_ALetter}, | ||
98 | {0x0730, 0x074A, WBP_Extend}, | ||
99 | {0x074D, 0x07A5, WBP_ALetter}, | ||
100 | {0x07A6, 0x07B0, WBP_Extend}, | ||
101 | {0x07B1, 0x07B1, WBP_ALetter}, | ||
102 | {0x07C0, 0x07C9, WBP_Numeric}, | ||
103 | {0x07CA, 0x07EA, WBP_ALetter}, | ||
104 | {0x07EB, 0x07F3, WBP_Extend}, | ||
105 | {0x07F4, 0x07F5, WBP_ALetter}, | ||
106 | {0x07F8, 0x07F8, WBP_MidNum}, | ||
107 | {0x07FA, 0x07FA, WBP_ALetter}, | ||
108 | {0x0800, 0x0815, WBP_ALetter}, | ||
109 | {0x0816, 0x0819, WBP_Extend}, | ||
110 | {0x081A, 0x081A, WBP_ALetter}, | ||
111 | {0x081B, 0x0823, WBP_Extend}, | ||
112 | {0x0824, 0x0824, WBP_ALetter}, | ||
113 | {0x0825, 0x0827, WBP_Extend}, | ||
114 | {0x0828, 0x0828, WBP_ALetter}, | ||
115 | {0x0829, 0x082D, WBP_Extend}, | ||
116 | {0x0840, 0x0858, WBP_ALetter}, | ||
117 | {0x0859, 0x085B, WBP_Extend}, | ||
118 | {0x0900, 0x0902, WBP_Extend}, | ||
119 | {0x0903, 0x0903, WBP_Extend}, | ||
120 | {0x0904, 0x0939, WBP_ALetter}, | ||
121 | {0x093A, 0x093A, WBP_Extend}, | ||
122 | {0x093B, 0x093B, WBP_Extend}, | ||
123 | {0x093C, 0x093C, WBP_Extend}, | ||
124 | {0x093D, 0x093D, WBP_ALetter}, | ||
125 | {0x093E, 0x0940, WBP_Extend}, | ||
126 | {0x0941, 0x0948, WBP_Extend}, | ||
127 | {0x0949, 0x094C, WBP_Extend}, | ||
128 | {0x094D, 0x094D, WBP_Extend}, | ||
129 | {0x094E, 0x094F, WBP_Extend}, | ||
130 | {0x0950, 0x0950, WBP_ALetter}, | ||
131 | {0x0951, 0x0957, WBP_Extend}, | ||
132 | {0x0958, 0x0961, WBP_ALetter}, | ||
133 | {0x0962, 0x0963, WBP_Extend}, | ||
134 | {0x0966, 0x096F, WBP_Numeric}, | ||
135 | {0x0971, 0x0971, WBP_ALetter}, | ||
136 | {0x0972, 0x0977, WBP_ALetter}, | ||
137 | {0x0979, 0x097F, WBP_ALetter}, | ||
138 | {0x0981, 0x0981, WBP_Extend}, | ||
139 | {0x0982, 0x0983, WBP_Extend}, | ||
140 | {0x0985, 0x098C, WBP_ALetter}, | ||
141 | {0x098F, 0x0990, WBP_ALetter}, | ||
142 | {0x0993, 0x09A8, WBP_ALetter}, | ||
143 | {0x09AA, 0x09B0, WBP_ALetter}, | ||
144 | {0x09B2, 0x09B2, WBP_ALetter}, | ||
145 | {0x09B6, 0x09B9, WBP_ALetter}, | ||
146 | {0x09BC, 0x09BC, WBP_Extend}, | ||
147 | {0x09BD, 0x09BD, WBP_ALetter}, | ||
148 | {0x09BE, 0x09C0, WBP_Extend}, | ||
149 | {0x09C1, 0x09C4, WBP_Extend}, | ||
150 | {0x09C7, 0x09C8, WBP_Extend}, | ||
151 | {0x09CB, 0x09CC, WBP_Extend}, | ||
152 | {0x09CD, 0x09CD, WBP_Extend}, | ||
153 | {0x09CE, 0x09CE, WBP_ALetter}, | ||
154 | {0x09D7, 0x09D7, WBP_Extend}, | ||
155 | {0x09DC, 0x09DD, WBP_ALetter}, | ||
156 | {0x09DF, 0x09E1, WBP_ALetter}, | ||
157 | {0x09E2, 0x09E3, WBP_Extend}, | ||
158 | {0x09E6, 0x09EF, WBP_Numeric}, | ||
159 | {0x09F0, 0x09F1, WBP_ALetter}, | ||
160 | {0x0A01, 0x0A02, WBP_Extend}, | ||
161 | {0x0A03, 0x0A03, WBP_Extend}, | ||
162 | {0x0A05, 0x0A0A, WBP_ALetter}, | ||
163 | {0x0A0F, 0x0A10, WBP_ALetter}, | ||
164 | {0x0A13, 0x0A28, WBP_ALetter}, | ||
165 | {0x0A2A, 0x0A30, WBP_ALetter}, | ||
166 | {0x0A32, 0x0A33, WBP_ALetter}, | ||
167 | {0x0A35, 0x0A36, WBP_ALetter}, | ||
168 | {0x0A38, 0x0A39, WBP_ALetter}, | ||
169 | {0x0A3C, 0x0A3C, WBP_Extend}, | ||
170 | {0x0A3E, 0x0A40, WBP_Extend}, | ||
171 | {0x0A41, 0x0A42, WBP_Extend}, | ||
172 | {0x0A47, 0x0A48, WBP_Extend}, | ||
173 | {0x0A4B, 0x0A4D, WBP_Extend}, | ||
174 | {0x0A51, 0x0A51, WBP_Extend}, | ||
175 | {0x0A59, 0x0A5C, WBP_ALetter}, | ||
176 | {0x0A5E, 0x0A5E, WBP_ALetter}, | ||
177 | {0x0A66, 0x0A6F, WBP_Numeric}, | ||
178 | {0x0A70, 0x0A71, WBP_Extend}, | ||
179 | {0x0A72, 0x0A74, WBP_ALetter}, | ||
180 | {0x0A75, 0x0A75, WBP_Extend}, | ||
181 | {0x0A81, 0x0A82, WBP_Extend}, | ||
182 | {0x0A83, 0x0A83, WBP_Extend}, | ||
183 | {0x0A85, 0x0A8D, WBP_ALetter}, | ||
184 | {0x0A8F, 0x0A91, WBP_ALetter}, | ||
185 | {0x0A93, 0x0AA8, WBP_ALetter}, | ||
186 | {0x0AAA, 0x0AB0, WBP_ALetter}, | ||
187 | {0x0AB2, 0x0AB3, WBP_ALetter}, | ||
188 | {0x0AB5, 0x0AB9, WBP_ALetter}, | ||
189 | {0x0ABC, 0x0ABC, WBP_Extend}, | ||
190 | {0x0ABD, 0x0ABD, WBP_ALetter}, | ||
191 | {0x0ABE, 0x0AC0, WBP_Extend}, | ||
192 | {0x0AC1, 0x0AC5, WBP_Extend}, | ||
193 | {0x0AC7, 0x0AC8, WBP_Extend}, | ||
194 | {0x0AC9, 0x0AC9, WBP_Extend}, | ||
195 | {0x0ACB, 0x0ACC, WBP_Extend}, | ||
196 | {0x0ACD, 0x0ACD, WBP_Extend}, | ||
197 | {0x0AD0, 0x0AD0, WBP_ALetter}, | ||
198 | {0x0AE0, 0x0AE1, WBP_ALetter}, | ||
199 | {0x0AE2, 0x0AE3, WBP_Extend}, | ||
200 | {0x0AE6, 0x0AEF, WBP_Numeric}, | ||
201 | {0x0B01, 0x0B01, WBP_Extend}, | ||
202 | {0x0B02, 0x0B03, WBP_Extend}, | ||
203 | {0x0B05, 0x0B0C, WBP_ALetter}, | ||
204 | {0x0B0F, 0x0B10, WBP_ALetter}, | ||
205 | {0x0B13, 0x0B28, WBP_ALetter}, | ||
206 | {0x0B2A, 0x0B30, WBP_ALetter}, | ||
207 | {0x0B32, 0x0B33, WBP_ALetter}, | ||
208 | {0x0B35, 0x0B39, WBP_ALetter}, | ||
209 | {0x0B3C, 0x0B3C, WBP_Extend}, | ||
210 | {0x0B3D, 0x0B3D, WBP_ALetter}, | ||
211 | {0x0B3E, 0x0B3E, WBP_Extend}, | ||
212 | {0x0B3F, 0x0B3F, WBP_Extend}, | ||
213 | {0x0B40, 0x0B40, WBP_Extend}, | ||
214 | {0x0B41, 0x0B44, WBP_Extend}, | ||
215 | {0x0B47, 0x0B48, WBP_Extend}, | ||
216 | {0x0B4B, 0x0B4C, WBP_Extend}, | ||
217 | {0x0B4D, 0x0B4D, WBP_Extend}, | ||
218 | {0x0B56, 0x0B56, WBP_Extend}, | ||
219 | {0x0B57, 0x0B57, WBP_Extend}, | ||
220 | {0x0B5C, 0x0B5D, WBP_ALetter}, | ||
221 | {0x0B5F, 0x0B61, WBP_ALetter}, | ||
222 | {0x0B62, 0x0B63, WBP_Extend}, | ||
223 | {0x0B66, 0x0B6F, WBP_Numeric}, | ||
224 | {0x0B71, 0x0B71, WBP_ALetter}, | ||
225 | {0x0B82, 0x0B82, WBP_Extend}, | ||
226 | {0x0B83, 0x0B83, WBP_ALetter}, | ||
227 | {0x0B85, 0x0B8A, WBP_ALetter}, | ||
228 | {0x0B8E, 0x0B90, WBP_ALetter}, | ||
229 | {0x0B92, 0x0B95, WBP_ALetter}, | ||
230 | {0x0B99, 0x0B9A, WBP_ALetter}, | ||
231 | {0x0B9C, 0x0B9C, WBP_ALetter}, | ||
232 | {0x0B9E, 0x0B9F, WBP_ALetter}, | ||
233 | {0x0BA3, 0x0BA4, WBP_ALetter}, | ||
234 | {0x0BA8, 0x0BAA, WBP_ALetter}, | ||
235 | {0x0BAE, 0x0BB9, WBP_ALetter}, | ||
236 | {0x0BBE, 0x0BBF, WBP_Extend}, | ||
237 | {0x0BC0, 0x0BC0, WBP_Extend}, | ||
238 | {0x0BC1, 0x0BC2, WBP_Extend}, | ||
239 | {0x0BC6, 0x0BC8, WBP_Extend}, | ||
240 | {0x0BCA, 0x0BCC, WBP_Extend}, | ||
241 | {0x0BCD, 0x0BCD, WBP_Extend}, | ||
242 | {0x0BD0, 0x0BD0, WBP_ALetter}, | ||
243 | {0x0BD7, 0x0BD7, WBP_Extend}, | ||
244 | {0x0BE6, 0x0BEF, WBP_Numeric}, | ||
245 | {0x0C01, 0x0C03, WBP_Extend}, | ||
246 | {0x0C05, 0x0C0C, WBP_ALetter}, | ||
247 | {0x0C0E, 0x0C10, WBP_ALetter}, | ||
248 | {0x0C12, 0x0C28, WBP_ALetter}, | ||
249 | {0x0C2A, 0x0C33, WBP_ALetter}, | ||
250 | {0x0C35, 0x0C39, WBP_ALetter}, | ||
251 | {0x0C3D, 0x0C3D, WBP_ALetter}, | ||
252 | {0x0C3E, 0x0C40, WBP_Extend}, | ||
253 | {0x0C41, 0x0C44, WBP_Extend}, | ||
254 | {0x0C46, 0x0C48, WBP_Extend}, | ||
255 | {0x0C4A, 0x0C4D, WBP_Extend}, | ||
256 | {0x0C55, 0x0C56, WBP_Extend}, | ||
257 | {0x0C58, 0x0C59, WBP_ALetter}, | ||
258 | {0x0C60, 0x0C61, WBP_ALetter}, | ||
259 | {0x0C62, 0x0C63, WBP_Extend}, | ||
260 | {0x0C66, 0x0C6F, WBP_Numeric}, | ||
261 | {0x0C82, 0x0C83, WBP_Extend}, | ||
262 | {0x0C85, 0x0C8C, WBP_ALetter}, | ||
263 | {0x0C8E, 0x0C90, WBP_ALetter}, | ||
264 | {0x0C92, 0x0CA8, WBP_ALetter}, | ||
265 | {0x0CAA, 0x0CB3, WBP_ALetter}, | ||
266 | {0x0CB5, 0x0CB9, WBP_ALetter}, | ||
267 | {0x0CBC, 0x0CBC, WBP_Extend}, | ||
268 | {0x0CBD, 0x0CBD, WBP_ALetter}, | ||
269 | {0x0CBE, 0x0CBE, WBP_Extend}, | ||
270 | {0x0CBF, 0x0CBF, WBP_Extend}, | ||
271 | {0x0CC0, 0x0CC4, WBP_Extend}, | ||
272 | {0x0CC6, 0x0CC6, WBP_Extend}, | ||
273 | {0x0CC7, 0x0CC8, WBP_Extend}, | ||
274 | {0x0CCA, 0x0CCB, WBP_Extend}, | ||
275 | {0x0CCC, 0x0CCD, WBP_Extend}, | ||
276 | {0x0CD5, 0x0CD6, WBP_Extend}, | ||
277 | {0x0CDE, 0x0CDE, WBP_ALetter}, | ||
278 | {0x0CE0, 0x0CE1, WBP_ALetter}, | ||
279 | {0x0CE2, 0x0CE3, WBP_Extend}, | ||
280 | {0x0CE6, 0x0CEF, WBP_Numeric}, | ||
281 | {0x0CF1, 0x0CF2, WBP_ALetter}, | ||
282 | {0x0D02, 0x0D03, WBP_Extend}, | ||
283 | {0x0D05, 0x0D0C, WBP_ALetter}, | ||
284 | {0x0D0E, 0x0D10, WBP_ALetter}, | ||
285 | {0x0D12, 0x0D3A, WBP_ALetter}, | ||
286 | {0x0D3D, 0x0D3D, WBP_ALetter}, | ||
287 | {0x0D3E, 0x0D40, WBP_Extend}, | ||
288 | {0x0D41, 0x0D44, WBP_Extend}, | ||
289 | {0x0D46, 0x0D48, WBP_Extend}, | ||
290 | {0x0D4A, 0x0D4C, WBP_Extend}, | ||
291 | {0x0D4D, 0x0D4D, WBP_Extend}, | ||
292 | {0x0D4E, 0x0D4E, WBP_ALetter}, | ||
293 | {0x0D57, 0x0D57, WBP_Extend}, | ||
294 | {0x0D60, 0x0D61, WBP_ALetter}, | ||
295 | {0x0D62, 0x0D63, WBP_Extend}, | ||
296 | {0x0D66, 0x0D6F, WBP_Numeric}, | ||
297 | {0x0D7A, 0x0D7F, WBP_ALetter}, | ||
298 | {0x0D82, 0x0D83, WBP_Extend}, | ||
299 | {0x0D85, 0x0D96, WBP_ALetter}, | ||
300 | {0x0D9A, 0x0DB1, WBP_ALetter}, | ||
301 | {0x0DB3, 0x0DBB, WBP_ALetter}, | ||
302 | {0x0DBD, 0x0DBD, WBP_ALetter}, | ||
303 | {0x0DC0, 0x0DC6, WBP_ALetter}, | ||
304 | {0x0DCA, 0x0DCA, WBP_Extend}, | ||
305 | {0x0DCF, 0x0DD1, WBP_Extend}, | ||
306 | {0x0DD2, 0x0DD4, WBP_Extend}, | ||
307 | {0x0DD6, 0x0DD6, WBP_Extend}, | ||
308 | {0x0DD8, 0x0DDF, WBP_Extend}, | ||
309 | {0x0DF2, 0x0DF3, WBP_Extend}, | ||
310 | {0x0E31, 0x0E31, WBP_Extend}, | ||
311 | {0x0E34, 0x0E3A, WBP_Extend}, | ||
312 | {0x0E47, 0x0E4E, WBP_Extend}, | ||
313 | {0x0E50, 0x0E59, WBP_Numeric}, | ||
314 | {0x0EB1, 0x0EB1, WBP_Extend}, | ||
315 | {0x0EB4, 0x0EB9, WBP_Extend}, | ||
316 | {0x0EBB, 0x0EBC, WBP_Extend}, | ||
317 | {0x0EC8, 0x0ECD, WBP_Extend}, | ||
318 | {0x0ED0, 0x0ED9, WBP_Numeric}, | ||
319 | {0x0F00, 0x0F00, WBP_ALetter}, | ||
320 | {0x0F18, 0x0F19, WBP_Extend}, | ||
321 | {0x0F20, 0x0F29, WBP_Numeric}, | ||
322 | {0x0F35, 0x0F35, WBP_Extend}, | ||
323 | {0x0F37, 0x0F37, WBP_Extend}, | ||
324 | {0x0F39, 0x0F39, WBP_Extend}, | ||
325 | {0x0F3E, 0x0F3F, WBP_Extend}, | ||
326 | {0x0F40, 0x0F47, WBP_ALetter}, | ||
327 | {0x0F49, 0x0F6C, WBP_ALetter}, | ||
328 | {0x0F71, 0x0F7E, WBP_Extend}, | ||
329 | {0x0F7F, 0x0F7F, WBP_Extend}, | ||
330 | {0x0F80, 0x0F84, WBP_Extend}, | ||
331 | {0x0F86, 0x0F87, WBP_Extend}, | ||
332 | {0x0F88, 0x0F8C, WBP_ALetter}, | ||
333 | {0x0F8D, 0x0F97, WBP_Extend}, | ||
334 | {0x0F99, 0x0FBC, WBP_Extend}, | ||
335 | {0x0FC6, 0x0FC6, WBP_Extend}, | ||
336 | {0x102B, 0x102C, WBP_Extend}, | ||
337 | {0x102D, 0x1030, WBP_Extend}, | ||
338 | {0x1031, 0x1031, WBP_Extend}, | ||
339 | {0x1032, 0x1037, WBP_Extend}, | ||
340 | {0x1038, 0x1038, WBP_Extend}, | ||
341 | {0x1039, 0x103A, WBP_Extend}, | ||
342 | {0x103B, 0x103C, WBP_Extend}, | ||
343 | {0x103D, 0x103E, WBP_Extend}, | ||
344 | {0x1040, 0x1049, WBP_Numeric}, | ||
345 | {0x1056, 0x1057, WBP_Extend}, | ||
346 | {0x1058, 0x1059, WBP_Extend}, | ||
347 | {0x105E, 0x1060, WBP_Extend}, | ||
348 | {0x1062, 0x1064, WBP_Extend}, | ||
349 | {0x1067, 0x106D, WBP_Extend}, | ||
350 | {0x1071, 0x1074, WBP_Extend}, | ||
351 | {0x1082, 0x1082, WBP_Extend}, | ||
352 | {0x1083, 0x1084, WBP_Extend}, | ||
353 | {0x1085, 0x1086, WBP_Extend}, | ||
354 | {0x1087, 0x108C, WBP_Extend}, | ||
355 | {0x108D, 0x108D, WBP_Extend}, | ||
356 | {0x108F, 0x108F, WBP_Extend}, | ||
357 | {0x1090, 0x1099, WBP_Numeric}, | ||
358 | {0x109A, 0x109C, WBP_Extend}, | ||
359 | {0x109D, 0x109D, WBP_Extend}, | ||
360 | {0x10A0, 0x10C5, WBP_ALetter}, | ||
361 | {0x10D0, 0x10FA, WBP_ALetter}, | ||
362 | {0x10FC, 0x10FC, WBP_ALetter}, | ||
363 | {0x1100, 0x1248, WBP_ALetter}, | ||
364 | {0x124A, 0x124D, WBP_ALetter}, | ||
365 | {0x1250, 0x1256, WBP_ALetter}, | ||
366 | {0x1258, 0x1258, WBP_ALetter}, | ||
367 | {0x125A, 0x125D, WBP_ALetter}, | ||
368 | {0x1260, 0x1288, WBP_ALetter}, | ||
369 | {0x128A, 0x128D, WBP_ALetter}, | ||
370 | {0x1290, 0x12B0, WBP_ALetter}, | ||
371 | {0x12B2, 0x12B5, WBP_ALetter}, | ||
372 | {0x12B8, 0x12BE, WBP_ALetter}, | ||
373 | {0x12C0, 0x12C0, WBP_ALetter}, | ||
374 | {0x12C2, 0x12C5, WBP_ALetter}, | ||
375 | {0x12C8, 0x12D6, WBP_ALetter}, | ||
376 | {0x12D8, 0x1310, WBP_ALetter}, | ||
377 | {0x1312, 0x1315, WBP_ALetter}, | ||
378 | {0x1318, 0x135A, WBP_ALetter}, | ||
379 | {0x135D, 0x135F, WBP_Extend}, | ||
380 | {0x1380, 0x138F, WBP_ALetter}, | ||
381 | {0x13A0, 0x13F4, WBP_ALetter}, | ||
382 | {0x1401, 0x166C, WBP_ALetter}, | ||
383 | {0x166F, 0x167F, WBP_ALetter}, | ||
384 | {0x1681, 0x169A, WBP_ALetter}, | ||
385 | {0x16A0, 0x16EA, WBP_ALetter}, | ||
386 | {0x16EE, 0x16F0, WBP_ALetter}, | ||
387 | {0x1700, 0x170C, WBP_ALetter}, | ||
388 | {0x170E, 0x1711, WBP_ALetter}, | ||
389 | {0x1712, 0x1714, WBP_Extend}, | ||
390 | {0x1720, 0x1731, WBP_ALetter}, | ||
391 | {0x1732, 0x1734, WBP_Extend}, | ||
392 | {0x1740, 0x1751, WBP_ALetter}, | ||
393 | {0x1752, 0x1753, WBP_Extend}, | ||
394 | {0x1760, 0x176C, WBP_ALetter}, | ||
395 | {0x176E, 0x1770, WBP_ALetter}, | ||
396 | {0x1772, 0x1773, WBP_Extend}, | ||
397 | {0x17B4, 0x17B5, WBP_Format}, | ||
398 | {0x17B6, 0x17B6, WBP_Extend}, | ||
399 | {0x17B7, 0x17BD, WBP_Extend}, | ||
400 | {0x17BE, 0x17C5, WBP_Extend}, | ||
401 | {0x17C6, 0x17C6, WBP_Extend}, | ||
402 | {0x17C7, 0x17C8, WBP_Extend}, | ||
403 | {0x17C9, 0x17D3, WBP_Extend}, | ||
404 | {0x17DD, 0x17DD, WBP_Extend}, | ||
405 | {0x17E0, 0x17E9, WBP_Numeric}, | ||
406 | {0x180B, 0x180D, WBP_Extend}, | ||
407 | {0x1810, 0x1819, WBP_Numeric}, | ||
408 | {0x1820, 0x1842, WBP_ALetter}, | ||
409 | {0x1843, 0x1843, WBP_ALetter}, | ||
410 | {0x1844, 0x1877, WBP_ALetter}, | ||
411 | {0x1880, 0x18A8, WBP_ALetter}, | ||
412 | {0x18A9, 0x18A9, WBP_Extend}, | ||
413 | {0x18AA, 0x18AA, WBP_ALetter}, | ||
414 | {0x18B0, 0x18F5, WBP_ALetter}, | ||
415 | {0x1900, 0x191C, WBP_ALetter}, | ||
416 | {0x1920, 0x1922, WBP_Extend}, | ||
417 | {0x1923, 0x1926, WBP_Extend}, | ||
418 | {0x1927, 0x1928, WBP_Extend}, | ||
419 | {0x1929, 0x192B, WBP_Extend}, | ||
420 | {0x1930, 0x1931, WBP_Extend}, | ||
421 | {0x1932, 0x1932, WBP_Extend}, | ||
422 | {0x1933, 0x1938, WBP_Extend}, | ||
423 | {0x1939, 0x193B, WBP_Extend}, | ||
424 | {0x1946, 0x194F, WBP_Numeric}, | ||
425 | {0x19B0, 0x19C0, WBP_Extend}, | ||
426 | {0x19C8, 0x19C9, WBP_Extend}, | ||
427 | {0x19D0, 0x19D9, WBP_Numeric}, | ||
428 | {0x1A00, 0x1A16, WBP_ALetter}, | ||
429 | {0x1A17, 0x1A18, WBP_Extend}, | ||
430 | {0x1A19, 0x1A1B, WBP_Extend}, | ||
431 | {0x1A55, 0x1A55, WBP_Extend}, | ||
432 | {0x1A56, 0x1A56, WBP_Extend}, | ||
433 | {0x1A57, 0x1A57, WBP_Extend}, | ||
434 | {0x1A58, 0x1A5E, WBP_Extend}, | ||
435 | {0x1A60, 0x1A60, WBP_Extend}, | ||
436 | {0x1A61, 0x1A61, WBP_Extend}, | ||
437 | {0x1A62, 0x1A62, WBP_Extend}, | ||
438 | {0x1A63, 0x1A64, WBP_Extend}, | ||
439 | {0x1A65, 0x1A6C, WBP_Extend}, | ||
440 | {0x1A6D, 0x1A72, WBP_Extend}, | ||
441 | {0x1A73, 0x1A7C, WBP_Extend}, | ||
442 | {0x1A7F, 0x1A7F, WBP_Extend}, | ||
443 | {0x1A80, 0x1A89, WBP_Numeric}, | ||
444 | {0x1A90, 0x1A99, WBP_Numeric}, | ||
445 | {0x1B00, 0x1B03, WBP_Extend}, | ||
446 | {0x1B04, 0x1B04, WBP_Extend}, | ||
447 | {0x1B05, 0x1B33, WBP_ALetter}, | ||
448 | {0x1B34, 0x1B34, WBP_Extend}, | ||
449 | {0x1B35, 0x1B35, WBP_Extend}, | ||
450 | {0x1B36, 0x1B3A, WBP_Extend}, | ||
451 | {0x1B3B, 0x1B3B, WBP_Extend}, | ||
452 | {0x1B3C, 0x1B3C, WBP_Extend}, | ||
453 | {0x1B3D, 0x1B41, WBP_Extend}, | ||
454 | {0x1B42, 0x1B42, WBP_Extend}, | ||
455 | {0x1B43, 0x1B44, WBP_Extend}, | ||
456 | {0x1B45, 0x1B4B, WBP_ALetter}, | ||
457 | {0x1B50, 0x1B59, WBP_Numeric}, | ||
458 | {0x1B6B, 0x1B73, WBP_Extend}, | ||
459 | {0x1B80, 0x1B81, WBP_Extend}, | ||
460 | {0x1B82, 0x1B82, WBP_Extend}, | ||
461 | {0x1B83, 0x1BA0, WBP_ALetter}, | ||
462 | {0x1BA1, 0x1BA1, WBP_Extend}, | ||
463 | {0x1BA2, 0x1BA5, WBP_Extend}, | ||
464 | {0x1BA6, 0x1BA7, WBP_Extend}, | ||
465 | {0x1BA8, 0x1BA9, WBP_Extend}, | ||
466 | {0x1BAA, 0x1BAA, WBP_Extend}, | ||
467 | {0x1BAE, 0x1BAF, WBP_ALetter}, | ||
468 | {0x1BB0, 0x1BB9, WBP_Numeric}, | ||
469 | {0x1BC0, 0x1BE5, WBP_ALetter}, | ||
470 | {0x1BE6, 0x1BE6, WBP_Extend}, | ||
471 | {0x1BE7, 0x1BE7, WBP_Extend}, | ||
472 | {0x1BE8, 0x1BE9, WBP_Extend}, | ||
473 | {0x1BEA, 0x1BEC, WBP_Extend}, | ||
474 | {0x1BED, 0x1BED, WBP_Extend}, | ||
475 | {0x1BEE, 0x1BEE, WBP_Extend}, | ||
476 | {0x1BEF, 0x1BF1, WBP_Extend}, | ||
477 | {0x1BF2, 0x1BF3, WBP_Extend}, | ||
478 | {0x1C00, 0x1C23, WBP_ALetter}, | ||
479 | {0x1C24, 0x1C2B, WBP_Extend}, | ||
480 | {0x1C2C, 0x1C33, WBP_Extend}, | ||
481 | {0x1C34, 0x1C35, WBP_Extend}, | ||
482 | {0x1C36, 0x1C37, WBP_Extend}, | ||
483 | {0x1C40, 0x1C49, WBP_Numeric}, | ||
484 | {0x1C4D, 0x1C4F, WBP_ALetter}, | ||
485 | {0x1C50, 0x1C59, WBP_Numeric}, | ||
486 | {0x1C5A, 0x1C77, WBP_ALetter}, | ||
487 | {0x1C78, 0x1C7D, WBP_ALetter}, | ||
488 | {0x1CD0, 0x1CD2, WBP_Extend}, | ||
489 | {0x1CD4, 0x1CE0, WBP_Extend}, | ||
490 | {0x1CE1, 0x1CE1, WBP_Extend}, | ||
491 | {0x1CE2, 0x1CE8, WBP_Extend}, | ||
492 | {0x1CE9, 0x1CEC, WBP_ALetter}, | ||
493 | {0x1CED, 0x1CED, WBP_Extend}, | ||
494 | {0x1CEE, 0x1CF1, WBP_ALetter}, | ||
495 | {0x1CF2, 0x1CF2, WBP_Extend}, | ||
496 | {0x1D00, 0x1D2B, WBP_ALetter}, | ||
497 | {0x1D2C, 0x1D61, WBP_ALetter}, | ||
498 | {0x1D62, 0x1D77, WBP_ALetter}, | ||
499 | {0x1D78, 0x1D78, WBP_ALetter}, | ||
500 | {0x1D79, 0x1D9A, WBP_ALetter}, | ||
501 | {0x1D9B, 0x1DBF, WBP_ALetter}, | ||
502 | {0x1DC0, 0x1DE6, WBP_Extend}, | ||
503 | {0x1DFC, 0x1DFF, WBP_Extend}, | ||
504 | {0x1E00, 0x1F15, WBP_ALetter}, | ||
505 | {0x1F18, 0x1F1D, WBP_ALetter}, | ||
506 | {0x1F20, 0x1F45, WBP_ALetter}, | ||
507 | {0x1F48, 0x1F4D, WBP_ALetter}, | ||
508 | {0x1F50, 0x1F57, WBP_ALetter}, | ||
509 | {0x1F59, 0x1F59, WBP_ALetter}, | ||
510 | {0x1F5B, 0x1F5B, WBP_ALetter}, | ||
511 | {0x1F5D, 0x1F5D, WBP_ALetter}, | ||
512 | {0x1F5F, 0x1F7D, WBP_ALetter}, | ||
513 | {0x1F80, 0x1FB4, WBP_ALetter}, | ||
514 | {0x1FB6, 0x1FBC, WBP_ALetter}, | ||
515 | {0x1FBE, 0x1FBE, WBP_ALetter}, | ||
516 | {0x1FC2, 0x1FC4, WBP_ALetter}, | ||
517 | {0x1FC6, 0x1FCC, WBP_ALetter}, | ||
518 | {0x1FD0, 0x1FD3, WBP_ALetter}, | ||
519 | {0x1FD6, 0x1FDB, WBP_ALetter}, | ||
520 | {0x1FE0, 0x1FEC, WBP_ALetter}, | ||
521 | {0x1FF2, 0x1FF4, WBP_ALetter}, | ||
522 | {0x1FF6, 0x1FFC, WBP_ALetter}, | ||
523 | {0x200C, 0x200D, WBP_Extend}, | ||
524 | {0x200E, 0x200F, WBP_Format}, | ||
525 | {0x2018, 0x2018, WBP_MidNumLet}, | ||
526 | {0x2019, 0x2019, WBP_MidNumLet}, | ||
527 | {0x2024, 0x2024, WBP_MidNumLet}, | ||
528 | {0x2027, 0x2027, WBP_MidLetter}, | ||
529 | {0x2028, 0x2028, WBP_Newline}, | ||
530 | {0x2029, 0x2029, WBP_Newline}, | ||
531 | {0x202A, 0x202E, WBP_Format}, | ||
532 | {0x203F, 0x2040, WBP_ExtendNumLet}, | ||
533 | {0x2044, 0x2044, WBP_MidNum}, | ||
534 | {0x2054, 0x2054, WBP_ExtendNumLet}, | ||
535 | {0x2060, 0x2064, WBP_Format}, | ||
536 | {0x206A, 0x206F, WBP_Format}, | ||
537 | {0x2071, 0x2071, WBP_ALetter}, | ||
538 | {0x207F, 0x207F, WBP_ALetter}, | ||
539 | {0x2090, 0x209C, WBP_ALetter}, | ||
540 | {0x20D0, 0x20DC, WBP_Extend}, | ||
541 | {0x20DD, 0x20E0, WBP_Extend}, | ||
542 | {0x20E1, 0x20E1, WBP_Extend}, | ||
543 | {0x20E2, 0x20E4, WBP_Extend}, | ||
544 | {0x20E5, 0x20F0, WBP_Extend}, | ||
545 | {0x2102, 0x2102, WBP_ALetter}, | ||
546 | {0x2107, 0x2107, WBP_ALetter}, | ||
547 | {0x210A, 0x2113, WBP_ALetter}, | ||
548 | {0x2115, 0x2115, WBP_ALetter}, | ||
549 | {0x2119, 0x211D, WBP_ALetter}, | ||
550 | {0x2124, 0x2124, WBP_ALetter}, | ||
551 | {0x2126, 0x2126, WBP_ALetter}, | ||
552 | {0x2128, 0x2128, WBP_ALetter}, | ||
553 | {0x212A, 0x212D, WBP_ALetter}, | ||
554 | {0x212F, 0x2134, WBP_ALetter}, | ||
555 | {0x2135, 0x2138, WBP_ALetter}, | ||
556 | {0x2139, 0x2139, WBP_ALetter}, | ||
557 | {0x213C, 0x213F, WBP_ALetter}, | ||
558 | {0x2145, 0x2149, WBP_ALetter}, | ||
559 | {0x214E, 0x214E, WBP_ALetter}, | ||
560 | {0x2160, 0x2182, WBP_ALetter}, | ||
561 | {0x2183, 0x2184, WBP_ALetter}, | ||
562 | {0x2185, 0x2188, WBP_ALetter}, | ||
563 | {0x24B6, 0x24E9, WBP_ALetter}, | ||
564 | {0x2C00, 0x2C2E, WBP_ALetter}, | ||
565 | {0x2C30, 0x2C5E, WBP_ALetter}, | ||
566 | {0x2C60, 0x2C7C, WBP_ALetter}, | ||
567 | {0x2C7D, 0x2C7D, WBP_ALetter}, | ||
568 | {0x2C7E, 0x2CE4, WBP_ALetter}, | ||
569 | {0x2CEB, 0x2CEE, WBP_ALetter}, | ||
570 | {0x2CEF, 0x2CF1, WBP_Extend}, | ||
571 | {0x2D00, 0x2D25, WBP_ALetter}, | ||
572 | {0x2D30, 0x2D65, WBP_ALetter}, | ||
573 | {0x2D6F, 0x2D6F, WBP_ALetter}, | ||
574 | {0x2D7F, 0x2D7F, WBP_Extend}, | ||
575 | {0x2D80, 0x2D96, WBP_ALetter}, | ||
576 | {0x2DA0, 0x2DA6, WBP_ALetter}, | ||
577 | {0x2DA8, 0x2DAE, WBP_ALetter}, | ||
578 | {0x2DB0, 0x2DB6, WBP_ALetter}, | ||
579 | {0x2DB8, 0x2DBE, WBP_ALetter}, | ||
580 | {0x2DC0, 0x2DC6, WBP_ALetter}, | ||
581 | {0x2DC8, 0x2DCE, WBP_ALetter}, | ||
582 | {0x2DD0, 0x2DD6, WBP_ALetter}, | ||
583 | {0x2DD8, 0x2DDE, WBP_ALetter}, | ||
584 | {0x2DE0, 0x2DFF, WBP_Extend}, | ||
585 | {0x2E2F, 0x2E2F, WBP_ALetter}, | ||
586 | {0x3005, 0x3005, WBP_ALetter}, | ||
587 | {0x302A, 0x302F, WBP_Extend}, | ||
588 | {0x3031, 0x3035, WBP_Katakana}, | ||
589 | {0x303B, 0x303B, WBP_ALetter}, | ||
590 | {0x303C, 0x303C, WBP_ALetter}, | ||
591 | {0x3099, 0x309A, WBP_Extend}, | ||
592 | {0x309B, 0x309C, WBP_Katakana}, | ||
593 | {0x30A0, 0x30A0, WBP_Katakana}, | ||
594 | {0x30A1, 0x30FA, WBP_Katakana}, | ||
595 | {0x30FC, 0x30FE, WBP_Katakana}, | ||
596 | {0x30FF, 0x30FF, WBP_Katakana}, | ||
597 | {0x3105, 0x312D, WBP_ALetter}, | ||
598 | {0x3131, 0x318E, WBP_ALetter}, | ||
599 | {0x31A0, 0x31BA, WBP_ALetter}, | ||
600 | {0x31F0, 0x31FF, WBP_Katakana}, | ||
601 | {0x32D0, 0x32FE, WBP_Katakana}, | ||
602 | {0x3300, 0x3357, WBP_Katakana}, | ||
603 | {0xA000, 0xA014, WBP_ALetter}, | ||
604 | {0xA015, 0xA015, WBP_ALetter}, | ||
605 | {0xA016, 0xA48C, WBP_ALetter}, | ||
606 | {0xA4D0, 0xA4F7, WBP_ALetter}, | ||
607 | {0xA4F8, 0xA4FD, WBP_ALetter}, | ||
608 | {0xA500, 0xA60B, WBP_ALetter}, | ||
609 | {0xA60C, 0xA60C, WBP_ALetter}, | ||
610 | {0xA610, 0xA61F, WBP_ALetter}, | ||
611 | {0xA620, 0xA629, WBP_Numeric}, | ||
612 | {0xA62A, 0xA62B, WBP_ALetter}, | ||
613 | {0xA640, 0xA66D, WBP_ALetter}, | ||
614 | {0xA66E, 0xA66E, WBP_ALetter}, | ||
615 | {0xA66F, 0xA66F, WBP_Extend}, | ||
616 | {0xA670, 0xA672, WBP_Extend}, | ||
617 | {0xA67C, 0xA67D, WBP_Extend}, | ||
618 | {0xA67F, 0xA67F, WBP_ALetter}, | ||
619 | {0xA680, 0xA697, WBP_ALetter}, | ||
620 | {0xA6A0, 0xA6E5, WBP_ALetter}, | ||
621 | {0xA6E6, 0xA6EF, WBP_ALetter}, | ||
622 | {0xA6F0, 0xA6F1, WBP_Extend}, | ||
623 | {0xA717, 0xA71F, WBP_ALetter}, | ||
624 | {0xA722, 0xA76F, WBP_ALetter}, | ||
625 | {0xA770, 0xA770, WBP_ALetter}, | ||
626 | {0xA771, 0xA787, WBP_ALetter}, | ||
627 | {0xA788, 0xA788, WBP_ALetter}, | ||
628 | {0xA78B, 0xA78E, WBP_ALetter}, | ||
629 | {0xA790, 0xA791, WBP_ALetter}, | ||
630 | {0xA7A0, 0xA7A9, WBP_ALetter}, | ||
631 | {0xA7FA, 0xA7FA, WBP_ALetter}, | ||
632 | {0xA7FB, 0xA801, WBP_ALetter}, | ||
633 | {0xA802, 0xA802, WBP_Extend}, | ||
634 | {0xA803, 0xA805, WBP_ALetter}, | ||
635 | {0xA806, 0xA806, WBP_Extend}, | ||
636 | {0xA807, 0xA80A, WBP_ALetter}, | ||
637 | {0xA80B, 0xA80B, WBP_Extend}, | ||
638 | {0xA80C, 0xA822, WBP_ALetter}, | ||
639 | {0xA823, 0xA824, WBP_Extend}, | ||
640 | {0xA825, 0xA826, WBP_Extend}, | ||
641 | {0xA827, 0xA827, WBP_Extend}, | ||
642 | {0xA840, 0xA873, WBP_ALetter}, | ||
643 | {0xA880, 0xA881, WBP_Extend}, | ||
644 | {0xA882, 0xA8B3, WBP_ALetter}, | ||
645 | {0xA8B4, 0xA8C3, WBP_Extend}, | ||
646 | {0xA8C4, 0xA8C4, WBP_Extend}, | ||
647 | {0xA8D0, 0xA8D9, WBP_Numeric}, | ||
648 | {0xA8E0, 0xA8F1, WBP_Extend}, | ||
649 | {0xA8F2, 0xA8F7, WBP_ALetter}, | ||
650 | {0xA8FB, 0xA8FB, WBP_ALetter}, | ||
651 | {0xA900, 0xA909, WBP_Numeric}, | ||
652 | {0xA90A, 0xA925, WBP_ALetter}, | ||
653 | {0xA926, 0xA92D, WBP_Extend}, | ||
654 | {0xA930, 0xA946, WBP_ALetter}, | ||
655 | {0xA947, 0xA951, WBP_Extend}, | ||
656 | {0xA952, 0xA953, WBP_Extend}, | ||
657 | {0xA960, 0xA97C, WBP_ALetter}, | ||
658 | {0xA980, 0xA982, WBP_Extend}, | ||
659 | {0xA983, 0xA983, WBP_Extend}, | ||
660 | {0xA984, 0xA9B2, WBP_ALetter}, | ||
661 | {0xA9B3, 0xA9B3, WBP_Extend}, | ||
662 | {0xA9B4, 0xA9B5, WBP_Extend}, | ||
663 | {0xA9B6, 0xA9B9, WBP_Extend}, | ||
664 | {0xA9BA, 0xA9BB, WBP_Extend}, | ||
665 | {0xA9BC, 0xA9BC, WBP_Extend}, | ||
666 | {0xA9BD, 0xA9C0, WBP_Extend}, | ||
667 | {0xA9CF, 0xA9CF, WBP_ALetter}, | ||
668 | {0xA9D0, 0xA9D9, WBP_Numeric}, | ||
669 | {0xAA00, 0xAA28, WBP_ALetter}, | ||
670 | {0xAA29, 0xAA2E, WBP_Extend}, | ||
671 | {0xAA2F, 0xAA30, WBP_Extend}, | ||
672 | {0xAA31, 0xAA32, WBP_Extend}, | ||
673 | {0xAA33, 0xAA34, WBP_Extend}, | ||
674 | {0xAA35, 0xAA36, WBP_Extend}, | ||
675 | {0xAA40, 0xAA42, WBP_ALetter}, | ||
676 | {0xAA43, 0xAA43, WBP_Extend}, | ||
677 | {0xAA44, 0xAA4B, WBP_ALetter}, | ||
678 | {0xAA4C, 0xAA4C, WBP_Extend}, | ||
679 | {0xAA4D, 0xAA4D, WBP_Extend}, | ||
680 | {0xAA50, 0xAA59, WBP_Numeric}, | ||
681 | {0xAA7B, 0xAA7B, WBP_Extend}, | ||
682 | {0xAAB0, 0xAAB0, WBP_Extend}, | ||
683 | {0xAAB2, 0xAAB4, WBP_Extend}, | ||
684 | {0xAAB7, 0xAAB8, WBP_Extend}, | ||
685 | {0xAABE, 0xAABF, WBP_Extend}, | ||
686 | {0xAAC1, 0xAAC1, WBP_Extend}, | ||
687 | {0xAB01, 0xAB06, WBP_ALetter}, | ||
688 | {0xAB09, 0xAB0E, WBP_ALetter}, | ||
689 | {0xAB11, 0xAB16, WBP_ALetter}, | ||
690 | {0xAB20, 0xAB26, WBP_ALetter}, | ||
691 | {0xAB28, 0xAB2E, WBP_ALetter}, | ||
692 | {0xABC0, 0xABE2, WBP_ALetter}, | ||
693 | {0xABE3, 0xABE4, WBP_Extend}, | ||
694 | {0xABE5, 0xABE5, WBP_Extend}, | ||
695 | {0xABE6, 0xABE7, WBP_Extend}, | ||
696 | {0xABE8, 0xABE8, WBP_Extend}, | ||
697 | {0xABE9, 0xABEA, WBP_Extend}, | ||
698 | {0xABEC, 0xABEC, WBP_Extend}, | ||
699 | {0xABED, 0xABED, WBP_Extend}, | ||
700 | {0xABF0, 0xABF9, WBP_Numeric}, | ||
701 | {0xAC00, 0xD7A3, WBP_ALetter}, | ||
702 | {0xD7B0, 0xD7C6, WBP_ALetter}, | ||
703 | {0xD7CB, 0xD7FB, WBP_ALetter}, | ||
704 | {0xFB00, 0xFB06, WBP_ALetter}, | ||
705 | {0xFB13, 0xFB17, WBP_ALetter}, | ||
706 | {0xFB1D, 0xFB1D, WBP_ALetter}, | ||
707 | {0xFB1E, 0xFB1E, WBP_Extend}, | ||
708 | {0xFB1F, 0xFB28, WBP_ALetter}, | ||
709 | {0xFB2A, 0xFB36, WBP_ALetter}, | ||
710 | {0xFB38, 0xFB3C, WBP_ALetter}, | ||
711 | {0xFB3E, 0xFB3E, WBP_ALetter}, | ||
712 | {0xFB40, 0xFB41, WBP_ALetter}, | ||
713 | {0xFB43, 0xFB44, WBP_ALetter}, | ||
714 | {0xFB46, 0xFBB1, WBP_ALetter}, | ||
715 | {0xFBD3, 0xFD3D, WBP_ALetter}, | ||
716 | {0xFD50, 0xFD8F, WBP_ALetter}, | ||
717 | {0xFD92, 0xFDC7, WBP_ALetter}, | ||
718 | {0xFDF0, 0xFDFB, WBP_ALetter}, | ||
719 | {0xFE00, 0xFE0F, WBP_Extend}, | ||
720 | {0xFE10, 0xFE10, WBP_MidNum}, | ||
721 | {0xFE13, 0xFE13, WBP_MidLetter}, | ||
722 | {0xFE14, 0xFE14, WBP_MidNum}, | ||
723 | {0xFE20, 0xFE26, WBP_Extend}, | ||
724 | {0xFE33, 0xFE34, WBP_ExtendNumLet}, | ||
725 | {0xFE4D, 0xFE4F, WBP_ExtendNumLet}, | ||
726 | {0xFE50, 0xFE50, WBP_MidNum}, | ||
727 | {0xFE52, 0xFE52, WBP_MidNumLet}, | ||
728 | {0xFE54, 0xFE54, WBP_MidNum}, | ||
729 | {0xFE55, 0xFE55, WBP_MidLetter}, | ||
730 | {0xFE70, 0xFE74, WBP_ALetter}, | ||
731 | {0xFE76, 0xFEFC, WBP_ALetter}, | ||
732 | {0xFEFF, 0xFEFF, WBP_Format}, | ||
733 | {0xFF07, 0xFF07, WBP_MidNumLet}, | ||
734 | {0xFF0C, 0xFF0C, WBP_MidNum}, | ||
735 | {0xFF0E, 0xFF0E, WBP_MidNumLet}, | ||
736 | {0xFF1A, 0xFF1A, WBP_MidLetter}, | ||
737 | {0xFF1B, 0xFF1B, WBP_MidNum}, | ||
738 | {0xFF21, 0xFF3A, WBP_ALetter}, | ||
739 | {0xFF3F, 0xFF3F, WBP_ExtendNumLet}, | ||
740 | {0xFF41, 0xFF5A, WBP_ALetter}, | ||
741 | {0xFF66, 0xFF6F, WBP_Katakana}, | ||
742 | {0xFF70, 0xFF70, WBP_Katakana}, | ||
743 | {0xFF71, 0xFF9D, WBP_Katakana}, | ||
744 | {0xFF9E, 0xFF9F, WBP_Extend}, | ||
745 | {0xFFA0, 0xFFBE, WBP_ALetter}, | ||
746 | {0xFFC2, 0xFFC7, WBP_ALetter}, | ||
747 | {0xFFCA, 0xFFCF, WBP_ALetter}, | ||
748 | {0xFFD2, 0xFFD7, WBP_ALetter}, | ||
749 | {0xFFDA, 0xFFDC, WBP_ALetter}, | ||
750 | {0xFFF9, 0xFFFB, WBP_Format}, | ||
751 | {0x10000, 0x1000B, WBP_ALetter}, | ||
752 | {0x1000D, 0x10026, WBP_ALetter}, | ||
753 | {0x10028, 0x1003A, WBP_ALetter}, | ||
754 | {0x1003C, 0x1003D, WBP_ALetter}, | ||
755 | {0x1003F, 0x1004D, WBP_ALetter}, | ||
756 | {0x10050, 0x1005D, WBP_ALetter}, | ||
757 | {0x10080, 0x100FA, WBP_ALetter}, | ||
758 | {0x10140, 0x10174, WBP_ALetter}, | ||
759 | {0x101FD, 0x101FD, WBP_Extend}, | ||
760 | {0x10280, 0x1029C, WBP_ALetter}, | ||
761 | {0x102A0, 0x102D0, WBP_ALetter}, | ||
762 | {0x10300, 0x1031E, WBP_ALetter}, | ||
763 | {0x10330, 0x10340, WBP_ALetter}, | ||
764 | {0x10341, 0x10341, WBP_ALetter}, | ||
765 | {0x10342, 0x10349, WBP_ALetter}, | ||
766 | {0x1034A, 0x1034A, WBP_ALetter}, | ||
767 | {0x10380, 0x1039D, WBP_ALetter}, | ||
768 | {0x103A0, 0x103C3, WBP_ALetter}, | ||
769 | {0x103C8, 0x103CF, WBP_ALetter}, | ||
770 | {0x103D1, 0x103D5, WBP_ALetter}, | ||
771 | {0x10400, 0x1044F, WBP_ALetter}, | ||
772 | {0x10450, 0x1049D, WBP_ALetter}, | ||
773 | {0x104A0, 0x104A9, WBP_Numeric}, | ||
774 | {0x10800, 0x10805, WBP_ALetter}, | ||
775 | {0x10808, 0x10808, WBP_ALetter}, | ||
776 | {0x1080A, 0x10835, WBP_ALetter}, | ||
777 | {0x10837, 0x10838, WBP_ALetter}, | ||
778 | {0x1083C, 0x1083C, WBP_ALetter}, | ||
779 | {0x1083F, 0x10855, WBP_ALetter}, | ||
780 | {0x10900, 0x10915, WBP_ALetter}, | ||
781 | {0x10920, 0x10939, WBP_ALetter}, | ||
782 | {0x10A00, 0x10A00, WBP_ALetter}, | ||
783 | {0x10A01, 0x10A03, WBP_Extend}, | ||
784 | {0x10A05, 0x10A06, WBP_Extend}, | ||
785 | {0x10A0C, 0x10A0F, WBP_Extend}, | ||
786 | {0x10A10, 0x10A13, WBP_ALetter}, | ||
787 | {0x10A15, 0x10A17, WBP_ALetter}, | ||
788 | {0x10A19, 0x10A33, WBP_ALetter}, | ||
789 | {0x10A38, 0x10A3A, WBP_Extend}, | ||
790 | {0x10A3F, 0x10A3F, WBP_Extend}, | ||
791 | {0x10A60, 0x10A7C, WBP_ALetter}, | ||
792 | {0x10B00, 0x10B35, WBP_ALetter}, | ||
793 | {0x10B40, 0x10B55, WBP_ALetter}, | ||
794 | {0x10B60, 0x10B72, WBP_ALetter}, | ||
795 | {0x10C00, 0x10C48, WBP_ALetter}, | ||
796 | {0x11000, 0x11000, WBP_Extend}, | ||
797 | {0x11001, 0x11001, WBP_Extend}, | ||
798 | {0x11002, 0x11002, WBP_Extend}, | ||
799 | {0x11003, 0x11037, WBP_ALetter}, | ||
800 | {0x11038, 0x11046, WBP_Extend}, | ||
801 | {0x11066, 0x1106F, WBP_Numeric}, | ||
802 | {0x11080, 0x11081, WBP_Extend}, | ||
803 | {0x11082, 0x11082, WBP_Extend}, | ||
804 | {0x11083, 0x110AF, WBP_ALetter}, | ||
805 | {0x110B0, 0x110B2, WBP_Extend}, | ||
806 | {0x110B3, 0x110B6, WBP_Extend}, | ||
807 | {0x110B7, 0x110B8, WBP_Extend}, | ||
808 | {0x110B9, 0x110BA, WBP_Extend}, | ||
809 | {0x110BD, 0x110BD, WBP_Format}, | ||
810 | {0x12000, 0x1236E, WBP_ALetter}, | ||
811 | {0x12400, 0x12462, WBP_ALetter}, | ||
812 | {0x13000, 0x1342E, WBP_ALetter}, | ||
813 | {0x16800, 0x16A38, WBP_ALetter}, | ||
814 | {0x1B000, 0x1B000, WBP_Katakana}, | ||
815 | {0x1D165, 0x1D166, WBP_Extend}, | ||
816 | {0x1D167, 0x1D169, WBP_Extend}, | ||
817 | {0x1D16D, 0x1D172, WBP_Extend}, | ||
818 | {0x1D173, 0x1D17A, WBP_Format}, | ||
819 | {0x1D17B, 0x1D182, WBP_Extend}, | ||
820 | {0x1D185, 0x1D18B, WBP_Extend}, | ||
821 | {0x1D1AA, 0x1D1AD, WBP_Extend}, | ||
822 | {0x1D242, 0x1D244, WBP_Extend}, | ||
823 | {0x1D400, 0x1D454, WBP_ALetter}, | ||
824 | {0x1D456, 0x1D49C, WBP_ALetter}, | ||
825 | {0x1D49E, 0x1D49F, WBP_ALetter}, | ||
826 | {0x1D4A2, 0x1D4A2, WBP_ALetter}, | ||
827 | {0x1D4A5, 0x1D4A6, WBP_ALetter}, | ||
828 | {0x1D4A9, 0x1D4AC, WBP_ALetter}, | ||
829 | {0x1D4AE, 0x1D4B9, WBP_ALetter}, | ||
830 | {0x1D4BB, 0x1D4BB, WBP_ALetter}, | ||
831 | {0x1D4BD, 0x1D4C3, WBP_ALetter}, | ||
832 | {0x1D4C5, 0x1D505, WBP_ALetter}, | ||
833 | {0x1D507, 0x1D50A, WBP_ALetter}, | ||
834 | {0x1D50D, 0x1D514, WBP_ALetter}, | ||
835 | {0x1D516, 0x1D51C, WBP_ALetter}, | ||
836 | {0x1D51E, 0x1D539, WBP_ALetter}, | ||
837 | {0x1D53B, 0x1D53E, WBP_ALetter}, | ||
838 | {0x1D540, 0x1D544, WBP_ALetter}, | ||
839 | {0x1D546, 0x1D546, WBP_ALetter}, | ||
840 | {0x1D54A, 0x1D550, WBP_ALetter}, | ||
841 | {0x1D552, 0x1D6A5, WBP_ALetter}, | ||
842 | {0x1D6A8, 0x1D6C0, WBP_ALetter}, | ||
843 | {0x1D6C2, 0x1D6DA, WBP_ALetter}, | ||
844 | {0x1D6DC, 0x1D6FA, WBP_ALetter}, | ||
845 | {0x1D6FC, 0x1D714, WBP_ALetter}, | ||
846 | {0x1D716, 0x1D734, WBP_ALetter}, | ||
847 | {0x1D736, 0x1D74E, WBP_ALetter}, | ||
848 | {0x1D750, 0x1D76E, WBP_ALetter}, | ||
849 | {0x1D770, 0x1D788, WBP_ALetter}, | ||
850 | {0x1D78A, 0x1D7A8, WBP_ALetter}, | ||
851 | {0x1D7AA, 0x1D7C2, WBP_ALetter}, | ||
852 | {0x1D7C4, 0x1D7CB, WBP_ALetter}, | ||
853 | {0x1D7CE, 0x1D7FF, WBP_Numeric}, | ||
854 | {0xE0001, 0xE0001, WBP_Format}, | ||
855 | {0xE0020, 0xE007F, WBP_Format}, | ||
856 | {0xE0100, 0xE01EF, WBP_Extend}, | ||
857 | {0xFFFFFFFF, 0xFFFFFFFF, WBP_Undefined} | ||
858 | }; | ||
diff --git a/libraries/evas/src/static_deps/liblinebreak/wordbreakdef.h b/libraries/evas/src/static_deps/liblinebreak/wordbreakdef.h new file mode 100644 index 0000000..331cd01 --- /dev/null +++ b/libraries/evas/src/static_deps/liblinebreak/wordbreakdef.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* vim: set tabstop=4 shiftwidth=4: */ | ||
2 | |||
3 | /* | ||
4 | * Word breaking in a Unicode sequence. Designed to be used in a | ||
5 | * generic text renderer. | ||
6 | * | ||
7 | * Copyright (C) 2011-2011 Tom Hacohen <tom@stosb.com> | ||
8 | * | ||
9 | * This software is provided 'as-is', without any express or implied | ||
10 | * warranty. In no event will the author be held liable for any damages | ||
11 | * arising from the use of this software. | ||
12 | * | ||
13 | * Permission is granted to anyone to use this software for any purpose, | ||
14 | * including commercial applications, and to alter it and redistribute | ||
15 | * it freely, subject to the following restrictions: | ||
16 | * | ||
17 | * 1. The origin of this software must not be misrepresented; you must | ||
18 | * not claim that you wrote the original software. If you use this | ||
19 | * software in a product, an acknowledgement in the product | ||
20 | * documentation would be appreciated but is not required. | ||
21 | * 2. Altered source versions must be plainly marked as such, and must | ||
22 | * not be misrepresented as being the original software. | ||
23 | * 3. This notice may not be removed or altered from any source | ||
24 | * distribution. | ||
25 | * | ||
26 | * The main reference is Unicode Standard Annex 29 (UAX #29): | ||
27 | * <URL:http://unicode.org/reports/tr29> | ||
28 | * | ||
29 | * When this library was designed, this annex was at Revision 17, for | ||
30 | * Unicode 6.0.0: | ||
31 | * <URL:http://www.unicode.org/reports/tr29/tr29-17.html> | ||
32 | * | ||
33 | * The Unicode Terms of Use are available at | ||
34 | * <URL:http://www.unicode.org/copyright.html> | ||
35 | */ | ||
36 | |||
37 | /** | ||
38 | * @file wordbreakdef.h | ||
39 | * | ||
40 | * Definitions of internal data structures, declarations of global | ||
41 | * variables, and function prototypes for the word breaking algorithm. | ||
42 | * | ||
43 | * @version 2.0, 2011/12/12 | ||
44 | * @author Tom Hacohen | ||
45 | */ | ||
46 | |||
47 | /** | ||
48 | * Word break classes. This is a direct mapping of Table 3 of Unicode | ||
49 | * Standard Annex 29, Revision 17. | ||
50 | */ | ||
51 | enum WordBreakClass | ||
52 | { | ||
53 | WBP_Undefined, | ||
54 | |||
55 | /* The following break classes are treated in the pair table. */ | ||
56 | WBP_CR, | ||
57 | WBP_LF, | ||
58 | WBP_Newline, | ||
59 | WBP_Extend, | ||
60 | WBP_Format, | ||
61 | WBP_Katakana, | ||
62 | WBP_ALetter, | ||
63 | WBP_MidNumLet, | ||
64 | WBP_MidLetter, | ||
65 | WBP_MidNum, | ||
66 | WBP_Numeric, | ||
67 | WBP_ExtendNumLet, | ||
68 | WBP_Any | ||
69 | }; | ||
70 | |||
71 | /** | ||
72 | * Struct for entries of word break properties. The array of the | ||
73 | * entries \e must be sorted. | ||
74 | */ | ||
75 | struct WordBreakProperties | ||
76 | { | ||
77 | utf32_t start; /**< Starting coding point */ | ||
78 | utf32_t end; /**< End coding point */ | ||
79 | enum WordBreakClass prop; /**< The word breaking property */ | ||
80 | }; | ||