You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by di...@apache.org on 2009/11/08 14:36:43 UTC

svn commit: r833874 [2/3] - in /incubator/lucene.net/trunk/C#/src: Lucene.Net/Analysis/ Lucene.Net/Analysis/Tokenattributes/ Lucene.Net/Util/ Test/Analysis/ Test/Analysis/Tokenattributes/

Modified: incubator/lucene.net/trunk/C#/src/Test/Analysis/TestASCIIFoldingFilter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/trunk/C%23/src/Test/Analysis/TestASCIIFoldingFilter.cs?rev=833874&r1=833873&r2=833874&view=diff
==============================================================================
--- incubator/lucene.net/trunk/C#/src/Test/Analysis/TestASCIIFoldingFilter.cs (original)
+++ incubator/lucene.net/trunk/C#/src/Test/Analysis/TestASCIIFoldingFilter.cs Sun Nov  8 13:36:42 2009
@@ -32,7 +32,11 @@
         [Test]
 		public virtual void  TestLatin1Accents()
 		{
-			TokenStream stream = new WhitespaceTokenizer(new System.IO.StringReader("Des mot clés À LA CHAÎNE À �? Â Ã Ä Å Æ Ç È É Ê Ë Ì �? Î �? IJ �? Ñ" + " Ò Ó Ô Õ Ö Ø Œ Þ Ù Ú Û Ü �? Ÿ à á â ã ä å æ ç è é ê ë ì í î ï ij" + " ð ñ ò ó ô õ ö ø œ ß þ ù ú û ü ý ÿ �? fl"));
+			TokenStream stream = new WhitespaceTokenizer(new System.IO.StringReader(
+                  "Des mot clés À LA CHAÎNE À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï IJ Ð Ñ" +
+                  " Ò Ó Ô Õ Ö Ø Œ Þ Ù Ú Û Ü Ý Ÿ à á â ã ä å æ ç è é ê ë ì í î ï ij" +
+                  " ð ñ ò ó ô õ ö ø œ ß þ ù ú û ü ý ÿ fi fl")
+                );
 			ASCIIFoldingFilter filter = new ASCIIFoldingFilter(stream);
 			
 			TermAttribute termAtt = (TermAttribute) filter.GetAttribute(typeof(TermAttribute));
@@ -171,12 +175,1708 @@
 			//      single string.
 			//   2. The string of ASCII characters to which each of the above
 			//      characters should be folded.
-			System.String[] foldings = new System.String[]{"À" + "�?" + "Â" + "Ã" + "Ä" + "Å" + "Ā" + "Ă" + "Ą" + "�?" + "�?" + "Ǟ" + "Ǡ" + "Ǻ" + "Ȁ" + "Ȃ" + "Ȧ" + "Ⱥ" + "ᴀ" + "Ḁ" + "Ạ" + "Ả" + "Ấ" + "Ầ" + "Ẩ" + "Ẫ" + "Ậ" + "Ắ" + "Ằ" + "Ẳ" + "Ẵ" + "Ặ" + "Ⓐ" + "A", "A", "à" + "á" + "â" + "ã" + "ä" + "å" + "�?" + "ă" + "ą" + "ǎ" + "ǟ" + "ǡ" + "ǻ" + "�?" + "ȃ" + "ȧ" + "�?" + "ə" + "ɚ" + "�?" + "�?" + "ᶕ" + "ẚ" + "ạ" + "ả" + "ấ" + "
 ầ" + "ẩ" + "ẫ" + "ậ" + "ắ" + "ằ" + "ẳ" + "ẵ" + "ặ" + "�?" + "â‚”" + "�?" + "â±¥" + "Ɐ" + "�?", "a", "Ꜳ", "AA", "Æ" + "Ç¢" + "Ǽ" + "�?", "AE", "Ꜵ", "AO", "Ꜷ", "AU", "Ꜹ" + "Ꜻ", "AV", "Ꜽ", "AY", "â’œ", "(a)", "ꜳ", "aa", "æ" + "Ç£" + "ǽ" + "á´‚", "ae", "ꜵ", "ao", "ꜷ", "au", "ꜹ" + "ꜻ", "av", "ꜽ", "ay", "�?" + "Æ‚" + "Ƀ" + "Ê™" + "á´ƒ" + "Ḃ" + "Ḅ" + "Ḇ" + "â’·" + "ï¼¢", "B", "Æ€" + "ƃ" + "É“" + "ᵬ" + "ᶀ" + "ḃ" + "ḅ" + "ḇ" + "ââ€
 œâ€˜" + "b", "b", "�?", "(b)", "Ç" + "Ć" + "Ĉ" + "ÄŠ" + "ÄŒ" + "Ƈ" + "È»" + "Ê—" + "á´„" + "Ḉ" + "â’¸" + "ï¼£", "C", "ç" + "ć" + "ĉ" + "Ä‹" + "�?" + "ƈ" + "ȼ" + "É•" + "ḉ" + "ↄ" + "â“’" + "Ꜿ" + "ꜿ" + "c", "c", "â’ž", "(c)", "�?" + "ÄŽ" + "�?" + "Ɖ" + "ÆŠ" + "Æ‹" + "á´…" + "á´†" + "Ḋ" + "Ḍ" + "Ḏ" + "�?" + "Ḓ" + "â’¹" + "�?�" + "D", "D", "ð" + "�?" + "Ä‘" + "ÆŒ" + "È¡" + "É–" + "É—" + "áµ­" + "�?" + "ᶑ" + "ḋ" + "�?" + "Ã
 ¯Â¿Â½?" + "ḑ" + "ḓ" + "â““" + "�?�" + "d", "d", "Ç„" + "DZ", "DZ", "Ç…" + "Dz", "Dz", "â’Ÿ", "(d)", "ȸ", "db", "dž" + "dz" + "Ê£" + "Ê¥", "dz", "È" + "É" + "Ê" + "Ë" + "Ä’" + "Ä”" + "Ä–" + "Ę" + "Äš" + "ÆŽ" + "�?" + "È„" + "Ȇ" + "Ȩ" + "Ɇ" + "á´‡" + "Ḕ" + "Ḗ" + "Ḙ" + "Ḛ" + "Ḝ" + "Ẹ" + "Ẻ" + "Ẽ" + "Ế" + "Ề" + "Ể" + "Ễ" + "Ệ" + "â’º" + "â±»" + "ï¼¥", "E", "è" + "é" + "ê" + "ë" + "Ä“" + "Ä•" + "Ä—" + "Ä™" + "Ä›" + "�?" + "È…" + "Èâ€
 ¡" + "È©" + "ɇ" + "ɘ" + "É›" + "Éœ" + "�?" + "Éž" + "Êš" + 
-				"ᴈ" + "ᶒ" + "ᶓ" + "ᶔ" + "ḕ" + "ḗ" + "ḙ" + "ḛ" + "�?" + "ẹ" + "ẻ" + "ẽ" + "ế" + "�?" + "ể" + "ễ" + "ệ" + "ₑ" + "ⓔ" + "ⱸ" + "e", "e", "⒠", "(e)", "Ƒ" + "Ḟ" + "Ⓕ" + "ꜰ" + "�?�" + "ꟻ" + "F", "F", "ƒ" + "ᵮ" + "ᶂ" + "ḟ" + "ẛ" + "ⓕ" + "�?�" + "f", "f", "⒡", "(f)", "ff", "ff", "ffi", "ffi", "ffl", "ffl", "�?", "fi", "fl", "fl", "Ĝ" + "Ğ" + "Ġ" + "Ģ" + "Ɠ" + "Ǥ" + "ǥ" + "Ǧ" + "ǧ" + "Ǵ
 " + "ɢ" + "ʛ" + "Ḡ" + "Ⓖ" + "�?�" + "�?�" + "G", "G", "�?" + "ğ" + "ġ" + "ģ" + "ǵ" + "ɠ" + "ɡ" + "ᵷ" + "ᵹ" + "ᶃ" + "ḡ" + "ⓖ" + "�?�" + "g", "g", "⒢", "(g)", "Ĥ" + "Ħ" + "Ȟ" + "ʜ" + "Ḣ" + "Ḥ" + "Ḧ" + "Ḩ" + "Ḫ" + "Ⓗ" + "Ⱨ" + "Ⱶ" + "H", "H", "ĥ" + "ħ" + "ȟ" + "ɥ" + "ɦ" + "ʮ" + "ʯ" + "ḣ" + "ḥ" + "ḧ" + "ḩ" + "ḫ" + "ẖ" + "ⓗ" + "ⱨ" + "ⱶ" + "h", "h", "Ƕ", "HV", "⒣", "(h)", "ƕ", "hv", "Ì" + "�?" + "
 ÃŽ" + "�?" + "Ĩ" + "Ī" + "Ĭ" + "Ä®" + "Ä°" + "Æ–" + "Æ—" + "�?" + "Ȉ" + "ÈŠ" + "ɪ" + "áµ»" + "Ḭ" + "Ḯ" + "Ỉ" + "Ị" + "â’¾" + "ꟾ" + "I", "I", "ì" + "í" + "î" + "ï" + "Ä©" + "Ä«" + "Ä­" + "į" + "ı" + "�?" + "ȉ" + "È‹" + "ɨ" + "á´‰" + "áµ¢" + "áµ¼" + "ᶖ" + "ḭ" + "ḯ" + "ỉ" + "ị" + "�?�" + "ⓘ" + "i", "i", "IJ", "IJ", "â’¤", "(i)", "ij", "ij", "Ä´" + "Ɉ" + "á´Š" + "â’¿" + "J", "J", "ĵ" + "Ç°" + "È·" + "ɉ" + "ÉŸ" + "Ê„" + "�?" + "â“™" + "â�
 �±Â¼" + "j", "j", "â’¥", "(j)", "Ķ" + "Ƙ" + "Ǩ" + "á´‹" + "Ḱ" + "Ḳ" + "Ḵ" + "â“€" + "Ⱪ" + "�?�" + "�?�" + "�?�" + "K", "K", "Ä·" + "Æ™" + "Ç©" + "Êž" + "ᶄ" + "ḱ" + "ḳ" + "ḵ" + "â“š" + "ⱪ" + "�??" + "�?�" + "�?�" + "k", "k", "â’¦", "(k)", "Ĺ" + "Ä»" + "Ľ" + "Ä¿" + "�?" + "Ƚ" + "ÊŸ" + "á´Œ" + "Ḷ" + "Ḹ" + "Ḻ" + "Ḽ" + "�?" + "â± " + "â±¢" + "�?�" + "�?�" + "Ꞁ" + "L", "L", "ĺ" + "ļ" + "ľ" + "Å€" + 
 "ł" + "ƚ" + "ȴ" + "ɫ" + "ɬ" + "ɭ" + "ᶅ" + "ḷ" + "ḹ" + "ḻ" + "ḽ" + "ⓛ" + "ⱡ" + 
-				"�?�" + "�?�" + "�?" + "l", "l", "LJ", "LJ", "Ỻ", "LL", "Lj", "Lj", "â’§", "(l)", "lj", "lj", "á»»", "ll", "ʪ", "ls", "Ê«", "lz", "Æœ" + "�?" + "Ḿ" + "á¹€" + "Ṃ" + "â“‚" + "â±®" + "ꟽ" + "ꟿ" + "ï¼­", "M", "ɯ" + "É°" + "ɱ" + "ᵯ" + "ᶆ" + "ḿ" + "�?" + "ṃ" + "â“œ" + "�?", "m", "â’¨", "(m)", "Ñ" + "Ń" + "Å…" + "Ň" + "ÅŠ" + "�?" + "Ǹ" + "È " + "É´" + "á´Ž" + "Ṅ" + "Ṇ" + "Ṉ" + "Ṋ" + "Ⓝ" + "ï¼®", "N", "ñ" + "Å„" + "ņ" + "ň" + "ʼn" + "Å‹" + "ÆÅ�
 �" + "ǹ" + "ȵ" + "ɲ" + "ɳ" + "áµ°" + "ᶇ" + "á¹…" + "ṇ" + "ṉ" + "ṋ" + "�?�" + "�?" + "n", "n", "ÇŠ", "NJ", "Ç‹", "Nj", "â’©", "(n)", "ÇŒ", "nj", "Ã’" + "Ó" + "Ô" + "Õ" + "Ö" + "Ø" + "ÅŒ" + "ÅŽ" + "�?" + "Ɔ" + "ÆŸ" + "Æ " + "Ç‘" + "Ǫ" + "Ǭ" + "Ǿ" + "ÈŒ" + "ÈŽ" + "Ȫ" + "Ȭ" + "È®" + "È°" + "�?" + "�?" + "Ṍ" + "Ṏ" + "�?" + "á¹’" + "Ọ" + "Ỏ" + "�?" + "á»’" + "á»”" + "á»–" + "Ộ" + "Ớ" + "Ờ" + "Ở" + "á» " + "Ợ" + "â“„" + "�?�
 " + "�?�" + "O", "O", "ò" + "ó" + "ô" + "õ" + "ö" + "ø" + "�?" + "�?" + "ő" + "ơ" + "ǒ" + "ǫ" + "ǭ" + "ǿ" + "�?" + "�?" + "ȫ" + "ȭ" + "ȯ" + "ȱ" + "ɔ" + "ɵ" + "ᴖ" + "ᴗ" + "ᶗ" + "�?" + "�?" + "ṑ" + "ṓ" + "�?" + "�?" + "ố" + "ồ" + "ổ" + "ỗ" + "ộ" + "ớ" + "�?" + "ở" + "ỡ" + "ợ" + "ₒ" + "ⓞ" + "ⱺ" + "�?�" + "�??" + "�?", "o", "Œ" + "ɶ", "OE", "�?�", "OO", "Ȣ" + "ᴕ", "OU", "⒪", "(o)", "œ" +
  "ᴔ", "oe", "�??", "oo", "ȣ", "ou", "Ƥ" + "ᴘ" + "Ṕ" + "Ṗ" + "Ⓟ" + "Ᵽ" + "�??" + "�?�" + "�?�" + "P", "P", "ƥ" + "ᵱ" + "ᵽ" + "ᶈ" + "ṕ" + "ṗ" + "ⓟ" + "�?�" + "�?�" + "�?�" + "ꟼ" + "�?", "p", "⒫", "(p)", "Ɋ" + "Ⓠ" + "�?�" + "�?�" + "Q", "Q", "ĸ" + "ɋ" + "ʠ" + "ⓠ" + "�?�" + "�?�" + "q", "q", "⒬", "(q)", "ȹ", "qp", "Ŕ" + "Ŗ" + "Ř" + "�?" + "Ȓ" + "Ɍ" + "ʀ" + "�?" + "ᴙ" +
  "ᴚ" + "Ṙ" + "Ṛ" + "Ṝ" + "Ṟ" + "Ⓡ" + "Ɽ" + "�?�" + "Ꞃ" + "R", "R", "ŕ" + 
-				"ŗ" + "ř" + "ȑ" + "ȓ" + "�?" + "ɼ" + "ɽ" + "ɾ" + "ɿ" + "ᵣ" + "ᵲ" + "ᵳ" + "ᶉ" + "ṙ" + "ṛ" + "�?" + "ṟ" + "ⓡ" + "�?�" + "ꞃ" + "r", "r", "⒭", "(r)", "Ś" + "Ŝ" + "Ş" + "Š" + "Ș" + "Ṡ" + "Ṣ" + "Ṥ" + "Ṧ" + "Ṩ" + "Ⓢ" + "ꜱ" + "ꞅ" + "S", "S", "ś" + "�?" + "ş" + "š" + "ſ" + "ș" + "ȿ" + "ʂ" + "ᵴ" + "ᶊ" + "ṡ" + "ṣ" + "ṥ" + "ṧ" + "ṩ" + "ẜ" + "�?" + "ⓢ" + "Ꞅ" + "s", "s", "ẞ", "SS", "⒮", "(
 s)", "ß", "ss", "st", "st", "Å¢" + "Ť" + "Ŧ" + "Ƭ" + "Æ®" + "Èš" + "Ⱦ" + "á´›" + "Ṫ" + "Ṭ" + "á¹®" + "á¹°" + "Ⓣ" + "Ꞇ" + "ï¼´", "T", "Å£" + "Å¥" + "ŧ" + "Æ«" + "Æ­" + "È›" + "ȶ" + "ʇ" + "ʈ" + "áµµ" + "ṫ" + "á¹­" + "ṯ" + "á¹±" + "ẗ" + "â“£" + "ⱦ" + "ï½”", "t", "Þ" + "�?�", "TH", "Ꜩ", "TZ", "â’¯", "(t)", "ʨ", "tc", "þ" + "ᵺ" + "�?�", "th", "ʦ", "ts", "ꜩ", "tz", "Ù" + "Ú" + "Û" + "Ãœ" + "Ũ" + "Ū" + "Ŭ" + "Å®" + "Å°" + "Ų" + "Ư" + "Ç“" + "Ç•" + "Ç—" + "Çâ„
 ¢" + "Ç›" + "È”" + "È–" + "É„" + "á´œ" + "áµ¾" + "á¹²" + "á¹´" + "Ṷ" + "Ṹ" + "Ṻ" + "Ụ" + "Ủ" + "Ứ" + "Ừ" + "Ử" + "á»®" + "á»°" + "â“Š" + "ï¼µ", "U", "ù" + "ú" + "û" + "ü" + "Å©" + "Å«" + "Å­" + "ů" + "ű" + "ų" + "Æ°" + "Ç”" + "Ç–" + "ǘ" + "Çš" + "Çœ" + "È•" + "È—" + "ʉ" + "ᵤ" + "ᶙ" + "á¹³" + "á¹µ" + "á¹·" + "á¹¹" + "á¹»" + "ụ" + "ủ" + "ứ" + "ừ" + "á»­" + "ữ" + "á»±" + "ⓤ" + "u", "u", "â’°", "(u)", "ᵫ", "ue", "Ʋ" + "É…" + "á´ " + "á¹¼"
  + "Ṿ" + "Ỽ" + "Ⓥ" + "�?�" + "�?�" + "V", "V", "ʋ" + "ʌ" + "ᵥ" + "ᶌ" + "ṽ" + "ṿ" + "ⓥ" + "ⱱ" + "ⱴ" + "�?�" + "v", "v", "�?�", "VY", "⒱", "(v)", "�?�", "vy", "Ŵ" + "Ƿ" + "ᴡ" + "Ẁ" + "Ẃ" + "Ẅ" + "Ẇ" + "Ẉ" + "Ⓦ" + "Ⱳ" + "W", "W", "ŵ" + "ƿ" + "�?" + "�?" + "ẃ" + "ẅ" + "ẇ" + "ẉ" + "ẘ" + "ⓦ" + "ⱳ" + "w", "w", "⒲", "(w)", "Ẋ" + "Ẍ" + "�?" + "X", "X", "�?" + "ẋ" + "�
 ?" + "ₓ" + "ⓧ" + "x", "x", "⒳", "(x)", "�?" + "Ŷ" + "Ÿ" + "Ƴ" + "Ȳ" + "Ɏ" + 
-				"�?" + "Ẏ" + "Ỳ" + "Ỵ" + "Ỷ" + "Ỹ" + "Ỿ" + "Ⓨ" + "Y", "Y", "ý" + "ÿ" + "ŷ" + "ƴ" + "ȳ" + "�?" + "ʎ" + "�?" + "ẙ" + "ỳ" + "ỵ" + "ỷ" + "ỹ" + "ỿ" + "ⓨ" + "y", "y", "⒴", "(y)", "Ź" + "Ż" + "Ž" + "Ƶ" + "Ȝ" + "Ȥ" + "ᴢ" + "�?" + "Ẓ" + "Ẕ" + "�?" + "Ⱬ" + "�?�" + "Z", "Z", "ź" + "ż" + "ž" + "ƶ" + "�?" + "ȥ" + "ɀ" + "�?" + "ʑ" + "ᵶ" + "ᶎ" + "ẑ" + "ẓ" + "ẕ" + "ⓩ" + "ⱬ" + "�?�" + "z",
  "z", "⒵", "(z)", "�?�" + "₀" + "⓪" + "⓿" + "�?", "0", "¹" + "�?" + "①" + "⓵" + "�?�" + "➀" + "➊" + "1", "1", "⒈", "1.", "⑴", "(1)", "²" + "₂" + "②" + "⓶" + "�?�" + "�?" + "➋" + "2", "2", "⒉", "2.", "⑵", "(2)", "³" + "₃" + "③" + "⓷" + "�?�" + "➂" + "➌" + "3", "3", "⒊", "3.", "⑶", "(3)", "�?�" + "₄" + "④" + "⓸" + "�?�" + "➃" + "�?" + "4", "4", "⒋", "4.", "⑷"
 , "(4)", "�?�" + "â‚…" + "⑤" + "⓹" + "�?�" + "âž„" + "➎" + "5", "5", "â’Œ", "5.", "⑸", "(5)", "�?�" + "₆" + "â‘¥" + "⓺" + "�?�" + "âž…" + "�?" + "ï¼–", "6", "�?", "6.", "⑹", "(6)", "�?�" + "₇" + "⑦" + "â“»" + "�?�" + "➆" + "�?" + "ï¼—", "7", "â’Ž", "7.", "⑺", "(7)", "�?�" + "₈" + "⑧" + "⓼" + "�?�" + "➇" + "âž‘" + "8", "8", "�?", "8.", "â‘»", "(8)", "�?�" + "₉" + "⑨" + "Ã�
 �“½" + "�?�" + "➈" + "âž’" + "ï¼™", "9", "�?", "9.", "⑼", "(9)", "â‘©" + "⓾" + "�?�" + "➉" + "âž“", "10", "â’‘", "10.", "⑽", "(10)", "⑪" + "â“«", "11", "â’’", "11.", "⑾", "(11)", "â‘«" + "⓬", "12", "â’“", "12.", "â‘¿", "(12)", "⑬" + "â“­", "13", "â’”", "13.", "â’€", "(13)", "â‘­" + "â“®", "14", "â’•", "14.", "�?", "(14)", "â‘®" + "⓯", "15", "â’–", "15.", "â’‚", "(15)", "⑯" + "â“°", "16", "â’—", "16.", "â’ƒ", "(16)", "â‘°" + "⓱", "17", "â’˜", "17.", "â’„", "(17)"
 , "⑱" + "⓲", "18", "⒙", "18.", "⒅", "(18)", "⑲" + "⓳", "19", "⒚", "19.", "⒆", "(19)", "⑳" + "⓴", "20", "⒛", 
-				"20.", "⒇", "(20)", "«" + "»" + "“" + "�?" + "„" + "″" + "‶" + "�??" + "�?�" + "�?�" + "�?�" + """, "\"", "‘" + "’" + "‚" + "‛" + "′" + "‵" + "‹" + "›" + "�?�" + "�?�" + "'", "'", "�?" + "‑" + "‒" + "–" + "—" + "�?�" + "₋" + "�?", "-", "�?�" + "�?�" + "[", "[", "�?�" + "�?�" + "]", "]", "�?�" + "�?" + "�?�" + "�?�" + "(
 ", "(", "⸨", "((", "�?�" + "â‚Ž" + "�?�" + "�?�" + ")", ")", "⸩", "))", "�?�" + "�?�" + "<", "<", "�?�" + "�?�" + ">", ">", "�?�" + "ï½›", "{", "�?�" + "�?", "}", "�?�" + "â‚Š" + "+", "+", "�?�" + "â‚Œ" + "�?", "=", "�?", "!", "‼", "!!", "�?�", "!?", "#", "#", "$", "$", "�?�" + "ï¼…", "%", "&", "&", "�?�" + "*", "*", ",", ",", ".", ".", "�?�" + "�?", "/", ":", ":", "�??" + "ï¼
 ›", ";", "?", "?", "�?�", "??", "�?�", "?!", "ï¼ ", "@", "ï¼¼", "\\", "‸" + "ï¼¾", "^", "_", "_", "�?�" + "~", "~"};
+			System.String[] foldings = new System.String[]
+                {
+                "À"  // U+00C0: LATIN CAPITAL LETTER A WITH GRAVE
+      + "Á"  // U+00C1: LATIN CAPITAL LETTER A WITH ACUTE
+      + "Â"  // U+00C2: LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+      + "Ã"  // U+00C3: LATIN CAPITAL LETTER A WITH TILDE
+      + "Ä"  // U+00C4: LATIN CAPITAL LETTER A WITH DIAERESIS
+      + "Å"  // U+00C5: LATIN CAPITAL LETTER A WITH RING ABOVE
+      + "Ā"  // U+0100: LATIN CAPITAL LETTER A WITH MACRON
+      + "Ă"  // U+0102: LATIN CAPITAL LETTER A WITH BREVE
+      + "Ą"  // U+0104: LATIN CAPITAL LETTER A WITH OGONEK
+      + "Ə"  // U+018F: LATIN CAPITAL LETTER SCHWA
+      + "Ǎ"  // U+01CD: LATIN CAPITAL LETTER A WITH CARON
+      + "Ǟ"  // U+01DE: LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+      + "Ç "  // U+01E0: LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+      + "Ǻ"  // U+01FA: LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+      + "Ȁ"  // U+0200: LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+      + "Ȃ"  // U+0202: LATIN CAPITAL LETTER A WITH INVERTED BREVE
+      + "Ȧ"  // U+0226: LATIN CAPITAL LETTER A WITH DOT ABOVE
+      + "Ⱥ"  // U+023A: LATIN CAPITAL LETTER A WITH STROKE
+      + "ᴀ"  // U+1D00: LATIN LETTER SMALL CAPITAL A
+      + "Ḁ"  // U+1E00: LATIN CAPITAL LETTER A WITH RING BELOW
+      + "Ạ"  // U+1EA0: LATIN CAPITAL LETTER A WITH DOT BELOW
+      + "Ả"  // U+1EA2: LATIN CAPITAL LETTER A WITH HOOK ABOVE
+      + "Ấ"  // U+1EA4: LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+      + "Ầ"  // U+1EA6: LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+      + "Ẩ"  // U+1EA8: LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+      + "Ẫ"  // U+1EAA: LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+      + "Ậ"  // U+1EAC: LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+      + "Ắ"  // U+1EAE: LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+      + "Ằ"  // U+1EB0: LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+      + "Ẳ"  // U+1EB2: LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+      + "Ẵ"  // U+1EB4: LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+      + "Ặ"  // U+1EB6: LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+      + "Ⓐ"  // U+24B6: CIRCLED LATIN CAPITAL LETTER A
+      + "A"  // U+FF21: FULLWIDTH LATIN CAPITAL LETTER A
+      ,"A", // Folded result
+
+       "à"  // U+00E0: LATIN SMALL LETTER A WITH GRAVE
+       + "á"  // U+00E1: LATIN SMALL LETTER A WITH ACUTE
+       + "â"  // U+00E2: LATIN SMALL LETTER A WITH CIRCUMFLEX
+       + "ã"  // U+00E3: LATIN SMALL LETTER A WITH TILDE
+       + "ä"  // U+00E4: LATIN SMALL LETTER A WITH DIAERESIS
+       + "Ã¥"  // U+00E5: LATIN SMALL LETTER A WITH RING ABOVE
+       + "ā"  // U+0101: LATIN SMALL LETTER A WITH MACRON
+       + "ă"  // U+0103: LATIN SMALL LETTER A WITH BREVE
+       + "ą"  // U+0105: LATIN SMALL LETTER A WITH OGONEK
+       + "ǎ"  // U+01CE: LATIN SMALL LETTER A WITH CARON
+       + "ǟ"  // U+01DF: LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+       + "Ç¡"  // U+01E1: LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+       + "Ç»"  // U+01FB: LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+       + "ȁ"  // U+0201: LATIN SMALL LETTER A WITH DOUBLE GRAVE
+       + "ȃ"  // U+0203: LATIN SMALL LETTER A WITH INVERTED BREVE
+       + "ȧ"  // U+0227: LATIN SMALL LETTER A WITH DOT ABOVE
+       + "ɐ"  // U+0250: LATIN SMALL LETTER TURNED A
+       + "ə"  // U+0259: LATIN SMALL LETTER SCHWA
+       + "ɚ"  // U+025A: LATIN SMALL LETTER SCHWA WITH HOOK
+       + "ᶏ"  // U+1D8F: LATIN SMALL LETTER A WITH RETROFLEX HOOK
+       + "ḁ"  // U+1E01: LATIN SMALL LETTER A WITH RING BELOW
+       + "ᶕ"  // U+1D95: LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+       + "ẚ"  // U+1E9A: LATIN SMALL LETTER A WITH RIGHT HALF RING
+       + "ạ"  // U+1EA1: LATIN SMALL LETTER A WITH DOT BELOW
+       + "ả"  // U+1EA3: LATIN SMALL LETTER A WITH HOOK ABOVE
+       + "ấ"  // U+1EA5: LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+       + "ầ"  // U+1EA7: LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+       + "ẩ"  // U+1EA9: LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+       + "ẫ"  // U+1EAB: LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+       + "ậ"  // U+1EAD: LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+       + "ắ"  // U+1EAF: LATIN SMALL LETTER A WITH BREVE AND ACUTE
+       + "ằ"  // U+1EB1: LATIN SMALL LETTER A WITH BREVE AND GRAVE
+       + "ẳ"  // U+1EB3: LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+       + "ẵ"  // U+1EB5: LATIN SMALL LETTER A WITH BREVE AND TILDE
+       + "ặ"  // U+1EB7: LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+       + "ₐ"  // U+2090: LATIN SUBSCRIPT SMALL LETTER A
+       + "ₔ"  // U+2094: LATIN SUBSCRIPT SMALL LETTER SCHWA
+       + "ⓐ"  // U+24D0: CIRCLED LATIN SMALL LETTER A
+       + "â±¥"  // U+2C65: LATIN SMALL LETTER A WITH STROKE
+       + "Ɐ"  // U+2C6F: LATIN CAPITAL LETTER TURNED A
+       + "a"  // U+FF41: FULLWIDTH LATIN SMALL LETTER A
+      ,"a", // Folded result
+
+       "Ꜳ"  // U+A732: LATIN CAPITAL LETTER AA
+      ,"AA", // Folded result
+
+       "Æ"  // U+00C6: LATIN CAPITAL LETTER AE
+       + "Ç¢"  // U+01E2: LATIN CAPITAL LETTER AE WITH MACRON
+       + "Ǽ"  // U+01FC: LATIN CAPITAL LETTER AE WITH ACUTE
+       + "ᴁ"  // U+1D01: LATIN LETTER SMALL CAPITAL AE
+      ,"AE", // Folded result
+
+       "Ꜵ"  // U+A734: LATIN CAPITAL LETTER AO
+      ,"AO", // Folded result
+
+       "Ꜷ"  // U+A736: LATIN CAPITAL LETTER AU
+      ,"AU", // Folded result
+
+       "Ꜹ"  // U+A738: LATIN CAPITAL LETTER AV
+       + "Ꜻ"  // U+A73A: LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+      ,"AV", // Folded result
+
+       "Ꜽ"  // U+A73C: LATIN CAPITAL LETTER AY
+      ,"AY", // Folded result
+
+       "⒜"  // U+249C: PARENTHESIZED LATIN SMALL LETTER A
+      ,"(a)", // Folded result
+
+       "ꜳ"  // U+A733: LATIN SMALL LETTER AA
+      ,"aa", // Folded result
+
+       "æ"  // U+00E6: LATIN SMALL LETTER AE
+       + "Ç£"  // U+01E3: LATIN SMALL LETTER AE WITH MACRON
+       + "ǽ"  // U+01FD: LATIN SMALL LETTER AE WITH ACUTE
+       + "ᴂ"  // U+1D02: LATIN SMALL LETTER TURNED AE
+      ,"ae", // Folded result
+
+       "ꜵ"  // U+A735: LATIN SMALL LETTER AO
+      ,"ao", // Folded result
+
+       "ꜷ"  // U+A737: LATIN SMALL LETTER AU
+      ,"au", // Folded result
+
+       "ꜹ"  // U+A739: LATIN SMALL LETTER AV
+       + "ꜻ"  // U+A73B: LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+      ,"av", // Folded result
+
+       "ꜽ"  // U+A73D: LATIN SMALL LETTER AY
+      ,"ay", // Folded result
+
+       "Ɓ"  // U+0181: LATIN CAPITAL LETTER B WITH HOOK
+       + "Ƃ"  // U+0182: LATIN CAPITAL LETTER B WITH TOPBAR
+       + "Ƀ"  // U+0243: LATIN CAPITAL LETTER B WITH STROKE
+       + "ʙ"  // U+0299: LATIN LETTER SMALL CAPITAL B
+       + "ᴃ"  // U+1D03: LATIN LETTER SMALL CAPITAL BARRED B
+       + "Ḃ"  // U+1E02: LATIN CAPITAL LETTER B WITH DOT ABOVE
+       + "Ḅ"  // U+1E04: LATIN CAPITAL LETTER B WITH DOT BELOW
+       + "Ḇ"  // U+1E06: LATIN CAPITAL LETTER B WITH LINE BELOW
+       + "Ⓑ"  // U+24B7: CIRCLED LATIN CAPITAL LETTER B
+       + "ï¼¢"  // U+FF22: FULLWIDTH LATIN CAPITAL LETTER B
+      ,"B", // Folded result
+
+       "ƀ"  // U+0180: LATIN SMALL LETTER B WITH STROKE
+       + "ƃ"  // U+0183: LATIN SMALL LETTER B WITH TOPBAR
+       + "ɓ"  // U+0253: LATIN SMALL LETTER B WITH HOOK
+       + "ᵬ"  // U+1D6C: LATIN SMALL LETTER B WITH MIDDLE TILDE
+       + "ᶀ"  // U+1D80: LATIN SMALL LETTER B WITH PALATAL HOOK
+       + "ḃ"  // U+1E03: LATIN SMALL LETTER B WITH DOT ABOVE
+       + "ḅ"  // U+1E05: LATIN SMALL LETTER B WITH DOT BELOW
+       + "ḇ"  // U+1E07: LATIN SMALL LETTER B WITH LINE BELOW
+       + "ⓑ"  // U+24D1: CIRCLED LATIN SMALL LETTER B
+       + "b"  // U+FF42: FULLWIDTH LATIN SMALL LETTER B
+      ,"b", // Folded result
+
+       "⒝"  // U+249D: PARENTHESIZED LATIN SMALL LETTER B
+      ,"(b)", // Folded result
+
+       "Ç"  // U+00C7: LATIN CAPITAL LETTER C WITH CEDILLA
+       + "Ć"  // U+0106: LATIN CAPITAL LETTER C WITH ACUTE
+       + "Ĉ"  // U+0108: LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+       + "Ċ"  // U+010A: LATIN CAPITAL LETTER C WITH DOT ABOVE
+       + "Č"  // U+010C: LATIN CAPITAL LETTER C WITH CARON
+       + "Ƈ"  // U+0187: LATIN CAPITAL LETTER C WITH HOOK
+       + "È»"  // U+023B: LATIN CAPITAL LETTER C WITH STROKE
+       + "ʗ"  // U+0297: LATIN LETTER STRETCHED C
+       + "ᴄ"  // U+1D04: LATIN LETTER SMALL CAPITAL C
+       + "Ḉ"  // U+1E08: LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+       + "Ⓒ"  // U+24B8: CIRCLED LATIN CAPITAL LETTER C
+       + "ï¼£"  // U+FF23: FULLWIDTH LATIN CAPITAL LETTER C
+      ,"C", // Folded result
+
+       "ç"  // U+00E7: LATIN SMALL LETTER C WITH CEDILLA
+       + "ć"  // U+0107: LATIN SMALL LETTER C WITH ACUTE
+       + "ĉ"  // U+0109: LATIN SMALL LETTER C WITH CIRCUMFLEX
+       + "ċ"  // U+010B: LATIN SMALL LETTER C WITH DOT ABOVE
+       + "č"  // U+010D: LATIN SMALL LETTER C WITH CARON
+       + "ƈ"  // U+0188: LATIN SMALL LETTER C WITH HOOK
+       + "ȼ"  // U+023C: LATIN SMALL LETTER C WITH STROKE
+       + "ɕ"  // U+0255: LATIN SMALL LETTER C WITH CURL
+       + "ḉ"  // U+1E09: LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+       + "ↄ"  // U+2184: LATIN SMALL LETTER REVERSED C
+       + "ⓒ"  // U+24D2: CIRCLED LATIN SMALL LETTER C
+       + "Ꜿ"  // U+A73E: LATIN CAPITAL LETTER REVERSED C WITH DOT
+       + "ꜿ"  // U+A73F: LATIN SMALL LETTER REVERSED C WITH DOT
+       + "c"  // U+FF43: FULLWIDTH LATIN SMALL LETTER C
+      ,"c", // Folded result
+
+       "⒞"  // U+249E: PARENTHESIZED LATIN SMALL LETTER C
+      ,"(c)", // Folded result
+
+       "Ð"  // U+00D0: LATIN CAPITAL LETTER ETH
+       + "Ď"  // U+010E: LATIN CAPITAL LETTER D WITH CARON
+       + "Đ"  // U+0110: LATIN CAPITAL LETTER D WITH STROKE
+       + "Ɖ"  // U+0189: LATIN CAPITAL LETTER AFRICAN D
+       + "Ɗ"  // U+018A: LATIN CAPITAL LETTER D WITH HOOK
+       + "Ƌ"  // U+018B: LATIN CAPITAL LETTER D WITH TOPBAR
+       + "ᴅ"  // U+1D05: LATIN LETTER SMALL CAPITAL D
+       + "ᴆ"  // U+1D06: LATIN LETTER SMALL CAPITAL ETH
+       + "Ḋ"  // U+1E0A: LATIN CAPITAL LETTER D WITH DOT ABOVE
+       + "Ḍ"  // U+1E0C: LATIN CAPITAL LETTER D WITH DOT BELOW
+       + "Ḏ"  // U+1E0E: LATIN CAPITAL LETTER D WITH LINE BELOW
+       + "Ḑ"  // U+1E10: LATIN CAPITAL LETTER D WITH CEDILLA
+       + "Ḓ"  // U+1E12: LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+       + "Ⓓ"  // U+24B9: CIRCLED LATIN CAPITAL LETTER D
+       + "Ꝺ"  // U+A779: LATIN CAPITAL LETTER INSULAR D
+       + "D"  // U+FF24: FULLWIDTH LATIN CAPITAL LETTER D
+      ,"D", // Folded result
+
+       "ð"  // U+00F0: LATIN SMALL LETTER ETH
+       + "ď"  // U+010F: LATIN SMALL LETTER D WITH CARON
+       + "đ"  // U+0111: LATIN SMALL LETTER D WITH STROKE
+       + "ƌ"  // U+018C: LATIN SMALL LETTER D WITH TOPBAR
+       + "È¡"  // U+0221: LATIN SMALL LETTER D WITH CURL
+       + "ɖ"  // U+0256: LATIN SMALL LETTER D WITH TAIL
+       + "ɗ"  // U+0257: LATIN SMALL LETTER D WITH HOOK
+       + "áµ­"  // U+1D6D: LATIN SMALL LETTER D WITH MIDDLE TILDE
+       + "ᶁ"  // U+1D81: LATIN SMALL LETTER D WITH PALATAL HOOK
+       + "ᶑ"  // U+1D91: LATIN SMALL LETTER D WITH HOOK AND TAIL
+       + "ḋ"  // U+1E0B: LATIN SMALL LETTER D WITH DOT ABOVE
+       + "ḍ"  // U+1E0D: LATIN SMALL LETTER D WITH DOT BELOW
+       + "ḏ"  // U+1E0F: LATIN SMALL LETTER D WITH LINE BELOW
+       + "ḑ"  // U+1E11: LATIN SMALL LETTER D WITH CEDILLA
+       + "ḓ"  // U+1E13: LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+       + "ⓓ"  // U+24D3: CIRCLED LATIN SMALL LETTER D
+       + "ꝺ"  // U+A77A: LATIN SMALL LETTER INSULAR D
+       + "d"  // U+FF44: FULLWIDTH LATIN SMALL LETTER D
+      ,"d", // Folded result
+
+       "DŽ"  // U+01C4: LATIN CAPITAL LETTER DZ WITH CARON
+       + "DZ"  // U+01F1: LATIN CAPITAL LETTER DZ
+      ,"DZ", // Folded result
+
+       "Dž"  // U+01C5: LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+       + "Dz"  // U+01F2: LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+      ,"Dz", // Folded result
+
+       "⒟"  // U+249F: PARENTHESIZED LATIN SMALL LETTER D
+      ,"(d)", // Folded result
+
+       "ȸ"  // U+0238: LATIN SMALL LETTER DB DIGRAPH
+      ,"db", // Folded result
+
+       "dž"  // U+01C6: LATIN SMALL LETTER DZ WITH CARON
+       + "dz"  // U+01F3: LATIN SMALL LETTER DZ
+       + "Ê£"  // U+02A3: LATIN SMALL LETTER DZ DIGRAPH
+       + "Ê¥"  // U+02A5: LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+      ,"dz", // Folded result
+
+       "È"  // U+00C8: LATIN CAPITAL LETTER E WITH GRAVE
+       + "É"  // U+00C9: LATIN CAPITAL LETTER E WITH ACUTE
+       + "Ê"  // U+00CA: LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+       + "Ë"  // U+00CB: LATIN CAPITAL LETTER E WITH DIAERESIS
+       + "Ē"  // U+0112: LATIN CAPITAL LETTER E WITH MACRON
+       + "Ĕ"  // U+0114: LATIN CAPITAL LETTER E WITH BREVE
+       + "Ė"  // U+0116: LATIN CAPITAL LETTER E WITH DOT ABOVE
+       + "Ę"  // U+0118: LATIN CAPITAL LETTER E WITH OGONEK
+       + "Ě"  // U+011A: LATIN CAPITAL LETTER E WITH CARON
+       + "Ǝ"  // U+018E: LATIN CAPITAL LETTER REVERSED E
+       + "Ɛ"  // U+0190: LATIN CAPITAL LETTER OPEN E
+       + "Ȅ"  // U+0204: LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+       + "Ȇ"  // U+0206: LATIN CAPITAL LETTER E WITH INVERTED BREVE
+       + "Ȩ"  // U+0228: LATIN CAPITAL LETTER E WITH CEDILLA
+       + "Ɇ"  // U+0246: LATIN CAPITAL LETTER E WITH STROKE
+       + "ᴇ"  // U+1D07: LATIN LETTER SMALL CAPITAL E
+       + "Ḕ"  // U+1E14: LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+       + "Ḗ"  // U+1E16: LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+       + "Ḙ"  // U+1E18: LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+       + "Ḛ"  // U+1E1A: LATIN CAPITAL LETTER E WITH TILDE BELOW
+       + "Ḝ"  // U+1E1C: LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+       + "Ẹ"  // U+1EB8: LATIN CAPITAL LETTER E WITH DOT BELOW
+       + "Ẻ"  // U+1EBA: LATIN CAPITAL LETTER E WITH HOOK ABOVE
+       + "Ẽ"  // U+1EBC: LATIN CAPITAL LETTER E WITH TILDE
+       + "Ế"  // U+1EBE: LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+       + "Ề"  // U+1EC0: LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+       + "Ể"  // U+1EC2: LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+       + "Ễ"  // U+1EC4: LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+       + "Ệ"  // U+1EC6: LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+       + "Ⓔ"  // U+24BA: CIRCLED LATIN CAPITAL LETTER E
+       + "â±»"  // U+2C7B: LATIN LETTER SMALL CAPITAL TURNED E
+       + "ï¼¥"  // U+FF25: FULLWIDTH LATIN CAPITAL LETTER E
+      ,"E", // Folded result
+
+       "è"  // U+00E8: LATIN SMALL LETTER E WITH GRAVE
+       + "é"  // U+00E9: LATIN SMALL LETTER E WITH ACUTE
+       + "ê"  // U+00EA: LATIN SMALL LETTER E WITH CIRCUMFLEX
+       + "ë"  // U+00EB: LATIN SMALL LETTER E WITH DIAERESIS
+       + "ē"  // U+0113: LATIN SMALL LETTER E WITH MACRON
+       + "ĕ"  // U+0115: LATIN SMALL LETTER E WITH BREVE
+       + "ė"  // U+0117: LATIN SMALL LETTER E WITH DOT ABOVE
+       + "ę"  // U+0119: LATIN SMALL LETTER E WITH OGONEK
+       + "ě"  // U+011B: LATIN SMALL LETTER E WITH CARON
+       + "ǝ"  // U+01DD: LATIN SMALL LETTER TURNED E
+       + "ȅ"  // U+0205: LATIN SMALL LETTER E WITH DOUBLE GRAVE
+       + "ȇ"  // U+0207: LATIN SMALL LETTER E WITH INVERTED BREVE
+       + "È©"  // U+0229: LATIN SMALL LETTER E WITH CEDILLA
+       + "ɇ"  // U+0247: LATIN SMALL LETTER E WITH STROKE
+       + "ɘ"  // U+0258: LATIN SMALL LETTER REVERSED E
+       + "ɛ"  // U+025B: LATIN SMALL LETTER OPEN E
+       + "ɜ"  // U+025C: LATIN SMALL LETTER REVERSED OPEN E
+       + "ɝ"  // U+025D: LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+       + "ɞ"  // U+025E: LATIN SMALL LETTER CLOSED REVERSED OPEN E
+       + "ʚ"  // U+029A: LATIN SMALL LETTER CLOSED OPEN E
+       + "ᴈ"  // U+1D08: LATIN SMALL LETTER TURNED OPEN E
+       + "ᶒ"  // U+1D92: LATIN SMALL LETTER E WITH RETROFLEX HOOK
+       + "ᶓ"  // U+1D93: LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+       + "ᶔ"  // U+1D94: LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+       + "ḕ"  // U+1E15: LATIN SMALL LETTER E WITH MACRON AND GRAVE
+       + "ḗ"  // U+1E17: LATIN SMALL LETTER E WITH MACRON AND ACUTE
+       + "ḙ"  // U+1E19: LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+       + "ḛ"  // U+1E1B: LATIN SMALL LETTER E WITH TILDE BELOW
+       + "ḝ"  // U+1E1D: LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+       + "ẹ"  // U+1EB9: LATIN SMALL LETTER E WITH DOT BELOW
+       + "ẻ"  // U+1EBB: LATIN SMALL LETTER E WITH HOOK ABOVE
+       + "ẽ"  // U+1EBD: LATIN SMALL LETTER E WITH TILDE
+       + "ế"  // U+1EBF: LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+       + "ề"  // U+1EC1: LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+       + "ể"  // U+1EC3: LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+       + "ễ"  // U+1EC5: LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+       + "ệ"  // U+1EC7: LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+       + "ₑ"  // U+2091: LATIN SUBSCRIPT SMALL LETTER E
+       + "ⓔ"  // U+24D4: CIRCLED LATIN SMALL LETTER E
+       + "ⱸ"  // U+2C78: LATIN SMALL LETTER E WITH NOTCH
+       + "e"  // U+FF45: FULLWIDTH LATIN SMALL LETTER E
+      ,"e", // Folded result
+
+       "⒠"  // U+24A0: PARENTHESIZED LATIN SMALL LETTER E
+      ,"(e)", // Folded result
+
+       "Ƒ"  // U+0191: LATIN CAPITAL LETTER F WITH HOOK
+       + "Ḟ"  // U+1E1E: LATIN CAPITAL LETTER F WITH DOT ABOVE
+       + "Ⓕ"  // U+24BB: CIRCLED LATIN CAPITAL LETTER F
+       + "ꜰ"  // U+A730: LATIN LETTER SMALL CAPITAL F
+       + "Ꝼ"  // U+A77B: LATIN CAPITAL LETTER INSULAR F
+       + "ꟻ"  // U+A7FB: LATIN EPIGRAPHIC LETTER REVERSED F
+       + "F"  // U+FF26: FULLWIDTH LATIN CAPITAL LETTER F
+      ,"F", // Folded result
+
+       "ƒ"  // U+0192: LATIN SMALL LETTER F WITH HOOK
+       + "áµ®"  // U+1D6E: LATIN SMALL LETTER F WITH MIDDLE TILDE
+       + "ᶂ"  // U+1D82: LATIN SMALL LETTER F WITH PALATAL HOOK
+       + "ḟ"  // U+1E1F: LATIN SMALL LETTER F WITH DOT ABOVE
+       + "ẛ"  // U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE
+       + "ⓕ"  // U+24D5: CIRCLED LATIN SMALL LETTER F
+       + "ꝼ"  // U+A77C: LATIN SMALL LETTER INSULAR F
+       + "f"  // U+FF46: FULLWIDTH LATIN SMALL LETTER F
+      ,"f", // Folded result
+
+       "⒡"  // U+24A1: PARENTHESIZED LATIN SMALL LETTER F
+      ,"(f)", // Folded result
+
+       "ff"  // U+FB00: LATIN SMALL LIGATURE FF
+      ,"ff", // Folded result
+
+       "ffi"  // U+FB03: LATIN SMALL LIGATURE FFI
+      ,"ffi", // Folded result
+
+       "ffl"  // U+FB04: LATIN SMALL LIGATURE FFL
+      ,"ffl", // Folded result
+
+       "fi"  // U+FB01: LATIN SMALL LIGATURE FI
+      ,"fi", // Folded result
+
+       "fl"  // U+FB02: LATIN SMALL LIGATURE FL
+      ,"fl", // Folded result
+
+       "Ĝ"  // U+011C: LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+       + "Ğ"  // U+011E: LATIN CAPITAL LETTER G WITH BREVE
+       + "Ä "  // U+0120: LATIN CAPITAL LETTER G WITH DOT ABOVE
+       + "Ä¢"  // U+0122: LATIN CAPITAL LETTER G WITH CEDILLA
+       + "Ɠ"  // U+0193: LATIN CAPITAL LETTER G WITH HOOK
+       + "Ǥ"  // U+01E4: LATIN CAPITAL LETTER G WITH STROKE
+       + "Ç¥"  // U+01E5: LATIN SMALL LETTER G WITH STROKE
+       + "Ǧ"  // U+01E6: LATIN CAPITAL LETTER G WITH CARON
+       + "ǧ"  // U+01E7: LATIN SMALL LETTER G WITH CARON
+       + "Ç´"  // U+01F4: LATIN CAPITAL LETTER G WITH ACUTE
+       + "É¢"  // U+0262: LATIN LETTER SMALL CAPITAL G
+       + "ʛ"  // U+029B: LATIN LETTER SMALL CAPITAL G WITH HOOK
+       + "Ḡ"  // U+1E20: LATIN CAPITAL LETTER G WITH MACRON
+       + "Ⓖ"  // U+24BC: CIRCLED LATIN CAPITAL LETTER G
+       + "Ᵹ"  // U+A77D: LATIN CAPITAL LETTER INSULAR G
+       + "Ꝿ"  // U+A77E: LATIN CAPITAL LETTER TURNED INSULAR G
+       + "G"  // U+FF27: FULLWIDTH LATIN CAPITAL LETTER G
+      ,"G", // Folded result
+
+       "ĝ"  // U+011D: LATIN SMALL LETTER G WITH CIRCUMFLEX
+       + "ğ"  // U+011F: LATIN SMALL LETTER G WITH BREVE
+       + "Ä¡"  // U+0121: LATIN SMALL LETTER G WITH DOT ABOVE
+       + "Ä£"  // U+0123: LATIN SMALL LETTER G WITH CEDILLA
+       + "ǵ"  // U+01F5: LATIN SMALL LETTER G WITH ACUTE
+       + "É "  // U+0260: LATIN SMALL LETTER G WITH HOOK
+       + "É¡"  // U+0261: LATIN SMALL LETTER SCRIPT G
+       + "áµ·"  // U+1D77: LATIN SMALL LETTER TURNED G
+       + "áµ¹"  // U+1D79: LATIN SMALL LETTER INSULAR G
+       + "ᶃ"  // U+1D83: LATIN SMALL LETTER G WITH PALATAL HOOK
+       + "ḡ"  // U+1E21: LATIN SMALL LETTER G WITH MACRON
+       + "ⓖ"  // U+24D6: CIRCLED LATIN SMALL LETTER G
+       + "ꝿ"  // U+A77F: LATIN SMALL LETTER TURNED INSULAR G
+       + "g"  // U+FF47: FULLWIDTH LATIN SMALL LETTER G
+      ,"g", // Folded result
+
+       "⒢"  // U+24A2: PARENTHESIZED LATIN SMALL LETTER G
+      ,"(g)", // Folded result
+
+       "Ĥ"  // U+0124: LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+       + "Ħ"  // U+0126: LATIN CAPITAL LETTER H WITH STROKE
+       + "Ȟ"  // U+021E: LATIN CAPITAL LETTER H WITH CARON
+       + "ʜ"  // U+029C: LATIN LETTER SMALL CAPITAL H
+       + "Ḣ"  // U+1E22: LATIN CAPITAL LETTER H WITH DOT ABOVE
+       + "Ḥ"  // U+1E24: LATIN CAPITAL LETTER H WITH DOT BELOW
+       + "Ḧ"  // U+1E26: LATIN CAPITAL LETTER H WITH DIAERESIS
+       + "Ḩ"  // U+1E28: LATIN CAPITAL LETTER H WITH CEDILLA
+       + "Ḫ"  // U+1E2A: LATIN CAPITAL LETTER H WITH BREVE BELOW
+       + "Ⓗ"  // U+24BD: CIRCLED LATIN CAPITAL LETTER H
+       + "Ⱨ"  // U+2C67: LATIN CAPITAL LETTER H WITH DESCENDER
+       + "â±µ"  // U+2C75: LATIN CAPITAL LETTER HALF H
+       + "H"  // U+FF28: FULLWIDTH LATIN CAPITAL LETTER H
+      ,"H", // Folded result
+
+       "Ä¥"  // U+0125: LATIN SMALL LETTER H WITH CIRCUMFLEX
+       + "ħ"  // U+0127: LATIN SMALL LETTER H WITH STROKE
+       + "ȟ"  // U+021F: LATIN SMALL LETTER H WITH CARON
+       + "É¥"  // U+0265: LATIN SMALL LETTER TURNED H
+       + "ɦ"  // U+0266: LATIN SMALL LETTER H WITH HOOK
+       + "Ê®"  // U+02AE: LATIN SMALL LETTER TURNED H WITH FISHHOOK
+       + "ʯ"  // U+02AF: LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+       + "ḣ"  // U+1E23: LATIN SMALL LETTER H WITH DOT ABOVE
+       + "ḥ"  // U+1E25: LATIN SMALL LETTER H WITH DOT BELOW
+       + "ḧ"  // U+1E27: LATIN SMALL LETTER H WITH DIAERESIS
+       + "ḩ"  // U+1E29: LATIN SMALL LETTER H WITH CEDILLA
+       + "ḫ"  // U+1E2B: LATIN SMALL LETTER H WITH BREVE BELOW
+       + "ẖ"  // U+1E96: LATIN SMALL LETTER H WITH LINE BELOW
+       + "ⓗ"  // U+24D7: CIRCLED LATIN SMALL LETTER H
+       + "ⱨ"  // U+2C68: LATIN SMALL LETTER H WITH DESCENDER
+       + "ⱶ"  // U+2C76: LATIN SMALL LETTER HALF H
+       + "h"  // U+FF48: FULLWIDTH LATIN SMALL LETTER H
+      ,"h", // Folded result
+
+       "Ƕ"  // U+01F6: LATIN CAPITAL LETTER HWAIR
+      ,"HV", // Folded result
+
+       "⒣"  // U+24A3: PARENTHESIZED LATIN SMALL LETTER H
+      ,"(h)", // Folded result
+
+       "ƕ"  // U+0195: LATIN SMALL LETTER HV
+      ,"hv", // Folded result
+
+       "Ì"  // U+00CC: LATIN CAPITAL LETTER I WITH GRAVE
+       + "Í"  // U+00CD: LATIN CAPITAL LETTER I WITH ACUTE
+       + "Î"  // U+00CE: LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+       + "Ï"  // U+00CF: LATIN CAPITAL LETTER I WITH DIAERESIS
+       + "Ĩ"  // U+0128: LATIN CAPITAL LETTER I WITH TILDE
+       + "Ī"  // U+012A: LATIN CAPITAL LETTER I WITH MACRON
+       + "Ĭ"  // U+012C: LATIN CAPITAL LETTER I WITH BREVE
+       + "Ä®"  // U+012E: LATIN CAPITAL LETTER I WITH OGONEK
+       + "Ä°"  // U+0130: LATIN CAPITAL LETTER I WITH DOT ABOVE
+       + "Ɩ"  // U+0196: LATIN CAPITAL LETTER IOTA
+       + "Ɨ"  // U+0197: LATIN CAPITAL LETTER I WITH STROKE
+       + "Ǐ"  // U+01CF: LATIN CAPITAL LETTER I WITH CARON
+       + "Ȉ"  // U+0208: LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+       + "Ȋ"  // U+020A: LATIN CAPITAL LETTER I WITH INVERTED BREVE
+       + "ɪ"  // U+026A: LATIN LETTER SMALL CAPITAL I
+       + "áµ»"  // U+1D7B: LATIN SMALL CAPITAL LETTER I WITH STROKE
+       + "Ḭ"  // U+1E2C: LATIN CAPITAL LETTER I WITH TILDE BELOW
+       + "Ḯ"  // U+1E2E: LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+       + "Ỉ"  // U+1EC8: LATIN CAPITAL LETTER I WITH HOOK ABOVE
+       + "Ị"  // U+1ECA: LATIN CAPITAL LETTER I WITH DOT BELOW
+       + "Ⓘ"  // U+24BE: CIRCLED LATIN CAPITAL LETTER I
+       + "ꟾ"  // U+A7FE: LATIN EPIGRAPHIC LETTER I LONGA
+       + "I"  // U+FF29: FULLWIDTH LATIN CAPITAL LETTER I
+      ,"I", // Folded result
+
+       "ì"  // U+00EC: LATIN SMALL LETTER I WITH GRAVE
+       + "í"  // U+00ED: LATIN SMALL LETTER I WITH ACUTE
+       + "î"  // U+00EE: LATIN SMALL LETTER I WITH CIRCUMFLEX
+       + "ï"  // U+00EF: LATIN SMALL LETTER I WITH DIAERESIS
+       + "Ä©"  // U+0129: LATIN SMALL LETTER I WITH TILDE
+       + "Ä«"  // U+012B: LATIN SMALL LETTER I WITH MACRON
+       + "Ä­"  // U+012D: LATIN SMALL LETTER I WITH BREVE
+       + "į"  // U+012F: LATIN SMALL LETTER I WITH OGONEK
+       + "ı"  // U+0131: LATIN SMALL LETTER DOTLESS I
+       + "ǐ"  // U+01D0: LATIN SMALL LETTER I WITH CARON
+       + "ȉ"  // U+0209: LATIN SMALL LETTER I WITH DOUBLE GRAVE
+       + "ȋ"  // U+020B: LATIN SMALL LETTER I WITH INVERTED BREVE
+       + "ɨ"  // U+0268: LATIN SMALL LETTER I WITH STROKE
+       + "ᴉ"  // U+1D09: LATIN SMALL LETTER TURNED I
+       + "áµ¢"  // U+1D62: LATIN SUBSCRIPT SMALL LETTER I
+       + "áµ¼"  // U+1D7C: LATIN SMALL LETTER IOTA WITH STROKE
+       + "ᶖ"  // U+1D96: LATIN SMALL LETTER I WITH RETROFLEX HOOK
+       + "ḭ"  // U+1E2D: LATIN SMALL LETTER I WITH TILDE BELOW
+       + "ḯ"  // U+1E2F: LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+       + "ỉ"  // U+1EC9: LATIN SMALL LETTER I WITH HOOK ABOVE
+       + "ị"  // U+1ECB: LATIN SMALL LETTER I WITH DOT BELOW
+       + "ⁱ"  // U+2071: SUPERSCRIPT LATIN SMALL LETTER I
+       + "ⓘ"  // U+24D8: CIRCLED LATIN SMALL LETTER I
+       + "i"  // U+FF49: FULLWIDTH LATIN SMALL LETTER I
+      ,"i", // Folded result
+
+       "IJ"  // U+0132: LATIN CAPITAL LIGATURE IJ
+      ,"IJ", // Folded result
+
+       "⒤"  // U+24A4: PARENTHESIZED LATIN SMALL LETTER I
+      ,"(i)", // Folded result
+
+       "ij"  // U+0133: LATIN SMALL LIGATURE IJ
+      ,"ij", // Folded result
+
+       "Ä´"  // U+0134: LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+       + "Ɉ"  // U+0248: LATIN CAPITAL LETTER J WITH STROKE
+       + "ᴊ"  // U+1D0A: LATIN LETTER SMALL CAPITAL J
+       + "Ⓙ"  // U+24BF: CIRCLED LATIN CAPITAL LETTER J
+       + "J"  // U+FF2A: FULLWIDTH LATIN CAPITAL LETTER J
+      ,"J", // Folded result
+
+       "ĵ"  // U+0135: LATIN SMALL LETTER J WITH CIRCUMFLEX
+       + "Ç°"  // U+01F0: LATIN SMALL LETTER J WITH CARON
+       + "È·"  // U+0237: LATIN SMALL LETTER DOTLESS J
+       + "ɉ"  // U+0249: LATIN SMALL LETTER J WITH STROKE
+       + "ɟ"  // U+025F: LATIN SMALL LETTER DOTLESS J WITH STROKE
+       + "ʄ"  // U+0284: LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+       + "ʝ"  // U+029D: LATIN SMALL LETTER J WITH CROSSED-TAIL
+       + "ⓙ"  // U+24D9: CIRCLED LATIN SMALL LETTER J
+       + "â±¼"  // U+2C7C: LATIN SUBSCRIPT SMALL LETTER J
+       + "j"  // U+FF4A: FULLWIDTH LATIN SMALL LETTER J
+      ,"j", // Folded result
+
+       "⒥"  // U+24A5: PARENTHESIZED LATIN SMALL LETTER J
+      ,"(j)", // Folded result
+
+       "Ķ"  // U+0136: LATIN CAPITAL LETTER K WITH CEDILLA
+       + "Ƙ"  // U+0198: LATIN CAPITAL LETTER K WITH HOOK
+       + "Ǩ"  // U+01E8: LATIN CAPITAL LETTER K WITH CARON
+       + "ᴋ"  // U+1D0B: LATIN LETTER SMALL CAPITAL K
+       + "Ḱ"  // U+1E30: LATIN CAPITAL LETTER K WITH ACUTE
+       + "Ḳ"  // U+1E32: LATIN CAPITAL LETTER K WITH DOT BELOW
+       + "Ḵ"  // U+1E34: LATIN CAPITAL LETTER K WITH LINE BELOW
+       + "Ⓚ"  // U+24C0: CIRCLED LATIN CAPITAL LETTER K
+       + "Ⱪ"  // U+2C69: LATIN CAPITAL LETTER K WITH DESCENDER
+       + "Ꝁ"  // U+A740: LATIN CAPITAL LETTER K WITH STROKE
+       + "Ꝃ"  // U+A742: LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+       + "Ꝅ"  // U+A744: LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+       + "K"  // U+FF2B: FULLWIDTH LATIN CAPITAL LETTER K
+      ,"K", // Folded result
+
+       "Ä·"  // U+0137: LATIN SMALL LETTER K WITH CEDILLA
+       + "ƙ"  // U+0199: LATIN SMALL LETTER K WITH HOOK
+       + "Ç©"  // U+01E9: LATIN SMALL LETTER K WITH CARON
+       + "ʞ"  // U+029E: LATIN SMALL LETTER TURNED K
+       + "ᶄ"  // U+1D84: LATIN SMALL LETTER K WITH PALATAL HOOK
+       + "ḱ"  // U+1E31: LATIN SMALL LETTER K WITH ACUTE
+       + "ḳ"  // U+1E33: LATIN SMALL LETTER K WITH DOT BELOW
+       + "ḵ"  // U+1E35: LATIN SMALL LETTER K WITH LINE BELOW
+       + "ⓚ"  // U+24DA: CIRCLED LATIN SMALL LETTER K
+       + "ⱪ"  // U+2C6A: LATIN SMALL LETTER K WITH DESCENDER
+       + "ꝁ"  // U+A741: LATIN SMALL LETTER K WITH STROKE
+       + "ꝃ"  // U+A743: LATIN SMALL LETTER K WITH DIAGONAL STROKE
+       + "ꝅ"  // U+A745: LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+       + "k"  // U+FF4B: FULLWIDTH LATIN SMALL LETTER K
+      ,"k", // Folded result
+
+       "⒦"  // U+24A6: PARENTHESIZED LATIN SMALL LETTER K
+      ,"(k)", // Folded result
+
+       "Ĺ"  // U+0139: LATIN CAPITAL LETTER L WITH ACUTE
+       + "Ä»"  // U+013B: LATIN CAPITAL LETTER L WITH CEDILLA
+       + "Ľ"  // U+013D: LATIN CAPITAL LETTER L WITH CARON
+       + "Ä¿"  // U+013F: LATIN CAPITAL LETTER L WITH MIDDLE DOT
+       + "Ł"  // U+0141: LATIN CAPITAL LETTER L WITH STROKE
+       + "Ƚ"  // U+023D: LATIN CAPITAL LETTER L WITH BAR
+       + "ʟ"  // U+029F: LATIN LETTER SMALL CAPITAL L
+       + "ᴌ"  // U+1D0C: LATIN LETTER SMALL CAPITAL L WITH STROKE
+       + "Ḷ"  // U+1E36: LATIN CAPITAL LETTER L WITH DOT BELOW
+       + "Ḹ"  // U+1E38: LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+       + "Ḻ"  // U+1E3A: LATIN CAPITAL LETTER L WITH LINE BELOW
+       + "Ḽ"  // U+1E3C: LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+       + "Ⓛ"  // U+24C1: CIRCLED LATIN CAPITAL LETTER L
+       + "â± "  // U+2C60: LATIN CAPITAL LETTER L WITH DOUBLE BAR
+       + "â±¢"  // U+2C62: LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+       + "Ꝇ"  // U+A746: LATIN CAPITAL LETTER BROKEN L
+       + "Ꝉ"  // U+A748: LATIN CAPITAL LETTER L WITH HIGH STROKE
+       + "Ꞁ"  // U+A780: LATIN CAPITAL LETTER TURNED L
+       + "L"  // U+FF2C: FULLWIDTH LATIN CAPITAL LETTER L
+      ,"L", // Folded result
+
+       "ĺ"  // U+013A: LATIN SMALL LETTER L WITH ACUTE
+       + "ļ"  // U+013C: LATIN SMALL LETTER L WITH CEDILLA
+       + "ľ"  // U+013E: LATIN SMALL LETTER L WITH CARON
+       + "ŀ"  // U+0140: LATIN SMALL LETTER L WITH MIDDLE DOT
+       + "ł"  // U+0142: LATIN SMALL LETTER L WITH STROKE
+       + "ƚ"  // U+019A: LATIN SMALL LETTER L WITH BAR
+       + "È´"  // U+0234: LATIN SMALL LETTER L WITH CURL
+       + "É«"  // U+026B: LATIN SMALL LETTER L WITH MIDDLE TILDE
+       + "ɬ"  // U+026C: LATIN SMALL LETTER L WITH BELT
+       + "É­"  // U+026D: LATIN SMALL LETTER L WITH RETROFLEX HOOK
+       + "ᶅ"  // U+1D85: LATIN SMALL LETTER L WITH PALATAL HOOK
+       + "ḷ"  // U+1E37: LATIN SMALL LETTER L WITH DOT BELOW
+       + "ḹ"  // U+1E39: LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+       + "ḻ"  // U+1E3B: LATIN SMALL LETTER L WITH LINE BELOW
+       + "ḽ"  // U+1E3D: LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+       + "ⓛ"  // U+24DB: CIRCLED LATIN SMALL LETTER L
+       + "ⱡ"  // U+2C61: LATIN SMALL LETTER L WITH DOUBLE BAR
+       + "ꝇ"  // U+A747: LATIN SMALL LETTER BROKEN L
+       + "ꝉ"  // U+A749: LATIN SMALL LETTER L WITH HIGH STROKE
+       + "ꞁ"  // U+A781: LATIN SMALL LETTER TURNED L
+       + "l"  // U+FF4C: FULLWIDTH LATIN SMALL LETTER L
+      ,"l", // Folded result
+
+       "LJ"  // U+01C7: LATIN CAPITAL LETTER LJ
+      ,"LJ", // Folded result
+
+       "Ỻ"  // U+1EFA: LATIN CAPITAL LETTER MIDDLE-WELSH LL
+      ,"LL", // Folded result
+
+       "Lj"  // U+01C8: LATIN CAPITAL LETTER L WITH SMALL LETTER J
+      ,"Lj", // Folded result
+
+       "⒧"  // U+24A7: PARENTHESIZED LATIN SMALL LETTER L
+      ,"(l)", // Folded result
+
+       "lj"  // U+01C9: LATIN SMALL LETTER LJ
+      ,"lj", // Folded result
+
+       "á»»"  // U+1EFB: LATIN SMALL LETTER MIDDLE-WELSH LL
+      ,"ll", // Folded result
+
+       "ʪ"  // U+02AA: LATIN SMALL LETTER LS DIGRAPH
+      ,"ls", // Folded result
+
+       "Ê«"  // U+02AB: LATIN SMALL LETTER LZ DIGRAPH
+      ,"lz", // Folded result
+
+       "Ɯ"  // U+019C: LATIN CAPITAL LETTER TURNED M
+       + "ᴍ"  // U+1D0D: LATIN LETTER SMALL CAPITAL M
+       + "Ḿ"  // U+1E3E: LATIN CAPITAL LETTER M WITH ACUTE
+       + "Ṁ"  // U+1E40: LATIN CAPITAL LETTER M WITH DOT ABOVE
+       + "Ṃ"  // U+1E42: LATIN CAPITAL LETTER M WITH DOT BELOW
+       + "Ⓜ"  // U+24C2: CIRCLED LATIN CAPITAL LETTER M
+       + "â±®"  // U+2C6E: LATIN CAPITAL LETTER M WITH HOOK
+       + "ꟽ"  // U+A7FD: LATIN EPIGRAPHIC LETTER INVERTED M
+       + "ꟿ"  // U+A7FF: LATIN EPIGRAPHIC LETTER ARCHAIC M
+       + "ï¼­"  // U+FF2D: FULLWIDTH LATIN CAPITAL LETTER M
+      ,"M", // Folded result
+
+       "ɯ"  // U+026F: LATIN SMALL LETTER TURNED M
+       + "É°"  // U+0270: LATIN SMALL LETTER TURNED M WITH LONG LEG
+       + "ɱ"  // U+0271: LATIN SMALL LETTER M WITH HOOK
+       + "ᵯ"  // U+1D6F: LATIN SMALL LETTER M WITH MIDDLE TILDE
+       + "ᶆ"  // U+1D86: LATIN SMALL LETTER M WITH PALATAL HOOK
+       + "ḿ"  // U+1E3F: LATIN SMALL LETTER M WITH ACUTE
+       + "ṁ"  // U+1E41: LATIN SMALL LETTER M WITH DOT ABOVE
+       + "ṃ"  // U+1E43: LATIN SMALL LETTER M WITH DOT BELOW
+       + "ⓜ"  // U+24DC: CIRCLED LATIN SMALL LETTER M
+       + "m"  // U+FF4D: FULLWIDTH LATIN SMALL LETTER M
+      ,"m", // Folded result
+
+       "⒨"  // U+24A8: PARENTHESIZED LATIN SMALL LETTER M
+      ,"(m)", // Folded result
+
+       "Ñ"  // U+00D1: LATIN CAPITAL LETTER N WITH TILDE
+       + "Ń"  // U+0143: LATIN CAPITAL LETTER N WITH ACUTE
+       + "Ņ"  // U+0145: LATIN CAPITAL LETTER N WITH CEDILLA
+       + "Ň"  // U+0147: LATIN CAPITAL LETTER N WITH CARON
+       + "Ŋ"  // U+014A: LATIN CAPITAL LETTER ENG
+       + "Ɲ"  // U+019D: LATIN CAPITAL LETTER N WITH LEFT HOOK
+       + "Ǹ"  // U+01F8: LATIN CAPITAL LETTER N WITH GRAVE
+       + "È "  // U+0220: LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+       + "É´"  // U+0274: LATIN LETTER SMALL CAPITAL N
+       + "ᴎ"  // U+1D0E: LATIN LETTER SMALL CAPITAL REVERSED N
+       + "Ṅ"  // U+1E44: LATIN CAPITAL LETTER N WITH DOT ABOVE
+       + "Ṇ"  // U+1E46: LATIN CAPITAL LETTER N WITH DOT BELOW
+       + "Ṉ"  // U+1E48: LATIN CAPITAL LETTER N WITH LINE BELOW
+       + "Ṋ"  // U+1E4A: LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+       + "Ⓝ"  // U+24C3: CIRCLED LATIN CAPITAL LETTER N
+       + "ï¼®"  // U+FF2E: FULLWIDTH LATIN CAPITAL LETTER N
+      ,"N", // Folded result
+
+       "ñ"  // U+00F1: LATIN SMALL LETTER N WITH TILDE
+       + "ń"  // U+0144: LATIN SMALL LETTER N WITH ACUTE
+       + "ņ"  // U+0146: LATIN SMALL LETTER N WITH CEDILLA
+       + "ň"  // U+0148: LATIN SMALL LETTER N WITH CARON
+       + "ʼn"  // U+0149: LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+       + "ŋ"  // U+014B: LATIN SMALL LETTER ENG
+       + "ƞ"  // U+019E: LATIN SMALL LETTER N WITH LONG RIGHT LEG
+       + "ǹ"  // U+01F9: LATIN SMALL LETTER N WITH GRAVE
+       + "ȵ"  // U+0235: LATIN SMALL LETTER N WITH CURL
+       + "ɲ"  // U+0272: LATIN SMALL LETTER N WITH LEFT HOOK
+       + "ɳ"  // U+0273: LATIN SMALL LETTER N WITH RETROFLEX HOOK
+       + "áµ°"  // U+1D70: LATIN SMALL LETTER N WITH MIDDLE TILDE
+       + "ᶇ"  // U+1D87: LATIN SMALL LETTER N WITH PALATAL HOOK
+       + "ṅ"  // U+1E45: LATIN SMALL LETTER N WITH DOT ABOVE
+       + "ṇ"  // U+1E47: LATIN SMALL LETTER N WITH DOT BELOW
+       + "ṉ"  // U+1E49: LATIN SMALL LETTER N WITH LINE BELOW
+       + "ṋ"  // U+1E4B: LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+       + "ⁿ"  // U+207F: SUPERSCRIPT LATIN SMALL LETTER N
+       + "ⓝ"  // U+24DD: CIRCLED LATIN SMALL LETTER N
+       + "n"  // U+FF4E: FULLWIDTH LATIN SMALL LETTER N
+      ,"n", // Folded result
+
+       "NJ"  // U+01CA: LATIN CAPITAL LETTER NJ
+      ,"NJ", // Folded result
+
+       "Nj"  // U+01CB: LATIN CAPITAL LETTER N WITH SMALL LETTER J
+      ,"Nj", // Folded result
+
+       "⒩"  // U+24A9: PARENTHESIZED LATIN SMALL LETTER N
+      ,"(n)", // Folded result
+
+       "nj"  // U+01CC: LATIN SMALL LETTER NJ
+      ,"nj", // Folded result
+
+       "Ò"  // U+00D2: LATIN CAPITAL LETTER O WITH GRAVE
+       + "Ó"  // U+00D3: LATIN CAPITAL LETTER O WITH ACUTE
+       + "Ô"  // U+00D4: LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+       + "Õ"  // U+00D5: LATIN CAPITAL LETTER O WITH TILDE
+       + "Ö"  // U+00D6: LATIN CAPITAL LETTER O WITH DIAERESIS
+       + "Ø"  // U+00D8: LATIN CAPITAL LETTER O WITH STROKE
+       + "Ō"  // U+014C: LATIN CAPITAL LETTER O WITH MACRON
+       + "Ŏ"  // U+014E: LATIN CAPITAL LETTER O WITH BREVE
+       + "Ő"  // U+0150: LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+       + "Ɔ"  // U+0186: LATIN CAPITAL LETTER OPEN O
+       + "Ɵ"  // U+019F: LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+       + "Æ "  // U+01A0: LATIN CAPITAL LETTER O WITH HORN
+       + "Ǒ"  // U+01D1: LATIN CAPITAL LETTER O WITH CARON
+       + "Ǫ"  // U+01EA: LATIN CAPITAL LETTER O WITH OGONEK
+       + "Ǭ"  // U+01EC: LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+       + "Ǿ"  // U+01FE: LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+       + "Ȍ"  // U+020C: LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+       + "Ȏ"  // U+020E: LATIN CAPITAL LETTER O WITH INVERTED BREVE
+       + "Ȫ"  // U+022A: LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+       + "Ȭ"  // U+022C: LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+       + "È®"  // U+022E: LATIN CAPITAL LETTER O WITH DOT ABOVE
+       + "È°"  // U+0230: LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+       + "ᴏ"  // U+1D0F: LATIN LETTER SMALL CAPITAL O
+       + "ᴐ"  // U+1D10: LATIN LETTER SMALL CAPITAL OPEN O
+       + "Ṍ"  // U+1E4C: LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+       + "Ṏ"  // U+1E4E: LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+       + "Ṑ"  // U+1E50: LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+       + "Ṓ"  // U+1E52: LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+       + "Ọ"  // U+1ECC: LATIN CAPITAL LETTER O WITH DOT BELOW
+       + "Ỏ"  // U+1ECE: LATIN CAPITAL LETTER O WITH HOOK ABOVE
+       + "Ố"  // U+1ED0: LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+       + "Ồ"  // U+1ED2: LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+       + "Ổ"  // U+1ED4: LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+       + "Ỗ"  // U+1ED6: LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+       + "Ộ"  // U+1ED8: LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+       + "Ớ"  // U+1EDA: LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+       + "Ờ"  // U+1EDC: LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+       + "Ở"  // U+1EDE: LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+       + "á» "  // U+1EE0: LATIN CAPITAL LETTER O WITH HORN AND TILDE
+       + "Ợ"  // U+1EE2: LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+       + "Ⓞ"  // U+24C4: CIRCLED LATIN CAPITAL LETTER O
+       + "Ꝋ"  // U+A74A: LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+       + "Ꝍ"  // U+A74C: LATIN CAPITAL LETTER O WITH LOOP
+       + "O"  // U+FF2F: FULLWIDTH LATIN CAPITAL LETTER O
+      ,"O", // Folded result
+
+       "ò"  // U+00F2: LATIN SMALL LETTER O WITH GRAVE
+       + "ó"  // U+00F3: LATIN SMALL LETTER O WITH ACUTE
+       + "ô"  // U+00F4: LATIN SMALL LETTER O WITH CIRCUMFLEX
+       + "õ"  // U+00F5: LATIN SMALL LETTER O WITH TILDE
+       + "ö"  // U+00F6: LATIN SMALL LETTER O WITH DIAERESIS
+       + "ø"  // U+00F8: LATIN SMALL LETTER O WITH STROKE
+       + "ō"  // U+014D: LATIN SMALL LETTER O WITH MACRON
+       + "ŏ"  // U+014F: LATIN SMALL LETTER O WITH BREVE
+       + "ő"  // U+0151: LATIN SMALL LETTER O WITH DOUBLE ACUTE
+       + "Æ¡"  // U+01A1: LATIN SMALL LETTER O WITH HORN
+       + "ǒ"  // U+01D2: LATIN SMALL LETTER O WITH CARON
+       + "Ç«"  // U+01EB: LATIN SMALL LETTER O WITH OGONEK
+       + "Ç­"  // U+01ED: LATIN SMALL LETTER O WITH OGONEK AND MACRON
+       + "Ç¿"  // U+01FF: LATIN SMALL LETTER O WITH STROKE AND ACUTE
+       + "ȍ"  // U+020D: LATIN SMALL LETTER O WITH DOUBLE GRAVE
+       + "ȏ"  // U+020F: LATIN SMALL LETTER O WITH INVERTED BREVE
+       + "È«"  // U+022B: LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+       + "È­"  // U+022D: LATIN SMALL LETTER O WITH TILDE AND MACRON
+       + "ȯ"  // U+022F: LATIN SMALL LETTER O WITH DOT ABOVE
+       + "ȱ"  // U+0231: LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+       + "ɔ"  // U+0254: LATIN SMALL LETTER OPEN O
+       + "ɵ"  // U+0275: LATIN SMALL LETTER BARRED O
+       + "ᴖ"  // U+1D16: LATIN SMALL LETTER TOP HALF O
+       + "ᴗ"  // U+1D17: LATIN SMALL LETTER BOTTOM HALF O
+       + "ᶗ"  // U+1D97: LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+       + "ṍ"  // U+1E4D: LATIN SMALL LETTER O WITH TILDE AND ACUTE
+       + "ṏ"  // U+1E4F: LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+       + "ṑ"  // U+1E51: LATIN SMALL LETTER O WITH MACRON AND GRAVE
+       + "ṓ"  // U+1E53: LATIN SMALL LETTER O WITH MACRON AND ACUTE
+       + "ọ"  // U+1ECD: LATIN SMALL LETTER O WITH DOT BELOW
+       + "ỏ"  // U+1ECF: LATIN SMALL LETTER O WITH HOOK ABOVE
+       + "ố"  // U+1ED1: LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+       + "ồ"  // U+1ED3: LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+       + "ổ"  // U+1ED5: LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+       + "ỗ"  // U+1ED7: LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+       + "ộ"  // U+1ED9: LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+       + "ớ"  // U+1EDB: LATIN SMALL LETTER O WITH HORN AND ACUTE
+       + "ờ"  // U+1EDD: LATIN SMALL LETTER O WITH HORN AND GRAVE
+       + "ở"  // U+1EDF: LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+       + "ỡ"  // U+1EE1: LATIN SMALL LETTER O WITH HORN AND TILDE
+       + "ợ"  // U+1EE3: LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+       + "ₒ"  // U+2092: LATIN SUBSCRIPT SMALL LETTER O
+       + "ⓞ"  // U+24DE: CIRCLED LATIN SMALL LETTER O
+       + "ⱺ"  // U+2C7A: LATIN SMALL LETTER O WITH LOW RING INSIDE
+       + "ꝋ"  // U+A74B: LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+       + "ꝍ"  // U+A74D: LATIN SMALL LETTER O WITH LOOP
+       + "o"  // U+FF4F: FULLWIDTH LATIN SMALL LETTER O
+      ,"o", // Folded result
+
+       "Œ"  // U+0152: LATIN CAPITAL LIGATURE OE
+       + "ɶ"  // U+0276: LATIN LETTER SMALL CAPITAL OE
+      ,"OE", // Folded result
+
+       "Ꝏ"  // U+A74E: LATIN CAPITAL LETTER OO
+      ,"OO", // Folded result
+
+       "È¢"  // U+0222: LATIN CAPITAL LETTER OU
+       + "ᴕ"  // U+1D15: LATIN LETTER SMALL CAPITAL OU
+      ,"OU", // Folded result
+
+       "⒪"  // U+24AA: PARENTHESIZED LATIN SMALL LETTER O
+      ,"(o)", // Folded result
+
+       "œ"  // U+0153: LATIN SMALL LIGATURE OE
+       + "ᴔ"  // U+1D14: LATIN SMALL LETTER TURNED OE
+      ,"oe", // Folded result
+
+       "ꝏ"  // U+A74F: LATIN SMALL LETTER OO
+      ,"oo", // Folded result
+
+       "È£"  // U+0223: LATIN SMALL LETTER OU
+      ,"ou", // Folded result
+
+       "Ƥ"  // U+01A4: LATIN CAPITAL LETTER P WITH HOOK
+       + "ᴘ"  // U+1D18: LATIN LETTER SMALL CAPITAL P
+       + "Ṕ"  // U+1E54: LATIN CAPITAL LETTER P WITH ACUTE
+       + "Ṗ"  // U+1E56: LATIN CAPITAL LETTER P WITH DOT ABOVE
+       + "Ⓟ"  // U+24C5: CIRCLED LATIN CAPITAL LETTER P
+       + "â±£"  // U+2C63: LATIN CAPITAL LETTER P WITH STROKE
+       + "Ꝑ"  // U+A750: LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+       + "Ꝓ"  // U+A752: LATIN CAPITAL LETTER P WITH FLOURISH
+       + "Ꝕ"  // U+A754: LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+       + "ï¼°"  // U+FF30: FULLWIDTH LATIN CAPITAL LETTER P
+      ,"P", // Folded result
+
+       "Æ¥"  // U+01A5: LATIN SMALL LETTER P WITH HOOK
+       + "áµ±"  // U+1D71: LATIN SMALL LETTER P WITH MIDDLE TILDE
+       + "áµ½"  // U+1D7D: LATIN SMALL LETTER P WITH STROKE
+       + "ᶈ"  // U+1D88: LATIN SMALL LETTER P WITH PALATAL HOOK
+       + "ṕ"  // U+1E55: LATIN SMALL LETTER P WITH ACUTE
+       + "ṗ"  // U+1E57: LATIN SMALL LETTER P WITH DOT ABOVE
+       + "ⓟ"  // U+24DF: CIRCLED LATIN SMALL LETTER P
+       + "ꝑ"  // U+A751: LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+       + "ꝓ"  // U+A753: LATIN SMALL LETTER P WITH FLOURISH
+       + "ꝕ"  // U+A755: LATIN SMALL LETTER P WITH SQUIRREL TAIL
+       + "ꟼ"  // U+A7FC: LATIN EPIGRAPHIC LETTER REVERSED P
+       + "p"  // U+FF50: FULLWIDTH LATIN SMALL LETTER P
+      ,"p", // Folded result
+
+       "⒫"  // U+24AB: PARENTHESIZED LATIN SMALL LETTER P
+      ,"(p)", // Folded result
+
+       "Ɋ"  // U+024A: LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+       + "Ⓠ"  // U+24C6: CIRCLED LATIN CAPITAL LETTER Q
+       + "Ꝗ"  // U+A756: LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+       + "Ꝙ"  // U+A758: LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+       + "ï¼±"  // U+FF31: FULLWIDTH LATIN CAPITAL LETTER Q
+      ,"Q", // Folded result
+
+       "ĸ"  // U+0138: LATIN SMALL LETTER KRA
+       + "ɋ"  // U+024B: LATIN SMALL LETTER Q WITH HOOK TAIL
+       + "Ê "  // U+02A0: LATIN SMALL LETTER Q WITH HOOK
+       + "ⓠ"  // U+24E0: CIRCLED LATIN SMALL LETTER Q
+       + "ꝗ"  // U+A757: LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+       + "ꝙ"  // U+A759: LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+       + "q"  // U+FF51: FULLWIDTH LATIN SMALL LETTER Q
+      ,"q", // Folded result
+
+       "⒬"  // U+24AC: PARENTHESIZED LATIN SMALL LETTER Q
+      ,"(q)", // Folded result
+
+       "ȹ"  // U+0239: LATIN SMALL LETTER QP DIGRAPH
+      ,"qp", // Folded result
+
+       "Ŕ"  // U+0154: LATIN CAPITAL LETTER R WITH ACUTE
+       + "Ŗ"  // U+0156: LATIN CAPITAL LETTER R WITH CEDILLA
+       + "Ř"  // U+0158: LATIN CAPITAL LETTER R WITH CARON
+       + "Ȑ"  // U+0210: LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+       + "Ȓ"  // U+0212: LATIN CAPITAL LETTER R WITH INVERTED BREVE
+       + "Ɍ"  // U+024C: LATIN CAPITAL LETTER R WITH STROKE
+       + "ʀ"  // U+0280: LATIN LETTER SMALL CAPITAL R
+       + "ʁ"  // U+0281: LATIN LETTER SMALL CAPITAL INVERTED R
+       + "ᴙ"  // U+1D19: LATIN LETTER SMALL CAPITAL REVERSED R
+       + "ᴚ"  // U+1D1A: LATIN LETTER SMALL CAPITAL TURNED R
+       + "Ṙ"  // U+1E58: LATIN CAPITAL LETTER R WITH DOT ABOVE
+       + "Ṛ"  // U+1E5A: LATIN CAPITAL LETTER R WITH DOT BELOW
+       + "Ṝ"  // U+1E5C: LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+       + "Ṟ"  // U+1E5E: LATIN CAPITAL LETTER R WITH LINE BELOW
+       + "Ⓡ"  // U+24C7: CIRCLED LATIN CAPITAL LETTER R
+       + "Ɽ"  // U+2C64: LATIN CAPITAL LETTER R WITH TAIL
+       + "Ꝛ"  // U+A75A: LATIN CAPITAL LETTER R ROTUNDA
+       + "Ꞃ"  // U+A782: LATIN CAPITAL LETTER INSULAR R
+       + "ï¼²"  // U+FF32: FULLWIDTH LATIN CAPITAL LETTER R
+      ,"R", // Folded result
+
+       "ŕ"  // U+0155: LATIN SMALL LETTER R WITH ACUTE
+       + "ŗ"  // U+0157: LATIN SMALL LETTER R WITH CEDILLA
+       + "ř"  // U+0159: LATIN SMALL LETTER R WITH CARON
+       + "ȑ"  // U+0211: LATIN SMALL LETTER R WITH DOUBLE GRAVE
+       + "ȓ"  // U+0213: LATIN SMALL LETTER R WITH INVERTED BREVE
+       + "ɍ"  // U+024D: LATIN SMALL LETTER R WITH STROKE
+       + "ɼ"  // U+027C: LATIN SMALL LETTER R WITH LONG LEG
+       + "ɽ"  // U+027D: LATIN SMALL LETTER R WITH TAIL
+       + "ɾ"  // U+027E: LATIN SMALL LETTER R WITH FISHHOOK
+       + "É¿"  // U+027F: LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+       + "áµ£"  // U+1D63: LATIN SUBSCRIPT SMALL LETTER R
+       + "áµ²"  // U+1D72: LATIN SMALL LETTER R WITH MIDDLE TILDE
+       + "áµ³"  // U+1D73: LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+       + "ᶉ"  // U+1D89: LATIN SMALL LETTER R WITH PALATAL HOOK
+       + "ṙ"  // U+1E59: LATIN SMALL LETTER R WITH DOT ABOVE
+       + "ṛ"  // U+1E5B: LATIN SMALL LETTER R WITH DOT BELOW
+       + "ṝ"  // U+1E5D: LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+       + "ṟ"  // U+1E5F: LATIN SMALL LETTER R WITH LINE BELOW
+       + "ⓡ"  // U+24E1: CIRCLED LATIN SMALL LETTER R
+       + "ꝛ"  // U+A75B: LATIN SMALL LETTER R ROTUNDA
+       + "ꞃ"  // U+A783: LATIN SMALL LETTER INSULAR R
+       + "r"  // U+FF52: FULLWIDTH LATIN SMALL LETTER R
+      ,"r", // Folded result
+
+       "⒭"  // U+24AD: PARENTHESIZED LATIN SMALL LETTER R
+      ,"(r)", // Folded result
+
+       "Ś"  // U+015A: LATIN CAPITAL LETTER S WITH ACUTE
+       + "Ŝ"  // U+015C: LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+       + "Ş"  // U+015E: LATIN CAPITAL LETTER S WITH CEDILLA
+       + "Å "  // U+0160: LATIN CAPITAL LETTER S WITH CARON
+       + "Ș"  // U+0218: LATIN CAPITAL LETTER S WITH COMMA BELOW
+       + "á¹ "  // U+1E60: LATIN CAPITAL LETTER S WITH DOT ABOVE
+       + "á¹¢"  // U+1E62: LATIN CAPITAL LETTER S WITH DOT BELOW
+       + "Ṥ"  // U+1E64: LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+       + "Ṧ"  // U+1E66: LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+       + "Ṩ"  // U+1E68: LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+       + "Ⓢ"  // U+24C8: CIRCLED LATIN CAPITAL LETTER S
+       + "ꜱ"  // U+A731: LATIN LETTER SMALL CAPITAL S
+       + "ꞅ"  // U+A785: LATIN SMALL LETTER INSULAR S
+       + "ï¼³"  // U+FF33: FULLWIDTH LATIN CAPITAL LETTER S
+      ,"S", // Folded result
+
+       "ś"  // U+015B: LATIN SMALL LETTER S WITH ACUTE
+       + "ŝ"  // U+015D: LATIN SMALL LETTER S WITH CIRCUMFLEX
+       + "ş"  // U+015F: LATIN SMALL LETTER S WITH CEDILLA
+       + "Å¡"  // U+0161: LATIN SMALL LETTER S WITH CARON
+       + "Å¿"  // U+017F: LATIN SMALL LETTER LONG S
+       + "ș"  // U+0219: LATIN SMALL LETTER S WITH COMMA BELOW
+       + "È¿"  // U+023F: LATIN SMALL LETTER S WITH SWASH TAIL
+       + "ʂ"  // U+0282: LATIN SMALL LETTER S WITH HOOK
+       + "áµ´"  // U+1D74: LATIN SMALL LETTER S WITH MIDDLE TILDE
+       + "ᶊ"  // U+1D8A: LATIN SMALL LETTER S WITH PALATAL HOOK
+       + "ṡ"  // U+1E61: LATIN SMALL LETTER S WITH DOT ABOVE
+       + "á¹£"  // U+1E63: LATIN SMALL LETTER S WITH DOT BELOW
+       + "á¹¥"  // U+1E65: LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+       + "ṧ"  // U+1E67: LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+       + "ṩ"  // U+1E69: LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+       + "ẜ"  // U+1E9C: LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+       + "ẝ"  // U+1E9D: LATIN SMALL LETTER LONG S WITH HIGH STROKE
+       + "ⓢ"  // U+24E2: CIRCLED LATIN SMALL LETTER S
+       + "Ꞅ"  // U+A784: LATIN CAPITAL LETTER INSULAR S
+       + "s"  // U+FF53: FULLWIDTH LATIN SMALL LETTER S
+      ,"s", // Folded result
+
+       "ẞ"  // U+1E9E: LATIN CAPITAL LETTER SHARP S
+      ,"SS", // Folded result
+
+       "⒮"  // U+24AE: PARENTHESIZED LATIN SMALL LETTER S
+      ,"(s)", // Folded result
+
+       "ß"  // U+00DF: LATIN SMALL LETTER SHARP S
+      ,"ss", // Folded result
+
+       "st"  // U+FB06: LATIN SMALL LIGATURE ST
+      ,"st", // Folded result
+
+       "Å¢"  // U+0162: LATIN CAPITAL LETTER T WITH CEDILLA
+       + "Ť"  // U+0164: LATIN CAPITAL LETTER T WITH CARON
+       + "Ŧ"  // U+0166: LATIN CAPITAL LETTER T WITH STROKE
+       + "Ƭ"  // U+01AC: LATIN CAPITAL LETTER T WITH HOOK
+       + "Æ®"  // U+01AE: LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+       + "Ț"  // U+021A: LATIN CAPITAL LETTER T WITH COMMA BELOW
+       + "Ⱦ"  // U+023E: LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+       + "ᴛ"  // U+1D1B: LATIN LETTER SMALL CAPITAL T
+       + "Ṫ"  // U+1E6A: LATIN CAPITAL LETTER T WITH DOT ABOVE
+       + "Ṭ"  // U+1E6C: LATIN CAPITAL LETTER T WITH DOT BELOW
+       + "á¹®"  // U+1E6E: LATIN CAPITAL LETTER T WITH LINE BELOW
+       + "á¹°"  // U+1E70: LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+       + "Ⓣ"  // U+24C9: CIRCLED LATIN CAPITAL LETTER T
+       + "Ꞇ"  // U+A786: LATIN CAPITAL LETTER INSULAR T
+       + "ï¼´"  // U+FF34: FULLWIDTH LATIN CAPITAL LETTER T
+      ,"T", // Folded result
+
+       "Å£"  // U+0163: LATIN SMALL LETTER T WITH CEDILLA
+       + "Å¥"  // U+0165: LATIN SMALL LETTER T WITH CARON
+       + "ŧ"  // U+0167: LATIN SMALL LETTER T WITH STROKE
+       + "Æ«"  // U+01AB: LATIN SMALL LETTER T WITH PALATAL HOOK
+       + "Æ­"  // U+01AD: LATIN SMALL LETTER T WITH HOOK
+       + "ț"  // U+021B: LATIN SMALL LETTER T WITH COMMA BELOW
+       + "ȶ"  // U+0236: LATIN SMALL LETTER T WITH CURL
+       + "ʇ"  // U+0287: LATIN SMALL LETTER TURNED T
+       + "ʈ"  // U+0288: LATIN SMALL LETTER T WITH RETROFLEX HOOK
+       + "áµµ"  // U+1D75: LATIN SMALL LETTER T WITH MIDDLE TILDE
+       + "ṫ"  // U+1E6B: LATIN SMALL LETTER T WITH DOT ABOVE
+       + "á¹­"  // U+1E6D: LATIN SMALL LETTER T WITH DOT BELOW
+       + "ṯ"  // U+1E6F: LATIN SMALL LETTER T WITH LINE BELOW
+       + "á¹±"  // U+1E71: LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+       + "ẗ"  // U+1E97: LATIN SMALL LETTER T WITH DIAERESIS
+       + "ⓣ"  // U+24E3: CIRCLED LATIN SMALL LETTER T
+       + "ⱦ"  // U+2C66: LATIN SMALL LETTER T WITH DIAGONAL STROKE
+       + "t"  // U+FF54: FULLWIDTH LATIN SMALL LETTER T
+      ,"t", // Folded result
+
+       "Þ"  // U+00DE: LATIN CAPITAL LETTER THORN
+       + "Ꝧ"  // U+A766: LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+      ,"TH", // Folded result
+
+       "Ꜩ"  // U+A728: LATIN CAPITAL LETTER TZ
+      ,"TZ", // Folded result
+
+       "⒯"  // U+24AF: PARENTHESIZED LATIN SMALL LETTER T
+      ,"(t)", // Folded result
+
+       "ʨ"  // U+02A8: LATIN SMALL LETTER TC DIGRAPH WITH CURL
+      ,"tc", // Folded result
+
+       "þ"  // U+00FE: LATIN SMALL LETTER THORN
+       + "ᵺ"  // U+1D7A: LATIN SMALL LETTER TH WITH STRIKETHROUGH
+       + "ꝧ"  // U+A767: LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+      ,"th", // Folded result
+
+       "ʦ"  // U+02A6: LATIN SMALL LETTER TS DIGRAPH
+      ,"ts", // Folded result
+
+       "ꜩ"  // U+A729: LATIN SMALL LETTER TZ
+      ,"tz", // Folded result
+
+       "Ù"  // U+00D9: LATIN CAPITAL LETTER U WITH GRAVE
+       + "Ú"  // U+00DA: LATIN CAPITAL LETTER U WITH ACUTE
+       + "Û"  // U+00DB: LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+       + "Ü"  // U+00DC: LATIN CAPITAL LETTER U WITH DIAERESIS
+       + "Ũ"  // U+0168: LATIN CAPITAL LETTER U WITH TILDE
+       + "Ū"  // U+016A: LATIN CAPITAL LETTER U WITH MACRON
+       + "Ŭ"  // U+016C: LATIN CAPITAL LETTER U WITH BREVE
+       + "Å®"  // U+016E: LATIN CAPITAL LETTER U WITH RING ABOVE
+       + "Å°"  // U+0170: LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+       + "Ų"  // U+0172: LATIN CAPITAL LETTER U WITH OGONEK
+       + "Ư"  // U+01AF: LATIN CAPITAL LETTER U WITH HORN
+       + "Ǔ"  // U+01D3: LATIN CAPITAL LETTER U WITH CARON
+       + "Ǖ"  // U+01D5: LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+       + "Ǘ"  // U+01D7: LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+       + "Ǚ"  // U+01D9: LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+       + "Ǜ"  // U+01DB: LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+       + "Ȕ"  // U+0214: LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+       + "Ȗ"  // U+0216: LATIN CAPITAL LETTER U WITH INVERTED BREVE
+       + "Ʉ"  // U+0244: LATIN CAPITAL LETTER U BAR
+       + "ᴜ"  // U+1D1C: LATIN LETTER SMALL CAPITAL U
+       + "áµ¾"  // U+1D7E: LATIN SMALL CAPITAL LETTER U WITH STROKE
+       + "á¹²"  // U+1E72: LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+       + "á¹´"  // U+1E74: LATIN CAPITAL LETTER U WITH TILDE BELOW
+       + "Ṷ"  // U+1E76: LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+       + "Ṹ"  // U+1E78: LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+       + "Ṻ"  // U+1E7A: LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+       + "Ụ"  // U+1EE4: LATIN CAPITAL LETTER U WITH DOT BELOW
+       + "Ủ"  // U+1EE6: LATIN CAPITAL LETTER U WITH HOOK ABOVE
+       + "Ứ"  // U+1EE8: LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+       + "Ừ"  // U+1EEA: LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+       + "Ử"  // U+1EEC: LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+       + "á»®"  // U+1EEE: LATIN CAPITAL LETTER U WITH HORN AND TILDE
+       + "á»°"  // U+1EF0: LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+       + "Ⓤ"  // U+24CA: CIRCLED LATIN CAPITAL LETTER U
+       + "ï¼µ"  // U+FF35: FULLWIDTH LATIN CAPITAL LETTER U
+      ,"U", // Folded result
+
+       "ù"  // U+00F9: LATIN SMALL LETTER U WITH GRAVE
+       + "ú"  // U+00FA: LATIN SMALL LETTER U WITH ACUTE
+       + "û"  // U+00FB: LATIN SMALL LETTER U WITH CIRCUMFLEX
+       + "ü"  // U+00FC: LATIN SMALL LETTER U WITH DIAERESIS
+       + "Å©"  // U+0169: LATIN SMALL LETTER U WITH TILDE
+       + "Å«"  // U+016B: LATIN SMALL LETTER U WITH MACRON
+       + "Å­"  // U+016D: LATIN SMALL LETTER U WITH BREVE
+       + "ů"  // U+016F: LATIN SMALL LETTER U WITH RING ABOVE
+       + "ű"  // U+0171: LATIN SMALL LETTER U WITH DOUBLE ACUTE
+       + "ų"  // U+0173: LATIN SMALL LETTER U WITH OGONEK
+       + "Æ°"  // U+01B0: LATIN SMALL LETTER U WITH HORN
+       + "ǔ"  // U+01D4: LATIN SMALL LETTER U WITH CARON
+       + "ǖ"  // U+01D6: LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+       + "ǘ"  // U+01D8: LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+       + "ǚ"  // U+01DA: LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+       + "ǜ"  // U+01DC: LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+       + "ȕ"  // U+0215: LATIN SMALL LETTER U WITH DOUBLE GRAVE
+       + "ȗ"  // U+0217: LATIN SMALL LETTER U WITH INVERTED BREVE
+       + "ʉ"  // U+0289: LATIN SMALL LETTER U BAR
+       + "ᵤ"  // U+1D64: LATIN SUBSCRIPT SMALL LETTER U
+       + "ᶙ"  // U+1D99: LATIN SMALL LETTER U WITH RETROFLEX HOOK
+       + "á¹³"  // U+1E73: LATIN SMALL LETTER U WITH DIAERESIS BELOW
+       + "á¹µ"  // U+1E75: LATIN SMALL LETTER U WITH TILDE BELOW
+       + "á¹·"  // U+1E77: LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+       + "á¹¹"  // U+1E79: LATIN SMALL LETTER U WITH TILDE AND ACUTE
+       + "á¹»"  // U+1E7B: LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+       + "ụ"  // U+1EE5: LATIN SMALL LETTER U WITH DOT BELOW
+       + "ủ"  // U+1EE7: LATIN SMALL LETTER U WITH HOOK ABOVE
+       + "ứ"  // U+1EE9: LATIN SMALL LETTER U WITH HORN AND ACUTE
+       + "ừ"  // U+1EEB: LATIN SMALL LETTER U WITH HORN AND GRAVE
+       + "á»­"  // U+1EED: LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+       + "ữ"  // U+1EEF: LATIN SMALL LETTER U WITH HORN AND TILDE
+       + "á»±"  // U+1EF1: LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+       + "ⓤ"  // U+24E4: CIRCLED LATIN SMALL LETTER U
+       + "u"  // U+FF55: FULLWIDTH LATIN SMALL LETTER U
+      ,"u", // Folded result
+
+       "⒰"  // U+24B0: PARENTHESIZED LATIN SMALL LETTER U
+      ,"(u)", // Folded result
+
+       "ᵫ"  // U+1D6B: LATIN SMALL LETTER UE
+      ,"ue", // Folded result
+
+       "Ʋ"  // U+01B2: LATIN CAPITAL LETTER V WITH HOOK
+       + "Ʌ"  // U+0245: LATIN CAPITAL LETTER TURNED V
+       + "á´ "  // U+1D20: LATIN LETTER SMALL CAPITAL V
+       + "á¹¼"  // U+1E7C: LATIN CAPITAL LETTER V WITH TILDE
+       + "á¹¾"  // U+1E7E: LATIN CAPITAL LETTER V WITH DOT BELOW
+       + "Ỽ"  // U+1EFC: LATIN CAPITAL LETTER MIDDLE-WELSH V
+       + "Ⓥ"  // U+24CB: CIRCLED LATIN CAPITAL LETTER V
+       + "Ꝟ"  // U+A75E: LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+       + "Ꝩ"  // U+A768: LATIN CAPITAL LETTER VEND
+       + "V"  // U+FF36: FULLWIDTH LATIN CAPITAL LETTER V
+      ,"V", // Folded result
+
+       "ʋ"  // U+028B: LATIN SMALL LETTER V WITH HOOK
+       + "ʌ"  // U+028C: LATIN SMALL LETTER TURNED V
+       + "áµ¥"  // U+1D65: LATIN SUBSCRIPT SMALL LETTER V
+       + "ᶌ"  // U+1D8C: LATIN SMALL LETTER V WITH PALATAL HOOK
+       + "á¹½"  // U+1E7D: LATIN SMALL LETTER V WITH TILDE
+       + "ṿ"  // U+1E7F: LATIN SMALL LETTER V WITH DOT BELOW
+       + "ⓥ"  // U+24E5: CIRCLED LATIN SMALL LETTER V
+       + "â±±"  // U+2C71: LATIN SMALL LETTER V WITH RIGHT HOOK
+       + "â±´"  // U+2C74: LATIN SMALL LETTER V WITH CURL
+       + "ꝟ"  // U+A75F: LATIN SMALL LETTER V WITH DIAGONAL STROKE
+       + "v"  // U+FF56: FULLWIDTH LATIN SMALL LETTER V
+      ,"v", // Folded result
+

[... 565 lines stripped ...]