﻿# Copyright (c) 2001-2013 International Business Machines
# Corporation and others. All Rights Reserved.
#
# RBBI Test Data
#
#   File:  rbbitst.txt
#
#     The format of this file looks vaguely like some kind of xml-ish markup,
#     but it is NOT.  The syntax is this..
#
#   <word>    any following data is for word break testing
#   <sent>    any following data is for sentence break testing
#   <line>    any following data is for line break testing
#   <char>    any following data is for char break testing
#   <locale local_name>  Switch to the named locale at the next occurence of <word>, <sent>, etc.
#   <data> ... </data>   test data.  May span multiple lines.
#      <>        Break position, status == 0
#      •         Break position, status == 0   (Bullet, \u2022) 
#      <nnn>     Break position, status == nnn
#      \         Escape.  Normal ICU unescape applied.  
#      \ at end of line  ->  Line Continuation.  Remove both the backslash and the new line
#   
# In ICU4C, this test data is run by intltest, rbbi/RBBITest/TestExtended.
# In ICU4J, this test data is run by com.ibm.icu.dev.test.rbbi.RBBITestExtended
#
# There are two copies of this file in the source repository,
#   [ICU4C]   source/test/testdata/rbbitst.txt
#   [ICU4J]   main/tests/core/src/com/ibm/icu/dev/test/rbbi/rbbitst.txt
#
# ICU4C's copy is the master.  If any changes are made to ICU4J's copy, make sure they
#  are merged back into ICU4C's copy of the file, lest they get overwritten later.
# TODO:  figure out how to have a single copy of the file for use by both C and Java.


#   Temp debugging tests 
<char>
<data>•\U00010020•\U00010000\u0301•x•</data>
<data>•\U00010020•\U00010000\N{COMBINING MACRON}•</data>

########################################################################################
#
#
#       G r a p h e m e    C l u s t e r     T e s t s
#
#
##########################################################################################
<char>

<data>•a•b•c• •,•\u0666•</data>                 # Quick Test
<data>•\r•\r•\r\n•\r\n•\n•\r•</data>            # don't break CR/LF

# Always break after controls.  Combining chars don't combine with them.
<data>•\u0003•\N{COMBINING GRAVE ACCENT}•\r•\N{COMBINING GRAVE ACCENT}•</data>
<data>•\u0085•\N{COMBINING MACRON}•A\N{COMBINING MACRON}•</data>

# Surrogates
<data>•\U00011000•\U00010020•\U00010000\N{COMBINING MACRON}•</data>
<data>•\ud800\udc00•\udbff\udfff•a•</data>

# Extend (Combining chars) combine.
<data>•A\N{COMBINING GRAVE ACCENT}•B•</data>
<data>•\N{GREEK SMALL LETTER MU}\N{COMBINING LOW LINE}\N{COMBINING HORN}•</data>
<data>•a\u0301•b\u0302•c\u0303•d\u0304•e\u0305•f\u0306•g\u0307•h\u0308•i\u0309•</data>

<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>

# Don't break Hangul Syllables
#   L : \u1100
#   V : \u1161
#   T : \u11A8
#  LV : \uAC00
# LVT : \uAC01

<data>•\u1100\u1161\u11a8•\u1100\u1161\u11a8•</data>  #LVT
<data>•\u1100\u1161•\u1100\u1161•</data> 
<data>•\u1100\u1161\u11a8•\u1161•\u1100•\u11a8•\u1161\u1161\u1161\u11a8•</data>
<data>•\u1100\u1100\uac01•\u1100\uac01•\u1100\uac01\u0301•\uac01•</data>
<data>•\u1100\u0301•\u1161\u11a8\u0301•\u11a8•</data>



# Hindi combining chars.  (An old test)
#   TODO:  Update these tests for Unicode 5.1 Extended Grapheme clusters 
#<data>•भ••ा•\u0930•\u0924• •\u0938\u0941\u0902•\u0926•\u0930•
#•\u0939•\u094c•\u0964•</data>
#<data>•\u0916\u0947•\u0938\u0941\u0902•\u0926•\u0930•\u0939•\u094c•\u0964•</data>


#  Bug 1587.  Tamil.  \u0baa\u0bc1 is an Extended Grpaheme Cluster
<data>•\u0baa\u0bc1•\u0baa\u0bc1•</data>

#   Regression test for bug 1889
<data>•\u0f40\u0f7d•\u0000•\u0f7e•</data>


#     0xffff is a legal character, and should not stop the break iterator early.
#     (Requires special casing in implementation, which is why it gets a test.)
<data>•\uffff•\uffff• •a•</data>

#  Treat Japanese Half Width voicing marks as combining
<data>•A\uff9e•B\uff9f\uff9e\uff9f•C•</data>

########################################################################################
#
#
#       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
#
#
##########################################################################################
#<xgc>

