lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From synhers...@apache.org
Subject [19/27] lucenenet git commit: adding converted analysis common tests
Date Thu, 10 Dec 2015 18:39:08 GMT
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/c64856a7/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/WordBreakTestUnicode_6_3_0.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/WordBreakTestUnicode_6_3_0.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/WordBreakTestUnicode_6_3_0.cs
new file mode 100644
index 0000000..90d1796
--- /dev/null
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/WordBreakTestUnicode_6_3_0.cs
@@ -0,0 +1,4171 @@
+namespace org.apache.lucene.analysis.core
+{
+
+	/// <summary>
+	/// Licensed to the Apache Software Foundation (ASF) under one or more
+	/// contributor license agreements.  See the NOTICE file distributed with
+	/// this work for additional information regarding copyright ownership.
+	/// The ASF licenses this file to You under the Apache License, Version 2.0
+	/// (the "License"); you may not use this file except in compliance with
+	/// the License.  You may obtain a copy of the License at
+	/// 
+	///     http://www.apache.org/licenses/LICENSE-2.0
+	/// 
+	/// Unless required by applicable law or agreed to in writing, software
+	/// distributed under the License is distributed on an "AS IS" BASIS,
+	/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	/// See the License for the specific language governing permissions and
+	/// limitations under the License.
+	/// </summary>
+
+	using Ignore = org.junit.Ignore;
+
+	/// <summary>
+	/// This class was automatically generated by generateJavaUnicodeWordBreakTest.pl
+	/// from: http://www.unicode.org/Public/6.3.0/ucd/auxiliary/WordBreakTest.txt
+	/// 
+	/// WordBreakTest.txt indicates the points in the provided character sequences
+	/// at which conforming implementations must and must not break words.  This
+	/// class tests for expected token extraction from each of the test sequences
+	/// in WordBreakTest.txt, where the expected tokens are those character
+	/// sequences bounded by word breaks and containing at least one character
+	/// from one of the following character sets:
+	/// 
+	///    \p{Script = Han}                (From http://www.unicode.org/Public/6.3.0/ucd/Scripts.txt)
+	///    \p{Script = Hiragana}
+	///    \p{LineBreak = Complex_Context} (From http://www.unicode.org/Public/6.3.0/ucd/LineBreak.txt)
+	///    \p{WordBreak = ALetter}         (From http://www.unicode.org/Public/6.3.0/ucd/auxiliary/WordBreakProperty.txt)
+	///    \p{WordBreak = Hebrew_Letter}
+	///    \p{WordBreak = Katakana}
+	///    \p{WordBreak = Numeric}         (Excludes full-width Arabic digits)
+	///    [\uFF10-\uFF19]                (Full-width Arabic digits)
+	/// </summary>
+//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
+//ORIGINAL LINE: @Ignore public class WordBreakTestUnicode_6_3_0 extends org.apache.lucene.analysis.BaseTokenStreamTestCase
+	public class WordBreakTestUnicode_6_3_0 : BaseTokenStreamTestCase
+	{
+
+//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
+//ORIGINAL LINE: public void test(org.apache.lucene.analysis.Analyzer analyzer) throws Exception
+	  public virtual void test(Analyzer analyzer)
+	  {
+		// ÷ 0001 ÷ 0001 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0001", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 0001 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0001", new string[] { });
+
+		// ÷ 0001 ÷ 000D ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\r", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 000D ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\r", new string[] { });
+
+		// ÷ 0001 ÷ 000A ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\n", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 000A ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\n", new string[] { });
+
+		// ÷ 0001 ÷ 000B ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u000B", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 000B ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u000B", new string[] { });
+
+		// ÷ 0001 ÷ 3031 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u3031", new string[] {"\u3031"});
+
+		// ÷ 0001 × 0308 ÷ 3031 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u3031", new string[] {"\u3031"});
+
+		// ÷ 0001 ÷ 0041 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0041", new string[] {"\u0041"});
+
+		// ÷ 0001 × 0308 ÷ 0041 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0041", new string[] {"\u0041"});
+
+		// ÷ 0001 ÷ 003A ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u003A", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 003A ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u003A", new string[] { });
+
+		// ÷ 0001 ÷ 002C ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u002C", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 002C ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u002C", new string[] { });
+
+		// ÷ 0001 ÷ 002E ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u002E", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 002E ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u002E", new string[] { });
+
+		// ÷ 0001 ÷ 0030 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0030", new string[] {"\u0030"});
+
+		// ÷ 0001 × 0308 ÷ 0030 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0030", new string[] {"\u0030"});
+
+		// ÷ 0001 ÷ 005F ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u005F", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 005F ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u005F", new string[] { });
+
+		// ÷ 0001 ÷ 1F1E6 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\uD83C\uDDE6", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\uD83C\uDDE6", new string[] { });
+
+		// ÷ 0001 ÷ 05D0 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 0001 × 0308 ÷ 05D0 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 0001 ÷ 0022 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\"", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 0022 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\"", new string[] { });
+
+		// ÷ 0001 ÷ 0027 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0027", new string[] { });
+
+		// ÷ 0001 × 0308 ÷ 0027 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0027", new string[] { });
+
+		// ÷ 0001 × 00AD ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u00AD", new string[] { });
+
+		// ÷ 0001 × 0308 × 00AD ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u00AD", new string[] { });
+
+		// ÷ 0001 × 0300 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0300", new string[] { });
+
+		// ÷ 0001 × 0308 × 0300 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0300", new string[] { });
+
+		// ÷ 0001 ÷ 0061 × 2060 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 0001 × 0308 ÷ 0061 × 2060 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 0001 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 0001 × 0308 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 0001 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 0001 × 0308 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 0001 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 0001 × 0308 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 0001 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 0001 × 0308 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 0001 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 0001 × 0308 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 0001 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 0001 × 0308 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 0001 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 0001 × 0308 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 0001 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 0001 × 0308 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0001\u0308\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0001 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0001", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 0001 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0001", new string[] { });
+
+		// ÷ 000D ÷ 000D ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\r", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 000D ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\r", new string[] { });
+
+		// ÷ 000D × 000A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) × [3.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\n", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 000A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\n", new string[] { });
+
+		// ÷ 000D ÷ 000B ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u000B", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 000B ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u000B", new string[] { });
+
+		// ÷ 000D ÷ 3031 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u3031", new string[] {"\u3031"});
+
+		// ÷ 000D ÷ 0308 ÷ 3031 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u3031", new string[] {"\u3031"});
+
+		// ÷ 000D ÷ 0041 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0041", new string[] {"\u0041"});
+
+		// ÷ 000D ÷ 0308 ÷ 0041 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0041", new string[] {"\u0041"});
+
+		// ÷ 000D ÷ 003A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u003A", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 003A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u003A", new string[] { });
+
+		// ÷ 000D ÷ 002C ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u002C", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 002C ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u002C", new string[] { });
+
+		// ÷ 000D ÷ 002E ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u002E", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 002E ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u002E", new string[] { });
+
+		// ÷ 000D ÷ 0030 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0030", new string[] {"\u0030"});
+
+		// ÷ 000D ÷ 0308 ÷ 0030 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0030", new string[] {"\u0030"});
+
+		// ÷ 000D ÷ 005F ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u005F", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 005F ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u005F", new string[] { });
+
+		// ÷ 000D ÷ 1F1E6 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\uD83C\uDDE6", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\uD83C\uDDE6", new string[] { });
+
+		// ÷ 000D ÷ 05D0 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 000D ÷ 0308 ÷ 05D0 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 000D ÷ 0022 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\"", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 0022 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\"", new string[] { });
+
+		// ÷ 000D ÷ 0027 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0027", new string[] { });
+
+		// ÷ 000D ÷ 0308 ÷ 0027 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0027", new string[] { });
+
+		// ÷ 000D ÷ 00AD ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u00AD", new string[] { });
+
+		// ÷ 000D ÷ 0308 × 00AD ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u00AD", new string[] { });
+
+		// ÷ 000D ÷ 0300 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0300", new string[] { });
+
+		// ÷ 000D ÷ 0308 × 0300 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0300", new string[] { });
+
+		// ÷ 000D ÷ 0061 × 2060 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 000D ÷ 0308 ÷ 0061 × 2060 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 000D ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0308 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0308 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0308 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0308 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 000D ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0308 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0308 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0308 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 000D ÷ 0308 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\r\u0308\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0001 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0001", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 0001 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0001", new string[] { });
+
+		// ÷ 000A ÷ 000D ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\r", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 000D ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\r", new string[] { });
+
+		// ÷ 000A ÷ 000A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\n", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 000A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\n", new string[] { });
+
+		// ÷ 000A ÷ 000B ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u000B", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 000B ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u000B", new string[] { });
+
+		// ÷ 000A ÷ 3031 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u3031", new string[] {"\u3031"});
+
+		// ÷ 000A ÷ 0308 ÷ 3031 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u3031", new string[] {"\u3031"});
+
+		// ÷ 000A ÷ 0041 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0041", new string[] {"\u0041"});
+
+		// ÷ 000A ÷ 0308 ÷ 0041 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0041", new string[] {"\u0041"});
+
+		// ÷ 000A ÷ 003A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u003A", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 003A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u003A", new string[] { });
+
+		// ÷ 000A ÷ 002C ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u002C", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 002C ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u002C", new string[] { });
+
+		// ÷ 000A ÷ 002E ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u002E", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 002E ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u002E", new string[] { });
+
+		// ÷ 000A ÷ 0030 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0030", new string[] {"\u0030"});
+
+		// ÷ 000A ÷ 0308 ÷ 0030 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0030", new string[] {"\u0030"});
+
+		// ÷ 000A ÷ 005F ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u005F", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 005F ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u005F", new string[] { });
+
+		// ÷ 000A ÷ 1F1E6 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\uD83C\uDDE6", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\uD83C\uDDE6", new string[] { });
+
+		// ÷ 000A ÷ 05D0 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 000A ÷ 0308 ÷ 05D0 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 000A ÷ 0022 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\"", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 0022 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\"", new string[] { });
+
+		// ÷ 000A ÷ 0027 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0027", new string[] { });
+
+		// ÷ 000A ÷ 0308 ÷ 0027 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0027", new string[] { });
+
+		// ÷ 000A ÷ 00AD ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u00AD", new string[] { });
+
+		// ÷ 000A ÷ 0308 × 00AD ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u00AD", new string[] { });
+
+		// ÷ 000A ÷ 0300 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0300", new string[] { });
+
+		// ÷ 000A ÷ 0308 × 0300 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0300", new string[] { });
+
+		// ÷ 000A ÷ 0061 × 2060 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 000A ÷ 0308 ÷ 0061 × 2060 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 000A ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0308 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0308 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0308 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0308 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 000A ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0308 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0308 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0308 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 000A ÷ 0308 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\n\u0308\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0001 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0001", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 0001 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0001", new string[] { });
+
+		// ÷ 000B ÷ 000D ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\r", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 000D ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\r", new string[] { });
+
+		// ÷ 000B ÷ 000A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\n", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 000A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\n", new string[] { });
+
+		// ÷ 000B ÷ 000B ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u000B", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 000B ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u000B", new string[] { });
+
+		// ÷ 000B ÷ 3031 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u3031", new string[] {"\u3031"});
+
+		// ÷ 000B ÷ 0308 ÷ 3031 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u3031", new string[] {"\u3031"});
+
+		// ÷ 000B ÷ 0041 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0041", new string[] {"\u0041"});
+
+		// ÷ 000B ÷ 0308 ÷ 0041 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0041", new string[] {"\u0041"});
+
+		// ÷ 000B ÷ 003A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u003A", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 003A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u003A", new string[] { });
+
+		// ÷ 000B ÷ 002C ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u002C", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 002C ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u002C", new string[] { });
+
+		// ÷ 000B ÷ 002E ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u002E", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 002E ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u002E", new string[] { });
+
+		// ÷ 000B ÷ 0030 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0030", new string[] {"\u0030"});
+
+		// ÷ 000B ÷ 0308 ÷ 0030 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0030", new string[] {"\u0030"});
+
+		// ÷ 000B ÷ 005F ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u005F", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 005F ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u005F", new string[] { });
+
+		// ÷ 000B ÷ 1F1E6 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\uD83C\uDDE6", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\uD83C\uDDE6", new string[] { });
+
+		// ÷ 000B ÷ 05D0 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 000B ÷ 0308 ÷ 05D0 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 000B ÷ 0022 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\"", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 0022 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\"", new string[] { });
+
+		// ÷ 000B ÷ 0027 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0027", new string[] { });
+
+		// ÷ 000B ÷ 0308 ÷ 0027 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0027", new string[] { });
+
+		// ÷ 000B ÷ 00AD ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u00AD", new string[] { });
+
+		// ÷ 000B ÷ 0308 × 00AD ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u00AD", new string[] { });
+
+		// ÷ 000B ÷ 0300 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0300", new string[] { });
+
+		// ÷ 000B ÷ 0308 × 0300 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0300", new string[] { });
+
+		// ÷ 000B ÷ 0061 × 2060 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 000B ÷ 0308 ÷ 0061 × 2060 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 000B ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0308 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0308 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0308 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0308 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 000B ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0308 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0308 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0308 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 000B ÷ 0308 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u000B\u0308\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 3031 ÷ 0001 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0001", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 0001 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0001", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 000D ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\r", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 000D ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\r", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 000A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\n", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 000A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\n", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 000B ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u000B", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 000B ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u000B", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 × 3031 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [13.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u3031", new string[] {"\u3031\u3031"});
+
+		// ÷ 3031 × 0308 × 3031 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) × [13.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u3031", new string[] {"\u3031\u0308\u3031"});
+
+		// ÷ 3031 ÷ 0041 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0041", new string[] {"\u3031", "\u0041"});
+
+		// ÷ 3031 × 0308 ÷ 0041 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0041", new string[] {"\u3031\u0308", "\u0041"});
+
+		// ÷ 3031 ÷ 003A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u003A", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 003A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u003A", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 002C ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u002C", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 002C ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u002C", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 002E ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u002E", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 002E ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u002E", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 0030 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0030", new string[] {"\u3031", "\u0030"});
+
+		// ÷ 3031 × 0308 ÷ 0030 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0030", new string[] {"\u3031\u0308", "\u0030"});
+
+		// ÷ 3031 × 005F ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [13.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u005F", new string[] {"\u3031\u005F"});
+
+		// ÷ 3031 × 0308 × 005F ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) × [13.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u005F", new string[] {"\u3031\u0308\u005F"});
+
+		// ÷ 3031 ÷ 1F1E6 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\uD83C\uDDE6", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\uD83C\uDDE6", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 05D0 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u05D0", new string[] {"\u3031", "\u05D0"});
+
+		// ÷ 3031 × 0308 ÷ 05D0 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u05D0", new string[] {"\u3031\u0308", "\u05D0"});
+
+		// ÷ 3031 ÷ 0022 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\"", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 0022 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\"", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 ÷ 0027 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0027", new string[] {"\u3031"});
+
+		// ÷ 3031 × 0308 ÷ 0027 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0027", new string[] {"\u3031\u0308"});
+
+		// ÷ 3031 × 00AD ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u00AD", new string[] {"\u3031\u00AD"});
+
+		// ÷ 3031 × 0308 × 00AD ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u00AD", new string[] {"\u3031\u0308\u00AD"});
+
+		// ÷ 3031 × 0300 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0300", new string[] {"\u3031\u0300"});
+
+		// ÷ 3031 × 0308 × 0300 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0300", new string[] {"\u3031\u0308\u0300"});
+
+		// ÷ 3031 ÷ 0061 × 2060 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0061\u2060", new string[] {"\u3031", "\u0061\u2060"});
+
+		// ÷ 3031 × 0308 ÷ 0061 × 2060 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0061\u2060", new string[] {"\u3031\u0308", "\u0061\u2060"});
+
+		// ÷ 3031 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0061\u003A", new string[] {"\u3031", "\u0061"});
+
+		// ÷ 3031 × 0308 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0061\u003A", new string[] {"\u3031\u0308", "\u0061"});
+
+		// ÷ 3031 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0061\u0027", new string[] {"\u3031", "\u0061"});
+
+		// ÷ 3031 × 0308 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0061\u0027", new string[] {"\u3031\u0308", "\u0061"});
+
+		// ÷ 3031 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0061\u0027\u2060", new string[] {"\u3031", "\u0061"});
+
+		// ÷ 3031 × 0308 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0061\u0027\u2060", new string[] {"\u3031\u0308", "\u0061"});
+
+		// ÷ 3031 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0061\u002C", new string[] {"\u3031", "\u0061"});
+
+		// ÷ 3031 × 0308 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0061\u002C", new string[] {"\u3031\u0308", "\u0061"});
+
+		// ÷ 3031 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0031\u003A", new string[] {"\u3031", "\u0031"});
+
+		// ÷ 3031 × 0308 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0031\u003A", new string[] {"\u3031\u0308", "\u0031"});
+
+		// ÷ 3031 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0031\u0027", new string[] {"\u3031", "\u0031"});
+
+		// ÷ 3031 × 0308 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0031\u0027", new string[] {"\u3031\u0308", "\u0031"});
+
+		// ÷ 3031 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0031\u002C", new string[] {"\u3031", "\u0031"});
+
+		// ÷ 3031 × 0308 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0031\u002C", new string[] {"\u3031\u0308", "\u0031"});
+
+		// ÷ 3031 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0031\u002E\u2060", new string[] {"\u3031", "\u0031"});
+
+		// ÷ 3031 × 0308 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u3031\u0308\u0031\u002E\u2060", new string[] {"\u3031\u0308", "\u0031"});
+
+		// ÷ 0041 ÷ 0001 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0001", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 0001 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0001", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 000D ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\r", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 000D ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\r", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 000A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\n", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 000A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\n", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 000B ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u000B", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 000B ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u000B", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 3031 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u3031", new string[] {"\u0041", "\u3031"});
+
+		// ÷ 0041 × 0308 ÷ 3031 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u3031", new string[] {"\u0041\u0308", "\u3031"});
+
+		// ÷ 0041 × 0041 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0041", new string[] {"\u0041\u0041"});
+
+		// ÷ 0041 × 0308 × 0041 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0041", new string[] {"\u0041\u0308\u0041"});
+
+		// ÷ 0041 ÷ 003A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u003A", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 003A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u003A", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 002C ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u002C", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 002C ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u002C", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 002E ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u002E", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 002E ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u002E", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 × 0030 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [9.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0030", new string[] {"\u0041\u0030"});
+
+		// ÷ 0041 × 0308 × 0030 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [9.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0030", new string[] {"\u0041\u0308\u0030"});
+
+		// ÷ 0041 × 005F ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [13.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u005F", new string[] {"\u0041\u005F"});
+
+		// ÷ 0041 × 0308 × 005F ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [13.1] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u005F", new string[] {"\u0041\u0308\u005F"});
+
+		// ÷ 0041 ÷ 1F1E6 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\uD83C\uDDE6", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\uD83C\uDDE6", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 × 05D0 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u05D0", new string[] {"\u0041\u05D0"});
+
+		// ÷ 0041 × 0308 × 05D0 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u05D0", new string[] {"\u0041\u0308\u05D0"});
+
+		// ÷ 0041 ÷ 0022 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\"", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 0022 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\"", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 ÷ 0027 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0027", new string[] {"\u0041"});
+
+		// ÷ 0041 × 0308 ÷ 0027 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0027", new string[] {"\u0041\u0308"});
+
+		// ÷ 0041 × 00AD ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u00AD", new string[] {"\u0041\u00AD"});
+
+		// ÷ 0041 × 0308 × 00AD ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u00AD", new string[] {"\u0041\u0308\u00AD"});
+
+		// ÷ 0041 × 0300 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0300", new string[] {"\u0041\u0300"});
+
+		// ÷ 0041 × 0308 × 0300 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0300", new string[] {"\u0041\u0308\u0300"});
+
+		// ÷ 0041 × 0061 × 2060 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0061\u2060", new string[] {"\u0041\u0061\u2060"});
+
+		// ÷ 0041 × 0308 × 0061 × 2060 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0061\u2060", new string[] {"\u0041\u0308\u0061\u2060"});
+
+		// ÷ 0041 × 0061 ÷ 003A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0061\u003A", new string[] {"\u0041\u0061"});
+
+		// ÷ 0041 × 0308 × 0061 ÷ 003A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0061\u003A", new string[] {"\u0041\u0308\u0061"});
+
+		// ÷ 0041 × 0061 ÷ 0027 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0061\u0027", new string[] {"\u0041\u0061"});
+
+		// ÷ 0041 × 0308 × 0061 ÷ 0027 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0061\u0027", new string[] {"\u0041\u0308\u0061"});
+
+		// ÷ 0041 × 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0061\u0027\u2060", new string[] {"\u0041\u0061"});
+
+		// ÷ 0041 × 0308 × 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0061\u0027\u2060", new string[] {"\u0041\u0308\u0061"});
+
+		// ÷ 0041 × 0061 ÷ 002C ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0061\u002C", new string[] {"\u0041\u0061"});
+
+		// ÷ 0041 × 0308 × 0061 ÷ 002C ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0061\u002C", new string[] {"\u0041\u0308\u0061"});
+
+		// ÷ 0041 × 0031 ÷ 003A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0031\u003A", new string[] {"\u0041\u0031"});
+
+		// ÷ 0041 × 0308 × 0031 ÷ 003A ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0031\u003A", new string[] {"\u0041\u0308\u0031"});
+
+		// ÷ 0041 × 0031 ÷ 0027 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0031\u0027", new string[] {"\u0041\u0031"});
+
+		// ÷ 0041 × 0308 × 0031 ÷ 0027 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0031\u0027", new string[] {"\u0041\u0308\u0031"});
+
+		// ÷ 0041 × 0031 ÷ 002C ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0031\u002C", new string[] {"\u0041\u0031"});
+
+		// ÷ 0041 × 0308 × 0031 ÷ 002C ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0031\u002C", new string[] {"\u0041\u0308\u0031"});
+
+		// ÷ 0041 × 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0031\u002E\u2060", new string[] {"\u0041\u0031"});
+
+		// ÷ 0041 × 0308 × 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [9.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u0041\u0308\u0031\u002E\u2060", new string[] {"\u0041\u0308\u0031"});
+
+		// ÷ 003A ÷ 0001 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0001", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 0001 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0001", new string[] { });
+
+		// ÷ 003A ÷ 000D ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\r", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 000D ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\r", new string[] { });
+
+		// ÷ 003A ÷ 000A ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\n", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 000A ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\n", new string[] { });
+
+		// ÷ 003A ÷ 000B ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u000B", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 000B ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u000B", new string[] { });
+
+		// ÷ 003A ÷ 3031 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u3031", new string[] {"\u3031"});
+
+		// ÷ 003A × 0308 ÷ 3031 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u3031", new string[] {"\u3031"});
+
+		// ÷ 003A ÷ 0041 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0041", new string[] {"\u0041"});
+
+		// ÷ 003A × 0308 ÷ 0041 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0041", new string[] {"\u0041"});
+
+		// ÷ 003A ÷ 003A ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u003A", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 003A ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u003A", new string[] { });
+
+		// ÷ 003A ÷ 002C ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u002C", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 002C ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u002C", new string[] { });
+
+		// ÷ 003A ÷ 002E ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u002E", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 002E ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u002E", new string[] { });
+
+		// ÷ 003A ÷ 0030 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0030", new string[] {"\u0030"});
+
+		// ÷ 003A × 0308 ÷ 0030 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0030", new string[] {"\u0030"});
+
+		// ÷ 003A ÷ 005F ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u005F", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 005F ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u005F", new string[] { });
+
+		// ÷ 003A ÷ 1F1E6 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\uD83C\uDDE6", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\uD83C\uDDE6", new string[] { });
+
+		// ÷ 003A ÷ 05D0 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 003A × 0308 ÷ 05D0 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u05D0", new string[] {"\u05D0"});
+
+		// ÷ 003A ÷ 0022 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\"", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 0022 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\"", new string[] { });
+
+		// ÷ 003A ÷ 0027 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0027", new string[] { });
+
+		// ÷ 003A × 0308 ÷ 0027 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0027", new string[] { });
+
+		// ÷ 003A × 00AD ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u00AD", new string[] { });
+
+		// ÷ 003A × 0308 × 00AD ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u00AD", new string[] { });
+
+		// ÷ 003A × 0300 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0300", new string[] { });
+
+		// ÷ 003A × 0308 × 0300 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0300", new string[] { });
+
+		// ÷ 003A ÷ 0061 × 2060 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 003A × 0308 ÷ 0061 × 2060 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0061\u2060", new string[] {"\u0061\u2060"});
+
+		// ÷ 003A ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 003A × 0308 ÷ 0061 ÷ 003A ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0061\u003A", new string[] {"\u0061"});
+
+		// ÷ 003A ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 003A × 0308 ÷ 0061 ÷ 0027 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0061\u0027", new string[] {"\u0061"});
+
+		// ÷ 003A ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 003A × 0308 ÷ 0061 ÷ 0027 × 2060 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0061\u0027\u2060", new string[] {"\u0061"});
+
+		// ÷ 003A ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 003A × 0308 ÷ 0061 ÷ 002C ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0061\u002C", new string[] {"\u0061"});
+
+		// ÷ 003A ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 003A × 0308 ÷ 0031 ÷ 003A ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0031\u003A", new string[] {"\u0031"});
+
+		// ÷ 003A ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 003A × 0308 ÷ 0031 ÷ 0027 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0031\u0027", new string[] {"\u0031"});
+
+		// ÷ 003A ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 003A × 0308 ÷ 0031 ÷ 002C ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0031\u002C", new string[] {"\u0031"});
+
+		// ÷ 003A ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] COLON (MidLetter) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 003A × 0308 ÷ 0031 ÷ 002E × 2060 ÷  #  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u003A\u0308\u0031\u002E\u2060", new string[] {"\u0031"});
+
+		// ÷ 002C ÷ 0001 ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0001", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 0001 ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u0001", new string[] { });
+
+		// ÷ 002C ÷ 000D ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\r", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 000D ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\r", new string[] { });
+
+		// ÷ 002C ÷ 000A ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\n", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 000A ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\n", new string[] { });
+
+		// ÷ 002C ÷ 000B ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u000B", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 000B ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u000B", new string[] { });
+
+		// ÷ 002C ÷ 3031 ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u3031", new string[] {"\u3031"});
+
+		// ÷ 002C × 0308 ÷ 3031 ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u3031", new string[] {"\u3031"});
+
+		// ÷ 002C ÷ 0041 ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0041", new string[] {"\u0041"});
+
+		// ÷ 002C × 0308 ÷ 0041 ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u0041", new string[] {"\u0041"});
+
+		// ÷ 002C ÷ 003A ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u003A", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 003A ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u003A", new string[] { });
+
+		// ÷ 002C ÷ 002C ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u002C", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 002C ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u002C", new string[] { });
+
+		// ÷ 002C ÷ 002E ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u002E", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 002E ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u002E", new string[] { });
+
+		// ÷ 002C ÷ 0030 ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0030", new string[] {"\u0030"});
+
+		// ÷ 002C × 0308 ÷ 0030 ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u0030", new string[] {"\u0030"});
+
+		// ÷ 002C ÷ 005F ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u005F", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 005F ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\u005F", new string[] { });
+
+		// ÷ 002C ÷ 1F1E6 ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\uD83C\uDDE6", new string[] { });
+
+		// ÷ 002C × 0308 ÷ 1F1E6 ÷  #  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u0308\uD83C\uDDE6", new string[] { });
+
+		// ÷ 002C ÷ 05D0 ÷  #  ÷ [0.2] COMMA (MidNum) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+		assertAnalyzesTo(analyzer, "\u002C\u

<TRUNCATED>

Mime
View raw message