]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/testdata/rbbitst.txt
ICU-59117.0.1.tar.gz
[apple/icu.git] / icuSources / test / testdata / rbbitst.txt
1 # Copyright (C) 2016 and later: Unicode, Inc. and others.
2 # License & terms of use: http://www.unicode.org/copyright.html
3 # Copyright (c) 2001-2016 International Business Machines
4 # Corporation and others. All Rights Reserved.
5 #
6 # RBBI Test Data
7 #
8 # File: rbbitst.txt
9 #
10 # The format of this file looks vaguely like some kind of xml-ish markup,
11 # but it is NOT. The syntax is this..
12 #
13 # <word> any following data is for word break testing
14 # <sent> any following data is for sentence break testing
15 # <line> any following data is for line break testing
16 # <char> any following data is for char break testing
17 # <locale local_name> Switch to the named locale at the next occurence of <word>, <sent>, etc.
18 # <data> ... </data> test data. May span multiple lines.
19 # <> Break position, status == 0
20 # • Break position, status == 0 (Bullet, \u2022)
21 # <nnn> Break position, status == nnn
22 # \ Escape. Normal ICU unescape applied.
23 # \ at end of line -> Line Continuation. Remove both the backslash and the new line
24 #
25 # In ICU4C, this test data is run by intltest, rbbi/RBBITest/TestExtended.
26 # In ICU4J, this test data is run by com.ibm.icu.dev.test.rbbi.RBBITestExtended
27 #
28 # There are two copies of this file in the source repository,
29 # [ICU4C] source/test/testdata/rbbitst.txt
30 # [ICU4J] main/tests/core/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt
31 #
32 # ICU4C's copy is the master. If any changes are made to ICU4J's copy, make sure they
33 # are merged back into ICU4C's copy of the file, lest they get overwritten later.
34 # TODO: figure out how to have a single copy of the file for use by both C and Java.
35
36
37 # Temp debugging tests
38 <locale en>
39 <word>
40 <data><0>1•2•3•4•</data>
41 # <data><0>ク<400>ライアン<400>トサーバー<400></data>
42
43 ## FILTERED BREAK TESTS
44
45 # (William Bradford, public domain. http://catalog.hathitrust.org/Record/008651224 ) - edited.
46 <locale en>
47 <sent>
48 <data>\
49 •In the meantime Mr. •Weston arrived with his small ship, which he had now recovered. •Capt. •Gorges, who informed the Sgt. here that one purpose of his going east was to meet with Mr. •Weston, took this opportunity to call him to account for some abuses he had to lay to his charge.•</data>
50
51 <locale en@ss=standard>
52 <sent>
53 <data>\
54 •In the meantime Mr. Weston arrived with his small ship, which he had now recovered. •Capt. Gorges, who informed the Sgt. here that one purpose of his going east was to meet with Mr. Weston, took this opportunity to call him to account for some abuses he had to lay to his charge.•</data>
55
56 # The standard ICU sample as follows uses D. but that is an abbreviation in Apple exceptions:
57 # This hits the case where "D." would match the end of "Ph.D.".
58 # •Doctor with a D. •As in, Ph.D., you know.•</data>
59 # So we use a different example, with "C.".
60 <locale en@ss=standard>
61 <sent>
62 <data>\
63 •Sample with a C. •As in, D.C., you know.•</data>
64
65 # same as root (unless some exceptions are added!)
66 <locale tfg@ss=standard>
67 <sent>
68 <data>\
69 •In the meantime Mr. •Weston arrived with his small ship, which he had now recovered. •Capt. •Gorges, who informed the Sgt. here that one purpose of his going east was to meet with Mr. •Weston, took this opportunity to call him to account for some abuses he had to lay to his charge.•</data>
70
71 # same as root (unless some exceptions are added!)
72 <locale ja@ss=standard>
73 <sent>
74 <data>\
75 •In the meantime Mr. •Weston arrived with his small ship, which he had now recovered. •Capt. •Gorges, who informed the Sgt. here that one purpose of his going east was to meet with Mr. •Weston, took this opportunity to call him to account for some abuses he had to lay to his charge.•</data>
76
77 ## END FILTERED BREAK TESTS
78
79
80 ########################################################################################
81 #
82 #
83 # G r a p h e m e C l u s t e r T e s t s
84 #
85 #
86 ##########################################################################################
87 <char>
88
89 <data>•a•b•c• •,•\u0666•</data> # Quick Test
90 <data>•\r•\r•\r\n•\r\n•\n•\r•</data> # don't break CR/LF
91
92 # Always break after controls. Combining chars don't combine with them.
93 <data>•\u0003•\N{COMBINING GRAVE ACCENT}•\r•\N{COMBINING GRAVE ACCENT}•</data>
94 <data>•\u0085•\N{COMBINING MACRON}•A\N{COMBINING MACRON}•</data>
95
96 # Surrogates
97 <data>•\U00011000•\U00010020•\U00010000\N{COMBINING MACRON}•</data>
98 <data>•\ud800\udc00•\udbff\udfff•a•</data>
99
100 # Extend (Combining chars) combine.
101 <data>•A\N{COMBINING GRAVE ACCENT}•B•</data>
102 <data>•\N{GREEK SMALL LETTER MU}\N{COMBINING LOW LINE}\N{COMBINING HORN}•</data>
103 <data>•a\u0301•b\u0302•c\u0303•d\u0304•e\u0305•f\u0306•g\u0307•h\u0308•i\u0309•</data>
104
105 <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>
106
107 # Don't break Hangul Syllables
108 # L : \u1100
109 # V : \u1161
110 # T : \u11A8
111 # LV : \uAC00
112 # LVT : \uAC01
113
114 <data>•\u1100\u1161\u11a8•\u1100\u1161\u11a8•</data> #LVT
115 <data>•\u1100\u1161•\u1100\u1161•</data>
116 <data>•\u1100\u1161\u11a8•\u1161•\u1100•\u11a8•\u1161\u1161\u1161\u11a8•</data>
117 <data>•\u1100\u1100\uac01•\u1100\uac01•\u1100\uac01\u0301•\uac01•</data>
118 <data>•\u1100\u0301•\u1161\u11a8\u0301•\u11a8•</data>
119
120
121
122 # Hindi combining chars. (An old test)
123 # TODO: Update these tests for Unicode 5.1 Extended Grapheme clusters
124 #<data>•भ••ा•\u0930•\u0924• •\u0938\u0941\u0902•\u0926•\u0930•
125 #•\u0939•\u094c•\u0964•</data>
126 #<data>•\u0916\u0947•\u0938\u0941\u0902•\u0926•\u0930•\u0939•\u094c•\u0964•</data>
127
128
129 # Bug 1587. Tamil. \u0baa\u0bc1 is an Extended Grpaheme Cluster
130 <data>•\u0baa\u0bc1•\u0baa\u0bc1•</data>
131
132 # Regression test for bug 1889
133 <data>•\u0f40\u0f7d•\u0000•\u0f7e•</data>
134
135
136 # 0xffff is a legal character, and should not stop the break iterator early.
137 # (Requires special casing in implementation, which is why it gets a test.)
138 <data>•\uffff•\uffff• •a•</data>
139
140 # Treat Japanese Half Width voicing marks as combining
141 <data>•A\uff9e•B\uff9f\uff9e\uff9f•C•</data>
142
143 ########################################################################################
144 #
145 #
146 # 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
147 #
148 #
149 ##########################################################################################
150 #<xgc>
151
152 # Plain Vanilla grapheme clusters
153 #<data>•a•b•c•</data>
154 #<data>•a\u0301\u0302• •b\u0303\u0304•</data>
155
156 # Assorted Hindi combining marks
157 #<data>•\u0904\u0903• •\u0937\u093E• •\u0904\u093F• •\u0937\u0940• •\u0937\u0949• •\u0937\u094A• •\u0937\u094B• •\u0937\u094C•</data>
158
159 # Thai Clusters
160 # $Prepend $Extend* $PrependBase $Extend*;
161 #
162 #<data>•\u0e40\u0e01•\u0e44\u0301\u0e23\u0302\u0303•\u0e40•\u0e40\u0e02•\u0e02• •</data>
163
164
165 ########################################################################################
166 #
167 #
168 # W o r d B o u n d a r y T e s t s
169 #
170 #
171 ##########################################################################################
172
173 <word>
174 #
175 # Quick sanity test
176 #
177 <data>•hello<200> •there<200> •goodbye<200></data>
178 <data>•hello<200> •12345<100> •,•</data>
179
180
181 #
182 # Test data originally in RBBIAPITest::TestFirstNextFollowing() and TestLastPreviousPreceding()
183 #
184
185 <word>
186 <data>•This<200> •is<200> •a<200> •word<200> •break<200>.• • •Isn't<200> •it<200>?• •2.25<100></data>
187
188
189
190 #
191 # Data originally from TestDefaultRuleBasedWordIteration()
192 #
193 <data>•Write<200> •wordrules<200>.• •123.456<100> •alpha\u00adbeta\u00adgamma<200> •\u092f\u0939<200> •</data>
194 <data>• •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•</data>
195
196 #Hindi Numbers
197 <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>
198
199 <data>•\u0938\u094d\u200d\u0935\u0924\u0902deadTA\u0930<200>\r•It's<200> •$•30.10<100> •12,34<100>¢•£•¤•¥•alpha\u05f3beta\u05f4gamma<200> •</data>
200
201 <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>
202
203 #Hangul
204 <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>
205
206 <data>•Hello<200>,• •how<200> •are<200> •you<200> •\uc5f0\ud569<200> •\uc7a5\ub85c\uad50\ud68c<200> •\u1109\u1161\u11bc\u1112\u1161\u11bc<200> •\u1112\u1161\u11ab\u110b\u1175\u11ab<200> •</data>
207
208 # Words containing non-BMP letters
209 <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>
210
211 # Unassigned code points
212 <data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>
213
214 # Hiragana & Katakana stay together, but separates from each other and Latin.
215 # *** what to do about theoretical combos of chars? i.e. hiragana + accent
216 #<data>•abc<200>\N{HIRAGANA LETTER SMALL A}<400>\N{HIRAGANA LETTER VU}\N{COMBINING ACUTE ACCENT}<400>\N{HIRAGANA ITERATION MARK}<400>\N{KATAKANA LETTER SMALL A}\N{KATAKANA ITERATION MARK}\N{HALFWIDTH KATAKANA LETTER WO}\N{HALFWIDTH KATAKANA LETTER N}<400>def<200>#•</data>
217
218 # test normalization/dictionary handling of halfwidth katakana: same dictionary phrase in fullwidth and halfwidth
219 <data>•芽キャベツ<400>芽キャベツ<400></data>
220
221 # more Japanese tests
222 # TODO: some script=common characters in the Hiragana and the Katakana block may not be treated correctly
223 # (was formerly true for U+30FC); need to check and fix if so.
224 #<data>•どー<400>せ<400>日本語<400>を<400>勉強<400>する<400>理由<400>について<400> •て<400>こと<400>は<400>我<400>でも<400>知<400>ら<400>も<400>い<400>こと<400>なん<400>だ<400>。•</data>
225 <data>•日本語<400>を<400>勉強<400>する<400>理由<400>について<400> •て<400>こと<400>は<400>我<400>でも<400>知<400>ら<400>も<400>い<400>こと<400>なん<400>だ<400>。•</data>
226
227 # Testing of word boundary for dictionary word containing both kanji and kana
228 <data>•中だるみ<400>蔵王の森<400>ウ離島<400></data>
229
230 # Testing of Chinese segmentation (taken from a Chinese news article)
231 <data>•400<100>余<400>名<400>中央<400>委员<400>和<400>中央<400>候补<400>委员<400>都<400>领<400>到了<400>“•推荐<400>票<400>”•,•有<400>资格<400>在<400>200<100>多<400>名<400>符合<400>条件<400>的<400>63<100>岁<400>以下<400>中共<400>正<400>部<400>级<400>干部<400>中<400>,•选出<400>他们<400>属意<400>的<400>中央<400>政治局<400>委员<400>以<400>向<400>政治局<400>常委<400>会<400>举荐<400>。•</data>
232
233 # Words with interior formatting characters
234 <data>•def\N{COMBINING ACUTE ACCENT}\N{SYRIAC ABBREVIATION MARK}ghi<200> •</data>
235
236 # to test for bug #4097779
237 <data>•aa\N{COMBINING GRAVE ACCENT}a<200> •</data>
238
239 # fullwidth numeric, midletter characters etc should be treated like their halfwidth counterparts
240 # <data>•ISN'T<200> •19<100>日<400></data>
241 # why was this added with the dbbi stuff?
242
243 # to test for bug #4098467
244 # What follows is a string of Korean characters (I found it in the Yellow Pages
245 # ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
246 # it correctly), first as precomposed syllables, and then as conjoining jamo.
247 # Both sequences should be semantically identical and break the same way.
248 # precomposed syllables...
249 <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>
250
251 # more Korean tests (Jamo not tested here, not counted as dictionary characters)
252 # Disable them now because we don't include a Korean dictionary.
253 #<data>•\ud55c\uad6d<200>\ub300\ud559\uad50<200>\uc790\uc5f0<200>\uacfc\ud559<200>\ub300\ud559<200>\ubb3c\ub9ac\ud559\uacfc<200></data>
254 #<data>•\ud604\uc7ac<200>\ub294<200> •\uac80\ucc30<200>\uc774<200> •\ubd84\uc2dd<200>\ud68c\uacc4<200>\ubb38\uc81c<200>\ub97c<200> •\uc870\uc0ac<200>\ud560<200> •\uac00\ub2a5\uc131<200>\uc740<200> •\uc5c6\ub2e4<200>\u002e•</data>
255
256 <data>•abc<200>\u4e01<400>\u4e02<400>\u3005<400>\u4e03\u4e03<400>abc<200> •</data>
257
258 <data>•\u06c9<200>\uc799\ufffa•</data>
259
260
261 #
262 # Try some words from other scripts.
263 #
264
265 # Try some words from other scripts.
266 # Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
267 #
268 <data>•ΑΒΓ<200> •БВГ<200> •אבג֓<200> •ابت<200> •١٢٣<100> •\u10A0\u10A1\u10A2<200> •ABC<200> •</data>
269
270 <data>•\u0301•A<200></data>
271
272
273 #
274 # Hindi word break tests, imported from the old RBBI tests.
275 # An historical note: a much earlier version of ICU break iterators had a number
276 # of special case rules for Hindi, which were tested by an earlier version of
277 # this test data. The current RBBI rules do not special case Hindi in
278 # any way, making this test data much less signfificant.
279 #
280 <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>
281 •\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>
282
283 #
284 # Failures from monkey tests
285 #
286 <data>•\u8527<400>\u02ba<200>\u0027\u0d42•\u00b7•\u09ea<100></data>
287
288 #
289 # Jitterbug 5276 - treat Japanese half width voicing marks as Grapheme Extend
290 #
291 <data>•A\uff9e\uff9fBC<200> •1\uff9e\uff9f23<100></data>
292
293 # User guide example:
294 <data>•Parlez<200>-•vous<200> •français<200> •?•</data>
295
296 # Test for #11673
297 <word>
298 <data>•ジョージア<400> •</data>
299
300 # Test for #11723
301 <word>
302 <data>•アレルギー性<400>結膜炎<400></data>
303 <data>•アテ<400>ローム<400>性<400>動脈硬化<400></data>
304
305 # Ticket #11996
306 <locale en>
307 <word>
308 <data>•栃木<400>県<400>足利<400>市<400>で<400>の<400>撮影<400>が<400>公開<400></data>
309 <data>•栃木<400>県<400>足利<400>市<400>で<400>の<400>撮影<400>が<400>公開<400>さ<400>れ<400>た<400></data>
310
311 # Ticket #11999
312 # Unhandled Break Engine was consuming all characters, not just unhandled.
313 # \U00011700 is AHOM LETTER KA. There is no dictionary for AHOM, triggering the unhandled engine,
314 # which then incorrectly also consumed the following Japanese text. (ICU4J only)
315 <word>
316 <locale en>
317 <data>•ロ<400>から<400>売却<400>完了<400>時<400>の<400>時価<400>が<400>提示<400>さ<400>れ<400>て<400>いる<400></data>
318 <data>•\U00011700<200>ロ<400>から<400>売却<400>完了<400>時<400>の<400>時価<400>が<400>提示<400>さ<400>れ<400>て<400>いる<400></data>
319
320 #
321 # What Is Unicode in Japanese
322 # From http://unicode.org/standard/translations/japanese.html
323
324 <locale en>
325 <word>
326 <data><0>ユニ<400>コード<400>と<400>は<400>何<400>か<400>?<0></data>
327 <data><0>ユニ<400>コード<400>は<400>、<0>すべて<400>の<400>文字<400>に<400>固有<400>の<400>番号<400>を<400>付与<400>し<400>ます<400></data>
328 <data><0>プラットフォーム<400>に<400>は<400>依存<400>しま<400>せん<400></data>
329 <data><0>プログラム<400>に<400>も<400>依存<400>しま<400>せん<400></data>
330 <data><0>言語<400>に<400>も<400>依存<400>しま<400>せん<400></data>
331
332 <data><0>コンピューター<400>は<400>、<0>本質<400>的<400>に<400>は<400>数字<400>しか<400>扱う<400>こと<400>が<400>でき<400>ま<400>せん<400>。<0>\
333 コンピューター<400>は<400>、<0>文字<400>や<400>記号<400>など<400>の<400>それぞれに<400>番号<400>を<400>割り振る<400>こと<400>によって<400>扱える<400>\
334 よう<400>にし<400>ます<400>。<0>ユニ<400>コード<400>が<400>出来る<400>まで<400>は<400>、<0>これらの<400>番号<400>を<400>割り振る<400>仕組み<400>が<400>\
335 何<400>百<400>種類<400>も<400>存在<400>しま<400>した<400>。<0>どの<400>一つ<400>を<400>とっても<400>、<0>十分<400>な<400>文字<400>を<400>含<400>\
336 んで<400>は<400>いま<400>せん<400>で<400>した<400>。<0>例えば<400>、<0>欧州<400>連合<400>一つ<400>を<400>見<400>て<400>も<400>、<0>その<400>\
337 すべて<400>の<400>言語<400>を<400>カバー<400>する<400>ため<400>に<400>は<400>、<0>いくつか<400>の<400>異なる<400>符号<400>化<400>の<400>仕組み<400>\
338 が<400>必要<400>で<400>した<400>。<0>英語<400>の<400>よう<400>な<400>一つ<400>の<400>言語<400>に<400>限<400>って<400>も<400>、<0>一つ<400>だけ<400>\
339 の<400>符号<400>化<400>の<400>仕組み<400>では<400>、<0>一般<400>的<400>に<400>使<400>われる<400>すべて<400>の<400>文字<400>、<0>句読点<400>、<0>\
340 技術<400>的<400>な<400>記号<400>など<400>を<400>扱う<400>に<400>は<400>不十分<400>で<400>した<400>。<0></data>
341
342 <data><0>これらの<400>符号<400>化<400>の<400>仕組み<400>は<400>、<0>相互<400>に<400>矛盾<400>する<400>もの<400>でも<400>ありま<400>した<400>。<0>\
343 二つ<400>の<400>異なる<400>符号<400>化<400>の<400>仕組み<400>が<400>、<0>二つ<400>の<400>異なる<400>文字<400>に<400>同一<400>の<400>番号<400>\
344 を<400>付ける<400>こと<400>も<400>できる<400>し<400>、<0>同じ<400>文字<400>に<400>異なる<400>番号<400>を<400>付ける<400>こと<400>も<400>できる<400>\
345 の<400>です<400>。<0>どの<400>よう<400>な<400>コンピューター<400>も<400>(<0>特に<400>サーバー<400>は<400>)<0>多く<400>の<400>異<400>な<400>っ<400>\
346 た<400>符号<400>化<400>の<400>仕組み<400>を<400>サポート<400>する<400>必要<400>が<400>あり<400>ます<400>。<0>たとえ<400>データ<400>が<400>異なる<400>\
347 符号<400>化<400>の<400>仕組み<400>や<400>プラットフォーム<400>を<400>通過<400>し<400>て<400>も<400>、<0>いつ<400>どこ<400>で<400>データ<400>が<400>\
348 乱れる<400>か<400>分<400>から<400>ない<400>危険<400>を<400>冒す<400>こと<400>の<400>なる<400>の<400>です<400>。<0></data>
349
350 <data><0>ユニ<400>コード<400>は<400>すべて<400>を<400>変<400>え<400>ます<400></data>
351
352 <data><0>ユニ<400>コード<400>は<400>、<0>プラットフォーム<400>に<400>係<400>わら<400>ず<400>、<0>プログラム<400>に<400>係<400>わら<400>ず<400>、<0>\
353 言語<400>に<400>係<400>わら<400>ず<400>、<0>すべて<400>の<400>文字<400>に<400>独立<400>した<400>番号<400>を<400>与<400>え<400>ます<400>。<0>\
354 ユニ<400>コード<400>標準<400>は<400>、<0>アップル<400>、<0>ヒュー<400>レット<400>パッ<400>カード<400>、<0>IBM<200>、<0>ジャスト<400>システム<400>\
355 、<0>マイクロ<400>ソフト<400>、<0>オラクル<400>、<0>SAP<200>、<0>サン<400>、<0>サイ<400>ベース<400>など<400>の<400>産業<400>界<400>の<400>\
356 主導<400>的<400>企業<400>と<400>他の<400>多く<400>の<400>企業<400>に<400>採用<400>さ<400>れ<400>てい<400>ます<400>。<0>ユニ<400>コード<400>\
357 は<400>、<0>XML<200>、<0>Java<200>、<0>ECMAScript<200>(<0>JavaScript<200>)<0>、<0>LDAP<200>、<0>CORBA<200> <0>3.0<100>など<400>\
358 の<400>最先端<400>の<400>標準<400>の<400>前提<400>と<400>な<400>って<400>おり<400>、<0>ユニ<400>コード<400>を<400>実装<400>す<400>れ<400>ば<400>\
359 、<0>ISO<200>/<0>IEC<200></data>
360 <data><0> <0>10646<100>に<400>適合<400>する<400>ことに<400>なり<400>ます<400>。<0>ユニ<400>コード<400>は<400>、<0>多く<400>の<400>\
361 オペレーティングシステム<400>と<400>すべて<400>の<400>最新<400>の<400>ブラウザー<400>と<400>他の<400>多く<400>の<400>製品<400>で<400>サポート<400>\
362 さ<400>れ<400>てい<400>ます<400>。<0>ユニ<400>コード<400>標準<400>の<400>出現<400>と<400>ユニ<400>コード<400>を<400>サポート<400>する<400>\
363 ツール<400>類<400>は<400>、<0>昨今<400>顕著<400>に<400>な<400>って<400>いる<400>ソフトウエア<400>技術<400>の<400>グローバル<400>化<400>の<400>\
364 流れ<400>に対して<400>、<0>特に<400>役<400>に<400>立<400>って<400>い<400>ます<400>。<0></data>
365
366 <data><0>ユニ<400>コード<400>を<400>ク<400>ライアン<400>ト<400>サーバー<400>型<400>の<400>アプリケーション<400>や<400>、<0>多層<400>構造<400>\
367 を<400>持つ<400>アプリケーション<400>、<0>ウェブサイト<400>など<400>に<400>に<400>組み込む<400>こと<400>で<400>、<0>従来<400>の<400>文字<400>\
368 コードセット<400>を<400>用いる<400>より<400>も<400>明らか<400>な<400>コスト<400>削減<400>が<400>可能<400>です<400>。<0>ユニ<400>コード<400>は<400>\
369 、<0>単一<400>の<400>ソフトウエア<400>製品<400>、<0>単一<400>の<400>ウェブサイト<400>に<400>、<0>何ら<400>手<400>を<400>加える<400>こと<400>なく<400>\
370 、<0>複数<400>の<400>プラットフォーム<400>、<0>複数<400>の<400>言語<400>、<0>複数<400>の<400>国<400>を<400>カバー<400>する<400>こと<400>が<400>\
371 出来る<400>の<400>です<400>。<0>ユニ<400>コード<400>は<400>、<0>データ<400>が<400>多く<400>の<400>異なる<400>システム<400>の<400>間<400>を<400>、<0>\
372 何<400>の<400>乱れ<400>も<400>なし<400>に<400>転送<400>する<400>こと<400>を<400>可能<400>と<400>する<400>の<400>です<400>。<0></data>
373
374 <data><0>ユニ<400>コード<400>コンソーシアム<400>について<400></data>
375
376 <data><0>ユニ<400>コード<400>コンソーシアム<400>は<400>、<0>最新<400>の<400>ソフトウエア<400>製品<400>と<400>標準<400>において<400>テキスト<400>\
377 を<400>表現<400>する<400>こと<400>を<400>意味<400>する<400>“<0>ユニ<400>コード<400>標準<400>”<0>の<400>構築<400>、<0>発展<400>、<0>普及<400>、<0>\
378 利用<400>促進<400>を<400>目的<400>として<400>設立<400>さ<400>れ<400>た<400>非<400>営利<400>組織<400>です<400>。<0>同<400>コンソーシアム<400>\
379 の<400>会員<400>は<400>、<0>コンピューター<400>と<400>情報処理<400>に<400>係わる<400>広汎<400>な<400>企業<400>や<400>組織<400>から<400>構成<400>\
380 さ<400>れ<400>てい<400>ます<400>。<0>同<400>コンソーシアム<400>は<400>、<0>財政<400>的<400>に<400>は<400>、<0>純粋<400>に<400>会費<400>のみ<400>\
381 によって<400>運営<400>さ<400>れ<400>てい<400>ます<400>。<0>ユニ<400>コード<400>標準<400>を<400>支持<400>し<400>、<0>その<400>拡張<400>と<400>\
382 実装<400>を<400>支援<400>する<400>世界中<400>の<400>組織<400>や<400>個人<400>は<400>、<0>だれ<400>も<400>が<400>ユニ<400>コード<400>\
383 コンソーシアム<400>の<400>会員<400>なる<400>こと<400>が<400>でき<400>ます<400>。<0></data>
384
385 <data><0>より<400>詳しい<400>こと<400>を<400>お<400>知<400>り<400>に<400>なり<400>たい<400>方<400>は<400>、<0>Glossary<200>,<0> <0>\
386 Technical<200> <0>Introduction<200> <0>および<400> <0>Useful<200> <0>Resources<200>を<400>ご<400>参照<400>くだ<400>さい<400>。<0></data>
387
388
389 ########################################################################################
390 #
391 #
392 # S e n t e n c e B o u n d a r y T e s t s
393 #
394 #
395 ##########################################################################################
396
397
398 #
399 # Test data originally from RBBI RBBITest::TestDefaultRuleBasedSentenceIteration()
400 #
401 <sent>
402
403
404 <sent>
405 <data>•This\n<100></data>
406 <data>•Hello! •how are you? •I'am fine. •Thankyou. •How are you \
407 doing? •This\n<100> costs $20,00,000. •</data>
408
409
410 # Sentence ending in a quote.
411 <data>•"Sentence ending with a quote." •Bye.•</data>
412
413 # Sentence, and test data, ending without a period or other terminator.
414 <data>•Here is a random sentence, no ending period<100></data>
415
416
417 <data>• (This is it). •Testing the sentence iterator. •\
418 "This isn't it." •Hi! \
419 •This is a simple sample sentence. •(This is it.) •This is a simple sample sentence. •\
420 "This isn't it." •\
421 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.
422 •Not on my time (el timo.)! •</data>
423
424 <data>•Hello. •So what!!\u2029•"But now," he said, \
425 "I know!" •\
426 Harris thumbed down several, including "Away We Go" (which became the huge success Oklahoma!). •One species, B. anthracis, is highly virulent.
427 •Wolf said about Sounder:\
428 "Beautifully thought-out and directed." •\
429 Have you ever said, "This is where\tI shall live"? •He answered, \
430 "You may not!" •Another popular saying is: "How do you do?". \n•\
431 Yet another popular saying is: \
432 'I'm fine thanks.' •\
433 What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tall!!\
434 •Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100></data>
435
436 <data>•No breaks when . is surrounded by UPPER.Case letters. •</data>
437 <data>•No breaks when . is followed by Numeric .4 a.4 C.4 3.1 .•</data>
438 <data>•No breaks when . is followed by a lower, with possible intervening punct .,a .$a .)a. •</data>
439
440 #
441 # Sentence Breaks: no break at the boundary between CJK and other letters
442 #
443 <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>
444
445 #
446 # Treat fullwidth variants of .!? the same as their
447 # normal counterparts
448 #
449 <data>•I know I'm right\uff0e •Right\uff1f •Right\uff01 •</data>
450
451
452 #
453 # Don't break sentences at boundary between CJK and digits
454 #
455 <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>
456
457 #
458 # Breaks around '(' following a sentence TERM. (Rule 9)
459 #
460 <data>•How do you do?(•Fine). •</data>
461 <data>•How do you do? •(Fine). •</data>
462 <data>•How do you do?(•fine). •</data>
463 <data>•How do you do? •(fine). •</data>
464
465 #
466 <data>•Hello.123<100></data> # Rule 6
467 <data>•Hello?•123<100></data>
468
469 <data>•HELLO.Bye<100></data> # Rule 7
470 <data>•HELLO?•Bye<100></data>
471
472 <data>•Hello.goodbye<100></data> #Rule 8
473 <data>•Hello. •Goodbye<100></data>
474 <data>•Hello. goodbye<100></data>
475
476
477
478 #
479 # test for bug #4158381: No breaks when there are no terminators around
480 #
481 <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>
482 <data>•Another test.\u2029•</data>
483
484 # test for bug #4143071: Make sure sentences that end with digits
485 # work right
486 #
487 <data>•Today is the 27th of May, 1998. •</data>
488 <data>•Tomorrow with be 28 May 1998. •</data>
489 <data>•The day after will be the 30th.\u2029•</data>
490
491 # test for bug #4152416: Make sure sentences ending with a capital
492 # letter are treated correctly
493 #
494 <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>
495
496 # test for bug #4152117: Make sure sentence breaking is handling
497 # punctuation correctly [COULD NOT REPRODUCE THIS BUG, BUT TEST IS
498 # HERE TO MAKE SURE IT DOESN'T CROP UP]
499 #
500 <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.
501 •</data>
502
503 # sentence breaks for hindi which used Devanagari script
504 # make sure there is sentence break after ?,danda(hindi phrase separator),
505 # fullstop followed by space. (VERY old test)
506 #
507 <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>\
508 \u0915\u0948\u0938\u0947 \u0939\u0948?•\u0935\u0939 \u0915\u094d\u200d\u092f\u093e\n\
509 <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>
510
511 # Regression test for bug #1984, Sentence break in Arabic text.
512
513 <data>\
514 •\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>
515
516 # Try a few more of the less common sentence endings.
517 <data>•Hello, world\u3002 •Hello, world\u1803 •Hello, world\u2048 •Hello, world\u203c •Let's end here. •</data>
518
519
520
521
522 ################################################################
523 #
524 #
525 # L I N E B R E A K
526 #
527 #
528 ################################################################
529
530 <line>
531 #
532 # Test Character for each of the line break classes.
533 #
534 # 00A1;AI # INVERTED EXCLAMATION MARK ¡
535 # 0041;AL # LATIN CAPITAL LETTER A
536 # 0009;BA # <control>
537 # 00B4;BB # ACUTE ACCENT
538 # 000C;BK # <control>
539 # 2014;B2 # EM DASH
540 # FFFC;CB # OBJECT REPLACEMENT CHARACTER
541 # 0029;CL # RIGHT PARENTHESIS
542 # 0301;CM # COMBINING ACUTE ACCENT
543 # 0021;EX # EXCLAMATION MARK
544 # 00A0;GL # NO-BREAK SPACE
545 # 002D;HY # HYPHEN-MINUS
546 # 4E00;ID # <CJK Ideograph, First>
547 # 2024;IN # ONE DOT LEADER
548 # 002C;IS # COMMA
549 # 000A;LF # <control>
550 # 0E5A;NS # THAI CHARACTER ANGKHANKHU
551 # 0032;NU # DIGIT TWO
552 # 0028;OP # LEFT PARENTHESIS
553 # 0025;PO # PERCENT SIGN
554 # 0024;PR # DOLLAR SIGN
555 # 0022;QU # QUOTATION MARK
556 # 0E01;SA # THAI CHARACTER KO KAI
557 # DB7F;SG # Surrogate
558 # 0020;SP # SPACE
559 # 002F;SY # SOLIDUS /
560 # F8FF;XX # Private Use
561 # 200B;ZW # ZERO WIDTH SPACE
562
563
564 # 2b Always break at end of text
565
566 <data>• •\u00A1•</data>
567 <data>• •\u0041•</data>
568 <data>• •\u0009•</data>
569 <data>• •\u00B4•</data>
570 <data>• \u000C<100></data> # LB3C × BK
571 <data>• •\u2014•</data>
572 <data>• •\uFFFC•</data>
573 <data>• \u0029•</data> # LB 8 × CL
574 # <data>• • \u0301•</data> # LB 7a Treat SP CM* as if it were ID #TODO: SP CM
575 <data>• \u0021•</data> # LB 8 × EX
576 #<data>• \u00A0•</data> # LB 11b × GL TODO: fix.
577 <data>• •\u002D•</data>
578 <data>• •\u4E00•</data>
579 <data>• •\u2024•</data>
580 <data>• \u002C•</data> # LB 8 × IS
581 <data>• \u000A<100></data> # LB3C × ( BK | CR | LF | NL )
582 <data>• •\u0E5A•</data>
583 <data>• •\u0032•</data>
584 <data>• •\u0028•</data>
585 <data>• •\u0025•</data>
586 <data>• •\u0024•</data>
587 <data>• •\u0022•</data>
588 <data>• •\u0E01•</data>
589 <data>• •\uDB7F•</data>
590 <data>• \u0020•</data> # LB4 - don't break before space.
591 <data>• \u002F•</data> # LB 8 × SY
592 <data>• •\uF8FF•</data>
593 <data>• \u200B•</data> # LB4 - don't break before ZA
594
595
596 # 3a Always break after hard line breaks.
597 # 3c Never break before hard line breaks.
598
599 <data>• •\u00A1\u2028<100>\u00A1•</data>
600 <data>• •\u0041\u2028<100>\u0041•</data>
601 <data>• •\u0009\u2028<100>\u0009•</data>
602 <data>• •\u00B4\u2028<100>\u00B4•</data>
603 <data>• \u000C<100>\u2028<100>\u000C<100></data>
604 <data>• •\u2014\u2028<100>\u2014•</data>
605 <data>• •\uFFFC\u2028<100>\uFFFC•</data>
606 <data>• \u0029\u2028<100>\u0029•</data>
607 #<data>• \u0301\u2028<100>\u0301•</data> # TODO: fix.
608 <data>• \u0021\u2028<100>\u0021•</data>
609 #<data>• \u00A0\u2028<100>\u00A0•</data> # TODO: fix
610 <data>• •\u002D\u2028<100>\u002D•</data>
611 <data>• •\u4E00\u2028<100>\u4E00•</data>
612 <data>• •\u2024\u2028<100>\u2024•</data>
613 <data>• \u002C\u2028<100>\u002C•</data>
614 <data>• \u000A<100>\u2028<100>\u000A<100></data>
615 <data>• •\u0E5A\u2028<100>\u0E5A•</data>
616 <data>• •\u0032\u2028<100>\u0032•</data>
617 <data>• •\u0028\u2028<100>\u0028•</data>
618 <data>• •\u0025\u2028<100>\u0025•</data>
619 <data>• •\u0024\u2028<100>\u0024•</data>
620 <data>• •\u0022\u2028<100>\u0022•</data>
621 <data>• •\u0E01\u2028<100>\u0E01•</data>
622 <data>• •\uDB7F\u2028<100>\uDB7F•</data>
623 <data>• \u0020\u2028<100>\u0020•</data>
624 <data>• \u002F\u2028<100>\u002F•</data>
625 <data>• •\uF8FF\u2028<100>\uF8FF•</data>
626 <data>• \u200B\u2028<100>\u200B•</data>
627
628 # Regional Indicator sequences. They group in pairs. The reverse rules are tricky.
629 # Sequences are long enough that the non-exaustive monkey test won't reliably pick up problems.
630
631 <data>•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•</data>
632 <data>•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6•</data>
633
634 <data>•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6\u00a0\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•</data>
635 <data>•\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6\u00a0\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6•</data>
636 <data>•\U0001F1E6\U0001F1E6•\U0001F1E6\u00a0\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•</data>
637 <data>•\U0001F1E6\U0001F1E6•\U0001F1E6\u00a0\U0001F1E6\U0001F1E6•\U0001F1E6\U0001F1E6•\U0001F1E6•</data>
638
639
640 # User Guide example
641
642 <data>•Parlez-•vous •français ?•</data>
643
644 #
645 # Old Line Break Test data. Orginally located in RBBITest::TestDefaultRuleBasedLineIteration()
646 #
647
648 <line>
649
650 <data>•Multi-•Level •example •of •a •semi-•idiotic •non-•sensical •(non-•important) •sentence.
651 <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>
652
653 <line>
654 <data>•Hello! •how\r\n<100> •(are)\r<100> •you? •I'am •fine- •Thankyou. •foo\u00a0bar
655 <100>How, •are, •you? •This, •costs •$20,00,000.•</data>
656
657 # test for bug #4068133
658 #
659 <data>•\u96f6•\u4e00\u3002•\u4e8c\u3001•\u4e09\u3002\u3001•\u56db\u3001\u3002\u3001•\u4e94,•\u516d.•\u4e03.\u3001,\u3002•\u516b•</data>
660
661 # to test for bug #4086052
662 <data>•foo\u00a0bar•</data>
663
664 # to test for bug #4097920
665 <data>•dog,cat,mouse •(one)•(two)\n<100></data>
666
667 # to test for bug #4035266
668 <data>•The •balance •is •$-23,456.78, •not •-•$32,456.78!\n<100></data>
669
670
671 # to test for bug #4098467
672 # What follows is a string of Korean characters (I found it in the Yellow Pages
673 # ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
674 # it correctly), first as precomposed syllables, and then as conjoining jamo.
675 # Both sequences should be semantically identical and break the same way.
676 # precomposed syllables... (I == Rich Gillam?)
677 #
678 <data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>
679
680 # conjoining jamo...
681 <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>
682
683 # to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
684 <data>•\u4e01\uff0e•\u4e02\uff01•\u4e03\uff1f•</data>
685
686 # Surrogate line break tests.
687 #
688 <data>•\u4e01•\ud840\udc01•\u4e02•abc •\ue000 •\udb80\udc01•</data> #This line and the following are equivalent.
689 <data>•\u4e01•\U00020001•\u4e02•abc •\ue000 •\U000f0001•</data>
690
691 # Regression for bug 836
692 # Note: Unicode 5.1 changed this behavior
693 # Unicode 5.2 changed it again, there is no break following the '('
694 <data>•AAA(AAA •</data>
695
696 # Try some words from other scripts.
697 # Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
698 #
699 <data>•ΑΒΓ •БВГ •אבג֓ •ابت •١٢٣ •\u10A0\u10A1\u10A2 •ABC •</data>
700
701 #
702 # ticket #4853: unpaired surrogates should behave like AL
703 #
704 <data>•abc\ud801xyz•</data>
705
706 #
707 # Regression tests for failures that originally came from the monkey test.
708 # Monkey test failure lines can, with slight reformatting, be copied into this section
709 # as test cases. The error display from here is more informative.
710 #
711 <data>•\ufffc•\u30e3\u000c<100>\u1b39\u300a\u002f\u203a\u200b•\ufffc•\uaf64•\udcfb•</data>
712 <data>•\u114d\u31f3•\ube44\u002d•\u0362\u24e2\u276e\u2014\u205f\ufe16•\uc877•\u0fd0\u000a<100>\u20a3•</data>
713 <data>•\u080a\u215b\U0001d7d3\u002c•\u2025\U000e012e•\u02df\u118d\u0029\ua8d6\u0085<100>\u6cc4\u2024\u202f\ufffc•</data>
714
715 # Test for #10176 (in root)
716 <line>
717 <data>•abc/•s •def•</data>
718 <data>•abc/\u05D9 •def•</data>
719 <data>•\u05E7\u05D7/\u05D9 •\u05DE\u05E2\u05D9\u05DC•</data>
720 <data>•\u05D3\u05E8\u05D5\u05E9\u05D9\u05DD •\u05E9\u05D7\u05E7\u05E0\u05D9\u05DD/\u05D9\u05D5\u05EA•</data>
721
722 # Ticket #11556 don't break "R$" or "JP¥"
723 <locale en>
724 <line>
725 <data>•R$ •JP¥ •a9 •3a •H% •CA$ •Travi$ •Scott •Ke$ha •Curren$y •A$AP •Rocky•</data>
726
727
728
729 ########################################################################################
730 #
731 #
732 # T i t l e B o u n d a r y T e s t s
733 #
734 #
735 ##########################################################################################
736 <title>
737 <data>•Here •is •a •short •sample •sentence. •And •another.•</data>
738 <data>•HERE •IS •A •SHORT •SAMPLE •SENTENCE. •AND •ANOTHER.•</data>
739 <data>• •Start •and •end •with •spaces •</data>
740 <data>•Include 123 456 ^& •some 54332 •numbers 4445•abc123•abc •ending 1223 •</data>
741
742 <data>•Combining\u0301 \u0301•ma\u0306rks •bye •</data>
743 <data>•123 •Start •with •a •number.•</data>
744
745 <data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>
746 <data>•' '' •start •with •case-•ignorable & •case-•insensitive •cha'r'a'cter•</data>
747 <data>• ''•aaa' •bbb '•ccc' '•ddd''' '''•eee '''•fff''' •ggg ''•</data>
748 # Note: apostrophe is case-ignorable. space is not cased.
749
750 ##########################################################################################
751 #
752 # Thai Tests
753 #
754 ##########################################################################################
755 <locale th>
756 <word>
757 #
758 # Test data originally from the test code source file
759 # // @suwit -- Thai sample data from GVT Guideline
760 #
761 <data>•\u0E2B\u0E19\u0E36\u0E48\u0E07<200>\u0E04\u0E33<200>\u0E44\u0E17\u0E22<200>\
762 \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16<200>\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A<200>\
763 \u0E14\u0E49\u0E27\u0E22<200>\u0e2b\u0e25\u0e32\u0e22<200>\
764 \u0e1e\u0e22\u0e32\u0e07\u0e04\u0e4c<200></data>
765
766 # Test data originally from http://bugs.icu-project.org/trac/search?q=r30327
767 <data>•กู<200> •กิน<200>กุ้ง<200> •ปิ้่<200>งอ<200>ยู่<200>ใน<200>ถ้ำ<200></data>
768
769 <data>•\u0E01\u0E39<200>\u0020•\u0E01\u0E34\u0E19<200>\u0E01\u0E38\u0E49\u0E07<200>\
770 \u0020•\u0E1B\u0E34\u0E49\u0E48<200>\u0E07\u0E2D<200>\u0E22\u0E39\u0E48<200>\
771 \u0E43\u0E19<200>\u0E16\u0E49\u0E33<200></data>
772
773 <line>
774 <data>•0E01\u0E39\u0020•\u0E01\u0E34\u0E19•\u0E01\u0E38\u0E49\u0E07\
775 \u0020•\u0E1B\u0E34\u0E49\u0E48•\u0E07\u0E2D•\u0E22\u0E39\u0E48•\
776 \u0E43\u0E19•\u0E16\u0E49\u0E33•</data>
777
778 # Data originally from intltest RBBITest::TestThaiLineBreak()
779 #
780 # \u0e2f-- the Thai paiyannoi character-- isn't a letter. It's a symbol that
781 # represents elided letters at the end of a long word. It should be bound to
782 # the end of the word and not treated as an independent punctuation mark.
783 #
784 # the one time where the paiyannoi occurs somewhere other than at the end
785 # of a word is in the Thai abbrevation for "etc.", which both begins and
786 # ends with a paiyannoi
787 #
788 <line>
789 <data>•\u0e2a\u0e16\u0e32\u0e19\u0e35\u0e2f•\
790 \u0e08\u0e30•\
791 \u0e23\u0e30\u0e14\u0e21•\
792 \u0e40\u0e08\u0e49\u0e32•\
793 \u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48•\
794 \u0e2d\u0e2d\u0e01•\
795 \u0e21\u0e32•\
796 \u0e40\u0e23\u0e48\u0e07•\
797 \u0e23\u0e30\u0e1a\u0e32\u0e22•\
798 \u0e2d\u0e22\u0e48\u0e32\u0e07•\
799 \u0e40\u0e15\u0e47\u0e21•\
800 \u0e2f\u0e25\u0e2f•\
801 \u0e17\u0e35\u0e48•\
802 \u0e19\u0e31\u0e49\u0e19•</data>
803
804 # Data originally from RBBITest::TestMixedThaiLineBreak()
805 # @suwit -- Test Arabic numerals, Thai numerals, Punctuation and English characters start
806 #
807 <line>
808 <data>•\u0E1B\u0E35•\
809 \u0E1E\u0E38\u0E17\u0E18\u0E28\u0E31\u0E01\u0E23\u0E32\u0E0A •\
810 2545 •\
811 \u0E40\u0E1B\u0E47\u0E19•\
812 \u0E1B\u0E35•\
813 \u0E09\u0E25\u0E2D\u0E07•\
814 \u0E04\u0E23\u0E1A•\
815 \u0E23\u0E2D\u0E1A •\
816 \"\u0E52\u0E52\u0E50 •\
817 \u0E1b\u0E35\" •\
818 \u0E02\u0E2d\u0E07•\
819 \u0E01\u0E23\u0E38\u0E07•\
820 \u0E23\u0E31\u0E15\u0E19\u0E42\u0E01\u0E2A\u0E34\u0E19\u0E17\u0E23\u0E4C •\
821 (\u0E01\u0E23\u0E38\u0E07\u0E40\u0E17\u0E1e\u0E2F•\
822 \u0E2B\u0E23\u0E37\u0E2D •\
823 Bangkok)•</data>
824
825 # Data originally from RBBITest::TestMaiyamok()
826 # The Thai maiyamok character is a shorthand symbol that means "repeat the previous
827 # word". Instead of appearing as a word unto itself, however, it's kept together
828 # with the word before it.
829 #
830 <line>
831 <data>•\u0e44\u0e1b\u0e46•\
832 \u0e21\u0e32\u0e46•\
833 \u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07•\
834 \u0e01\u0e23\u0e38\u0e07•\
835 \u0e40\u0e17\u0e1e•\
836 \u0e41\u0e25\u0e30•\
837 \u0e40\u0e03\u0e35•\
838 \u0e22\u0e07•\
839 \u0e43\u0e2b\u0e21\u0e48•</data>
840
841 # Test for #10296
842 <line>
843 <data>•ใช•มั้ย•</data>
844 <data>•มั๊ยล่ะ•ที่รัก•</data>
845
846 # Test for #10593
847 <line>
848 <data>•เล่น•ผ่าน•ทาง•บลูทูธ•บน•อุปกรณ์•</data>
849
850 # Test for city names #10691
851 <line>
852 <data>•ไป•ที่•ซานฟรานซิสโก•</data>
853
854 # Test for #10630, #10631
855 <line>
856 <data>•แท็ก•แอปพลิเคชัน•เป็น•พิเศษ•</data>
857
858 # Test for #11019
859 <line>
860 <data>•เบ•เบราว์เซอร์•โพ•โพสต์•โพสท์•</data>
861
862 # Test for #11688
863 <line>
864 <data>•อัปเดต•อีเวนต์•</data>
865
866 ##########################################################################################
867 #
868 # Lao Tests
869 #
870 ##########################################################################################
871 <locale en>
872 # Basic check for #7647
873 <line>
874 <data>•ສະບາຍດີ•</data>
875 <data>•ດີ•ຂອບໃຈ•</data>
876 <data>•ເຈົ້າ•ເວົ້າ•ພາສາ•ອັງກິດ•ໄດ້•ບໍ່•</data>
877 <data>•ກະລຸນາ•ເວົ້າ•ຊ້າ•ໆ•</data>
878
879 ##########################################################################################
880 #
881 # Burmese/Myanmar Tests
882 #
883 ##########################################################################################
884 <locale en>
885 # Basic sanity check for #10326 (some text from http://www.unicode.org/udhr/d/udhr_mya.txt)
886 <line>
887 <data>•လူ•တိုင်း•သည် •တူညီ •လွတ်လပ်•သော •ဂုဏ်•သိ•က္•ခါ•ဖြ•င့် •လည်းကောင်း၊ •</data>
888 <data>•တူညီ•လွတ်လပ်•သော •အ•ခွ•င့်•အရေး•များ•ဖြ•င့် •လည်းကောင်း၊ •မွေး•ဖွား•လာ•သူများ •ဖြစ်သည်။•</data>
889 <data>•ထို•သူ•တို့၌ •ပိုင်းခြား •ဝေဖန်•တတ်•သော •ဉာဏ်•နှ•င့် •ကျ•င့်•ဝတ် •သိတတ်•သော •စိတ်•တို့•ရှိ•ကြ၍ •</data>
890 <data>•ထို•သူ•တို့သည် •အချင်းချင်း •မေတ္တာ•ထား၍ •ဆက်ဆံ•ကျ•င့်•သုံး•</data>
891
892 ##########################################################################################
893 #
894 # Khmer Tests
895 #
896 ##########################################################################################
897
898 # Test data originally from http://bugs.icu-project.org/trac/search?q=r30327
899 # from the file testdata/wordsegments.txt
900 <locale en>
901 <word>
902
903 <data>•តើ<200>លោក<200>មក<200>ពី<200>ប្រទេស<200>ណា<200></data>
904 <data>•សណ្ដូក<200>ក<200>បណ្ដែត<200>ខ្លួន<200></data>
905 <data>•ពណ៌ស<200>ម្ដេច<200>ថា<200>ខ្មៅ<200></data>
906 #ប្រយោគ|ពី|របៀប|រួបរួម|និង|ភាព|ផ្សេងគ្នា|ដែល|អាច|ចូល<200></data>
907 <data>•ប្រយោគ<200>ពី<200>របៀប<200>ដែល<200>និង<200>ភាព<200>ផ្សេងគ្នា<200>ដែល<200>អាច<200>ចូល<200></data>
908 #ប្រយោគ|ពី|របៀប|ជា|មួយ|និង|ភាព|ផ្សេងគ្នា|ដែល|អាច|ចូល<200></data>
909 <data>•សូម<200>ចំណាយពេល<200>បន្តិច<200>ដើម្បី<200>អធិស្ឋាន<200>អរព្រះគុណ<200>ដល់<200>ព្រះអង្គ<200></data>
910 <data>•ការ<200>ថោកទាប<200>បរិប្បូណ៌<200>ដោយ<200></data>
911 <data>•ប្រើប្រាស់<200>ស្អាត<200>ទាំង<200>ចិត្ត<200>សិស្ស<200>នោះ<200></data>
912 <data>•បើ<200>អ្នក<200>ប្រព្រឺត្ត<200>អំពើអាក្រក់<200>មុខ<200>ជា<200>មាន<200></data>
913 <data>•ប្រដាប់<200>ប្រដា<200>រ<200>រៀនសូត្រ<200>បន្ទប់<200>រៀន<200></data>
914 <data>•ដើរតួ<200>មនុស្សគ<200>ឥត<200>បញ្ចេញ<200>យោបល់<200>សោះ<200>ឡើយ<200></data>
915 <data>•មិន<200>អាច<200>ឲ្យ<200>យើង<200>ធ្វើ<200>កសិកម្ម<200>បាន<200>ឡើយ<200></data>
916 <data>•បន្ត<200>សេចក្ត<200>ទៅទៀត<200></data>
917 <data>•ក្រុម<200>ប៉ូលិស<200>បណ្តាក់<200>គ្នា<200></data>
918 <data>•គ្មាន<200>សុខ<200>សំរាន្ត<200>ដង<200>ណា<200></data>
919 <data>•បាន<200>សុខភាព<200>បរិប្បូណ៌<200></data>
920 <data>•ជា<200>មេចោរ<200>ខ្ញុំ<200>នឹង<200>ស្លាប់<200>ទៅវិញ<200>ជា<200>មេចោរ<200></data>
921 <data>•ឯ<200>ការ<200>វាយ<200>ផ្ចាល<200>ដែល<200>នាំ<200></data>
922 <data>•គេ<200>ដឹក<200>ទៅ<200>សំឡាប់<200></data>
923 #អ្នក|ដែល|ជា|មន្ត្រី|ធំ|លើ|គាត់|ទេ<200></data>
924 <data>•យក<200>ទៅ<200>សម្លាប់ចោល<200>ស្ងាត់<200></data>
925 <data>•ត្រូវ<200>បាន<200>គេ<200>សម្លាប់<200></data>
926 <data>•នៅក្នុង<200>ស្រុក<200>ខ្ល<200>ងហ្ស៊ុន<200></data>
927
928
929 #
930 # Jitterbug 3671 Test Case
931 #
932 <data>•สวัสดี<200>ครับ<200>สบาย<200>ดี<200>ไหม<200> •ครับ<200></data>
933
934 #
935 # Trac ticket 5595 Test Case
936 <data>•บท<200>ที่๑พายุ<200>ไซโคลน<200>โด<200>โรธี<200>อาศัย<200>อยู่<200>ท่ามกลาง<200>\
937 ทุ่งใหญ่<200>ใน<200>แคนซัส<200>กับ<200>ลุง<200>เฮ<200>นรี<200>ชาวไร่<200>และ<200>ป้า<200>เอ็ม<200>\
938 ภรรยา<200>ชาวไร่<200>บ้าน<200>ของ<200>พวก<200>เขา<200>หลัง<200>เล็ก<200>เพราะ<200>ไม้<200>\
939 สร้าง<200>บ้าน<200>ต้อง<200>ขน<200>มา<200>ด้วย<200>เกวียน<200>เป็น<200>ระยะ<200>ทาง<200>หลาย<200>\
940 ไมล์<200></data>
941
942 ####################################################################################
943 #
944 # Tailored (locale specific) breaking.
945 #
946 ####################################################################################
947
948 # Japanese line break tailoring test
949
950 <locale ja>
951 <line>
952 <data>•\u3041•\u3043•\u3045•\u31f1•</data>
953 <locale en>
954 <line>
955 <data>•\u3041\u3043\u3045\u31f1•</data>
956
957 # The following data was originally in RBBITest::TestJapaneseWordBreak()
958 <locale ja>
959 <word>
960 <data>•\u4ECA\u65E5<400>\u306F<400>\u3044\u3044<400>\u5929\u6C17<400>\u3067\u3059<400>\u306D<400>\u3002•\u000D\u000A•</data>
961
962 # UBreakIteratorType UBRK_WORD, Locale "ja"
963 # Don't break in runs of hiragana or runs of ideograph, where the latter includes \u3005 \u3007 \u303B (cldrbug #2009).
964 # \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
965 # modified to work with dbbi code - should verify
966
967 <locale ja>
968 <word>
969 <data>•私<400>達<400>に<400>一<400>〇<400>〇〇<400>の<400>コンピュータ<400>が<400>ある<400>。<0>奈々<400>は<400>ワード<400>で<400>ある<400>。•</data>
970
971 # Test for #10176 (in ja)
972 <line>
973 <data>•abc/•s •def•</data>
974 <data>•abc/\u05D9 •def•</data>
975 <data>•\u05E7\u05D7/\u05D9 •\u05DE\u05E2\u05D9\u05DC•</data>
976 <data>•\u05D3\u05E8\u05D5\u05E9\u05D9\u05DD •\u05E9\u05D7\u05E7\u05E0\u05D9\u05DD/\u05D9\u05D5\u05EA•</data>
977
978
979 <locale root>
980 <word>
981 <data>•私<400>達<400>に<400>一<400>〇<400>〇〇<400>の<400>コンピュータ<400>が<400>ある<400>。<0>奈々<400>は<400>ワード<400>で<400>ある<400>。•</data>
982 # The following test is for #10300
983 <data>•例えば<400>オーストラリア<400>。•</data>
984 # The following test is for #10571
985 <data>•一部<400>の<400>地域<400>では<400>、<0>ブラジル<400>、<0>インドネシア<400>、<0>オーストリア<400>、<0>ニュージーランド<400>で<400>ある<400>。•</data>
986
987 # UBreakIteratorType UBRK_SENTENCE, Locale "el"
988 # Add break after Greek question mark (cldrbug #2069).
989 # "\u0391\u03B2, \u03B3\u03B4; \u0395 \u03B6\u03B7\u037E \u0398 \u03B9\u03BA. "
990 # "\u039B\u03BC \u03BD\u03BE! \u039F\u03C0, \u03A1\u03C2? \u03A3"
991 # which is "Αβ, γδ; Ε ζη; Θ ικ. Λμ νξ! Οπ, Ρς? Σ"
992
993 <locale root>
994 <sent>
995 <data>•Αβ, γδ; Ε ζη; Θ ικ. •Λμ νξ! •Οπ, Ρς? •Σ<100></data>
996
997 <locale el>
998 <sent>
999 <data>•Αβ, γδ; •Ε ζη; •Θ ικ. •Λμ νξ! •Οπ, Ρς? •Σ<100></data>
1000
1001 # UBreakIteratorType UBRK_WORD, Locale "en_US_POSIX"
1002 # Words don't include colon or period (cldrbug #1969).
1003
1004 <locale sv>
1005 <word>
1006 <data>•Can't<200> •have<200> •breaks<200> •in<200> •xx:yy<200> •or<200> •struct.field<200> \
1007 •for<200> •CS<200>-•types<200>.•</data>
1008 <data>•\uFF92\uFF76\uFF9E<400> •</data>
1009
1010 <locale en_US>
1011 <word>
1012 <data>•Can't<200> •have<200> •breaks<200> •in<200> •xx<200>:•yy<200> •or<200> •struct.field<200> \
1013 •for<200> •CS<200>-•types<200>.•</data>
1014 <data>•\uFF92\uFF76\uFF9E<400> •</data>
1015
1016 <locale en_US_POSIX>
1017 <word>
1018 <data>•Can't<200> •have<200> •breaks<200> •in<200> •xx<200>:•yy<200> •or<200> •struct<200>.•field<200> \
1019 •for<200> •CS<200>-•types<200>.•</data>
1020 <data>•\u06c9<200>\uc799\ufffa•</data>
1021 <data>•\uFF92\uFF76\uFF9E<400> •</data>
1022
1023
1024 # UBreakIteratorType UBRK_CHARACTER, Locale "th"
1025 # Clusters should not include spacing Thai/Lao vowels (prefix or postfix), except for [SARA] AM (cldrbug #2161).
1026 # Update: As of Unicode 6.1 root has same behavior as th for this.
1027 #
1028 # "\u0E01\u0E23\u0E30\u0E17\u0E48\u0E2D\u0E21\u0E23\u0E08\u0E19\u0E32 "
1029 # "(\u0E2A\u0E38\u0E0A\u0E32\u0E15\u0E34-\u0E08\u0E38\u0E11\u0E32\u0E21\u0E32\u0E28) "
1030 # "\u0E40\u0E14\u0E47\u0E01\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32 "
1031 # which is "กระท่อมรจนา (สุชาติ-จุฑามาศ) เด็กมีปัญหา "
1032
1033 <locale th>
1034 <char>
1035 <data>•\u0E01•\u0E23•\u0E30•\u0E17\u0E48•\u0E2D•\u0E21•\u0E23•\u0E08•\u0E19•\u0E32• •\
1036 (•\u0E2A\u0E38•\u0E0A•\u0E32•\u0E15\u0E34•-•\u0E08\u0E38•\u0E11•\u0E32•\u0E21•\u0E32•\u0E28•)• •\
1037 \u0E40•\u0E14\u0E47•\u0E01•\u0E21\u0E35•\u0E1B\u0E31•\u0E0D•\u0E2B•\u0E32• •</data>
1038
1039 # Finnish line breaking
1040 #
1041 # These rules deal with hyphens when there is a space on the leading side.
1042 # There should be a break opportunity between the space and the hyphen, and not after the hyphen.
1043 # See CLDR ticket 3029.
1044 # See ICU ticket 8151
1045
1046 <locale root>
1047 <line>
1048 <data>•abc •- •def •abc •-•def •abc- •def •abc-•def•</data> # With ASCII hyphen
1049 <data>•abc •‐ •def •abc •‐•def •abc‐ •def •abc‐•def•</data> # With Unicode u2010 hyphen
1050
1051 <locale fi>
1052 <line>
1053 # TODO: problems with Finnish line break rules cause these two lines to fail.
1054 #<data>•abc •- •def •abc •-def •abc- •def •abc-•def•</data> # With ASCII hyphen
1055 #<data>•abc •‐ •def •abc •‐def •abc‐ •def •abc‐•def•</data> # With Unicode u2010 hyphen
1056
1057 <data>•abc •- •def •abc •-def •abc- •def •</data> # With ASCII hyphen
1058 <data>•abc •‐ •def •abc •‐def •abc‐ •def •</data> # With Unicode u2010 hyphen
1059
1060 # Test for #10176 (in fi)
1061 <line>
1062 <data>•abc/•s •def•</data>
1063 <data>•abc/\u05D9 •def•</data>
1064 <data>•\u05E7\u05D7/\u05D9 •\u05DE\u05E2\u05D9\u05DC•</data>
1065 <data>•\u05D3\u05E8\u05D5\u05E9\u05D9\u05DD •\u05E9\u05D7\u05E7\u05E0\u05D9\u05DD/\u05D9\u05D5\u05EA•</data>
1066
1067 ####################################################################################
1068 #
1069 # Test CSS line break variants: strict, normal, loose
1070 #
1071 ####################################################################################
1072
1073 <locale ja@lb=strict>
1074 <line>
1075 # •no brk before 3063 •no brk before 301C•no brk btw 2026 •no brk before FF01•
1076 <data>•\u3084\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
1077
1078 <locale ja@lb=normal>
1079 <line>
1080 # •brk OK before 3063 •brk OK before 301C •no brk btw 2026 •no brk before FF01•
1081 <data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031•\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
1082
1083 <locale ja@lb=loose>
1084 <line>
1085 # •brk OK before 3063 •brk OK before 301C •brk OK btw 2026 •brk OK before FF01•
1086 <data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031•\u301C\u0020•\u2026•\u2026\u0020•u30A2•\uFF01\u0020•</data>
1087
1088 <locale en@lb=strict>
1089 <line>
1090 # •no brk before 3063 •no brk before 301C•no brk btw 2026 •no brk before FF01•
1091 <data>•\u3084\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
1092
1093 <locale en@lb=normal>
1094 <line>
1095 # •brk OK before 3063 •no brk before 301C •no brk btw 2026 •no brk before FF01•
1096 <data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
1097
1098 <locale en@lb=loose>
1099 <line>
1100 # •brk OK before 3063 •no brk before 301C •brk OK btw 2026 •no brk before FF01•
1101 <data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026•\u2026\u0020•u30A2\uFF01\u0020•</data>
1102
1103 ####################################################################################
1104 #
1105 # Test Apple early change of lb class for 22EF
1106 #
1107 ####################################################################################
1108
1109 <locale en>
1110 <line>
1111 <data>•\u4E00\u2026\u2026•\u4E00\u22EF\u22EF•\u4E00\u0020•</data>
1112
1113 ####################################################################################
1114 #
1115 # Test Apple early change of cjdict
1116 #
1117 ####################################################################################
1118
1119 <locale en>
1120 <word>
1121 <data>•ジョージア<400> •</data>
1122 <data>•主场<400>客场<400>干练<400>条码<400>杯具<400>温婉<400>猕猴桃<400>肌肤<400>黑头<400>话唠<400>话痨<400> •</data>
1123
1124 ####################################################################################
1125 #
1126 # Test Apple early change of thaidict
1127 #
1128 ####################################################################################
1129
1130 <locale th>
1131 <line>
1132 <data>•อัปเดต•อีเวนต์•</data>
1133
1134 ####################################################################################
1135 #
1136 # Apple tests for currency break per <rdar://problem/24359173>
1137 #
1138 ####################################################################################
1139
1140 <locale en>
1141 <line>
1142 <data>•CN¥522.5•</data>
1143 <locale zh>
1144 <line>
1145 <data>•¥522.5•</data>
1146
1147 ####################################################################################
1148 #
1149 # Apple tests for @lw=keepall per <rdar://problem/11679343&16501490>
1150 # Default changes per <rdar://problem/23224717>
1151 #
1152 ####################################################################################
1153
1154 <locale ko>
1155 <line>
1156 <data>•\uBAA8\uB4E0 •\uC778\uB958 •\uAD6C\uC131\uC6D0\uC758 •\uCC9C\uBD80\uC758 •\uC874\uC5C4\uC131\uACFC •\uB3D9\uB4F1\uD558\uACE0 •\uC591\uB3C4\uD560•</data>
1157
1158 <locale ko@lw=keepall>
1159 <line>
1160 <data>•\uBAA8\uB4E0 •\uC778\uB958 •\uAD6C\uC131\uC6D0\uC758 •\uCC9C\uBD80\uC758 •\uC874\uC5C4\uC131\uACFC •\uB3D9\uB4F1\uD558\uACE0 •\uC591\uB3C4\uD560•</data>
1161
1162 <locale ko@lw=normal>
1163 <line>
1164 <data>•\uBAA8•\uB4E0 •\uC778•\uB958 •\uAD6C•\uC131•\uC6D0•\uC758 •\uCC9C•\uBD80•\uC758 •\uC874•\uC5C4•\uC131•\uACFC •\uB3D9•\uB4F1•\uD558•\uACE0 •\uC591•\uB3C4•\uD560•</data>
1165
1166 ####################################################################################
1167 #
1168 # Test breaks for emoji clusters (same for all locales, mostly the same for all break types)
1169 #
1170 ####################################################################################
1171
1172 <locale root>
1173
1174 <char>
1175 # woman zwj woman zwj girl zwj girl, woman/fitz-1-2 zwj woman/fitz-4 zwj boy/fitz-6
1176 <data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•\U0001F469\U0001F3FB\u200D\U0001F469\U0001F3FD\u200D\U0001F466\U0001F3FF•</data>
1177 # woman zwj baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
1178 <data>•\U0001F469\u200D\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
1179 # man zwj hvy_blk_heart zwj man, woman, man zwj hvy_blk_heart/evar zwj man, woman
1180 <data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
1181 # woman zwj hvy_blk_heart/evar zwj kiss_mark zwj woman, sleuth/fitz-4, horse_racing/fitz-5
1182 <data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F575\U0001F3FD•\U0001F3C7\U0001F3FE•</data>
1183 # victory_hand/evar, victory_hand/evar/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5, space,
1184 <data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE•\u0020•</data>
1185 # writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
1186 <data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8•\u0020•</data>
1187 # family (man, boy, boy), family (woman, girl), space
1188 <data>•\U0001F468\u200D\U0001F466\u200D\U0001F466•\U0001F469\u200D\U0001F467•\u0020•</data>
1189 # rainbow flag using evar, rainbow flag no evar, space
1190 <data>•\U0001F3F3\uFE0F\u200D\U0001F308•\U0001F3F3\u200D\U0001F308•\u0020•</data>
1191 # woman with ball using evar, woman with ball no evar, woman with ball fitz 4 using evar, woman with ball fitz 4 no evar, space
1192 <data>•\u26F9\uFE0F\u200D\u2640\uFE0F•\u26F9\u200D\u2640•\u26F9\U0001F3FD\u200D\u2640\uFE0F•\u26F9\U0001F3FD\u200D\u2640•\u0020•</data>
1193 # woman runner using evar, woman runner no evar, woman runner fitz 4 using evar, woman runner fitz 4 no evar, space
1194 <data>•\U0001F3C3\u200D\u2640\uFE0F•\U0001F3C3\u200D\u2640•\U0001F3C3\U0001F3FD\u200D\u2640\uFE0F•\U0001F3C3\U0001F3FD\u200D\u2640•\u0020•</data>
1195 # 9.0 + professions
1196 # black heart, fitz 4, squid, fitz4, man dancing /fitz4, mother xmas /fitz4
1197 <data>•\U0001F5A4•\U0001F3FD•\U0001F991•\U0001F3FD•\U0001F57A\U0001F3FD•\U0001F936\U0001F3FD•\u0020•</data>
1198 # facepalm, facepalm / fitz4, facepalm + woman +var, facepalm + woman -var, facepalm/fitz4 + woman +var, facepalm/fitz4 + woman -var
1199 <data>•\U0001F926•\U0001F926\U0001F3FD•\U0001F926\u200D\u2640\uFE0F•\U0001F926\u200D\u2640•\U0001F926\U0001F3FD\u200D\u2640\uFE0F•\U0001F926\U0001F3FD\u200D\u2640•\u0020•</data>
1200 # handball, handball / fitz4, handball + man +var, handball + man -var, handball/fitz4 + man +var, handball/fitz4 + man -var
1201 <data>•\U0001F93E•\U0001F93E\U0001F3FD•\U0001F93E\u200D\u2642\uFE0F•\U0001F93E\u200D\u2642•\U0001F93E\U0001F3FD\u200D\u2642\uFE0F•\U0001F93E\U0001F3FD\u200D\u2642•\u0020•</data>
1202 # man health worker +var, man health worker -var, man health worker / fitz4 +var, man health worker / fitz4 -var
1203 <data>•\U0001F468\u200D\u2695\uFE0F•\U0001F468\u200D\u2695•\U0001F468\U0001F3FD\u200D\u2695\uFE0F•\U0001F468\U0001F3FD\u200D\u2695•\u0020•</data>
1204 # woman astronaut, woman astronaut / fitz4
1205 <data>•\U0001F469\u200D\U0001F680•\U0001F469\U0001F3FD\u200D\U0001F680•\u0020•</data>
1206 # modifier bases added in emoji 4.0
1207 # SNOWBOARDER/fitz-3, HORSE RACING/fitz-4, GOLFER/fitz-5, MAN IN BUSINESS SUIT LEVITATING/fitz-6, SLEEPING ACCOMMODATION/fitz-12, space
1208 <data>•\U0001F3C2\U0001F3FC•\U0001F3C7\U0001F3FD•\U0001F3CC\U0001F3FE•\U0001F574\U0001F3FF•\U0001F6CC\U0001F3FB•\u0020•</data>
1209 # test kiss: man, man with variation selector <rdar://problem/30614982>
1210 <data>•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F468•\u0020•</data>
1211 # modifier bases we do not support, but other platforms do
1212 # family/fitz-3, TWO WOMEN HOLDING HANDS/fitz-4, WOMAN WITH BUNNY EARS/fitz-5, HANDSHAKE/fitz-6, WRESTLERS/fitz-12, space
1213 <data>•\U0001F46A\U0001F3FC•\U0001F46D\U0001F3FD•\U0001F46F\U0001F3FE•\U0001F91D\U0001F3FF•\U0001F93C\U0001F3FB•\u0020•</data>
1214
1215 # flags1 AE AF AL AM AO AR AT
1216 <data>•\U0001F1E6\U0001F1EA•\U0001F1E6\U0001F1EB•\U0001F1E6\U0001F1F1•\U0001F1E6\U0001F1F2•\U0001F1E6\U0001F1F4•\U0001F1E6\U0001F1F7•\U0001F1E6\U0001F1F9•</data>
1217 # flags2 AU AZ BA BD BE BF BG
1218 <data>•\U0001F1E6\U0001F1FA•\U0001F1E6\U0001F1FF•\U0001F1E7\U0001F1E6•\U0001F1E7\U0001F1E9•\U0001F1E7\U0001F1EA•\U0001F1E7\U0001F1EB•\U0001F1E7\U0001F1EC•</data>
1219 # flags3 BH BJ BN BO BR BS BT
1220 <data>•\U0001F1E7\U0001F1ED•\U0001F1E7\U0001F1EF•\U0001F1E7\U0001F1F3•\U0001F1E7\U0001F1F4•\U0001F1E7\U0001F1F7•\U0001F1E7\U0001F1F8•\U0001F1E7\U0001F1F9•</data>
1221 # flags4 BW BY BZ CA CD CF CG
1222 <data>•\U0001F1E7\U0001F1FC•\U0001F1E7\U0001F1FE•\U0001F1E7\U0001F1FF•\U0001F1E8\U0001F1E6•\U0001F1E8\U0001F1E9•\U0001F1E8\U0001F1EB•\U0001F1E8\U0001F1EC•</data>
1223 # flags5 CH CI CL CM CN CO CR
1224 <data>•\U0001F1E8\U0001F1ED•\U0001F1E8\U0001F1EE•\U0001F1E8\U0001F1F1•\U0001F1E8\U0001F1F2•\U0001F1E8\U0001F1F3•\U0001F1E8\U0001F1F4•\U0001F1E8\U0001F1F7•</data>
1225 # flags6 CU CV CY CZ DE DJ DK
1226 <data>•\U0001F1E8\U0001F1FA•\U0001F1E8\U0001F1FB•\U0001F1E8\U0001F1FE•\U0001F1E8\U0001F1FF•\U0001F1E9\U0001F1EA•\U0001F1E9\U0001F1EF•\U0001F1E9\U0001F1F0•</data>
1227 # flags7 DM DO DZ EC EE EG ER
1228 <data>•\U0001F1E9\U0001F1F2•\U0001F1E9\U0001F1F4•\U0001F1E9\U0001F1FF•\U0001F1EA\U0001F1E8•\U0001F1EA\U0001F1EA•\U0001F1EA\U0001F1EC•\U0001F1EA\U0001F1F7•</data>
1229 # flags8 ES ET FI FJ FR GA GB
1230 <data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F9•\U0001F1EB\U0001F1EE•\U0001F1EB\U0001F1EF•\U0001F1EB\U0001F1F7•\U0001F1EC\U0001F1E6•\U0001F1EC\U0001F1E7•</data>
1231 # flags9 GE GH GM GN GR GT GW
1232 <data>•\U0001F1EC\U0001F1EA•\U0001F1EC\U0001F1ED•\U0001F1EC\U0001F1F2•\U0001F1EC\U0001F1F3•\U0001F1EC\U0001F1F7•\U0001F1EC\U0001F1F9•\U0001F1EC\U0001F1FC•</data>
1233 # flags10 GY HK HN HR HT HU ID
1234 <data>•\U0001F1EC\U0001F1FE•\U0001F1ED\U0001F1F0•\U0001F1ED\U0001F1F3•\U0001F1ED\U0001F1F7•\U0001F1ED\U0001F1F9•\U0001F1ED\U0001F1FA•\U0001F1EE\U0001F1E9•</data>
1235 # flags11 IE IL IN IQ IR IS IT
1236 <data>•\U0001F1EE\U0001F1EA•\U0001F1EE\U0001F1F1•\U0001F1EE\U0001F1F3•\U0001F1EE\U0001F1F6•\U0001F1EE\U0001F1F7•\U0001F1EE\U0001F1F8•\U0001F1EE\U0001F1F9•</data>
1237 # flags12 JM JO JP KE KG KH KR
1238 <data>•\U0001F1EF\U0001F1F2•\U0001F1EF\U0001F1F4•\U0001F1EF\U0001F1F5•\U0001F1F0\U0001F1EA•\U0001F1F0\U0001F1EC•\U0001F1F0\U0001F1ED•\U0001F1F0\U0001F1F7•</data>
1239 # flags13 MX MY NL NO PL PT
1240 <data>•\U0001F1F2\U0001F1FD•\U0001F1F2\U0001F1FE•\U0001F1F3\U0001F1F1•\U0001F1F3\U0001F1F4•\U0001F1F5\U0001F1F1•\U0001F1F5\U0001F1F9•</data>
1241 # flags14 RO RU SA SE SK TH TR
1242 <data>•\U0001F1F7\U0001F1F4•\U0001F1F7\U0001F1FA•\U0001F1F8\U0001F1E6•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1F0•\U0001F1F9\U0001F1ED•\U0001F1F9\U0001F1F7•</data>
1243 # flags15 UA US VN XK ZW
1244 <data>•\U0001F1FA\U0001F1E6•\U0001F1FA\U0001F1F8•\U0001F1FB\U0001F1F3•\U0001F1FD\U0001F1F0•\U0001F1FF\U0001F1FC•</data>
1245 # flagsX1 ES ES ES SE SE SE
1246 <data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•</data>
1247 # flagsX2 GB GB GB BG BG BG
1248 <data>•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•</data>
1249 # flagsXtnd AE AF AL AM AO AR
1250 <data>•\U0001F1E6\U0001F1EA\u200C•\U0001F1E6\U0001F1EB\u200C•\U0001F1E6\U0001F1F1\u200C•\U0001F1E6\U0001F1F2\u0300•\U0001F1E6\U0001F1F4\u20DE•\U0001F1E6\U0001F1F7\u200C•</data>
1251
1252 <word>
1253 # woman zwj woman zwj girl zwj girl, woman/fitz-1-2 zwj woman/fitz-4 zwj boy/fitz-6
1254 <data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•\U0001F469\U0001F3FB\u200D\U0001F469\U0001F3FD\u200D\U0001F466\U0001F3FF•</data>
1255 # woman zwj baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
1256 <data>•\U0001F469\u200D\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
1257 # man zwj hvy_blk_heart zwj man, woman, man zwj hvy_blk_heart/evar zwj man, woman
1258 <data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
1259 # woman zwj hvy_blk_heart/evar zwj kiss_mark zwj woman, sleuth/fitz-4, horse_racing/fitz-5
1260 <data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F575\U0001F3FD•\U0001F3C7\U0001F3FE•</data>
1261 # victory_hand/evar, victory_hand/evar/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5, space,
1262 <data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE•\u0020•</data>
1263 # writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
1264 <data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8•\u0020•</data>
1265 # family (man, boy, boy), family (woman, girl), space
1266 <data>•\U0001F468\u200D\U0001F466\u200D\U0001F466•\U0001F469\u200D\U0001F467•\u0020•</data>
1267 # rainbow flag using evar, rainbow flag no evar, space
1268 <data>•\U0001F3F3\uFE0F\u200D\U0001F308•\U0001F3F3\u200D\U0001F308•\u0020•</data>
1269 # woman with ball using evar, woman with ball no evar, woman with ball fitz 4 using evar, woman with ball fitz 4 no evar, space
1270 <data>•\u26F9\uFE0F\u200D\u2640\uFE0F•\u26F9\u200D\u2640•\u26F9\U0001F3FD\u200D\u2640\uFE0F•\u26F9\U0001F3FD\u200D\u2640•\u0020•</data>
1271 # woman runner using evar, woman runner no evar, woman runner fitz 4 using evar, woman runner fitz 4 no evar, space
1272 <data>•\U0001F3C3\u200D\u2640\uFE0F•\U0001F3C3\u200D\u2640•\U0001F3C3\U0001F3FD\u200D\u2640\uFE0F•\U0001F3C3\U0001F3FD\u200D\u2640•\u0020•</data>
1273 # 9.0 + professions
1274 # black heart, fitz 4, squid, fitz4, man dancing /fitz4, mother xmas /fitz4
1275 <data>•\U0001F5A4•\U0001F3FD•\U0001F991•\U0001F3FD•\U0001F57A\U0001F3FD•\U0001F936\U0001F3FD•\u0020•</data>
1276 # facepalm, facepalm / fitz4, facepalm + woman +evar, facepalm + woman -evar, facepalm/fitz4 + woman +evar, facepalm/fitz4 + woman -evar
1277 <data>•\U0001F926•\U0001F926\U0001F3FD•\U0001F926\u200D\u2640\uFE0F•\U0001F926\u200D\u2640•\U0001F926\U0001F3FD\u200D\u2640\uFE0F•\U0001F926\U0001F3FD\u200D\u2640•\u0020•</data>
1278 # handball, handball / fitz4, handball + man +evar, handball + man -evar, handball/fitz4 + man +evar, handball/fitz4 + man -evar
1279 <data>•\U0001F93E•\U0001F93E\U0001F3FD•\U0001F93E\u200D\u2642\uFE0F•\U0001F93E\u200D\u2642•\U0001F93E\U0001F3FD\u200D\u2642\uFE0F•\U0001F93E\U0001F3FD\u200D\u2642•\u0020•</data>
1280 # man health worker +evar, man health worker -evar, man health worker / fitz4 +evar, man health worker / fitz4 -evar
1281 <data>•\U0001F468\u200D\u2695\uFE0F•\U0001F468\u200D\u2695•\U0001F468\U0001F3FD\u200D\u2695\uFE0F•\U0001F468\U0001F3FD\u200D\u2695•\u0020•</data>
1282 # woman astronaut, woman astronaut / fitz4
1283 <data>•\U0001F469\u200D\U0001F680•\U0001F469\U0001F3FD\u200D\U0001F680•\u0020•</data>
1284 # modifier bases added in emoji 4.0
1285 # SNOWBOARDER/fitz-3, HORSE RACING/fitz-4, GOLFER/fitz-5, MAN IN BUSINESS SUIT LEVITATING/fitz-6, SLEEPING ACCOMMODATION/fitz-12, space
1286 <data>•\U0001F3C2\U0001F3FC•\U0001F3C7\U0001F3FD•\U0001F3CC\U0001F3FE•\U0001F574\U0001F3FF•\U0001F6CC\U0001F3FB•\u0020•</data>
1287 # modifier bases we do not support, but other platforms do
1288 # family/fitz-3, TWO WOMEN HOLDING HANDS/fitz-4, WOMAN WITH BUNNY EARS/fitz-5, HANDSHAKE/fitz-6, WRESTLERS/fitz-12, space
1289 <data>•\U0001F46A\U0001F3FC•\U0001F46D\U0001F3FD•\U0001F46F\U0001F3FE•\U0001F91D\U0001F3FF•\U0001F93C\U0001F3FB•\u0020•</data>
1290
1291 # flags1 AE AF AL AM AO AR AT
1292 <data>•\U0001F1E6\U0001F1EA•\U0001F1E6\U0001F1EB•\U0001F1E6\U0001F1F1•\U0001F1E6\U0001F1F2•\U0001F1E6\U0001F1F4•\U0001F1E6\U0001F1F7•\U0001F1E6\U0001F1F9•</data>
1293 # flags2 AU AZ BA BD BE BF BG
1294 <data>•\U0001F1E6\U0001F1FA•\U0001F1E6\U0001F1FF•\U0001F1E7\U0001F1E6•\U0001F1E7\U0001F1E9•\U0001F1E7\U0001F1EA•\U0001F1E7\U0001F1EB•\U0001F1E7\U0001F1EC•</data>
1295 # flags3 BH BJ BN BO BR BS BT
1296 <data>•\U0001F1E7\U0001F1ED•\U0001F1E7\U0001F1EF•\U0001F1E7\U0001F1F3•\U0001F1E7\U0001F1F4•\U0001F1E7\U0001F1F7•\U0001F1E7\U0001F1F8•\U0001F1E7\U0001F1F9•</data>
1297 # flags4 BW BY BZ CA CD CF CG
1298 <data>•\U0001F1E7\U0001F1FC•\U0001F1E7\U0001F1FE•\U0001F1E7\U0001F1FF•\U0001F1E8\U0001F1E6•\U0001F1E8\U0001F1E9•\U0001F1E8\U0001F1EB•\U0001F1E8\U0001F1EC•</data>
1299 # flags5 CH CI CL CM CN CO CR
1300 <data>•\U0001F1E8\U0001F1ED•\U0001F1E8\U0001F1EE•\U0001F1E8\U0001F1F1•\U0001F1E8\U0001F1F2•\U0001F1E8\U0001F1F3•\U0001F1E8\U0001F1F4•\U0001F1E8\U0001F1F7•</data>
1301 # flags6 CU CV CY CZ DE DJ DK
1302 <data>•\U0001F1E8\U0001F1FA•\U0001F1E8\U0001F1FB•\U0001F1E8\U0001F1FE•\U0001F1E8\U0001F1FF•\U0001F1E9\U0001F1EA•\U0001F1E9\U0001F1EF•\U0001F1E9\U0001F1F0•</data>
1303 # flags7 DM DO DZ EC EE EG ER
1304 <data>•\U0001F1E9\U0001F1F2•\U0001F1E9\U0001F1F4•\U0001F1E9\U0001F1FF•\U0001F1EA\U0001F1E8•\U0001F1EA\U0001F1EA•\U0001F1EA\U0001F1EC•\U0001F1EA\U0001F1F7•</data>
1305 # flags8 ES ET FI FJ FR GA GB
1306 <data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F9•\U0001F1EB\U0001F1EE•\U0001F1EB\U0001F1EF•\U0001F1EB\U0001F1F7•\U0001F1EC\U0001F1E6•\U0001F1EC\U0001F1E7•</data>
1307 # flags9 GE GH GM GN GR GT GW
1308 <data>•\U0001F1EC\U0001F1EA•\U0001F1EC\U0001F1ED•\U0001F1EC\U0001F1F2•\U0001F1EC\U0001F1F3•\U0001F1EC\U0001F1F7•\U0001F1EC\U0001F1F9•\U0001F1EC\U0001F1FC•</data>
1309 # flags10 GY HK HN HR HT HU ID
1310 <data>•\U0001F1EC\U0001F1FE•\U0001F1ED\U0001F1F0•\U0001F1ED\U0001F1F3•\U0001F1ED\U0001F1F7•\U0001F1ED\U0001F1F9•\U0001F1ED\U0001F1FA•\U0001F1EE\U0001F1E9•</data>
1311 # flags11 IE IL IN IQ IR IS IT
1312 <data>•\U0001F1EE\U0001F1EA•\U0001F1EE\U0001F1F1•\U0001F1EE\U0001F1F3•\U0001F1EE\U0001F1F6•\U0001F1EE\U0001F1F7•\U0001F1EE\U0001F1F8•\U0001F1EE\U0001F1F9•</data>
1313 # flags12 JM JO JP KE KG KH KR
1314 <data>•\U0001F1EF\U0001F1F2•\U0001F1EF\U0001F1F4•\U0001F1EF\U0001F1F5•\U0001F1F0\U0001F1EA•\U0001F1F0\U0001F1EC•\U0001F1F0\U0001F1ED•\U0001F1F0\U0001F1F7•</data>
1315 # flags13 MX MY NL NO PL PT
1316 <data>•\U0001F1F2\U0001F1FD•\U0001F1F2\U0001F1FE•\U0001F1F3\U0001F1F1•\U0001F1F3\U0001F1F4•\U0001F1F5\U0001F1F1•\U0001F1F5\U0001F1F9•</data>
1317 # flags14 RO RU SA SE SK TH TR
1318 <data>•\U0001F1F7\U0001F1F4•\U0001F1F7\U0001F1FA•\U0001F1F8\U0001F1E6•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1F0•\U0001F1F9\U0001F1ED•\U0001F1F9\U0001F1F7•</data>
1319 # flags15 UA US VN XK ZW
1320 <data>•\U0001F1FA\U0001F1E6•\U0001F1FA\U0001F1F8•\U0001F1FB\U0001F1F3•\U0001F1FD\U0001F1F0•\U0001F1FF\U0001F1FC•</data>
1321 # flagsX1 ES ES ES SE SE SE
1322 <data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•</data>
1323 # flagsX2 GB GB GB BG BG BG
1324 <data>•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•</data>
1325 # flagsXtnd AE AF AL AM AO AR
1326 <data>•\U0001F1E6\U0001F1EA\u200C•\U0001F1E6\U0001F1EB\u200C•\U0001F1E6\U0001F1F1\u200C•\U0001F1E6\U0001F1F2\u0300•\U0001F1E6\U0001F1F4\u20DE•\U0001F1E6\U0001F1F7\u200C•</data>
1327
1328 <line>
1329 # woman zwj woman zwj girl zwj girl
1330 <data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•</data>
1331 # woman zwj baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
1332 <data>•\U0001F469\u200D\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
1333 # man zwj hvy_blk_heart zwj man, woman, man zwj hvy_blk_heart/evar zwj man, woman
1334 <data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
1335 # woman zwj hvy_blk_heart/evar zwj kiss_mark zwj woman, sleuth/fitz-4, horse_racing/fitz-5
1336 <data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F575\U0001F3FD•\U0001F3C7\U0001F3FE•</data>
1337 # victory_hand/evar, victory_hand/evar/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5 space,
1338 <data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE\u0020•</data>
1339 # writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
1340 <data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8\u0020•</data>
1341 # family (man, boy, boy), family (woman, girl), space
1342 <data>•\U0001F468\u200D\U0001F466\u200D\U0001F466•\U0001F469\u200D\U0001F467\u0020•</data>
1343 # rainbow flag using evar, rainbow flag no evar, space
1344 <data>•\U0001F3F3\uFE0F\u200D\U0001F308•\U0001F3F3\u200D\U0001F308\u0020•</data>
1345 # woman with ball using evar, woman with ball no evar, woman with ball fitz 4 using evar, woman with ball fitz 4 no evar, space
1346 <data>•\u26F9\uFE0F\u200D\u2640\uFE0F•\u26F9\u200D\u2640•\u26F9\U0001F3FD\u200D\u2640\uFE0F•\u26F9\U0001F3FD\u200D\u2640\u0020•</data>
1347 # woman runner using evar, woman runner no evar, woman runner fitz 4 using evar, woman runner fitz 4 no evar, space
1348 <data>•\U0001F3C3\u200D\u2640\uFE0F•\U0001F3C3\u200D\u2640•\U0001F3C3\U0001F3FD\u200D\u2640\uFE0F•\U0001F3C3\U0001F3FD\u200D\u2640\u0020•</data>
1349 # 9.0 + professions
1350 # black heart, fitz 4, squid, fitz4, man dancing /fitz4, mother xmas /fitz4
1351 <data>•\U0001F5A4•\U0001F3FD•\U0001F991•\U0001F3FD•\U0001F57A\U0001F3FD•\U0001F936\U0001F3FD\u0020•</data>
1352 # facepalm, facepalm / fitz4, facepalm + woman +evar, facepalm + woman -evar, facepalm/fitz4 + woman +evar, facepalm/fitz4 + woman -evar
1353 <data>•\U0001F926•\U0001F926\U0001F3FD•\U0001F926\u200D\u2640\uFE0F•\U0001F926\u200D\u2640•\U0001F926\U0001F3FD\u200D\u2640\uFE0F•\U0001F926\U0001F3FD\u200D\u2640\u0020•</data>
1354 # handball, handball / fitz4, handball + man +evar, handball + man -evar, handball/fitz4 + man +evar, handball/fitz4 + man -evar
1355 <data>•\U0001F93E•\U0001F93E\U0001F3FD•\U0001F93E\u200D\u2642\uFE0F•\U0001F93E\u200D\u2642•\U0001F93E\U0001F3FD\u200D\u2642\uFE0F•\U0001F93E\U0001F3FD\u200D\u2642\u0020•</data>
1356 # man health worker +evar, man health worker -evar, man health worker / fitz4 +evar, man health worker / fitz4 -evar
1357 <data>•\U0001F468\u200D\u2695\uFE0F•\U0001F468\u200D\u2695•\U0001F468\U0001F3FD\u200D\u2695\uFE0F•\U0001F468\U0001F3FD\u200D\u2695\u0020•</data>
1358 # woman astronaut, woman astronaut / fitz4
1359 <data>•\U0001F469\u200D\U0001F680•\U0001F469\U0001F3FD\u200D\U0001F680\u0020•</data>
1360 # modifier bases added in emoji 4.0
1361 # SNOWBOARDER/fitz-3, HORSE RACING/fitz-4, GOLFER/fitz-5, MAN IN BUSINESS SUIT LEVITATING/fitz-6, SLEEPING ACCOMMODATION/fitz-12 space
1362 <data>•\U0001F3C2\U0001F3FC•\U0001F3C7\U0001F3FD•\U0001F3CC\U0001F3FE•\U0001F574\U0001F3FF•\U0001F6CC\U0001F3FB\u0020•</data>
1363 # modifier bases we do not support, but other platforms do
1364 # family/fitz-3, TWO WOMEN HOLDING HANDS/fitz-4, WOMAN WITH BUNNY EARS/fitz-5, HANDSHAKE/fitz-6, WRESTLERS/fitz-12 space
1365 <data>•\U0001F46A\U0001F3FC•\U0001F46D\U0001F3FD•\U0001F46F\U0001F3FE•\U0001F91D\U0001F3FF•\U0001F93C\U0001F3FB\u0020•</data>
1366
1367 # no special flags handling for line
1368
1369 <locale ja@lb=loose>
1370 <line>
1371 # woman zwj woman zwj girl zwj girl
1372 <data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•</data>
1373 # woman zwj baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
1374 <data>•\U0001F469\u200D\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
1375 # man zwj hvy_blk_heart zwj man, woman, man zwj hvy_blk_heart/evar zwj man, woman
1376 <data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
1377 # woman zwj hvy_blk_heart/evar zwj kiss_mark zwj woman, sleuth/fitz-4, horseRacing/fitz-5
1378 <data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F575\U0001F3FD•\U0001F3C7\U0001F3FE•</data>
1379 # victory_hand/evar, victory_hand/evar/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5 space,
1380 <data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE\u0020•</data>
1381 # writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
1382 <data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8\u0020•</data>
1383 # 9.0 + professions
1384 # black heart, fitz 4, squid, fitz4, man dancing /fitz4, mother xmas /fitz4
1385 <data>•\U0001F5A4•\U0001F3FD•\U0001F991•\U0001F3FD•\U0001F57A\U0001F3FD•\U0001F936\U0001F3FD\u0020•</data>
1386 # facepalm, facepalm / fitz4, facepalm + woman +evar, facepalm + woman -evar, facepalm/fitz4 + woman +evar, facepalm/fitz4 + woman -evar
1387 <data>•\U0001F926•\U0001F926\U0001F3FD•\U0001F926\u200D\u2640\uFE0F•\U0001F926\u200D\u2640•\U0001F926\U0001F3FD\u200D\u2640\uFE0F•\U0001F926\U0001F3FD\u200D\u2640\u0020•</data>
1388 # handball, handball / fitz4, handball + man +evar, handball + man -evar, handball/fitz4 + man +evar, handball/fitz4 + man -evar
1389 <data>•\U0001F93E•\U0001F93E\U0001F3FD•\U0001F93E\u200D\u2642\uFE0F•\U0001F93E\u200D\u2642•\U0001F93E\U0001F3FD\u200D\u2642\uFE0F•\U0001F93E\U0001F3FD\u200D\u2642\u0020•</data>
1390 # man health worker +evar, man health worker -evar, man health worker / fitz4 +evar, man health worker / fitz4 -evar
1391 <data>•\U0001F468\u200D\u2695\uFE0F•\U0001F468\u200D\u2695•\U0001F468\U0001F3FD\u200D\u2695\uFE0F•\U0001F468\U0001F3FD\u200D\u2695\u0020•</data>
1392 # woman astronaut, woman astronaut / fitz4
1393 <data>•\U0001F469\u200D\U0001F680•\U0001F469\U0001F3FD\u200D\U0001F680\u0020•</data>
1394 # modifiers we do not support, but other platforms do
1395 # family/fitz-3, wrestlers/fitz-4, space
1396 <data>•\U0001F46A\U0001F3FC•\U0001F93C\U0001F3FD\u0020•</data>
1397
1398 # no special flags handling for line