# Plain Vanilla grapheme clusters
#<data>•a•b•c•</data>
#<data>•a\u0301\u0302• •b\u0303\u0304•</data>

# Assorted Hindi combining marks
#<data>•\u0904\u0903• •\u0937\u093E• •\u0904\u093F• •\u0937\u0940• •\u0937\u0949• •\u0937\u094A• •\u0937\u094B• •\u0937\u094C•</data>

# Thai Clusters
# $Prepend $Extend* $PrependBase $Extend*;
#
#<data>•\u0e40\u0e01•\u0e44\u0301\u0e23\u0302\u0303•\u0e40•\u0e40\u0e02•\u0e02• •</data>


########################################################################################
#
#
#       W o r d    B o u n d a r y      T e s t s
#
#
##########################################################################################

<word>
#
# Quick sanity test
#
<data>•hello<200> •there<200> •goodbye<200></data>
<data>•hello<200> •12345<100> •,•</data>


#
# Test data originally in RBBIAPITest::TestFirstNextFollowing() and TestLastPreviousPreceding()
#

<word>
<data>•This<200> •is<200> •a<200> •word<200> •break<200>.• • •Isn't<200> •it<200>?• •2.25<100></data>



#
# Data originally from TestDefaultRuleBasedWordIteration()
#
<data>•Write<200> •wordrules<200>.• •123.456<100> •alpha\u00adbeta\u00adgamma<200> •\u092f\u0939<200> •</data>
<data>• •\u0939\u093f\u0928\u094d\u200d\u0926\u0940<200> •\u0939\u0948<200> •\u0905\u093e\u092a<200> •\u0938\u093f\u0916\u094b\u0917\u0947<200>?•</data>

#Hindi Numbers
<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>

<data>•\u0938\u094d\u200d\u0935\u0924\u0902deadTA\u0930<200>\r•It's<200> •$•30.10<100> •12,34<100>¢•£•¤•¥•alpha\u05f3beta\u05f4gamma<200> •</data>

<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>

#Hangul
<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>


# Words containing non-BMP letters
<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>

# Unassigned code points
<data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>

# Hiragana & Katakana stay together, but separates from each other and Latin.
# *** what to do about theoretical combos of chars? i.e. hiragana + accent
#<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>

# test normalization/dictionary handling of halfwidth katakana: same dictionary phrase in fullwidth and halfwidth
<data>•芽キャベツ<400>芽キャﾍﾞツ<400></data>

# more Japanese tests
# TODO: Currently, U+30FC and other characters (script=common) in the Hiragana
# and the Katakana block are not treated correctly. Enable this later.
#<data>•どー<400>せ<400>日本語<400>を<400>勉強<400>する<400>理由<400>について<400>　•て<400>こと<400>は<400>我<400>でも<400>知<400>ら<400>も<400>い<400>こと<400>なん<400>だ<400>。•</data>
<data>•日本語<400>を<400>勉強<400>する<400>理由<400>について<400>　•て<400>こと<400>は<400>我<400>でも<400>知<400>ら<400>も<400>い<400>こと<400>なん<400>だ<400>。•</data>

# Testing of word boundary for dictionary word containing both kanji and kana
<data>•中だるみ<400>蔵王の森<400>ウ離島<400></data>

# Testing of Chinese segmentation (taken from a Chinese news article)
<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>

# Words with interior formatting characters
<data>•def\N{COMBINING ACUTE ACCENT}\N{SYRIAC ABBREVIATION MARK}ghi<200> •</data>
    
# to test for bug #4097779
<data>•aa\N{COMBINING GRAVE ACCENT}a<200> •</data>

# fullwidth numeric, midletter characters etc should be treated like their halfwidth counterparts
# <data>•ＩＳＮ'Ｔ<200> •１９<100>日<400></data>
# why was this added with the dbbi stuff?

#      to test for bug #4098467
#      What follows is a string of Korean characters (I found it in the Yellow Pages
#      ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
#      it correctly), first as precomposed syllables, and then as conjoining jamo.
#      Both sequences should be semantically identical and break the same way.
#      precomposed syllables...
<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>

# more Korean tests (Jamo not tested here, not counted as dictionary characters)
# Disable them now because we don't include a Korean dictionary.
#<data>•\ud55c\uad6d<200>\ub300\ud559\uad50<200>\uc790\uc5f0<200>\uacfc\ud559<200>\ub300\ud559<200>\ubb3c\ub9ac\ud559\uacfc<200></data>
#<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>

<data>•abc<200>\u4e01<400>\u4e02<400>\u3005<400>\u4e03\u4e03<400>abc<200> •</data>

<data>•\u06c9<200>\uc799\ufffa•</data>


#      
#      Try some words from other scripts.
#     

#       Try some words from other scripts.
#          Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
#      
<data>•ΑΒΓ<200> •БВГ<200> •אבג֓<200> •ابت<200> •١٢٣<100> •\u10A0\u10A1\u10A2<200> •ABC<200> •</data>

