]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/test/testdata/rbbitst.txt
ICU-551.41.tar.gz
[apple/icu.git] / icuSources / test / testdata / rbbitst.txt
index af947dfc09430b2db5c1930d2bfae0ca418aad7d..640a27c1a240c7b3c1df42e01dd19e55c0cb1c0e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2001-2008 International Business Machines
+# Copyright (c) 2001-2015 International Business Machines
 # Corporation and others. All Rights Reserved.
 #
 # RBBI Test Data
 #      \         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 
-<line>
-#     to test for bug #4097920
-<data>•dog,cat,mouse •(one)•(two)\n<100></data>
+<sent>
+<data>•\u00c0.•</data>
 
+#<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•</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>
 
+<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>
 
 # 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>
 <data>•abc<200>\U0001D800•def<200>\U0001D3FF• •</data>
 
 # Hiragana & Katakana stay together, but separates from each other and Latin.
-<data>•abc<200>\N{HIRAGANA LETTER SMALL A}<300>\N{HIRAGANA LETTER VU}\N{COMBINING ACUTE ACCENT}<300>\N{HIRAGANA ITERATION MARK}<300>\N{KATAKANA LETTER SMALL A}\N{KATAKANA ITERATION MARK}\N{HALFWIDTH KATAKANA LETTER WO}\N{HALFWIDTH KATAKANA LETTER N}<300>def<200>#•</data>
+# *** 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: some script=common characters in the Hiragana and the Katakana block may not be treated correctly
+# (was formerly true for U+30FC); need to check and fix if so.
+#<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>•ISN'T<200> •19<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
 #      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>
 
-<data>•abc<200>\u4e01<400>\u4e02<400>\u3005<200>\u4e03<400>\u4e03<400>abc<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>
 
-<data>•\u06c9\uc799\ufffa<200></data>
 
 #      
 #      Try some words from other scripts.
 #
 <data>•A\uff9e\uff9fBC<200> •1\uff9e\uff9f23<100></data>
 
+# User guide example:
+<data>•Parlez<200>-•vous<200> •français<200> •?•</data>
+
 ########################################################################################
 #
 #
@@ -454,6 +492,9 @@ What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tal
 <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()
@@ -492,27 +533,47 @@ What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tal
 <data>•\uc0c1•\ud56d •\ud55c•\uc778 •\uc5f0•\ud569 •\uc7a5•\ub85c•\uad50•\ud68c•</data>
 
 #      conjoining jamo...
