1 # Copyright (c) 2001-2008 International Business Machines
2 # Corporation and others. All Rights Reserved.
8 # The format of this file looks vaguely like some kind of xml-ish markup,
9 # but it is NOT. The syntax is this..
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
15 # <locale local_name> Switch to the named locale at the next occurence of <word>, <sent>, etc.
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
26 # Temp debugging tests
28 # to test for bug #4097920
29 <data>•dog,cat,mouse •(one)•(two)\n<100></data>
31 ########################################################################################
34 # G r a p h e m e C l u s t e r T e s t s
37 ##########################################################################################
40 <data>•a•b•c• •,•\u0666•</data> # Quick Test
41 <data>•\r•\r•\r\n•\r\n•\n•\r•</data> # don't break CR/LF
43 # Always break after controls. Combining chars don't combine with them.
44 <data>•\u0003•\N{COMBINING GRAVE ACCENT}•\r•\N{COMBINING GRAVE ACCENT}•</data>
45 <data>•\u0085•\N{COMBINING MACRON}•A\N{COMBINING MACRON}•</data>
48 <data>•\U00011000•\U00010020•\U00010000\N{COMBINING MACRON}•</data>
49 <data>•\ud800\udc00•\udbff\udfff•a•</data>
51 # Extend (Combining chars) combine.
52 <data>•A\N{COMBINING GRAVE ACCENT}•B•</data>
53 <data>•\N{GREEK SMALL LETTER MU}\N{COMBINING LOW LINE}\N{COMBINING HORN}•</data>
54 <data>•a\u0301•b\u0302•c\u0303•d\u0304•e\u0305•f\u0306•g\u0307•h\u0308•i\u0309•</data>
56 <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>
58 # Don't break Hangul Syllables
65 <data>•\u1100\u1161\u11a8•\u1100\u1161\u11a8•</data> #LVT
66 <data>•\u1100\u1161•\u1100\u1161•</data>
67 <data>•\u1100\u1161\u11a8•\u1161•\u1100•\u11a8•\u1161\u1161\u1161\u11a8•</data>
68 <data>•\u1100\u1100\uac01•\u1100\uac01•\u1100\uac01\u0301•\uac01•</data>
69 <data>•\u1100\u0301•\u1161\u11a8\u0301•\u11a8•</data>
73 # Hindi combining chars. (An old test)
74 # TODO: Update these tests for Unicode 5.1 Extended Grapheme clusters
75 #<data>•भ••ा•\u0930•\u0924• •\u0938\u0941\u0902•\u0926•\u0930•
76 #•\u0939•\u094c•\u0964•</data>
77 #<data>•\u0916\u0947•\u0938\u0941\u0902•\u0926•\u0930•\u0939•\u094c•\u0964•</data>
80 # Bug 1587. Tamil. \u0baa\u0bc1 is an Extended Grpaheme Cluster
81 <data>•\u0baa\u0bc1•\u0baa\u0bc1•</data>
83 # Regression test for bug 1889
84 <data>•\u0f40\u0f7d•\u0000•\u0f7e•</data>
87 # 0xffff is a legal character, and should not stop the break iterator early.
88 # (Requires special casing in implementation, which is why it gets a test.)
89 <data>•\uffff•\uffff• •a•</data>
91 # Treat Japanese Half Width voicing marks as combining
92 <data>•A\uff9e•B\uff9f\uff9e\uff9f•C•</data>
94 ########################################################################################
97 # 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
100 ##########################################################################################
103 # Plain Vanilla grapheme clusters
104 #<data>•a•b•c•</data>
105 #<data>•a\u0301\u0302• •b\u0303\u0304•</data>
107 # Assorted Hindi combining marks
108 #<data>•\u0904\u0903• •\u0937\u093E• •\u0904\u093F• •\u0937\u0940• •\u0937\u0949• •\u0937\u094A• •\u0937\u094B• •\u0937\u094C•</data>
111 # $Prepend $Extend* $PrependBase $Extend*;
113 #<data>•\u0e40\u0e01•\u0e44\u0301\u0e23\u0302\u0303•\u0e40•\u0e40\u0e02•\u0e02• •</data>
116 ########################################################################################
119 # W o r d B o u n d a r y T e s t s
122 ##########################################################################################
128 <data>•hello<200> •there<200> •goodbye<200></data>
129 <data>•hello<200> •12345<100> •,•</data>
133 # Test data originally in RBBIAPITest::TestFirstNextFollowing() and TestLastPreviousPreceding()
137 <data>•This<200> •is<200> •a<200> •word<200> •break<200>.• • •Isn't<200> •it<200>?• •2.25<100></data>
142 # Data originally from TestDefaultRuleBasedWordIteration()
144 <data>•Write<200> •wordrules<200>.• •123.456<100> •alpha\u00adbeta\u00adgamma<200> •\u092f\u0939<200> •</data>
145 <data>• •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•</data>
148 <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>
150 <data>•\u0938\u094d\u200d\u0935\u0924\u0902deadTA\u0930<200>\r•It's<200> •$•30.10<100> •12,34<100>¢•£•¤•¥•alpha\u05f3beta\u05f4gamma<200> •</data>
152 <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>
155 <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>
158 # Words containing non-BMP letters
159 <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>
161 # Unassigned code points
162 <data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>
164 # Hiragana & Katakana stay together, but separates from each other and Latin.
165 <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>
167 # Words with interior formatting characters
168 <data>•def\N{COMBINING ACUTE ACCENT}\N{SYRIAC ABBREVIATION MARK}ghi<200> •</data>
170 # to test for bug #4097779
171 <data>•aa\N{COMBINING GRAVE ACCENT}a<200> •</data>
174 # to test for bug #4098467
175 # What follows is a string of Korean characters (I found it in the Yellow Pages
176 # ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
177 # it correctly), first as precomposed syllables, and then as conjoining jamo.
178 # Both sequences should be semantically identical and break the same way.
179 # precomposed syllables...
180 <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>
182 <data>•abc<200>\u4e01<400>\u4e02<400>\u3005<200>\u4e03<400>\u4e03<400>abc<200> •</data>
184 <data>•\u06c9\uc799\ufffa<200></data>
187 # Try some words from other scripts.
190 # Try some words from other scripts.
191 # Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
193 <data>•ΑΒΓ<200> •БВГ<200> •אבג֓<200> •ابت<200> •١٢٣<100> •\u10A0\u10A1\u10A2<200> •ABC<200> •</data>
195 <data>•\u0301•A<200></data>
199 # Hindi word break tests, imported from the old RBBI tests.
200 # An historical note: a much earlier version of ICU break iterators had a number
201 # of special case rules for Hindi, which were tested by an earlier version of
202 # this test data. The current RBBI rules do not special case Hindi in
203 # any way, making this test data much less signfificant.
205 <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>
206 •\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>
209 # Failures from monkey tests
211 <data>•\u8527<400>\u02ba<200>\u0027\u0d42•\u00b7•\u09ea<100></data>
214 # Jitterbug 5276 - treat Japanese half width voicing marks as Grapheme Extend
216 <data>•A\uff9e\uff9fBC<200> •1\uff9e\uff9f23<100></data>
218 ########################################################################################
221 # S e n t e n c e B o u n d a r y T e s t s
224 ##########################################################################################
228 # Test data originally from RBBI RBBITest::TestDefaultRuleBasedSentenceIteration()
234 <data>•This\n<100></data>
235 <data>•Hello! •how are you? •I'am fine. •Thankyou. •How are you \
236 doing? •This\n<100> costs $20,00,000. •</data>
239 # Sentence ending in a quote.
240 <data>•"Sentence ending with a quote." •Bye.•</data>
242 # Sentence, and test data, ending without a period or other terminator.
243 <data>•Here is a random sentence, no ending period<100></data>
246 <data>• (This is it). •Testing the sentence iterator. •\
247 "This isn't it." •Hi! \
248 •This is a simple sample sentence. •(This is it.) •This is a simple sample sentence. •\
250 Hi! •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.
251 •Not on my time (el timo.)! •</data>
253 <data>•Hello. •So what!!\u2029•"But now," he said, \
255 Harris thumbed down several, including "Away We Go" (which became the huge success Oklahoma!). •One species, B. anthracis, is highly virulent.
256 •Wolf said about Sounder:\
257 "Beautifully thought-out and directed." •\
258 Have you ever said, "This is where\tI shall live"? •He answered, \
259 "You may not!" •Another popular saying is: "How do you do?". \n•\
260 Yet another popular saying is: \
261 'I'm fine thanks.' •\
262 What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tall!!\
263 •Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100></data>
265 <data>•No breaks when . is surrounded by UPPER.Case letters. •</data>
266 <data>•No breaks when . is followed by Numeric .4 a.4 C.4 3.1 .•</data>
267 <data>•No breaks when . is followed by a lower, with possible intervening punct .,a .$a .)a. •</data>
270 # Sentence Breaks: no break at the boundary between CJK and other letters
272 <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>
275 # Treat fullwidth variants of .!? the same as their
276 # normal counterparts
278 <data>•I know I'm right\uff0e •Right\uff1f •Right\uff01 •</data>
282 # Don't break sentences at boundary between CJK and digits
284 <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>
287 # Breaks around '(' following a sentence TERM. (Rule 9)
289 <data>•How do you do?(•Fine). •</data>
290 <data>•How do you do? •(Fine). •</data>
291 <data>•How do you do?(•fine). •</data>
292 <data>•How do you do? •(fine). •</data>
295 <data>•Hello.123<100></data> # Rule 6
296 <data>•Hello?•123<100></data>
298 <data>•HELLO.Bye<100></data> # Rule 7
299 <data>•HELLO?•Bye<100></data>
301 <data>•Hello.goodbye<100></data> #Rule 8
302 <data>•Hello. •Goodbye<100></data>
303 <data>•Hello. goodbye<100></data>
308 # test for bug #4158381: No breaks when there are no terminators around
310 <data>•\<P>Provides a set of "lightweight" (all-java\<FONT SIZE="-2">\<SUP>TM\</SUP>\</FONT> language) components that, to the maximum degree possible, work the same on all platforms. •</data>
311 <data>•Another test.\u2029•</data>
313 # test for bug #4143071: Make sure sentences that end with digits
316 <data>•Today is the 27th of May, 1998. •</data>
317 <data>•Tomorrow with be 28 May 1998. •</data>
318 <data>•The day after will be the 30th.\u2029•</data>
320 # test for bug #4152416: Make sure sentences ending with a capital
321 # letter are treated correctly
323 <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>
325 # test for bug #4152117: Make sure sentence breaking is handling
326 # punctuation correctly [COULD NOT REPRODUCE THIS BUG, BUT TEST IS
327 # HERE TO MAKE SURE IT DOESN'T CROP UP]
329 <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.
332 # sentence breaks for hindi which used Devanagari script
333 # make sure there is sentence break after ?,danda(hindi phrase separator),
334 # fullstop followed by space. (VERY old test)
336 <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>\
337 \u0915\u0948\u0938\u0947 \u0939\u0948?•\u0935\u0939 \u0915\u094d\u200d\u092f\u093e\n\
338 <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>
340 # Regression test for bug #1984, Sentence break in Arabic text.
343 •\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>
345 # Try a few more of the less common sentence endings.
346 <data>•Hello, world\u3002 •Hello, world\u1803 •Hello, world\u2048 •Hello, world\u203c •Let's end here. •</data>
351 ################################################################
357 ################################################################
361 # Test Character for each of the line break classes.
363 # 00A1;AI # INVERTED EXCLAMATION MARK ¡
364 # 0041;AL # LATIN CAPITAL LETTER A
365 # 0009;BA # <control>
366 # 00B4;BB # ACUTE ACCENT
367 # 000C;BK # <control>
369 # FFFC;CB # OBJECT REPLACEMENT CHARACTER
370 # 0029;CL # RIGHT PARENTHESIS
371 # 0301;CM # COMBINING ACUTE ACCENT
372 # 0021;EX # EXCLAMATION MARK
373 # 00A0;GL # NO-BREAK SPACE
374 # 002D;HY # HYPHEN-MINUS
375 # 4E00;ID # <CJK Ideograph, First>
376 # 2024;IN # ONE DOT LEADER
378 # 000A;LF # <control>
379 # 0E5A;NS # THAI CHARACTER ANGKHANKHU
380 # 0032;NU # DIGIT TWO
381 # 0028;OP # LEFT PARENTHESIS
382 # 0025;PO # PERCENT SIGN
383 # 0024;PR # DOLLAR SIGN
384 # 0022;QU # QUOTATION MARK
385 # 0E01;SA # THAI CHARACTER KO KAI
386 # DB7F;SG # Surrogate
388 # 002F;SY # SOLIDUS /
389 # F8FF;XX # Private Use
390 # 200B;ZW # ZERO WIDTH SPACE
393 # 2b Always break at end of text
395 <data>• •\u00A1•</data>
396 <data>• •\u0041•</data>
397 <data>• •\u0009•</data>
398 <data>• •\u00B4•</data>
399 <data>• \u000C<100></data> # LB3C × BK
400 <data>• •\u2014•</data>
401 <data>• •\uFFFC•</data>
402 <data>• \u0029•</data> # LB 8 × CL
403 # <data>• • \u0301•</data> # LB 7a Treat SP CM* as if it were ID #TODO: SP CM
404 <data>• \u0021•</data> # LB 8 × EX
405 #<data>• \u00A0•</data> # LB 11b × GL TODO: fix.
406 <data>• •\u002D•</data>
407 <data>• •\u4E00•</data>
408 <data>• •\u2024•</data>
409 <data>• \u002C•</data> # LB 8 × IS
410 <data>• \u000A<100></data> # LB3C × ( BK | CR | LF | NL )
411 <data>• •\u0E5A•</data>
412 <data>• •\u0032•</data>
413 <data>• •\u0028•</data>
414 <data>• •\u0025•</data>
415 <data>• •\u0024•</data>
416 <data>• •\u0022•</data>
417 <data>• •\u0E01•</data>
418 <data>• •\uDB7F•</data>
419 <data>• \u0020•</data> # LB4 - don't break before space.
420 <data>• \u002F•</data> # LB 8 × SY
421 <data>• •\uF8FF•</data>
422 <data>• \u200B•</data> # LB4 - don't break before ZA
425 # 3a Always break after hard line breaks.
426 # 3c Never break before hard line breaks.
428 <data>• •\u00A1\u2028<100>\u00A1•</data>
429 <data>• •\u0041\u2028<100>\u0041•</data>
430 <data>• •\u0009\u2028<100>\u0009•</data>
431 <data>• •\u00B4\u2028<100>\u00B4•</data>
432 <data>• \u000C<100>\u2028<100>\u000C<100></data>
433 <data>• •\u2014\u2028<100>\u2014•</data>
434 <data>• •\uFFFC\u2028<100>\uFFFC•</data>
435 <data>• \u0029\u2028<100>\u0029•</data>
436 #<data>• \u0301\u2028<100>\u0301•</data> # TODO: fix.
437 <data>• \u0021\u2028<100>\u0021•</data>
438 #<data>• \u00A0\u2028<100>\u00A0•</data> # TODO: fix
439 <data>• •\u002D\u2028<100>\u002D•</data>
440 <data>• •\u4E00\u2028<100>\u4E00•</data>
441 <data>• •\u2024\u2028<100>\u2024•</data>
442 <data>• \u002C\u2028<100>\u002C•</data>
443 <data>• \u000A<100>\u2028<100>\u000A<100></data>
444 <data>• •\u0E5A\u2028<100>\u0E5A•</data>
445 <data>• •\u0032\u2028<100>\u0032•</data>
446 <data>• •\u0028\u2028<100>\u0028•</data>
447 <data>• •\u0025\u2028<100>\u0025•</data>
448 <data>• •\u0024\u2028<100>\u0024•</data>
449 <data>• •\u0022\u2028<100>\u0022•</data>
450 <data>• •\u0E01\u2028<100>\u0E01•</data>
451 <data>• •\uDB7F\u2028<100>\uDB7F•</data>
452 <data>• \u0020\u2028<100>\u0020•</data>
453 <data>• \u002F\u2028<100>\u002F•</data>
454 <data>• •\uF8FF\u2028<100>\uF8FF•</data>
455 <data>• \u200B\u2028<100>\u200B•</data>
459 # Old Line Break Test data. Orginally located in RBBITest::TestDefaultRuleBasedLineIteration()
464 <data>•Multi-•Level •example •of •a •semi-•idiotic •non-•sensical •(non-•important) •sentence.
465 <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>
468 <data>•Hello! •how\r\n<100> •(are)\r<100> •you? •I'am •fine- •Thankyou. •foo\u00a0bar
469 <100>How, •are, •you? •This, •costs •$20,00,000.•</data>
471 # test for bug #4068133
473 <data>•\u96f6•\u4e00\u3002•\u4e8c\u3001•\u4e09\u3002\u3001•\u56db\u3001\u3002\u3001•\u4e94,•\u516d.•\u4e03.\u3001,\u3002•\u516b•</data>
475 # to test for bug #4086052
476 <data>•foo\u00a0bar•</data>
478 # to test for bug #4097920
479 <data>•dog,cat,mouse •(one)•(two)\n<100></data>
481 # to test for bug #4035266
482 <data>•The •balance •is •$-23,456.78, •not •-•$32,456.78!\n<100></data>
485 # to test for bug #4098467
486 # What follows is a string of Korean characters (I found it in the Yellow Pages
487 # ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
488 # it correctly), first as precomposed syllables, and then as conjoining jamo.
489 # Both sequences should be semantically identical and break the same way.
490 # precomposed syllables... (I == Rich Gillam?)
492 <data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>
495 # TODO: rules update needed
496 #<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>
498 # to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
499 <data>•\u4e01\uff0e•\u4e02\uff01•\u4e03\uff1f•</data>
501 # Surrogate line break tests.
503 <data>•\u4e01•\ud840\udc01•\u4e02•abc •\ue000 •\udb80\udc01•</data>
505 # Regression for bug 836
506 # Note: Unicode 5.1 changed this behavior
507 # ICU will want to change it back before releasing,
508 # so there is no break preceding the '('
509 <data>•AAA•(AAA •</data>
511 # Try some words from other scripts.
512 # Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
514 <data>•ΑΒΓ •БВГ •אבג֓ •ابت •١٢٣ •\u10A0\u10A1\u10A2 •ABC •</data>
518 ########################################################################################
521 # T i t l e B o u n d a r y T e s t s
524 ##########################################################################################
526 <data>•Here •is •a •short •sample •sentence. •And •another.•</data>
527 <data>•HERE •IS •A •SHORT •SAMPLE •SENTENCE. •AND •ANOTHER.•</data>
528 <data>• •Start •and •end •with •spaces •</data>
529 <data>•Include 123 456 ^& •some 54332 •numbers 4445•abc123•abc •ending 1223 •</data>
531 <data>•Combining\u0301 \u0301•ma\u0306rks •bye •</data>
532 <data>•123 •Start •with •a •number.•</data>
534 <data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>
537 ##########################################################################################
541 ##########################################################################################
545 # Test data originally from the test code source file
546 # // @suwit -- Thai sample data from GVT Guideline
548 <data>•\u0E2B\u0E19\u0E36\u0E48\u0E07<200>\u0E04\u0E33<200>\u0E44\u0E17\u0E22<200>\
549 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16<200>\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A<200>\
550 \u0E14\u0E49\u0E27\u0E22<200>\u0e2b\u0e25\u0e32\u0e22<200>\
551 \u0e1e\u0e22\u0e32\u0e07\u0e04\u0e4c<200></data>
554 # Jitterbug 3671 Test Case
556 <data>•สวัสดี<200>ครับ<200>สบาย<200>ดี<200>ไหม<200> •ครับ<200></data>
559 # Trac ticket 5595 Test Case
560 <data>•บท<200>ที่๑พายุ<200>ไซโคลน<200>โด<200>โรธี<200>อาศัย<200>อยู่<200>ท่ามกลาง<200>\
561 ทุ่งใหญ่<200>ใน<200>แคนซัส<200>กับ<200>ลุง<200>เฮ<200>นรี<200>ชาวไร่<200>และ<200>ป้า<200>เอ็ม<200>\
562 ภรรยา<200>ชาวไร่<200>บ้าน<200>ของ<200>พวก<200>เขา<200>หลัง<200>เล็ก<200>เพราะ<200>ไม้<200>\
563 สร้าง<200>บ้าน<200>ต้อง<200>ขน<200>มา<200>ด้วย<200>เกวียน<200>เป็น<200>ระยะ<200>ทาง<200>หลาย<200>\