<data>•\u0301•A<200></data>


#
#  Hindi word break tests, imported from the old RBBI tests.
#    An historical note:  a much earlier version of ICU break iterators had a number
#    of special case rules for Hindi, which were tested by an earlier version of
#    this test data.  The current RBBI rules do not special case Hindi in 
#    any way, making this test data much less signfificant.
#
<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>
•\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>

#
#  Failures from monkey tests
#
<data>•\u8527<400>\u02ba<200>\u0027\u0d42•\u00b7•\u09ea<100></data>

#
# Jitterbug 5276 - treat Japanese half width voicing marks as Grapheme Extend
#
<data>•A\uff9e\uff9fBC<200> •1\uff9e\uff9f23<100></data>

# User guide example:
<data>•Parlez<200>-•vous<200> •français<200> •?•</data>

########################################################################################
#
#
#       S e n t e n c e     B o u n d a r y      T e s t s
#
#
##########################################################################################


#
# Test data originally from RBBI RBBITest::TestDefaultRuleBasedSentenceIteration()
#
<sent>


<sent>
<data>•This\n<100></data>
<data>•Hello! •how are you? •I'am fine. •Thankyou. •How are you \
doing? •This\n<100> costs $20,00,000. •</data>


# Sentence ending in a quote.
<data>•"Sentence ending with a quote." •Bye.•</data>

# Sentence, and test data, ending without a period or other terminator.
<data>•Here is a random sentence, no ending period<100></data>


<data>•  (This is it).  •Testing the sentence iterator. •\
"This isn't it." •Hi! \
•This is a simple sample sentence. •(This is it.) •This is a simple sample sentence. •\
"This isn't it." •\
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. 
•Not on my time (el timo.)! •</data>

<data>•Hello.  •So what!!\u2029•"But now," he said, \
"I know!" •\
Harris thumbed down several, including "Away We Go" (which became the huge success Oklahoma!). •One species, B. anthracis, is highly virulent.
•Wolf said about Sounder:\
"Beautifully thought-out and directed." •\
Have you ever said, "This is where\tI shall live"? •He answered, \
"You may not!" •Another popular saying is: "How do you do?". \n•\
Yet another popular saying is: \
'I'm fine thanks.' •\
What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tall!!\
•Now\r<100>is\n<100>the\r\n<100>time\n<100>\r<100>for\r<100>\r<100></data>

<data>•No breaks when . is surrounded by UPPER.Case letters.  •</data>
<data>•No breaks when . is followed by Numeric .4 a.4 C.4 3.1 .•</data>
<data>•No breaks when . is followed by a lower, with possible intervening punct .,a .$a .)a. •</data>

#
#  Sentence Breaks: no break at the boundary between CJK and other letters
#
<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>

#
#      Treat fullwidth variants of .!? the same as their
#      normal counterparts
#
<data>•I know I'm right\uff0e •Right\uff1f •Right\uff01 •</data>


#
#       Don't break sentences at boundary between CJK and digits
#
<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>

#
#      Breaks around '(' following a sentence TERM.  (Rule 9)
#
<data>•How do you do?(•Fine). •</data>
<data>•How do you do? •(Fine). •</data>
<data>•How do you do?(•fine). •</data>
<data>•How do you do? •(fine). •</data>

#
<data>•Hello.123<100></data>    # Rule 6    
<data>•Hello?•123<100></data>  
  
<data>•HELLO.Bye<100></data>    # Rule 7    
<data>•HELLO?•Bye<100></data>    

<data>•Hello.goodbye<100></data>  #Rule 8
<data>•Hello. •Goodbye<100></data>
<data>•Hello. goodbye<100></data>



#
#        test for bug #4158381: No breaks when there are no terminators around
#
<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>
<data>•Another test.\u2029•</data>
      
#        test for bug #4143071: Make sure sentences that end with digits
#        work right
#
<data>•Today is the 27th of May, 1998.  •</data>
<data>•Tomorrow with be 28 May 1998.  •</data>
<data>•The day after will be the 30th.\u2029•</data>
      
#        test for bug #4152416: Make sure sentences ending with a capital
#        letter are treated correctly
#
<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>
      
#        test for bug #4152117: Make sure sentence breaking is handling
#        punctuation correctly [COULD NOT REPRODUCE THIS BUG, BUT TEST IS
#        HERE TO MAKE SURE IT DOESN'T CROP UP]
#
<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.  
•</data>

#        sentence breaks for hindi which used Devanagari script
#        make sure there is sentence break after ?,danda(hindi phrase separator),
#        fullstop followed by space.  (VERY old test)
#       
<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>\
\u0915\u0948\u0938\u0947 \u0939\u0948?•\u0935\u0939 \u0915\u094d\u200d\u092f\u093e\n\
<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>