-#      TODO:  rules update needed
-#<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>
+<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>
+<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
-#               ICU will want to change it back before releasing,
-#               so there is no break preceding the '('
-<data>•AAA•(AAA •</data> 
+#               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>
+# Test for #10176 (in root)
+<line>
+<data>•abc/•s •def•</data>
+<data>•abc/\u05D9 •def•</data>
+<data>•\u05E7\u05D7/\u05D9 •\u05DE\u05E2\u05D9\u05DC•</data>
+<data>•\u05D3\u05E8\u05D5\u05E9\u05D9\u05DD •\u05E9\u05D7\u05E7\u05E0\u05D9\u05DD/\u05D9\u05D5\u05EA•</data>
+
 
 
 ########################################################################################
@@ -532,7 +593,9 @@ What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tal
 <data>•123  •Start •with •a •number.•</data>
 
 <data>•'•start •with •a •case-•ignorable •cha'r'a'cter•</data>
-
+<data>•'  '' •start •with •case-•ignorable & •case-•insensitive •cha'r'a'cter•</data>
+<data>•  ''•aaa' •bbb '•ccc' '•ddd''' '''•eee   '''•fff'''   •ggg  ''•</data>
+# Note: apostrophe is case-ignorable. space is not cased.
 
 ##########################################################################################
 #
@@ -550,6 +613,165 @@ What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tal
 \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>
+
+# Test for #10296
+<line>
+<data>•ใช•มั้ย•</data>
+<data>•มั๊ยล่ะ•ที่รัก•</data>
+
+# Test for #10593
+<line>
+<data>•เล่น•ผ่าน•ทาง•บลูทูธ•บน•อุปกรณ์•</data>
+
+# Test for city names #10691
+<line>
+<data>•ไป•ที่•ซานฟรานซิสโก•</data>
+
+# Test for #10630, #10631
+<line>
+<data>•แท็ก•แอปพลิเคชัน•เป็น•พิเศษ•</data>
+
+# Test for #11019
+<line>
+<data>•เบ•เบราว์เซอร์•โพ•โพสต์•โพสท์•</data>
+
+##########################################################################################
+#
+#   Lao Tests
+#
+##########################################################################################
+<locale en>
+# Basic check for #7647
+<line>
+<data>•ສະບາຍດີ•</data>
+<data>•ດີ•ຂອບໃຈ•</data>
+<data>•ເຈົ້າ•ເວົ້າ•ພາສາ•ອັງກິດ•ໄດ້•ບໍ່•</data>
+<data>•ກະລຸນາ•ເວົ້າ•ຊ້າ•ໆ•</data>
+
+##########################################################################################
+#
+#   Burmese/Myanmar Tests
+#
+##########################################################################################
+<locale en>
+# Basic sanity check for #10326 (some text from http://www.unicode.org/udhr/d/udhr_mya.txt)
+<line>
+<data>•လူ•တိုင်း•သည် •တူညီ •လွတ်လပ်•သော •ဂုဏ်•သိ•က္•ခါ•ဖြ•င့် •လည်းကောင်း၊ •</data>
+<data>•တူညီ•လွတ်လပ်•သော •အ•ခွ•င့်•အရေး•များ•ဖြ•င့် •လည်းကောင်း၊ •မွေး•ဖွား•လာ•သူများ •ဖြစ်သည်။•</data>
+<data>•ထို•သူ•တို့၌ •ပိုင်းခြား •ဝေဖန်•တတ်•သော •ဉာဏ်•နှ•င့် •ကျ•င့်•ဝတ် •သိတတ်•သော •စိတ်•တို့•ရှိ•ကြ၍ •</data>
+<data>•ထို•သူ•တို့သည် •အချင်းချင်း •မေတ္တာ•ထား၍ •ဆက်ဆံ•ကျ•င့်•သုံး•</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
 #
@@ -563,4 +785,327 @@ What is the proper use of the abbreviation pp.? •Yes, I am definatelly 12" tal
 สร้าง<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>。<0>奈々<400>は<400>ワード<400>で<400>ある<400>。•</data>
+
+# Test for #10176 (in ja)
+<line>
+<data>•abc/•s •def•</data>
+<data>•abc/\u05D9 •def•</data>
+<data>•\u05E7\u05D7/\u05D9 •\u05DE\u05E2\u05D9\u05DC•</data>
+<data>•\u05D3\u05E8\u05D5\u05E9\u05D9\u05DD •\u05E9\u05D7\u05E7\u05E0\u05D9\u05DD/\u05D9\u05D5\u05EA•</data>
+
+
+<locale root>
+<word>
+<data>•私<400>達<400>に<400>一<400>〇<400>〇〇<400>の<400>コンピュータ<400>が<400>ある<400>。<0>奈々<400>は<400>ワード<400>で<400>ある<400>。•</data>
+# The following test is for #10300
+<data>•例えば<400>オーストラリア<400>。•</data>
+# The following test is for #10571
+<data>•一部<400>の<400>地域<400>では<400>、<0>ブラジル<400>、<0>インドネシア<400>、<0>オーストリア<400>、<0>ニュージーランド<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>
+<data>•\uFF92\uFF76\uFF9E<400> •</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>
+<data>•\u06c9<200>\uc799\ufffa•</data>
+<data>•\uFF92\uFF76\uFF9E<400> •</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
+
+# Test for #10176 (in fi)
+<line>
+<data>•abc/•s •def•</data>
+<data>•abc/\u05D9 •def•</data>
+<data>•\u05E7\u05D7/\u05D9 •\u05DE\u05E2\u05D9\u05DC•</data>
+<data>•\u05D3\u05E8\u05D5\u05E9\u05D9\u05DD •\u05E9\u05D7\u05E7\u05E0\u05D9\u05DD/\u05D9\u05D5\u05EA•</data>
+
+####################################################################################
+#
+#  Test CSS line break variants: strict, normal, loose
+#
+####################################################################################
+
+<locale ja@lb=strict>
+<line>
+#     •no brk before 3063              •no brk before 301C•no brk btw 2026   •no brk before FF01•
+<data>•\u3084\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
+
+<locale ja@lb=normal>
+<line>
+#     •brk OK before 3063               •brk OK before 301C •no brk btw 2026   •no brk before FF01•
+<data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031•\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
+
+<locale ja@lb=loose>
+<line>
+#     •brk OK before 3063               •brk OK before 301C •brk OK btw 2026    •brk OK before FF01•
+<data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031•\u301C\u0020•\u2026•\u2026\u0020•u30A2•\uFF01\u0020•</data>
+
+<locale en@lb=strict>
+<line>
+#     •no brk before 3063              •no brk before 301C•no brk btw 2026   •no brk before FF01•
+<data>•\u3084\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
+
+<locale en@lb=normal>
+<line>
+#     •brk OK before 3063               •no brk before 301C •no brk btw 2026  •no brk before FF01•
+<data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026\u2026\u0020•\u30A2\uFF01\u0020•</data>
+
+<locale en@lb=loose>
+<line>
+#     •brk OK before 3063               •no brk before 301C •brk OK btw 2026   •no brk before FF01•
+<data>•\u3084•\u3063•\u3071•\u308A\u0020•\u0031\u301C\u0020•\u2026•\u2026\u0020•u30A2\uFF01\u0020•</data>
+
+####################################################################################
+#
+#  Test Apple early change of lb class for 22EF
+#
+####################################################################################
+
+<locale en>
+<line>
+<data>•\u4E00\u2026\u2026•\u4E00\u22EF\u22EF•\u4E00\u0020•</data>
+
+####################################################################################
+#
+#  Test Apple early change of cjdict
+#
+####################################################################################
+
+<locale en>
+<word>
+<data>•ジョージア<400> •</data>
+<data>•主场<400>客场<400>干练<400>条码<400>杯具<400>温婉<400>猕猴桃<400>肌肤<400>黑头<400>话唠<400>话痨<400> •</data>
+
+####################################################################################
+#
+#  Test Apple early change of thaidict
+#
+####################################################################################
+
+<locale th>
+<line>
+<data>•อัปเดต•อีเวนต์•</data>
+
+####################################################################################
+#
+#  Test Apple breaks for emoji clusters (same for all locales and break types)
+#
+####################################################################################
+
+<locale root>
+
+<char>
+# woman zwj woman zwj girl zwj girl, woman/fitz-1-2 zwj woman/fitz-4 zwj boy/fitz-6
+<data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•\U0001F469\U0001F3FB\u200D\U0001F469\U0001F3FD\u200D\U0001F466\U0001F3FF•</data>
+# woman zwj, baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
+<data>•\U0001F469\u200D•\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
+# man zwj  hvy_blk_heart zwj  man, woman, man zwj hvy_blk_heart esel zwj  man, woman
+<data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
+# woman zwj hvy_blk_heart/esel zwj kiss_mark zwj woman, man
+<data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F468•</data>
+# victory_hand esel, victory_hand/esel/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5, space, 
+<data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE•\u0020•</data>
+# writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
+<data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8•\u0020•</data>
+# flags1    AE AF AL AM AO AR AT
+<data>•\U0001F1E6\U0001F1EA•\U0001F1E6\U0001F1EB•\U0001F1E6\U0001F1F1•\U0001F1E6\U0001F1F2•\U0001F1E6\U0001F1F4•\U0001F1E6\U0001F1F7•\U0001F1E6\U0001F1F9•</data>
+# flags2    AU AZ BA BD BE BF BG
+<data>•\U0001F1E6\U0001F1FA•\U0001F1E6\U0001F1FF•\U0001F1E7\U0001F1E6•\U0001F1E7\U0001F1E9•\U0001F1E7\U0001F1EA•\U0001F1E7\U0001F1EB•\U0001F1E7\U0001F1EC•</data>
+# flags3    BH BJ BN BO BR BS BT
+<data>•\U0001F1E7\U0001F1ED•\U0001F1E7\U0001F1EF•\U0001F1E7\U0001F1F3•\U0001F1E7\U0001F1F4•\U0001F1E7\U0001F1F7•\U0001F1E7\U0001F1F8•\U0001F1E7\U0001F1F9•</data>
+# flags4    BW BY BZ CA CD CF CG
+<data>•\U0001F1E7\U0001F1FC•\U0001F1E7\U0001F1FE•\U0001F1E7\U0001F1FF•\U0001F1E8\U0001F1E6•\U0001F1E8\U0001F1E9•\U0001F1E8\U0001F1EB•\U0001F1E8\U0001F1EC•</data>
+# flags5    CH CI CL CM CN CO CR
+<data>•\U0001F1E8\U0001F1ED•\U0001F1E8\U0001F1EE•\U0001F1E8\U0001F1F1•\U0001F1E8\U0001F1F2•\U0001F1E8\U0001F1F3•\U0001F1E8\U0001F1F4•\U0001F1E8\U0001F1F7•</data>
+# flags6    CU CV CY CZ DE DJ DK
+<data>•\U0001F1E8\U0001F1FA•\U0001F1E8\U0001F1FB•\U0001F1E8\U0001F1FE•\U0001F1E8\U0001F1FF•\U0001F1E9\U0001F1EA•\U0001F1E9\U0001F1EF•\U0001F1E9\U0001F1F0•</data>
+# flags7    DM DO DZ EC EE EG ER
+<data>•\U0001F1E9\U0001F1F2•\U0001F1E9\U0001F1F4•\U0001F1E9\U0001F1FF•\U0001F1EA\U0001F1E8•\U0001F1EA\U0001F1EA•\U0001F1EA\U0001F1EC•\U0001F1EA\U0001F1F7•</data>
+# flags8    ES ET FI FJ FR GA GB
+<data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F9•\U0001F1EB\U0001F1EE•\U0001F1EB\U0001F1EF•\U0001F1EB\U0001F1F7•\U0001F1EC\U0001F1E6•\U0001F1EC\U0001F1E7•</data>
+# flags9    GE GH GM GN GR GT GW
+<data>•\U0001F1EC\U0001F1EA•\U0001F1EC\U0001F1ED•\U0001F1EC\U0001F1F2•\U0001F1EC\U0001F1F3•\U0001F1EC\U0001F1F7•\U0001F1EC\U0001F1F9•\U0001F1EC\U0001F1FC•</data>
+# flags10   GY HK HN HR HT HU ID
+<data>•\U0001F1EC\U0001F1FE•\U0001F1ED\U0001F1F0•\U0001F1ED\U0001F1F3•\U0001F1ED\U0001F1F7•\U0001F1ED\U0001F1F9•\U0001F1ED\U0001F1FA•\U0001F1EE\U0001F1E9•</data>
+# flags11   IE IL IN IQ IR IS IT
+<data>•\U0001F1EE\U0001F1EA•\U0001F1EE\U0001F1F1•\U0001F1EE\U0001F1F3•\U0001F1EE\U0001F1F6•\U0001F1EE\U0001F1F7•\U0001F1EE\U0001F1F8•\U0001F1EE\U0001F1F9•</data>
+# flags12   JM JO JP KE KG KH KR
+<data>•\U0001F1EF\U0001F1F2•\U0001F1EF\U0001F1F4•\U0001F1EF\U0001F1F5•\U0001F1F0\U0001F1EA•\U0001F1F0\U0001F1EC•\U0001F1F0\U0001F1ED•\U0001F1F0\U0001F1F7•</data>
+# flags13   MX MY NL NO PL PT
+<data>•\U0001F1F2\U0001F1FD•\U0001F1F2\U0001F1FE•\U0001F1F3\U0001F1F1•\U0001F1F3\U0001F1F4•\U0001F1F5\U0001F1F1•\U0001F1F5\U0001F1F9•</data>
+# flags14   RO RU SA SE SK TH TR
+<data>•\U0001F1F7\U0001F1F4•\U0001F1F7\U0001F1FA•\U0001F1F8\U0001F1E6•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1F0•\U0001F1F9\U0001F1ED•\U0001F1F9\U0001F1F7•</data>
+# flags15   UA US VN XK ZW
+<data>•\U0001F1FA\U0001F1E6•\U0001F1FA\U0001F1F8•\U0001F1FB\U0001F1F3•\U0001F1FD\U0001F1F0•\U0001F1FF\U0001F1FC•</data>
+# flagsX1   ES ES ES SE SE SE
+<data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•</data>
+# flagsX2   GB GB GB BG BG BG
+<data>•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•</data>
+# flagsXtnd AE AF AL AM AO AR
+<data>•\U0001F1E6\U0001F1EA\u200C•\U0001F1E6\U0001F1EB\u200C•\U0001F1E6\U0001F1F1\u200C•\U0001F1E6\U0001F1F2\u0300•\U0001F1E6\U0001F1F4\u20DE•\U0001F1E6\U0001F1F7\u200C•</data>
 
+<word>
+# woman zwj woman zwj girl zwj girl, woman/fitz-1-2 zwj woman/fitz-4 zwj boy/fitz-6
+<data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•\U0001F469\U0001F3FB\u200D\U0001F469\U0001F3FD\u200D\U0001F466\U0001F3FF•</data>
+# woman zwj, baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
+<data>•\U0001F469\u200D•\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
+# man zwj  hvy_blk_heart zwj  man, woman, man zwj hvy_blk_heart esel zwj  man, woman
+<data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
+# woman zwj hvy_blk_heart esel zwj kiss mark zwj woman, man
+<data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F468•</data>
+# victory_hand esel, victory_hand/esel/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5, space, 
+<data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE•\u0020•</data>
+# writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
+<data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8•\u0020•</data>
+# flags1    AE AF AL AM AO AR AT
+<data>•\U0001F1E6\U0001F1EA•\U0001F1E6\U0001F1EB•\U0001F1E6\U0001F1F1•\U0001F1E6\U0001F1F2•\U0001F1E6\U0001F1F4•\U0001F1E6\U0001F1F7•\U0001F1E6\U0001F1F9•</data>
+# flags2    AU AZ BA BD BE BF BG
+<data>•\U0001F1E6\U0001F1FA•\U0001F1E6\U0001F1FF•\U0001F1E7\U0001F1E6•\U0001F1E7\U0001F1E9•\U0001F1E7\U0001F1EA•\U0001F1E7\U0001F1EB•\U0001F1E7\U0001F1EC•</data>
+# flags3    BH BJ BN BO BR BS BT
+<data>•\U0001F1E7\U0001F1ED•\U0001F1E7\U0001F1EF•\U0001F1E7\U0001F1F3•\U0001F1E7\U0001F1F4•\U0001F1E7\U0001F1F7•\U0001F1E7\U0001F1F8•\U0001F1E7\U0001F1F9•</data>
+# flags4    BW BY BZ CA CD CF CG
+<data>•\U0001F1E7\U0001F1FC•\U0001F1E7\U0001F1FE•\U0001F1E7\U0001F1FF•\U0001F1E8\U0001F1E6•\U0001F1E8\U0001F1E9•\U0001F1E8\U0001F1EB•\U0001F1E8\U0001F1EC•</data>
+# flags5    CH CI CL CM CN CO CR
+<data>•\U0001F1E8\U0001F1ED•\U0001F1E8\U0001F1EE•\U0001F1E8\U0001F1F1•\U0001F1E8\U0001F1F2•\U0001F1E8\U0001F1F3•\U0001F1E8\U0001F1F4•\U0001F1E8\U0001F1F7•</data>
+# flags6    CU CV CY CZ DE DJ DK
+<data>•\U0001F1E8\U0001F1FA•\U0001F1E8\U0001F1FB•\U0001F1E8\U0001F1FE•\U0001F1E8\U0001F1FF•\U0001F1E9\U0001F1EA•\U0001F1E9\U0001F1EF•\U0001F1E9\U0001F1F0•</data>
+# flags7    DM DO DZ EC EE EG ER
+<data>•\U0001F1E9\U0001F1F2•\U0001F1E9\U0001F1F4•\U0001F1E9\U0001F1FF•\U0001F1EA\U0001F1E8•\U0001F1EA\U0001F1EA•\U0001F1EA\U0001F1EC•\U0001F1EA\U0001F1F7•</data>
+# flags8    ES ET FI FJ FR GA GB
+<data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F9•\U0001F1EB\U0001F1EE•\U0001F1EB\U0001F1EF•\U0001F1EB\U0001F1F7•\U0001F1EC\U0001F1E6•\U0001F1EC\U0001F1E7•</data>
+# flags9    GE GH GM GN GR GT GW
+<data>•\U0001F1EC\U0001F1EA•\U0001F1EC\U0001F1ED•\U0001F1EC\U0001F1F2•\U0001F1EC\U0001F1F3•\U0001F1EC\U0001F1F7•\U0001F1EC\U0001F1F9•\U0001F1EC\U0001F1FC•</data>
+# flags10   GY HK HN HR HT HU ID
+<data>•\U0001F1EC\U0001F1FE•\U0001F1ED\U0001F1F0•\U0001F1ED\U0001F1F3•\U0001F1ED\U0001F1F7•\U0001F1ED\U0001F1F9•\U0001F1ED\U0001F1FA•\U0001F1EE\U0001F1E9•</data>
+# flags11   IE IL IN IQ IR IS IT
+<data>•\U0001F1EE\U0001F1EA•\U0001F1EE\U0001F1F1•\U0001F1EE\U0001F1F3•\U0001F1EE\U0001F1F6•\U0001F1EE\U0001F1F7•\U0001F1EE\U0001F1F8•\U0001F1EE\U0001F1F9•</data>
+# flags12   JM JO JP KE KG KH KR
+<data>•\U0001F1EF\U0001F1F2•\U0001F1EF\U0001F1F4•\U0001F1EF\U0001F1F5•\U0001F1F0\U0001F1EA•\U0001F1F0\U0001F1EC•\U0001F1F0\U0001F1ED•\U0001F1F0\U0001F1F7•</data>
+# flags13   MX MY NL NO PL PT
+<data>•\U0001F1F2\U0001F1FD•\U0001F1F2\U0001F1FE•\U0001F1F3\U0001F1F1•\U0001F1F3\U0001F1F4•\U0001F1F5\U0001F1F1•\U0001F1F5\U0001F1F9•</data>
+# flags14   RO RU SA SE SK TH TR
+<data>•\U0001F1F7\U0001F1F4•\U0001F1F7\U0001F1FA•\U0001F1F8\U0001F1E6•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1F0•\U0001F1F9\U0001F1ED•\U0001F1F9\U0001F1F7•</data>
+# flags15   UA US VN XK ZW
+<data>•\U0001F1FA\U0001F1E6•\U0001F1FA\U0001F1F8•\U0001F1FB\U0001F1F3•\U0001F1FD\U0001F1F0•\U0001F1FF\U0001F1FC•</data>
+# flagsX1   ES ES ES SE SE SE
+<data>•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1EA\U0001F1F8•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•\U0001F1F8\U0001F1EA•</data>
+# flagsX2   GB GB GB BG BG BG
+<data>•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1EC\U0001F1E7•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•\U0001F1E7\U0001F1EC•</data>
+# flagsXtnd AE AF AL AM AO AR
+<data>•\U0001F1E6\U0001F1EA\u200C•\U0001F1E6\U0001F1EB\u200C•\U0001F1E6\U0001F1F1\u200C•\U0001F1E6\U0001F1F2\u0300•\U0001F1E6\U0001F1F4\u20DE•\U0001F1E6\U0001F1F7\u200C•</data>
+
+<line>
+# woman zwj woman zwj girl zwj girl # (line, skip this for now, need safe rules and we don't generate it:) woman/fitz-1-2 zwj woman/fitz-4 zwj boy/fitz-6
+<data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•</data>
+# woman zwj, baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
+<data>•\U0001F469\u200D•\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
+# man zwj  hvy_blk_heart zwj  man, woman, man zwj hvy_blk_heart esel zwj  man, woman
+<data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
+# woman zwj hvy_blk_heart esel zwj kiss mark zwj woman, man
+<data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F468•</data>
+# victory_hand esel, victory_hand/esel/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5 space, 
+<data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE\u0020•</data>
+# writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
+<data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8\u0020•</data>
+# no special flags handling for line
+
+<locale ja@lb=loose>
+<line>
+# woman zwj woman zwj girl zwj girl # (line, skip this for now, need safe rules and we don't generate it:) woman/fitz-1-2 zwj woman/fitz-4 zwj boy/fitz-6
+<data>•\U0001F469\u200D\U0001F469\u200D\U0001F467\u200D\U0001F467•</data>
+# woman zwj, baby/fitz-3, older_woman/fitz-5, runner/fitz-4, raised_fist/fitz-3, fuel_pump, fitz-3
+<data>•\U0001F469\u200D•\U0001F476\U0001F3FC•\U0001F475\U0001F3FE•\U0001F3C3\U0001F3FD•\u270A\U0001F3FC•\u26FD•\U0001F3FC•</data>
+# man zwj  hvy_blk_heart zwj  man, woman, man zwj hvy_blk_heart esel zwj  man, woman
+<data>•\U0001F468\u200D\u2764\u200D\U0001F468•\U0001F469•\U0001F468\u200D\u2764\uFE0F\u200D\U0001F468•\U0001F469•</data>
+# woman zwj hvy_blk_heart esel zwj kiss mark zwj woman, man
+<data>•\U0001F469\u200D\u2764\uFE0F\u200D\U0001F48B\u200D\U0001F469•\U0001F468•</data>
+# victory_hand esel, victory_hand/esel/fitz-1-2, victory_hand/fitz-1-2, rowboat/fitz-4, vulcan_salute/fitz-5 space, 
+<data>•\u270C\uFE0F•\u270C\uFE0F\U0001F3FB•\u270C\U0001F3FB•\U0001F6A3\U0001F3FD•\U0001F596\U0001F3FE\u0020•</data>
+# writing_hand fitz-1-2, splayed_hand/fitz-3, middle_finger/fitz-4, sign_of_horns/fitz-5, eye zwj left_speech_bubble, space
+<data>•\u270D\U0001F3FB•\U0001F590\U0001F3FC•\U0001F595\U0001F3FD•\U0001F918\U0001F3FE•\U0001F441\u200D\U0001F5E8\u0020•</data>
+# no special flags handling for line