]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/testdata/rbbitst.txt
ICU-400.38.tar.gz
[apple/icu.git] / icuSources / test / testdata / rbbitst.txt
1 # Copyright (c) 2001-2008 International Business Machines
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
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
22 #
23 #
24
25
26 # Temp debugging tests
27 <line>
28 # to test for bug #4097920
29 <data>•dog,cat,mouse •(one)•(two)\n<100></data>
30
31 ########################################################################################
32 #
33 #
34 # G r a p h e m e C l u s t e r T e s t s
35 #
36 #
37 ##########################################################################################
38 <char>
39
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
42
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>
46
47 # Surrogates
48 <data>•\U00011000•\U00010020•\U00010000\N{COMBINING MACRON}•</data>
49 <data>•\ud800\udc00•\udbff\udfff•a•</data>
50
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>
55
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>
57
58 # Don't break Hangul Syllables
59 # L : \u1100
60 # V : \u1161
61 # T : \u11A8
62 # LV : \uAC00
63 # LVT : \uAC01
64
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>
70
71
72
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>
78
79
80 # Bug 1587. Tamil. \u0baa\u0bc1 is an Extended Grpaheme Cluster
81 <data>•\u0baa\u0bc1•\u0baa\u0bc1•</data>
82
83 # Regression test for bug 1889
84 <data>•\u0f40\u0f7d•\u0000•\u0f7e•</data>
85
86
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>
90
91 # Treat Japanese Half Width voicing marks as combining
92 <data>•A\uff9e•B\uff9f\uff9e\uff9f•C•</data>
93
94 ########################################################################################
95 #
96 #
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
98 #
99 #
100 ##########################################################################################
101 #<xgc>
102
103 # Plain Vanilla grapheme clusters
104 #<data>•a•b•c•</data>
105 #<data>•a\u0301\u0302• •b\u0303\u0304•</data>
106
107 # Assorted Hindi combining marks
108 #<data>•\u0904\u0903• •\u0937\u093E• •\u0904\u093F• •\u0937\u0940• •\u0937\u0949• •\u0937\u094A• •\u0937\u094B• •\u0937\u094C•</data>
109
110 # Thai Clusters
111 # $Prepend $Extend* $PrependBase $Extend*;
112 #
113 #<data>•\u0e40\u0e01•\u0e44\u0301\u0e23\u0302\u0303•\u0e40•\u0e40\u0e02•\u0e02• •</data>
114
115
116 ########################################################################################
117 #
118 #
119 # W o r d B o u n d a r y T e s t s
120 #
121 #
122 ##########################################################################################
123
124 <word>
125 #
126 # Quick sanity test
127 #
128 <data>•hello<200> •there<200> •goodbye<200></data>
129 <data>•hello<200> •12345<100> •,•</data>
130
131
132 #
133 # Test data originally in RBBIAPITest::TestFirstNextFollowing() and TestLastPreviousPreceding()
134 #
135
136 <word>
137 <data>•This<200> •is<200> •a<200> •word<200> •break<200>.• • •Isn't<200> •it<200>?• •2.25<100></data>
138
139
140
141 #
142 # Data originally from TestDefaultRuleBasedWordIteration()
143 #
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>
146
147 #Hindi Numbers
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>
149
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>
151
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>
153
154 #Hangul
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>
156
157
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>
160
161 # Unassigned code points
162 <data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>
163
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>
166
167 # Words with interior formatting characters
168 <data>•def\N{COMBINING ACUTE ACCENT}\N{SYRIAC ABBREVIATION MARK}ghi<200> •</data>
169
170 # to test for bug #4097779
171 <data>•aa\N{COMBINING GRAVE ACCENT}a<200> •</data>
172
173
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>
181
182 <data>•abc<200>\u4e01<400>\u4e02<400>\u3005<200>\u4e03<400>\u4e03<400>abc<200> •</data>
183
184 <data>•\u06c9\uc799\ufffa<200></data>
185
186 #
187 # Try some words from other scripts.
188 #
189
190 # Try some words from other scripts.
191 # Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
192 #
193 <data>•ΑΒΓ<200> •БВГ<200> •אבג֓<200> •ابت<200> •١٢٣<100> •\u10A0\u10A1\u10A2<200> •ABC<200> •</data>
194
195 <data>•\u0301•A<200></data>
196
197
198 #
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.
204 #
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>
207
208 #
209 # Failures from monkey tests
210 #
211 <data>•\u8527<400>\u02ba<200>\u0027\u0d42•\u00b7•\u09ea<100></data>
212
213 #
214 # Jitterbug 5276 - treat Japanese half width voicing marks as Grapheme Extend
215 #
216 <data>•A\uff9e\uff9fBC<200> •1\uff9e\uff9f23<100></data>
217
218 ########################################################################################
219 #
220 #
221 # S e n t e n c e B o u n d a r y T e s t s
222 #
223 #
224 ##########################################################################################
225
226
227 #
228 # Test data originally from RBBI RBBITest::TestDefaultRuleBasedSentenceIteration()
229 #
230 <sent>
231
232
233 <sent>
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>
237
238
239 # Sentence ending in a quote.
240 <data>•"Sentence ending with a quote." •Bye.•</data>
241
242 # Sentence, and test data, ending without a period or other terminator.
243 <data>•Here is a random sentence, no ending period<100></data>
244
245
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. •\
249 "This isn't it." •\
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>
252
253 <data>•Hello. •So what!!\u2029•"But now," he said, \
254 "I know!" •\
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>
264
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>
268
269 #
270 # Sentence Breaks: no break at the boundary between CJK and other letters
271 #
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>
273
274 #
275 # Treat fullwidth variants of .!? the same as their
276 # normal counterparts
277 #
278 <data>•I know I'm right\uff0e •Right\uff1f •Right\uff01 •</data>
279
280
281 #
282 # Don't break sentences at boundary between CJK and digits
283 #
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>
285
286 #
287 # Breaks around '(' following a sentence TERM. (Rule 9)
288 #
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>
293
294 #
295 <data>•Hello.123<100></data> # Rule 6
296 <data>•Hello?•123<100></data>
297
298 <data>•HELLO.Bye<100></data> # Rule 7
299 <data>•HELLO?•Bye<100></data>
300
301 <data>•Hello.goodbye<100></data> #Rule 8
302 <data>•Hello. •Goodbye<100></data>
303 <data>•Hello. goodbye<100></data>
304
305
306
307 #
308 # test for bug #4158381: No breaks when there are no terminators around
309 #
310 <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>
311 <data>•Another test.\u2029•</data>
312
313 # test for bug #4143071: Make sure sentences that end with digits
314 # work right
315 #
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>
319
320 # test for bug #4152416: Make sure sentences ending with a capital
321 # letter are treated correctly
322 #
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>
324
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]
328 #
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.
330 •</data>
331
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)
335 #
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>
339
340 # Regression test for bug #1984, Sentence break in Arabic text.
341
342 <data>\
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>
344
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>
347
348
349
350
351 ################################################################
352 #
353 #
354 # L I N E B R E A K
355 #
356 #
357 ################################################################
358
359 <line>
360 #
361 # Test Character for each of the line break classes.
362 #
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>
368 # 2014;B2 # EM DASH
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
377 # 002C;IS # COMMA
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
387 # 0020;SP # SPACE
388 # 002F;SY # SOLIDUS /
389 # F8FF;XX # Private Use
390 # 200B;ZW # ZERO WIDTH SPACE
391
392
393 # 2b Always break at end of text
394
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
423
424
425 # 3a Always break after hard line breaks.
426 # 3c Never break before hard line breaks.
427
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>
456
457
458 #
459 # Old Line Break Test data. Orginally located in RBBITest::TestDefaultRuleBasedLineIteration()
460 #
461
462 <line>
463
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>
466
467 <line>
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>
470
471 # test for bug #4068133
472 #
473 <data>•\u96f6•\u4e00\u3002•\u4e8c\u3001•\u4e09\u3002\u3001•\u56db\u3001\u3002\u3001•\u4e94,•\u516d.•\u4e03.\u3001,\u3002•\u516b•</data>
474
475 # to test for bug #4086052
476 <data>•foo\u00a0bar•</data>
477
478 # to test for bug #4097920
479 <data>•dog,cat,mouse •(one)•(two)\n<100></data>
480
481 # to test for bug #4035266
482 <data>•The •balance •is •$-23,456.78, •not •-•$32,456.78!\n<100></data>
483
484
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?)
491 #
492 <data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>
493
494 # conjoining jamo...
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>
497
498 # to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
499 <data>•\u4e01\uff0e•\u4e02\uff01•\u4e03\uff1f•</data>
500
501 # Surrogate line break tests.
502 #
503 <data>•\u4e01•\ud840\udc01•\u4e02•abc •\ue000 •\udb80\udc01•</data>
504
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>
510
511 # Try some words from other scripts.
512 # Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
513 #
514 <data>•ΑΒΓ •БВГ •אבג֓ •ابت •١٢٣ •\u10A0\u10A1\u10A2 •ABC •</data>
515
516
517
518 ########################################################################################
519 #
520 #
521 # T i t l e B o u n d a r y T e s t s
522 #
523 #
524 ##########################################################################################
525 <title>
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>
530
531 <data>•Combining\u0301 \u0301•ma\u0306rks •bye •</data>
532 <data>•123 •Start •with •a •number.•</data>
533
534 <data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>
535
536
537 ##########################################################################################
538 #
539 # Thai Tests
540 #
541 ##########################################################################################
542 <locale th>
543 <word>
544 #
545 # Test data originally from the test code source file
546 # // @suwit -- Thai sample data from GVT Guideline
547 #
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>
552
553 #
554 # Jitterbug 3671 Test Case
555 #
556 <data>•สวัสดี<200>ครับ<200>สบาย<200>ดี<200>ไหม<200> •ครับ<200></data>
557
558 #
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>\
564 ไมล์<200></data>
565
566