#         Regression test for bug #1984, Sentence break in Arabic text.
  
<data>\
•\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>

#         Try a few more of the less common sentence endings.
<data>•Hello, world\u3002 •Hello, world\u1803 •Hello, world\u2048 •Hello, world\u203c •Let's end here. •</data>




################################################################
#
#
#        L I N E     B R E A K
#
#
################################################################

<line>
#
# Test Character for each of the line break classes.
#
# 00A1;AI # INVERTED EXCLAMATION MARK  ¡
# 0041;AL # LATIN CAPITAL LETTER A
# 0009;BA # <control>
# 00B4;BB # ACUTE ACCENT
# 000C;BK # <control>
# 2014;B2 # EM DASH
# FFFC;CB # OBJECT REPLACEMENT CHARACTER
# 0029;CL # RIGHT PARENTHESIS
# 0301;CM # COMBINING ACUTE ACCENT
# 0021;EX # EXCLAMATION MARK
# 00A0;GL # NO-BREAK SPACE
# 002D;HY # HYPHEN-MINUS
# 4E00;ID # <CJK Ideograph, First>
# 2024;IN # ONE DOT LEADER
# 002C;IS # COMMA
# 000A;LF # <control>
# 0E5A;NS # THAI CHARACTER ANGKHANKHU
# 0032;NU # DIGIT TWO
# 0028;OP # LEFT PARENTHESIS
# 0025;PO # PERCENT SIGN
# 0024;PR # DOLLAR SIGN
# 0022;QU # QUOTATION MARK
# 0E01;SA # THAI CHARACTER KO KAI
# DB7F;SG # Surrogate
# 0020;SP # SPACE
# 002F;SY # SOLIDUS /
# F8FF;XX # Private Use
# 200B;ZW # ZERO WIDTH SPACE


# 2b  Always break at end of text

<data>•  •\u00A1•</data>
<data>•  •\u0041•</data>
<data>•  •\u0009•</data>
<data>•  •\u00B4•</data>
<data>•    \u000C<100></data>    # LB3C  × BK
<data>•  •\u2014•</data>
<data>•  •\uFFFC•</data>
<data>•   \u0029•</data>    # LB 8   × CL
# <data>• • \u0301•</data>    # LB 7a   Treat SP CM* as if it were ID  #TODO:  SP CM
<data>•   \u0021•</data>    # LB 8   × EX
#<data>•   \u00A0•</data>    # LB 11b   × GL   TODO:  fix.
<data>•  •\u002D•</data>
<data>•  •\u4E00•</data>
<data>•  •\u2024•</data>
<data>•   \u002C•</data>    # LB 8   × IS
<data>•   \u000A<100></data>    # LB3C   × ( BK | CR | LF | NL )
<data>•  •\u0E5A•</data>
<data>•  •\u0032•</data>
<data>•  •\u0028•</data>
<data>•  •\u0025•</data>
<data>•  •\u0024•</data>
<data>•  •\u0022•</data>
<data>•  •\u0E01•</data>
<data>•  •\uDB7F•</data>
<data>•   \u0020•</data>     # LB4 - don't break before space.
<data>•   \u002F•</data>     # LB 8  × SY
<data>•  •\uF8FF•</data>
<data>•   \u200B•</data>     # LB4 - don't break before ZA


# 3a  Always break after hard line breaks.
# 3c  Never break before hard line breaks.

<data>•  •\u00A1\u2028<100>\u00A1•</data>
<data>•  •\u0041\u2028<100>\u0041•</data>
<data>•  •\u0009\u2028<100>\u0009•</data>
<data>•  •\u00B4\u2028<100>\u00B4•</data>
<data>•   \u000C<100>\u2028<100>\u000C<100></data>
<data>•  •\u2014\u2028<100>\u2014•</data>
<data>•  •\uFFFC\u2028<100>\uFFFC•</data>
<data>•   \u0029\u2028<100>\u0029•</data>
#<data>•   \u0301\u2028<100>\u0301•</data>    # TODO:  fix.
<data>•   \u0021\u2028<100>\u0021•</data>
#<data>•   \u00A0\u2028<100>\u00A0•</data>    # TODO:  fix
<data>•  •\u002D\u2028<100>\u002D•</data>
<data>•  •\u4E00\u2028<100>\u4E00•</data>
<data>•  •\u2024\u2028<100>\u2024•</data>
<data>•   \u002C\u2028<100>\u002C•</data>
<data>•   \u000A<100>\u2028<100>\u000A<100></data>
<data>•  •\u0E5A\u2028<100>\u0E5A•</data>
<data>•  •\u0032\u2028<100>\u0032•</data>
<data>•  •\u0028\u2028<100>\u0028•</data>
<data>•  •\u0025\u2028<100>\u0025•</data>
<data>•  •\u0024\u2028<100>\u0024•</data>
<data>•  •\u0022\u2028<100>\u0022•</data>
<data>•  •\u0E01\u2028<100>\u0E01•</data>
<data>•  •\uDB7F\u2028<100>\uDB7F•</data>
<data>•   \u0020\u2028<100>\u0020•</data>
<data>•   \u002F\u2028<100>\u002F•</data>
<data>•  •\uF8FF\u2028<100>\uF8FF•</data>
<data>•   \u200B\u2028<100>\u200B•</data>

