]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/testdata/rbbitst.txt
ICU-491.11.3.tar.gz
[apple/icu.git] / icuSources / test / testdata / rbbitst.txt
CommitLineData
4388f060 1# Copyright (c) 2001-2012 International Business Machines
b75a7d8f
A
2# Corporation and others. All Rights Reserved.
3#
4# RBBI Test Data
5#
6# File: rbbitst.txt
7#
8# The format of this file looks vaguely like some kind of xml-ish markup,
9# but it is NOT. The syntax is this..
10#
11# <word> any following data is for word break testing
12# <sent> any following data is for sentence break testing
13# <line> any following data is for line break testing
14# <char> any following data is for char break testing
73c04bcf 15# <locale local_name> Switch to the named locale at the next occurence of <word>, <sent>, etc.
b75a7d8f
A
16# <data> ... </data> test data. May span multiple lines.
17# <> Break position, status == 0
18# • Break position, status == 0 (Bullet, \u2022)
19# <nnn> Break position, status == nnn
20# \ Escape. Normal ICU unescape applied.
21# \ at end of line -> Line Continuation. Remove both the backslash and the new line
22#
4388f060
A
23# In ICU4C, this test data is run by intltest, rbbi/RBBITest/TestExtended.
24# In ICU4J, this test data is run by com.ibm.icu.dev.test.rbbi.RBBITestExtended
b75a7d8f 25#
4388f060
A
26# There are two copies of this file in the source repository,
27# [ICU4C] source/test/testdata/rbbitst.txt
28# [ICU4J] main/tests/core/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt
29#
30# ICU4C's copy is the master. If any changes are made to ICU4J's copy, make sure they
31# are merged back into ICU4C's copy of the file, lest they get overwritten later.
32# TODO: figure out how to have a single copy of the file for use by both C and Java.
b75a7d8f
A
33
34
73c04bcf 35# Temp debugging tests
374ca955 36<line>
729e4ab9 37<data>•\ufffc•\u30e3\u000c<100>\u1b39\u300a\u002f\u203a\u200b•\ufffc•\uaf64•\udcfb•</data>
b75a7d8f
A
38
39########################################################################################
40#
41#
42# G r a p h e m e C l u s t e r T e s t s
43#
44#
45##########################################################################################
46<char>
47
48<data>•a•b•c• •,•\u0666•</data> # Quick Test
49<data>•\r•\r•\r\n•\r\n•\n•\r•</data> # don't break CR/LF
50
51# Always break after controls. Combining chars don't combine with them.
52<data>•\u0003•\N{COMBINING GRAVE ACCENT}•\r•\N{COMBINING GRAVE ACCENT}•</data>
53<data>•\u0085•\N{COMBINING MACRON}•A\N{COMBINING MACRON}•</data>
54
55# Surrogates
56<data>•\U00011000•\U00010020•\U00010000\N{COMBINING MACRON}•</data>
57<data>•\ud800\udc00•\udbff\udfff•a•</data>
58
59# Extend (Combining chars) combine.
60<data>•A\N{COMBINING GRAVE ACCENT}•B•</data>
61<data>•\N{GREEK SMALL LETTER MU}\N{COMBINING LOW LINE}\N{COMBINING HORN}•</data>
62<data>•a\u0301•b\u0302•c\u0303•d\u0304•e\u0305•f\u0306•g\u0307•h\u0308•i\u0309•</data>
63
64<data>•a\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304\u0301\u0302\u0303\u0304•</data>
65
66# Don't break Hangul Syllables
67# L : \u1100
68# V : \u1161
69# T : \u11A8
70# LV : \uAC00
71# LVT : \uAC01
72
73<data>•\u1100\u1161\u11a8•\u1100\u1161\u11a8•</data> #LVT
74<data>•\u1100\u1161•\u1100\u1161•</data>
75<data>•\u1100\u1161\u11a8•\u1161•\u1100•\u11a8•\u1161\u1161\u1161\u11a8•</data>
76<data>•\u1100\u1100\uac01•\u1100\uac01•\u1100\uac01\u0301•\uac01•</data>
77<data>•\u1100\u0301•\u1161\u11a8\u0301•\u11a8•</data>
78
79
80
81# Hindi combining chars. (An old test)
46f4442e
A
82# TODO: Update these tests for Unicode 5.1 Extended Grapheme clusters
83#<data>•भ••ा•\u0930•\u0924• •\u0938\u0941\u0902•\u0926•\u0930•
84#•\u0939•\u094c•\u0964•</data>
85#<data>•\u0916\u0947•\u0938\u0941\u0902•\u0926•\u0930•\u0939•\u094c•\u0964•</data>
b75a7d8f
A
86
87
46f4442e
A
88# Bug 1587. Tamil. \u0baa\u0bc1 is an Extended Grpaheme Cluster
89<data>•\u0baa\u0bc1•\u0baa\u0bc1•</data>
b75a7d8f
A
90
91# Regression test for bug 1889
92<data>•\u0f40\u0f7d•\u0000•\u0f7e•</data>
93
94
95# 0xffff is a legal character, and should not stop the break iterator early.
96# (Requires special casing in implementation, which is why it gets a test.)
97<data>•\uffff•\uffff• •a•</data>
98
73c04bcf
A
99# Treat Japanese Half Width voicing marks as combining
100<data>•A\uff9e•B\uff9f\uff9e\uff9f•C•</data>
b75a7d8f 101
46f4442e
A
102########################################################################################
103#
104#
105# E x t e n d e d G r a p h e m e C l u s t e r T e s t s
106#
107#
108##########################################################################################
109#<xgc>
110
111# Plain Vanilla grapheme clusters
112#<data>•a•b•c•</data>
113#<data>•a\u0301\u0302• •b\u0303\u0304•</data>
114
115# Assorted Hindi combining marks
116#<data>•\u0904\u0903• •\u0937\u093E• •\u0904\u093F• •\u0937\u0940• •\u0937\u0949• •\u0937\u094A• •\u0937\u094B• •\u0937\u094C•</data>
117
118# Thai Clusters
119# $Prepend $Extend* $PrependBase $Extend*;
120#
121#<data>•\u0e40\u0e01•\u0e44\u0301\u0e23\u0302\u0303•\u0e40•\u0e40\u0e02•\u0e02• •</data>
122
123
b75a7d8f
A
124########################################################################################
125#
126#
127# W o r d B o u n d a r y T e s t s
128#
129#
130##########################################################################################
131
132<word>
133#
134# Quick sanity test
135#
136<data>•hello<200> •there<200> •goodbye<200></data>
137<data>•hello<200> •12345<100> •,•</data>
138
139
140#
141# Test data originally in RBBIAPITest::TestFirstNextFollowing() and TestLastPreviousPreceding()
142#
143
144<word>
145<data>•This<200> •is<200> •a<200> •word<200> •break<200>.• • •Isn't<200> •it<200>?• •2.25<100></data>
146
147
148
149#
150# Data originally from TestDefaultRuleBasedWordIteration()
151#
152<data>•Write<200> •wordrules<200>.• •123.456<100> •alpha\u00adbeta\u00adgamma<200> •\u092f\u0939<200> •</data>
153<data>• •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•</data>
154
155#Hindi Numbers
156<data>• •\u0968\u0966.\u0969\u096f<100> •\u0967\u0966\u0966.\u0966\u0966<100> •\N{RUPEE SIGN}•\u0967,\u0967\u0966\u0966.\u0966\u0966<100> • •\u0905\u092e\u091c<200>\n•</data>
157
158<data>•\u0938\u094d\u200d\u0935\u0924\u0902deadTA\u0930<200>\r•It's<200> •$•30.10<100> •12,34<100>¢•£•¤•¥•alpha\u05f3beta\u05f4gamma<200> •</data>
159
160<data>•Badges<200>?• •BADGES<200>!•?•!• •We<200> •don't<200> •need<200> •no<200> •STINKING<200> •BADGES<200>!•!•1000,233,456.000<100> •1,23.322<100>%•123.1222<100>$•123,000.20<100> •179.01<100>%•X<200> •Now<200>\r•is<200>\n•the<200>\r\n•time<200> •</data>
161
162#Hangul
163<data>•\uc5f0\ud569<200> •\uc7a5\ub85c\uad50\ud68c<200> •\u1109\u1161\u11bc\u1112\u1161\u11bc<200> •\u1112\u1161\u11ab\u110b\u1175\u11ab<200> •Hello<200>,• •how<200> •are<200> •you<200> •</data>
164
165
166# Words containing non-BMP letters
167<data>•abc\U00010300<200> •abc\N{DESERET SMALL LETTER ENG}<200> •abc\N{MATHEMATICAL BOLD SMALL Z}<200> •abc\N{MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL}<200> •</data>
168
169# Unassigned code points
170<data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>
171
172# Hiragana & Katakana stay together, but separates from each other and Latin.
173<data>•abc<200>\N{HIRAGANA LETTER SMALL A}<300>\N{HIRAGANA LETTER VU}\N{COMBINING ACUTE ACCENT}<300>\N{HIRAGANA ITERATION MARK}<300>\N{KATAKANA LETTER SMALL A}\N{KATAKANA ITERATION MARK}\N{HALFWIDTH KATAKANA LETTER WO}\N{HALFWIDTH KATAKANA LETTER N}<300>def<200>#•</data>
174
175# Words with interior formatting characters
176<data>•def\N{COMBINING ACUTE ACCENT}\N{SYRIAC ABBREVIATION MARK}ghi<200> •</data>
177
178# to test for bug #4097779
179<data>•aa\N{COMBINING GRAVE ACCENT}a<200> •</data>
180
181
182# to test for bug #4098467
183# What follows is a string of Korean characters (I found it in the Yellow Pages
184# ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
185# it correctly), first as precomposed syllables, and then as conjoining jamo.
186# Both sequences should be semantically identical and break the same way.
187# precomposed syllables...
188<data>•\uc0c1\ud56d<200> •\ud55c\uc778<200> •\uc5f0\ud569<200> •\uc7a5\ub85c\uad50\ud68c<200> •\u1109\u1161\u11bc\u1112\u1161\u11bc<200> •\u1112\u1161\u11ab\u110b\u1175\u11ab<200> •\u110b\u1167\u11ab\u1112\u1161\u11b8<200> •\u110c\u1161\u11bc\u1105\u1169\u1100\u116d\u1112\u116c<200> •</data>
189
190<data>•abc<200>\u4e01<400>\u4e02<400>\u3005<200>\u4e03<400>\u4e03<400>abc<200> •</data>
191
73c04bcf 192<data>•\u06c9\uc799\ufffa<200></data>
b75a7d8f
A
193
194#
195# Try some words from other scripts.
196#
197
198# Try some words from other scripts.
199# Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
200#
201<data>•ΑΒΓ<200> •БВГ<200> •אבג֓<200> •ابت<200> •١٢٣<100> •\u10A0\u10A1\u10A2<200> •ABC<200> •</data>
202
203<data>•\u0301•A<200></data>
204
205
206#
207# Hindi word break tests, imported from the old RBBI tests.
208# An historical note: a much earlier version of ICU break iterators had a number
209# of special case rules for Hindi, which were tested by an earlier version of
210# this test data. The current RBBI rules do not special case Hindi in
211# any way, making this test data much less signfificant.
212#
213<data>•\u0917\u092a\u00ad\u0936\u092a<200>!•\u092f\u0939<200> •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•\n•:•\u092a\u094d\u0930\u093e\u092f\u0903<200>
214•\u0935\u0930\u094d\u0937\u093e<200>\r\n•\u092a\u094d\u0930\u0915\u093e\u0936<200>,•\u0924\u0941\u092e\u093e\u0930\u094b<200> •\u092e\u093f\u0924\u094d\u0930<200> •\u0915\u093e<200> •\u092a\u0924\u094d\u0930<200> •\u092a\u095d\u094b<200> •\u0938\u094d\u0924\u094d\u0930\u093f<200>.• •\u0968\u0966.\u0969\u096f<100> •\u0967\u0966\u0966.\u0966\u0966<100>\u20a8•\u0967,\u0967\u0966\u0966.\u0966\u0966<100> •\u0905\u092e\u091c<200>\n•\u0938\u094d\u200d\u0935\u0924\u0902\u0924\u094d\u0930<200>\r•</data>
215
374ca955
A
216#
217# Failures from monkey tests
218#
219<data>•\u8527<400>\u02ba<200>\u0027\u0d42•\u00b7•\u09ea<100></data>
220
73c04bcf
A
221#
222# Jitterbug 5276 - treat Japanese half width voicing marks as Grapheme Extend
223#
224<data>•A\uff9e\uff9fBC<200> •1\uff9e\uff9f23<100></data>
225
4388f060
A
226# User guide example:
227<data>•Parlez<200>-•vous<200> •français<200> •?•</data>
228
b75a7d8f
A
229########################################################################################
230#
231#
232# S e n t e n c e B o u n d a r y T e s t s
233#
234#
235##########################################################################################
236
237
238#
239# Test data originally from RBBI RBBITest::TestDefaultRuleBasedSentenceIteration()
240#
241<sent>
242
243
244<sent>
374ca955 245<data>•This\n<100></data>
b75a7d8f 246<data>•Hello! •how are you? •I'am fine. •Thankyou. •How are you \
374ca955 247doing? •This\n<100> costs $20,00,000. •</data>
b75a7d8f
A
248
249
250# Sentence ending in a quote.
251<data>•"Sentence ending with a quote." •Bye.•</data>
252
253# Sentence, and test data, ending without a period or other terminator.
374ca955 254<data>•Here is a random sentence, no ending period<100></data>
b75a7d8f
A
255
256
257<data>• (This is it). •Testing the sentence iterator. •\
258"This isn't it." •Hi! \
259•This is a simple sample sentence. •(This is it.) •This is a simple sample sentence. •\
260"This isn't it." •\
73c04bcf
A
261Hi! •This is a simple sample sentence. •It does not have to make any sense as you can see. •Nel mezzo del cammin di nostra vita, mi ritrovai in una selva oscura. •Che la dritta via aveo smarrita. •He said, that I said, that you said!! •Don't rock the boat.\u2029•Because I am the daddy, that is why.
262•Not on my time (el timo.)! •</data>
b75a7d8f 263
73c04bcf 264<data>•Hello. •So what!!\u2029•"But now," he said, \
b75a7d8f 265"I know!" •\
73c04bcf 266Harris thumbed down several, including "Away We Go" (which became the huge success Oklahoma!). •One species, B. anthracis, is highly virulent.
b75a7d8f
A
267•Wolf said about Sounder:\
268"Beautifully thought-out and directed." •\
269Have you ever said, "This is where\tI shall live"? •He answered, \
73c04bcf 270"You may not!" •Another popular saying is: "How do you do?". \n•\
b75a7d8f
A
271Yet another popular saying is: \
272'I'm fine thanks.' •\
73c04bcf 273What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tall!!\
374ca955 274•Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100></data>
b75a7d8f
A
275
276<data>•No breaks when . is surrounded by UPPER.Case letters. •</data>
277<data>•No breaks when . is followed by Numeric .4 a.4 C.4 3.1 .•</data>
278<data>•No breaks when . is followed by a lower, with possible intervening punct .,a .$a .)a. •</data>
279
280#
281# Sentence Breaks: no break at the boundary between CJK and other letters
282#
283<data>•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165:"JAVA\u821c\u8165\u7fc8\u51ce\u306d,\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46".\u2029•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e4JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u3002•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e4\u6470\u8790JAVA\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u2048•He said, "I can go there."\u2029•Bye, now.•</data>
284
285#
286# Treat fullwidth variants of .!? the same as their
287# normal counterparts
288#
73c04bcf 289<data>•I know I'm right\uff0e •Right\uff1f •Right\uff01 •</data>
b75a7d8f
A
290
291
292#
293# Don't break sentences at boundary between CJK and digits
294#
73c04bcf 295<data>•\u5487\u67ff\ue591\u5017\u61b3\u60a1\u9510\u8165\u9de8\u97e48888\u821c\u8165\u7fc8\u51ce\u306d\ue30b\u2494\u56d8\u4ec0\u60b1\u8560\u51ba\u611d\u57b6\u2510\u5d46\u97e5\u7751\u3002•Bye, now<100></data>
b75a7d8f
A
296
297#
298# Breaks around '(' following a sentence TERM. (Rule 9)
299#
300<data>•How do you do?(•Fine). •</data>
301<data>•How do you do? •(Fine). •</data>
302<data>•How do you do?(•fine). •</data>
303<data>•How do you do? •(fine). •</data>
304
305#
374ca955
A
306<data>•Hello.123<100></data> # Rule 6
307<data>•Hello?•123<100></data>
b75a7d8f 308
374ca955
A
309<data>•HELLO.Bye<100></data> # Rule 7
310<data>•HELLO?•Bye<100></data>
b75a7d8f 311
374ca955
A
312<data>•Hello.goodbye<100></data> #Rule 8
313<data>•Hello. •Goodbye<100></data>
314<data>•Hello. goodbye<100></data>
b75a7d8f
A
315
316
317
318#
319# test for bug #4158381: No breaks when there are no terminators around
320#
321<data>•\<P>Provides a set of &quot;lightweight&quot; (all-java\<FONT SIZE="-2">\<SUP>TM\</SUP>\</FONT> language) components that, to the maximum degree possible, work the same on all platforms. •</data>
322<data>•Another test.\u2029•</data>
323
324# test for bug #4143071: Make sure sentences that end with digits
325# work right
326#
327<data>•Today is the 27th of May, 1998. •</data>
328<data>•Tomorrow with be 28 May 1998. •</data>
329<data>•The day after will be the 30th.\u2029•</data>
330
331# test for bug #4152416: Make sure sentences ending with a capital
332# letter are treated correctly
333#
334<data>•The type of all primitive \<code>boolean\</code> values accessed in the target VM. •Calls to xxx will return an implementor of this interface. \u2029•</data>
335
336# test for bug #4152117: Make sure sentence breaking is handling
337# punctuation correctly [COULD NOT REPRODUCE THIS BUG, BUT TEST IS
338# HERE TO MAKE SURE IT DOESN'T CROP UP]
339#
340<data>•Constructs a randomly generated BigInteger, uniformly distributed over the range \<tt>0\</tt> to \<tt>(2\<sup>numBits\</sup> - 1\)\</tt>, inclusive. •The uniformity of the distribution assumes that a fair source of random bits is provided in \<tt>rnd\</tt>. •Note that this constructor always constructs a non-negative biginteger. \n•Ahh abc.
341•</data>
342
343# sentence breaks for hindi which used Devanagari script
344# make sure there is sentence break after ?,danda(hindi phrase separator),
345# fullstop followed by space. (VERY old test)
346#
374ca955 347<data>•\u0928\u092e\u0938\u094d\u200d\u0924\u0947 \u0930\u092e\u0947\u0936\u0905\u093e\u092a\u0915\u0948\u0938\u0947 \u0939\u0948?•\u092e\u0948 \u0905\u091a\u094d\u200d \u091b\u093e \u0939\u0942\u0901\u0964 •\u0905\u093e\u092a\r\n<100>\
b75a7d8f 348\u0915\u0948\u0938\u0947 \u0939\u0948?•\u0935\u0939 \u0915\u094d\u200d\u092f\u093e\n\
374ca955 349<100>\u0939\u0948?•\u092f\u0939 \u0905\u093e\u092e \u0939\u0948. •\u092f\u0939 means "this". •"\u092a\u095d\u093e\u0908" meaning "education" or "studies". •\u0905\u093e\u091c(\u0938\u094d\u200d\u0935\u0924\u0902\u0924\u094d\u0930 \u0926\u093f\u0935\u093e\u0938) \u0939\u0948\u0964 •Let's end here. •</data>
b75a7d8f
A
350
351# Regression test for bug #1984, Sentence break in Arabic text.
352
353<data>\
73c04bcf 354•\u0623\u0633\u0627\u0633\u064b\u0627\u060c\u0020\u062a\u062a\u0639\u0627"\u0645\u0644\u0020\u0627\u0644\u062d\u0648\u0627\u0633\u064a\u0628\u0020"\u0641\u0642\u0637\u0020\u0645\u0639\u0020\u0627\u0644\u0623\u0631\u0642\u0627\u0645\u060c\u0648\u062a\u0642\u0648\u0645\u0020\u0628\u062a\u062e\u0632\u064a\u0646\u0020\u0627\u0644\u0623\u062d\u0631\u0641\u0020\u0648\u0627\u0644\u0645\u062d\u0627\u0631\u0641\u0020\u0627\u0644\u0623\u062e\u0631\u0649\u0020\u0628\u0639\u062f\u0020\u0623\u0646\u062a\u064f\u0639\u0637\u064a\u0020\u0631\u0642\u0645\u0627\u0020\u0645\u0639\u064a\u0646\u0627\u0020\u0644\u0643\u0644\u0020\u0648\u0627\u062d\u062f\u0020\u0645\u0646\u0647\u0627\u002e\u0020•\u0648\u0642\u0628\u0644\u0020\u0627\u062e\u062a\u0631\u0627\u0639\u0022\u064a\u0648\u0646\u0650\u0643\u0648\u062f\u0022\u060c\u0020\u0643\u0627\u0646\u0020\u0647\u0646\u0627\u0643\u0020\u0645\u0626\u0627\u062a\u0020\u0627\u0644\u0623\u0646\u0638\u0645\u0629\u0020\u0644\u0644\u062a\u0634\u0641\u064a\u0631\u0648\u062a\u062e\u0635\u064a\u0635\u0020\u0647\u0630\u0647\u0020\u0627\u0644\u0623\u0631\u0642\u0627\u0645\u0020\u0644\u0644\u0645\u062d\u0627\u0631\u0641\u060c\u0020\u0648\u0644\u0645\u0020\u064a\u0648\u062c\u062f\u0020\u0646\u0638\u0627\u0645\u062a\u0634\u0641\u064a\u0020\u0639\u0644\u0649\u0020\u062c\u0645\u064a\u0639\u0020\u0627\u0644\u0645\u062d\u0627\u0631\u0641\u0020\u0627\u0644\u0636\u0631\u0648\u0631\u064a\u0629. •</data>
b75a7d8f
A
355
356# Try a few more of the less common sentence endings.
357<data>•Hello, world\u3002 •Hello, world\u1803 •Hello, world\u2048 •Hello, world\u203c •Let's end here. •</data>
358
359
360
361
362################################################################
363#
364#
365# L I N E B R E A K
366#
367#
368################################################################
369
370<line>
371#
372# Test Character for each of the line break classes.
373#
374# 00A1;AI # INVERTED EXCLAMATION MARK ¡
375# 0041;AL # LATIN CAPITAL LETTER A
376# 0009;BA # <control>
377# 00B4;BB # ACUTE ACCENT
378# 000C;BK # <control>
379# 2014;B2 # EM DASH
380# FFFC;CB # OBJECT REPLACEMENT CHARACTER
381# 0029;CL # RIGHT PARENTHESIS
382# 0301;CM # COMBINING ACUTE ACCENT
383# 0021;EX # EXCLAMATION MARK
384# 00A0;GL # NO-BREAK SPACE
385# 002D;HY # HYPHEN-MINUS
386# 4E00;ID # <CJK Ideograph, First>
387# 2024;IN # ONE DOT LEADER
388# 002C;IS # COMMA
389# 000A;LF # <control>
390# 0E5A;NS # THAI CHARACTER ANGKHANKHU
391# 0032;NU # DIGIT TWO
392# 0028;OP # LEFT PARENTHESIS
393# 0025;PO # PERCENT SIGN
394# 0024;PR # DOLLAR SIGN
395# 0022;QU # QUOTATION MARK
396# 0E01;SA # THAI CHARACTER KO KAI
397# DB7F;SG # Surrogate
398# 0020;SP # SPACE
399# 002F;SY # SOLIDUS /
400# F8FF;XX # Private Use
401# 200B;ZW # ZERO WIDTH SPACE
402
403
404# 2b Always break at end of text
405
406<data>• •\u00A1•</data>
407<data>• •\u0041•</data>
408<data>• •\u0009•</data>
409<data>• •\u00B4•</data>
374ca955 410<data>• \u000C<100></data> # LB3C × BK
b75a7d8f
A
411<data>• •\u2014•</data>
412<data>• •\uFFFC•</data>
413<data>• \u0029•</data> # LB 8 × CL
414# <data>• • \u0301•</data> # LB 7a Treat SP CM* as if it were ID #TODO: SP CM
415<data>• \u0021•</data> # LB 8 × EX
416#<data>• \u00A0•</data> # LB 11b × GL TODO: fix.
417<data>• •\u002D•</data>
418<data>• •\u4E00•</data>
419<data>• •\u2024•</data>
420<data>• \u002C•</data> # LB 8 × IS
374ca955 421<data>• \u000A<100></data> # LB3C × ( BK | CR | LF | NL )
b75a7d8f
A
422<data>• •\u0E5A•</data>
423<data>• •\u0032•</data>
424<data>• •\u0028•</data>
425<data>• •\u0025•</data>
426<data>• •\u0024•</data>
427<data>• •\u0022•</data>
428<data>• •\u0E01•</data>
429<data>• •\uDB7F•</data>
430<data>• \u0020•</data> # LB4 - don't break before space.
431<data>• \u002F•</data> # LB 8 × SY
432<data>• •\uF8FF•</data>
433<data>• \u200B•</data> # LB4 - don't break before ZA
434
435
436# 3a Always break after hard line breaks.
437# 3c Never break before hard line breaks.
438
374ca955
A
439<data>• •\u00A1\u2028<100>\u00A1•</data>
440<data>• •\u0041\u2028<100>\u0041•</data>
441<data>• •\u0009\u2028<100>\u0009•</data>
442<data>• •\u00B4\u2028<100>\u00B4•</data>
443<data>• \u000C<100>\u2028<100>\u000C<100></data>
444<data>• •\u2014\u2028<100>\u2014•</data>
445<data>• •\uFFFC\u2028<100>\uFFFC•</data>
446<data>• \u0029\u2028<100>\u0029•</data>
447#<data>• \u0301\u2028<100>\u0301•</data> # TODO: fix.
448<data>• \u0021\u2028<100>\u0021•</data>
449#<data>• \u00A0\u2028<100>\u00A0•</data> # TODO: fix
450<data>• •\u002D\u2028<100>\u002D•</data>
451<data>• •\u4E00\u2028<100>\u4E00•</data>
452<data>• •\u2024\u2028<100>\u2024•</data>
453<data>• \u002C\u2028<100>\u002C•</data>
454<data>• \u000A<100>\u2028<100>\u000A<100></data>
455<data>• •\u0E5A\u2028<100>\u0E5A•</data>
456<data>• •\u0032\u2028<100>\u0032•</data>
457<data>• •\u0028\u2028<100>\u0028•</data>
458<data>• •\u0025\u2028<100>\u0025•</data>
459<data>• •\u0024\u2028<100>\u0024•</data>
460<data>• •\u0022\u2028<100>\u0022•</data>
461<data>• •\u0E01\u2028<100>\u0E01•</data>
462<data>• •\uDB7F\u2028<100>\uDB7F•</data>
463<data>• \u0020\u2028<100>\u0020•</data>
464<data>• \u002F\u2028<100>\u002F•</data>
465<data>• •\uF8FF\u2028<100>\uF8FF•</data>
466<data>• \u200B\u2028<100>\u200B•</data>
b75a7d8f 467
4388f060
A
468# User Guide example
469
470<data>•Parlez-•vous •français ?•</data>
b75a7d8f
A
471
472#
473# Old Line Break Test data. Orginally located in RBBITest::TestDefaultRuleBasedLineIteration()
474#
475
476<line>
477
478<data>•Multi-•Level •example •of •a •semi-•idiotic •non-•sensical •(non-•important) •sentence.
374ca955 479<100>Hi •Hello •How\n<100>are\r<100>you\u2028<100>fine.\t•good. •Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100>all•</data>
b75a7d8f
A
480
481<line>
374ca955
A
482<data>•Hello! •how\r\n<100> •(are)\r<100> •you? •I'am •fine- •Thankyou. •foo\u00a0bar
483<100>How, •are, •you? •This, •costs •$20,00,000.•</data>
b75a7d8f
A
484
485# test for bug #4068133
486#
487<data>•\u96f6•\u4e00\u3002•\u4e8c\u3001•\u4e09\u3002\u3001•\u56db\u3001\u3002\u3001•\u4e94,•\u516d.•\u4e03.\u3001,\u3002•\u516b•</data>
488
489# to test for bug #4086052
490<data>•foo\u00a0bar•</data>
491
492# to test for bug #4097920
374ca955 493<data>•dog,cat,mouse •(one)•(two)\n<100></data>
b75a7d8f
A
494
495# to test for bug #4035266
374ca955 496<data>•The •balance •is •$-23,456.78, •not •-•$32,456.78!\n<100></data>
b75a7d8f
A
497
498
499# to test for bug #4098467
500# What follows is a string of Korean characters (I found it in the Yellow Pages
501# ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
502# it correctly), first as precomposed syllables, and then as conjoining jamo.
503# Both sequences should be semantically identical and break the same way.
504# precomposed syllables... (I == Rich Gillam?)
505#
506<data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>
507
508# conjoining jamo...
509# TODO: rules update needed
510#<data>•\u1109\u1161\u11bc•\u1112\u1161\u11bc •\u1112\u1161\u11ab•\u110b\u1175\u11ab #•\u110b\u1167\u11ab•\u1112\u1161\u11b8 •\u110c\u1161\u11bc•\u1105\u1169•\u1100\u116d•\u1112\u116c•</data>
511
512# to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
513<data>•\u4e01\uff0e•\u4e02\uff01•\u4e03\uff1f•</data>
514
515# Surrogate line break tests.
516#
374ca955 517<data>•\u4e01•\ud840\udc01•\u4e02•abc •\ue000 •\udb80\udc01•</data>
b75a7d8f
A
518
519# Regression for bug 836
46f4442e 520# Note: Unicode 5.1 changed this behavior
729e4ab9
A
521# Unicode 5.2 changed it again, there is no break following the '('
522<data>•AAA(AAA •</data>
b75a7d8f
A
523
524# Try some words from other scripts.
525# Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
526#
527<data>•ΑΒΓ •БВГ •אבג֓ •ابت •١٢٣ •\u10A0\u10A1\u10A2 •ABC •</data>
528
729e4ab9
A
529#
530# ticket #4853: unpaired surrogates should behave like AL
531#
532<data>•abc\ud801xyz•</data>
b75a7d8f 533
729e4ab9
A
534#
535# Regression tests for failures that originally came from the monkey test.
536# Monkey test failure lines can, with slight reformatting, be copied into this section
537# as test cases. The error display from here is more informative.
538#
539<data>•\ufffc•\u30e3\u000c<100>\u1b39\u300a\u002f\u203a\u200b•\ufffc•\uaf64•\udcfb•</data>
540<data>•\u114d\u31f3•\ube44\u002d•\u0362\u24e2\u276e\u2014\u205f\ufe16•\uc877•\u0fd0\u000a<100>\u20a3•</data>
541<data>•\u080a\u215b\U0001d7d3\u002c•\u2025\U000e012e•\u02df\u118d\u0029\ua8d6\u0085<100>\u6cc4\u2024\u202f\ufffc•</data>
542
46f4442e 543
b75a7d8f
A
544########################################################################################
545#
546#
547# T i t l e B o u n d a r y T e s t s
548#
549#
550##########################################################################################
551<title>
552<data>•Here •is •a •short •sample •sentence. •And •another.•</data>
553<data>•HERE •IS •A •SHORT •SAMPLE •SENTENCE. •AND •ANOTHER.•</data>
554<data>• •Start •and •end •with •spaces •</data>
555<data>•Include 123 456 ^& •some 54332 •numbers 4445•abc123•abc •ending 1223 •</data>
556
557<data>•Combining\u0301 \u0301•ma\u0306rks •bye •</data>
558<data>•123 •Start •with •a •number.•</data>
559
560<data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>
561
73c04bcf
A
562
563##########################################################################################
564#
565# Thai Tests
566#
567##########################################################################################
568<locale th>
569<word>
570#
571# Test data originally from the test code source file
572# // @suwit -- Thai sample data from GVT Guideline
573#
574<data>•\u0E2B\u0E19\u0E36\u0E48\u0E07<200>\u0E04\u0E33<200>\u0E44\u0E17\u0E22<200>\
575\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16<200>\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A<200>\
576\u0E14\u0E49\u0E27\u0E22<200>\u0e2b\u0e25\u0e32\u0e22<200>\
577\u0e1e\u0e22\u0e32\u0e07\u0e04\u0e4c<200></data>
578
4388f060
A
579# Test data originally from http://bugs.icu-project.org/trac/search?q=r30327
580<data>•กู<200> •กิน<200>กุ้ง<200> •ปิ้่<200>งอ<200>ยู่<200>ใน<200>ถ้ำ<200></data>
581
582<data>•\u0E01\u0E39<200>\u0020•\u0E01\u0E34\u0E19<200>\u0E01\u0E38\u0E49\u0E07<200>\
583\u0020•\u0E1B\u0E34\u0E49\u0E48<200>\u0E07\u0E2D<200>\u0E22\u0E39\u0E48<200>\
584\u0E43\u0E19<200>\u0E16\u0E49\u0E33<200></data>
585
586<line>
587<data>•0E01\u0E39\u0020•\u0E01\u0E34\u0E19•\u0E01\u0E38\u0E49\u0E07\
588\u0020•\u0E1B\u0E34\u0E49\u0E48•\u0E07\u0E2D•\u0E22\u0E39\u0E48•\
589\u0E43\u0E19•\u0E16\u0E49\u0E33•</data>
590
591# Data originally from intltest RBBITest::TestThaiLineBreak()
592#
593# \u0e2f-- the Thai paiyannoi character-- isn't a letter. It's a symbol that
594# represents elided letters at the end of a long word. It should be bound to
595# the end of the word and not treated as an independent punctuation mark.
596#
597# the one time where the paiyannoi occurs somewhere other than at the end
598# of a word is in the Thai abbrevation for "etc.", which both begins and
599# ends with a paiyannoi
600#
601<line>
602<data>•\u0e2a\u0e16\u0e32\u0e19\u0e35\u0e2f•\
603\u0e08\u0e30•\
604\u0e23\u0e30\u0e14\u0e21•\
605\u0e40\u0e08\u0e49\u0e32•\
606\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48•\
607\u0e2d\u0e2d\u0e01•\
608\u0e21\u0e32•\
609\u0e40\u0e23\u0e48\u0e07•\
610\u0e23\u0e30\u0e1a\u0e32\u0e22•\
611\u0e2d\u0e22\u0e48\u0e32\u0e07•\
612\u0e40\u0e15\u0e47\u0e21•\
613\u0e2f\u0e25\u0e2f•\
614\u0e17\u0e35\u0e48•\
615\u0e19\u0e31\u0e49\u0e19•</data>
616
617# Data originally from RBBITest::TestMixedThaiLineBreak()
618# @suwit -- Test Arabic numerals, Thai numerals, Punctuation and English characters start
619#
620<line>
621<data>•\u0E1B\u0E35•\
622\u0E1E\u0E38\u0E17\u0E18\u0E28\u0E31\u0E01\u0E23\u0E32\u0E0A •\
6232545 •\
624\u0E40\u0E1B\u0E47\u0E19•\
625\u0E1B\u0E35•\
626\u0E09\u0E25\u0E2D\u0E07•\
627\u0E04\u0E23\u0E1A•\
628\u0E23\u0E2D\u0E1A •\
629\"\u0E52\u0E52\u0E50 •\
630\u0E1b\u0E35\" •\
631\u0E02\u0E2d\u0E07•\
632\u0E01\u0E23\u0E38\u0E07•\
633\u0E23\u0E31\u0E15\u0E19\u0E42\u0E01\u0E2A\u0E34\u0E19\u0E17\u0E23\u0E4C •\
634(\u0E01\u0E23\u0E38\u0E07\u0E40\u0E17\u0E1e\u0E2F•\
635\u0E2B\u0E23\u0E37\u0E2D •\
636Bangkok)•</data>
637
638# Data originally from RBBITest::TestMaiyamok()
639# The Thai maiyamok character is a shorthand symbol that means "repeat the previous
640# word". Instead of appearing as a word unto itself, however, it's kept together
641# with the word before it.
642#
643<line>
644<data>•\u0e44\u0e1b\u0e46•\
645\u0e21\u0e32\u0e46•\
646\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07•\
647\u0e01\u0e23\u0e38\u0e07•\
648\u0e40\u0e17\u0e1e•\
649\u0e41\u0e25\u0e30•\
650\u0e40\u0e03\u0e35•\
651\u0e22\u0e07•\
652\u0e43\u0e2b\u0e21\u0e48•</data>
653
654
655
656##########################################################################################
657#
658# Khmer Tests
659#
660##########################################################################################
661
662# Test data originally from http://bugs.icu-project.org/trac/search?q=r30327
663# from the file testdata/wordsegments.txt
664<locale en>
665<word>
666
667<data>•តើ<200>លោក<200>មក<200>ពី<200>ប្រទេស<200>ណា<200></data>
668<data>•សណ្ដូក<200>ក<200>បណ្ដែត<200>ខ្លួន<200></data>
669<data>•ពណ៌ស<200>ម្ដេច<200>ថា<200>ខ្មៅ<200></data>
670#ប្រយោគ|ពី|របៀប|រួបរួម|និង|ភាព|ផ្សេងគ្នា|ដែល|អាច|ចូល<200></data>
671<data>•ប្រយោគ<200>ពី<200>របៀប<200>ដែល<200>និង<200>ភាព<200>ផ្សេងគ្នា<200>ដែល<200>អាច<200>ចូល<200></data>
672#ប្រយោគ|ពី|របៀប|ជា|មួយ|និង|ភាព|ផ្សេងគ្នា|ដែល|អាច|ចូល<200></data>
673<data>•សូម<200>ចំណាយពេល<200>បន្តិច<200>ដើម្បី<200>អធិស្ឋាន<200>អរព្រះគុណ<200>ដល់<200>ព្រះអង្គ<200></data>
674<data>•ការ<200>ថោកទាប<200>បរិប្បូណ៌<200>ដោយ<200></data>
675<data>•ប្រើប្រាស់<200>ស្អាត<200>ទាំង<200>ចិត្ត<200>សិស្ស<200>នោះ<200></data>
676<data>•បើ<200>អ្នក<200>ប្រព្រឺត្ត<200>អំពើអាក្រក់<200>មុខ<200>ជា<200>មាន<200></data>
677<data>•ប្រដាប់<200>ប្រដា<200>រ<200>រៀនសូត្រ<200>បន្ទប់<200>រៀន<200></data>
678<data>•ដើរតួ<200>មនុស្សគ<200>ឥត<200>បញ្ចេញ<200>យោបល់<200>សោះ<200>ឡើយ<200></data>
679<data>•មិន<200>អាច<200>ឲ្យ<200>យើង<200>ធ្វើ<200>កសិកម្ម<200>បាន<200>ឡើយ<200></data>
680<data>•បន្ត<200>សេចក្ត<200>ទៅទៀត<200></data>
681<data>•ក្រុម<200>ប៉ូលិស<200>បណ្តាក់<200>គ្នា<200></data>
682<data>•គ្មាន<200>សុខ<200>សំរាន្ត<200>ដង<200>ណា<200></data>
683<data>•បាន<200>សុខភាព<200>បរិប្បូណ៌<200></data>
684<data>•ជា<200>មេចោរ<200>ខ្ញុំ<200>នឹង<200>ស្លាប់<200>ទៅវិញ<200>ជា<200>មេចោរ<200></data>
685<data>•ឯ<200>ការ<200>វាយ<200>ផ្ចាល<200>ដែល<200>នាំ<200></data>
686<data>•គេ<200>ដឹក<200>ទៅ<200>សំឡាប់<200></data>
687#អ្នក|ដែល|ជា|មន្ត្រី|ធំ|លើ|គាត់|ទេ<200></data>
688<data>•យក<200>ទៅ<200>សម្លាប់ចោល<200>ស្ងាត់<200></data>
689<data>•ត្រូវ<200>បាន<200>គេ<200>សម្លាប់<200></data>
690<data>•នៅក្នុង<200>ស្រុក<200>ខ្ល<200>ងហ្ស៊ុន<200></data>
691
692
73c04bcf
A
693#
694# Jitterbug 3671 Test Case
695#
696<data>•สวัสดี<200>ครับ<200>สบาย<200>ดี<200>ไหม<200> •ครับ<200></data>
697
698#
699# Trac ticket 5595 Test Case
700<data>•บท<200>ที่๑พายุ<200>ไซโคลน<200>โด<200>โรธี<200>อาศัย<200>อยู่<200>ท่ามกลาง<200>\
701ทุ่งใหญ่<200>ใน<200>แคนซัส<200>กับ<200>ลุง<200>เฮ<200>นรี<200>ชาวไร่<200>และ<200>ป้า<200>เอ็ม<200>\
702ภรรยา<200>ชาวไร่<200>บ้าน<200>ของ<200>พวก<200>เขา<200>หลัง<200>เล็ก<200>เพราะ<200>ไม้<200>\
703สร้าง<200>บ้าน<200>ต้อง<200>ขน<200>มา<200>ด้วย<200>เกวียน<200>เป็น<200>ระยะ<200>ทาง<200>หลาย<200>\
704ไมล์<200></data>
705
4388f060
A
706####################################################################################
707#
708# Tailored (locale specific) breaking.
709#
710####################################################################################
711
712# Japanese line break tailoring test
713
714<locale ja>
715<line>
716<data>•\u3041•\u3043•\u3045•\u31f1•</data>
717<locale en>
718<line>
719<data>•\u3041\u3043\u3045\u31f1•</data>
720
721# The following data was originally in RBBITest::TestJapaneseWordBreak()
722<locale ja>
723<word>
724<data>•\u4ECA\u65E5<400>\u306F\u3044\u3044<300>\u5929\u6C17<400>\u3067\u3059\u306D<300>\u3002•\u000D\u000A•</data>
725
726# UBreakIteratorType UBRK_WORD, Locale "ja"
727# Don't break in runs of hiragana or runs of ideograph, where the latter includes \u3005 \u3007 \u303B (cldrbug #2009).
728# \u79C1\u9054\u306B\u4E00\u3007\u3007\u3007\u306E\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u304C\u3042\u308B\u3002\u5948\u3005\u306F\u30EF\u30FC\u30C9\u3067\u3042\u308B\u3002
729
730<locale ja>
731<word>
732<data>•私達<400>に<300>一〇〇〇<400>の<300>コンピュータ<300>がある<300>。<0>奈々<400>は<300>ワード<300>である<300>。•</data>
733
734<locale root>
735<word>
736<data>•私<400>達<400>に<300>一<400>〇<400>〇<400>〇<400>の<300>コンピュータ<300>が<300>あ<300>る<300>。<0>奈<400>々<200>は<300>ワード<300>で<300>あ<300>る<300>。•</data>
737
738# UBreakIteratorType UBRK_SENTENCE, Locale "el"
739# Add break after Greek question mark (cldrbug #2069).
740# "\u0391\u03B2, \u03B3\u03B4; \u0395 \u03B6\u03B7\u037E \u0398 \u03B9\u03BA. "
741# "\u039B\u03BC \u03BD\u03BE! \u039F\u03C0, \u03A1\u03C2? \u03A3"
742# which is "Αβ, γδ; Ε ζη; Θ ικ. Λμ νξ! Οπ, Ρς? Σ"
743
744<locale root>
745<sent>
746<data>•Αβ, γδ; Ε ζη; Θ ικ. •Λμ νξ! •Οπ, Ρς? •Σ<100></data>
747
748<locale el>
749<sent>
750<data>•Αβ, γδ; •Ε ζη; •Θ ικ. •Λμ νξ! •Οπ, Ρς? •Σ<100></data>
751
752# UBreakIteratorType UBRK_WORD, Locale "en_US_POSIX"
753# Words don't include colon or period (cldrbug #1969).
754
755<locale en_US>
756<word>
757<data>•Can't<200> •have<200> •breaks<200> •in<200> •xx:yy<200> •or<200> •struct.field<200> \
758•for<200> •CS<200>-•types<200>.•</data>
759
760<locale en_US_POSIX>
761<word>
762<data>•Can't<200> •have<200> •breaks<200> •in<200> •xx<200>:•yy<200> •or<200> •struct<200>.•field<200> \
763•for<200> •CS<200>-•types<200>.•</data>
764
765
766# UBreakIteratorType UBRK_CHARACTER, Locale "th"
767# Clusters should not include spacing Thai/Lao vowels (prefix or postfix), except for [SARA] AM (cldrbug #2161).
768# Update: As of Unicode 6.1 root has same behavior as th for this.
769#
770# "\u0E01\u0E23\u0E30\u0E17\u0E48\u0E2D\u0E21\u0E23\u0E08\u0E19\u0E32 "
771# "(\u0E2A\u0E38\u0E0A\u0E32\u0E15\u0E34-\u0E08\u0E38\u0E11\u0E32\u0E21\u0E32\u0E28) "
772# "\u0E40\u0E14\u0E47\u0E01\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32 "
773# which is "กระท่อมรจนา (สุชาติ-จุฑามาศ) เด็กมีปัญหา "
774
775<locale th>
776<char>
777<data>•\u0E01•\u0E23•\u0E30•\u0E17\u0E48•\u0E2D•\u0E21•\u0E23•\u0E08•\u0E19•\u0E32• •\
778(•\u0E2A\u0E38•\u0E0A•\u0E32•\u0E15\u0E34•-•\u0E08\u0E38•\u0E11•\u0E32•\u0E21•\u0E32•\u0E28•)• •\
779\u0E40•\u0E14\u0E47•\u0E01•\u0E21\u0E35•\u0E1B\u0E31•\u0E0D•\u0E2B•\u0E32• •</data>
780
781<locale root>
782<char>
783<data>•\u0E01•\u0E23•\u0E30•\u0E17\u0E48•\u0E2D•\u0E21•\u0E23•\u0E08•\u0E19•\u0E32• •\
784(•\u0E2A\u0E38•\u0E0A•\u0E32•\u0E15\u0E34•-•\u0E08\u0E38•\u0E11•\u0E32•\u0E21•\u0E32•\u0E28•)• •\
785\u0E40•\u0E14\u0E47•\u0E01•\u0E21\u0E35•\u0E1B\u0E31•\u0E0D•\u0E2B•\u0E32• •</data>
786
787# Finnish line breaking
788#
789# These rules deal with hyphens when there is a space on the leading side.
790# There should be a break opportunity between the space and the hyphen, and not after the hyphen.
791# See CLDR ticket 3029.
792# See ICU ticket 8151
793
794<locale root>
795<line>
796<data>•abc •- •def •abc •-•def •abc- •def •abc-•def•</data> # With ASCII hyphen
797<data>•abc •‐ •def •abc •‐•def •abc‐ •def •abc‐•def•</data> # With Unicode u2010 hyphen
798
799<locale fi>
800<line>
801<data>•abc •- •def •abc •-def •abc- •def •abc-•def•</data> # With ASCII hyphen
802<data>•abc •‐ •def •abc •‐def •abc‐ •def •abc‐•def•</data> # With Unicode u2010 hyphen
73c04bcf 803