# User Guide example

<data>•Parlez-•vous •français ?•</data>

#
#  Old Line Break Test data.  Orginally located in RBBITest::TestDefaultRuleBasedLineIteration()
#

<line>

<data>•Multi-•Level •example •of •a •semi-•idiotic •non-•sensical •(non-•important) •sentence. 
<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>

<line>
<data>•Hello! •how\r\n<100> •(are)\r<100> •you? •I'am •fine- •Thankyou. •foo\u00a0bar 
<100>How, •are, •you? •This, •costs •$20,00,000.•</data>

#     test for bug #4068133
#
<data>•\u96f6•\u4e00\u3002•\u4e8c\u3001•\u4e09\u3002\u3001•\u56db\u3001\u3002\u3001•\u4e94,•\u516d.•\u4e03.\u3001,\u3002•\u516b•</data>

#     to test for bug #4086052
<data>•foo\u00a0bar•</data>

#     to test for bug #4097920
<data>•dog,cat,mouse •(one)•(two)\n<100></data>

#     to test for bug #4035266
<data>•The •balance •is •$-23,456.78, •not •-•$32,456.78!\n<100></data>


#      to test for bug #4098467
#      What follows is a string of Korean characters (I found it in the Yellow Pages
#      ad for the Korean Presbyterian Church of San Francisco, and I hope I transcribed
#      it correctly), first as precomposed syllables, and then as conjoining jamo.
#      Both sequences should be semantically identical and break the same way.
#      precomposed syllables...  (I == Rich Gillam?)
#
<data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>

#      conjoining jamo...
<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>

#      to test for bug #4117554: Fullwidth .!? should be treated as postJwrd
<data>•\u4e01\uff0e•\u4e02\uff01•\u4e03\uff1f•</data>

#      Surrogate line break tests.
#
<data>•\u4e01•\ud840\udc01•\u4e02•abc •\ue000 •\udb80\udc01•</data>  #This line and the following are equivalent.
<data>•\u4e01•\U00020001•\u4e02•abc •\ue000 •\U000f0001•</data>

#      Regression for bug 836
#        Note:  Unicode 5.1 changed this behavior
#               Unicode 5.2 changed it again, there is no break following the '('
<data>•AAA(AAA •</data> 

#       Try some words from other scripts.
#          Greek, Cyrillic, Hebrew, Arabic, Arabic, Georgian, Latin
#      
<data>•ΑΒΓ •БВГ •אבג֓ •ابت •١٢٣ •\u10A0\u10A1\u10A2 •ABC •</data>

#
#       ticket #4853:  unpaired surrogates should behave like AL
#
<data>•abc\ud801xyz•</data>

#
#     Regression tests for failures that originally came from the monkey test.
#     Monkey test failure lines can, with slight reformatting, be copied into this section
#     as test cases.  The error display from here is more informative.
#
<data>•\ufffc•\u30e3\u000c<100>\u1b39\u300a\u002f\u203a\u200b•\ufffc•\uaf64•\udcfb•</data>
<data>•\u114d\u31f3•\ube44\u002d•\u0362\u24e2\u276e\u2014\u205f\ufe16•\uc877•\u0fd0\u000a<100>\u20a3•</data>
<data>•\u080a\u215b\U0001d7d3\u002c•\u2025\U000e012e•\u02df\u118d\u0029\ua8d6\u0085<100>\u6cc4\u2024\u202f\ufffc•</data>
 

########################################################################################
#
#
#       T i t l e   B o u n d a r y      T e s t s
#
#
##########################################################################################
<title>
<data>•Here •is •a •short •sample •sentence.  •And •another.•</data>
<data>•HERE •IS •A •SHORT •SAMPLE •SENTENCE.  •AND •ANOTHER.•</data>
<data>•  •Start •and •end •with •spaces   •</data>
<data>•Include 123 456 ^&  •some 54332 •numbers 4445•abc123•abc •ending 1223 •</data>

<data>•Combining\u0301 \u0301•ma\u0306rks  •bye  •</data>
<data>•123  •Start •with •a •number.•</data>

<data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>


##########################################################################################
#
#   Thai Tests
#
##########################################################################################
<locale th>
<word>
#
# Test data originally from the test code source file
#      // @suwit -- Thai sample data from GVT Guideline
#
<data>•\u0E2B\u0E19\u0E36\u0E48\u0E07<200>\u0E04\u0E33<200>\u0E44\u0E17\u0E22<200>\
\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16<200>\u0E1B\u0E23\u0E30\u0E01\u0E2D\u0E1A<200>\
\u0E14\u0E49\u0E27\u0E22<200>\u0e2b\u0e25\u0e32\u0e22<200>\
\u0e1e\u0e22\u0e32\u0e07\u0e04\u0e4c<200></data>

# Test data originally from http://bugs.icu-project.org/trac/search?q=r30327
<data>•กู<200> •กิน<200>กุ้ง<200> •ปิ้่<200>งอ<200>ยู่<200>ใน<200>ถ้ำ<200></data>

<data>•\u0E01\u0E39<200>\u0020•\u0E01\u0E34\u0E19<200>\u0E01\u0E38\u0E49\u0E07<200>\
\u0020•\u0E1B\u0E34\u0E49\u0E48<200>\u0E07\u0E2D<200>\u0E22\u0E39\u0E48<200>\
\u0E43\u0E19<200>\u0E16\u0E49\u0E33<200></data>

<line>
<data>•0E01\u0E39\u0020•\u0E01\u0E34\u0E19•\u0E01\u0E38\u0E49\u0E07\
\u0020•\u0E1B\u0E34\u0E49\u0E48•\u0E07\u0E2D•\u0E22\u0E39\u0E48•\
\u0E43\u0E19•\u0E16\u0E49\u0E33•</data>

# Data originally from intltest RBBITest::TestThaiLineBreak()
#
#  \u0e2f-- the Thai paiyannoi character-- isn't a letter.  It's a symbol that
#  represents elided letters at the end of a long word.  It should be bound to
#  the end of the word and not treated as an independent punctuation mark.
#
#  the one time where the paiyannoi occurs somewhere other than at the end
#  of a word is in the Thai abbrevation for "etc.", which both begins and
#  ends with a paiyannoi
#
<line>
<data>•\u0e2a\u0e16\u0e32\u0e19\u0e35\u0e2f•\
\u0e08\u0e30•\
\u0e23\u0e30\u0e14\u0e21•\
\u0e40\u0e08\u0e49\u0e32•\
\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48•\
\u0e2d\u0e2d\u0e01•\
\u0e21\u0e32•\
\u0e40\u0e23\u0e48\u0e07•\
\u0e23\u0e30\u0e1a\u0e32\u0e22•\
\u0e2d\u0e22\u0e48\u0e32\u0e07•\
\u0e40\u0e15\u0e47\u0e21•\
\u0e2f\u0e25\u0e2f•\
\u0e17\u0e35\u0e48•\
\u0e19\u0e31\u0e49\u0e19•</data>

# Data originally from RBBITest::TestMixedThaiLineBreak()
#   @suwit -- Test Arabic numerals, Thai numerals, Punctuation and English characters start
#
<line>
<data>•\u0E1B\u0E35•\
\u0E1E\u0E38\u0E17\u0E18\u0E28\u0E31\u0E01\u0E23\u0E32\u0E0A •\
2545 •\
\u0E40\u0E1B\u0E47\u0E19•\
\u0E1B\u0E35•\
\u0E09\u0E25\u0E2D\u0E07•\
\u0E04\u0E23\u0E1A•\
\u0E23\u0E2D\u0E1A •\
\"\u0E52\u0E52\u0E50 •\
\u0E1b\u0E35\" •\
\u0E02\u0E2d\u0E07•\
\u0E01\u0E23\u0E38\u0E07•\
\u0E23\u0E31\u0E15\u0E19\u0E42\u0E01\u0E2A\u0E34\u0E19\u0E17\u0E23\u0E4C •\
(\u0E01\u0E23\u0E38\u0E07\u0E40\u0E17\u0E1e\u0E2F•\
\u0E2B\u0E23\u0E37\u0E2D •\
Bangkok)•</data>

# Data originally from RBBITest::TestMaiyamok()
#   The Thai maiyamok character is a shorthand symbol that means "repeat the previous
#   word".  Instead of appearing as a word unto itself, however, it's kept together
#   with the word before it.
#
<line>
<data>•\u0e44\u0e1b\u0e46•\
\u0e21\u0e32\u0e46•\
\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07•\
\u0e01\u0e23\u0e38\u0e07•\
\u0e40\u0e17\u0e1e•\
\u0e41\u0e25\u0e30•\
\u0e40\u0e03\u0e35•\
\u0e22\u0e07•\
\u0e43\u0e2b\u0e21\u0e48•</data>



##########################################################################################
#
#   Khmer Tests
#
##########################################################################################

# Test data originally from http://bugs.icu-project.org/trac/search?q=r30327
#  from the file testdata/wordsegments.txt
<locale en>
<word>

<data>•តើ<200>លោក<200>មក<200>ពី<200>ប្រទេស<200>ណា<200></data>
<data>•សណ្ដូក<200>ក<200>បណ្ដែត<200>ខ្លួន<200></data>
<data>•ពណ៌ស<200>ម្ដេច<200>ថា<200>ខ្មៅ<200></data>
#ប្រយោគ|ពី|របៀប|រួបរួម|និង|ភាព|ផ្សេងគ្នា|ដែល|អាច|ចូល<200></data>
<data>•ប្រយោគ<200>ពី<200>របៀប<200>ដែល<200>និង<200>ភាព<200>ផ្សេងគ្នា<200>ដែល<200>អាច<200>ចូល<200></data>
#ប្រយោគ|ពី|របៀប|ជា|មួយ|និង|ភាព|ផ្សេងគ្នា|ដែល|អាច|ចូល<200></data>
<data>•សូម<200>ចំណាយពេល<200>បន្តិច<200>ដើម្បី<200>អធិស្ឋាន<200>អរព្រះគុណ<200>ដល់<200>ព្រះអង្គ<200></data>
<data>•ការ<200>ថោកទាប<200>បរិប្បូណ៌<200>ដោយ<200></data>
<data>•ប្រើប្រាស់<200>ស្អាត<200>ទាំង<200>ចិត្ត<200>សិស្ស<200>នោះ<200></data>
<data>•បើ<200>អ្នក<200>ប្រព្រឺត្ត<200>អំពើអាក្រក់<200>មុខ<200>ជា<200>មាន<200></data>
<data>•ប្រដាប់<200>ប្រដា<200>រ<200>រៀនសូត្រ<200>បន្ទប់<200>រៀន<200></data>
<data>•ដើរតួ<200>មនុស្សគ<200>ឥត<200>បញ្ចេញ<200>យោបល់<200>សោះ<200>ឡើយ<200></data>
<data>•មិន<200>អាច<200>ឲ្យ<200>យើង<200>ធ្វើ<200>កសិកម្ម<200>បាន<200>ឡើយ<200></data>
<data>•បន្ត<200>សេចក្ត<200>ទៅទៀត<200></data>
<data>•ក្រុម<200>ប៉ូលិស<200>បណ្តាក់<200>គ្នា<200></data>
<data>•គ្មាន<200>សុខ<200>សំរាន្ត<200>ដង<200>ណា<200></data>
<data>•បាន<200>សុខភាព<200>បរិប្បូណ៌<200></data>
<data>•ជា<200>មេចោរ<200>ខ្ញុំ<200>នឹង<200>ស្លាប់<200>ទៅវិញ<200>ជា<200>មេចោរ<200></data>
<data>•ឯ<200>ការ<200>វាយ<200>ផ្ចាល<200>ដែល<200>នាំ<200></data>
<data>•គេ<200>ដឹក<200>ទៅ<200>សំឡាប់<200></data>
#អ្នក|ដែល|ជា|មន្ត្រី|ធំ|លើ|គាត់|ទេ<200></data>
<data>•យក<200>ទៅ<200>សម្លាប់ចោល<200>ស្ងាត់<200></data>
<data>•ត្រូវ<200>បាន<200>គេ<200>សម្លាប់<200></data>
<data>•នៅក្នុង<200>ស្រុក<200>ខ្ល<200>ងហ្ស៊ុន<200></data>


#
#  Jitterbug 3671 Test Case
#
<data>•สวัสดี<200>ครับ<200>สบาย<200>ดี<200>ไหม<200> •ครับ<200></data>

#
#  Trac ticket 5595 Test Case
<data>•บท<200>ที่๑พายุ<200>ไซโคลน<200>โด<200>โรธี<200>อาศัย<200>อยู่<200>ท่ามกลาง<200>\
ทุ่งใหญ่<200>ใน<200>แคนซัส<200>กับ<200>ลุง<200>เฮ<200>นรี<200>ชาวไร่<200>และ<200>ป้า<200>เอ็ม<200>\
ภรรยา<200>ชาวไร่<200>บ้าน<200>ของ<200>พวก<200>เขา<200>หลัง<200>เล็ก<200>เพราะ<200>ไม้<200>\
สร้าง<200>บ้าน<200>ต้อง<200>ขน<200>มา<200>ด้วย<200>เกวียน<200>เป็น<200>ระยะ<200>ทาง<200>หลาย<200>\
ไมล์<200></data>

####################################################################################
#
#  Tailored (locale specific) breaking.
#
####################################################################################

# Japanese line break tailoring test

<locale ja>
<line>
<data>•\u3041•\u3043•\u3045•\u31f1•</data>
<locale en>
<line>
<data>•\u3041\u3043\u3045\u31f1•</data>

# The following data was originally in RBBITest::TestJapaneseWordBreak()
<locale ja>
<word>
<data>•\u4ECA\u65E5<400>\u306F<400>\u3044\u3044<400>\u5929\u6C17<400>\u3067\u3059<400>\u306D<400>\u3002•\u000D\u000A•</data>

# UBreakIteratorType UBRK_WORD, Locale "ja"
# Don't break in runs of hiragana or runs of ideograph, where the latter includes \u3005 \u3007 \u303B (cldrbug #2009).
# \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
# modified to work with dbbi code - should verify

<locale ja>
<word>
<data>•私<400>達<400>に<400>一<400>〇<400>〇〇<400>の<400>コンピュ<400>ー<400>タ<400>が<400>ある<400>。<0>奈々<400>は<400>ワ<400>ー<400>ド<400>で<400>ある<400>。•</data>

<locale root>
<word>
<data>•私<400>達<400>に<400>一<400>〇<400>〇〇<400>の<400>コンピュ<400>ー<400>タ<400>が<400>ある<400>。<0>奈々<400>は<400>ワ<400>ー<400>ド<400>で<400>ある<400>。•</data>

# UBreakIteratorType UBRK_SENTENCE, Locale "el"
# Add break after Greek question mark (cldrbug #2069).
# "\u0391\u03B2, \u03B3\u03B4; \u0395 \u03B6\u03B7\u037E \u0398 \u03B9\u03BA. "
# "\u039B\u03BC \u03BD\u03BE! \u039F\u03C0, \u03A1\u03C2? \u03A3"
# which is "Αβ, γδ; Ε ζη; Θ ικ. Λμ νξ! Οπ, Ρς? Σ"

<locale root>
<sent>
<data>•Αβ, γδ; Ε ζη; Θ ικ. •Λμ νξ! •Οπ, Ρς? •Σ<100></data>

<locale el>
<sent>
<data>•Αβ, γδ; •Ε ζη; •Θ ικ. •Λμ νξ! •Οπ, Ρς? •Σ<100></data>

#  UBreakIteratorType UBRK_WORD, Locale "en_US_POSIX"
#  Words don't include colon or period (cldrbug #1969).

<locale en_US>
<word>
<data>•Can't<200> •have<200> •breaks<200> •in<200> •xx:yy<200> •or<200> •struct.field<200> \
•for<200> •CS<200>-•types<200>.•</data>

<locale en_US_POSIX>
<word>
<data>•Can't<200> •have<200> •breaks<200> •in<200> •xx<200>:•yy<200> •or<200> •struct<200>.•field<200> \
•for<200> •CS<200>-•types<200>.•</data>


# UBreakIteratorType UBRK_CHARACTER, Locale "th"
# Clusters should not include spacing Thai/Lao vowels (prefix or postfix), except for [SARA] AM (cldrbug #2161).
# Update:  As of Unicode 6.1 root has same behavior as th for this.
#
# "\u0E01\u0E23\u0E30\u0E17\u0E48\u0E2D\u0E21\u0E23\u0E08\u0E19\u0E32 "
# "(\u0E2A\u0E38\u0E0A\u0E32\u0E15\u0E34-\u0E08\u0E38\u0E11\u0E32\u0E21\u0E32\u0E28) "
# "\u0E40\u0E14\u0E47\u0E01\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32 "
# which is "กระท่อมรจนา (สุชาติ-จุฑามาศ) เด็กมีปัญหา "

<locale th>
<char>
<data>•\u0E01•\u0E23•\u0E30•\u0E17\u0E48•\u0E2D•\u0E21•\u0E23•\u0E08•\u0E19•\u0E32• •\
(•\u0E2A\u0E38•\u0E0A•\u0E32•\u0E15\u0E34•-•\u0E08\u0E38•\u0E11•\u0E32•\u0E21•\u0E32•\u0E28•)• •\
\u0E40•\u0E14\u0E47•\u0E01•\u0E21\u0E35•\u0E1B\u0E31•\u0E0D•\u0E2B•\u0E32• •</data>

# Finnish line breaking
#
# These rules deal with hyphens when there is a space on the leading side. 
# There should be a break opportunity between the space and the hyphen, and not after the hyphen.
# See CLDR ticket 3029.
# See ICU ticket 8151 

<locale root>
<line>
<data>•abc •- •def    •abc •-•def    •abc- •def   •abc-•def•</data>   # With ASCII hyphen
<data>•abc •‐ •def    •abc •‐•def    •abc‐ •def   •abc‐•def•</data>   # With Unicode u2010 hyphen

<locale fi>
<line>
# TODO: problems with Finnish line break rules cause these two lines to fail.
#<data>•abc •- •def    •abc •-def    •abc- •def   •abc-•def•</data>   # With ASCII hyphen
#<data>•abc •‐ •def    •abc •‐def    •abc‐ •def   •abc‐•def•</data>   # With Unicode u2010 hyphen

<data>•abc •- •def    •abc •-def    •abc- •def   •</data>   # With ASCII hyphen
<data>•abc •‐ •def    •abc •‐def    •abc‐ •def   •</data>   # With Unicode u2010 hyphen
