Last active
December 20, 2015 04:29
-
-
Save cleytonferrari/6071536 to your computer and use it in GitHub Desktop.
Normaliza texto para virar URL. var UrlNormalizada = SeoUrl.Sanitize("meu texto que vai virar url");
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class SeoUrl | |
{ | |
public static string Sanitize(string input) | |
{ | |
if (string.IsNullOrEmpty(input)) | |
{ | |
return input; | |
} | |
var normalizedString = FoldDiacriticals(input); | |
var sb = new StringBuilder(); | |
var lastCharWasWhitespace = false; | |
var strippingHtmlMode = false; | |
for (int index = 0; index < normalizedString.Length; index++) | |
{ | |
var curChar = normalizedString[index]; | |
// check if string contains HTML elements, they should be stripped | |
if (curChar == '<') | |
{ | |
strippingHtmlMode = true; | |
continue; | |
} | |
else if (curChar == '>') | |
{ | |
strippingHtmlMode = false; | |
continue; | |
} | |
// if inside HTML element, we're in stripping mode and skipping the current character | |
if (strippingHtmlMode) | |
continue; | |
// not inside stripping mode, perform transformations | |
if (Char.IsWhiteSpace(curChar) || curChar == '-') | |
{ | |
if (!lastCharWasWhitespace) | |
{ | |
sb.Append('-'); | |
} | |
lastCharWasWhitespace = true; | |
continue; | |
} | |
if (Char.IsPunctuation(curChar)) continue; | |
if (curChar == '\u00F8') continue; // degree signs will be skipped | |
if (curChar == '+') continue; // '+' signs will be skipped | |
sb.Append(curChar); | |
lastCharWasWhitespace = false; | |
} | |
return sb.ToString().ToLowerInvariant(); | |
} | |
private static String FoldDiacriticals(String source) | |
{ | |
var sb = new StringBuilder(); | |
foreach (var letter in source) | |
{ | |
switch (letter) | |
{ | |
case '\u00C0': | |
sb.Append('\u0041'); | |
break; // A › A LATIN CAPITAL LETTER A WITH GRAVE › LATIN CAPITAL LETTER A | |
case '\u00C1': | |
sb.Append('\u0041'); | |
break; // Á › A LATIN CAPITAL LETTER A WITH ACUTE › LATIN CAPITAL LETTER A | |
case '\u00C2': | |
sb.Append('\u0041'); | |
break; // Â › A LATIN CAPITAL LETTER A WITH CIRCUMFLEX › LATIN CAPITAL LETTER A | |
case '\u00C3': | |
sb.Append('\u0041'); | |
break; // A › A LATIN CAPITAL LETTER A WITH TILDE › LATIN CAPITAL LETTER A | |
case '\u00C4': | |
sb.Append('\u0041'); | |
break; // Ä › A LATIN CAPITAL LETTER A WITH DIAERESIS › LATIN CAPITAL LETTER A | |
case '\u00C5': | |
sb.Append('\u0041'); | |
break; // A › A LATIN CAPITAL LETTER A WITH RING ABOVE › LATIN CAPITAL LETTER A | |
case '\u0100': | |
sb.Append('\u0041'); | |
break; // A › A LATIN CAPITAL LETTER A WITH MACRON › LATIN CAPITAL LETTER A | |
case '\u0102': | |
sb.Append('\u0041'); | |
break; // Ă › A LATIN CAPITAL LETTER A WITH BREVE › LATIN CAPITAL LETTER A | |
case '\u0104': | |
sb.Append('\u0041'); | |
break; // Ą › A LATIN CAPITAL LETTER A WITH OGONEK › LATIN CAPITAL LETTER A | |
case '\u01CD': | |
sb.Append('\u0041'); | |
break; // A › A LATIN CAPITAL LETTER A WITH CARON › LATIN CAPITAL LETTER A | |
case '\u01DE': | |
sb.Append('\u0041'); | |
break; // A › A LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON › LATIN CAPITAL LETTER A | |
case '\u01E0': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON › LATIN CAPITAL LETTER A | |
case '\u01FA': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE › LATIN CAPITAL LETTER A | |
case '\u0200': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH DOUBLE GRAVE › LATIN CAPITAL LETTER A | |
case '\u0202': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH INVERTED BREVE › LATIN CAPITAL LETTER A | |
case '\u0226': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH DOT ABOVE › LATIN CAPITAL LETTER A | |
case '\u1E00': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH RING BELOW › LATIN CAPITAL LETTER A | |
case '\u1EA0': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH DOT BELOW › LATIN CAPITAL LETTER A | |
case '\u1EA2': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH HOOK ABOVE › LATIN CAPITAL LETTER A | |
case '\u1EA4': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE › LATIN CAPITAL LETTER A | |
case '\u1EA6': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE › LATIN CAPITAL LETTER A | |
case '\u1EA8': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE › LATIN CAPITAL LETTER A | |
case '\u1EAA': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE › LATIN CAPITAL LETTER A | |
case '\u1EAC': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW › LATIN CAPITAL LETTER A | |
case '\u1EAE': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH BREVE AND ACUTE › LATIN CAPITAL LETTER A | |
case '\u1EB0': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH BREVE AND GRAVE › LATIN CAPITAL LETTER A | |
case '\u1EB2': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE › LATIN CAPITAL LETTER A | |
case '\u1EB4': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH BREVE AND TILDE › LATIN CAPITAL LETTER A | |
case '\u1EB6': | |
sb.Append('\u0041'); | |
break; // ? › A LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW › LATIN CAPITAL LETTER A | |
case '\u0181': | |
sb.Append('\u0042'); | |
break; // ? › B LATIN CAPITAL LETTER B WITH HOOK › LATIN CAPITAL LETTER B | |
case '\u0182': | |
sb.Append('\u0042'); | |
break; // ? › B LATIN CAPITAL LETTER B WITH TOPBAR › LATIN CAPITAL LETTER B | |
case '\u1E02': | |
sb.Append('\u0042'); | |
break; // ? › B LATIN CAPITAL LETTER B WITH DOT ABOVE › LATIN CAPITAL LETTER B | |
case '\u1E04': | |
sb.Append('\u0042'); | |
break; // ? › B LATIN CAPITAL LETTER B WITH DOT BELOW › LATIN CAPITAL LETTER B | |
case '\u1E06': | |
sb.Append('\u0042'); | |
break; // ? › B LATIN CAPITAL LETTER B WITH LINE BELOW › LATIN CAPITAL LETTER B | |
case '\u00C7': | |
sb.Append('\u0043'); | |
break; // Ç › C LATIN CAPITAL LETTER C WITH CEDILLA › LATIN CAPITAL LETTER C | |
case '\u0106': | |
sb.Append('\u0043'); | |
break; // Ć › C LATIN CAPITAL LETTER C WITH ACUTE › LATIN CAPITAL LETTER C | |
case '\u0108': | |
sb.Append('\u0043'); | |
break; // C › C LATIN CAPITAL LETTER C WITH CIRCUMFLEX › LATIN CAPITAL LETTER C | |
case '\u010A': | |
sb.Append('\u0043'); | |
break; // C › C LATIN CAPITAL LETTER C WITH DOT ABOVE › LATIN CAPITAL LETTER C | |
case '\u010C': | |
sb.Append('\u0043'); | |
break; // Č › C LATIN CAPITAL LETTER C WITH CARON › LATIN CAPITAL LETTER C | |
case '\u0187': | |
sb.Append('\u0043'); | |
break; // ? › C LATIN CAPITAL LETTER C WITH HOOK › LATIN CAPITAL LETTER C | |
case '\u1E08': | |
sb.Append('\u0043'); | |
break; // ? › C LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE › LATIN CAPITAL LETTER C | |
case '\u010E': | |
sb.Append('\u0044'); | |
break; // Ď › D LATIN CAPITAL LETTER D WITH CARON › LATIN CAPITAL LETTER D | |
case '\u0110': | |
sb.Append('\u0044'); | |
break; // Đ › D LATIN CAPITAL LETTER D WITH STROKE › LATIN CAPITAL LETTER D | |
case '\u018A': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH HOOK › LATIN CAPITAL LETTER D | |
case '\u018B': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH TOPBAR › LATIN CAPITAL LETTER D | |
case '\u1E0A': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH DOT ABOVE › LATIN CAPITAL LETTER D | |
case '\u1E0C': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH DOT BELOW › LATIN CAPITAL LETTER D | |
case '\u1E0E': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH LINE BELOW › LATIN CAPITAL LETTER D | |
case '\u1E10': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH CEDILLA › LATIN CAPITAL LETTER D | |
case '\u1E12': | |
sb.Append('\u0044'); | |
break; // ? › D LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW › LATIN CAPITAL LETTER D | |
case '\u00C8': | |
sb.Append('\u0045'); | |
break; // E › E LATIN CAPITAL LETTER E WITH GRAVE › LATIN CAPITAL LETTER E | |
case '\u00C9': | |
sb.Append('\u0045'); | |
break; // É › E LATIN CAPITAL LETTER E WITH ACUTE › LATIN CAPITAL LETTER E | |
case '\u00CA': | |
sb.Append('\u0045'); | |
break; // E › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX › LATIN CAPITAL LETTER E | |
case '\u00CB': | |
sb.Append('\u0045'); | |
break; // Ë › E LATIN CAPITAL LETTER E WITH DIAERESIS › LATIN CAPITAL LETTER E | |
case '\u0112': | |
sb.Append('\u0045'); | |
break; // E › E LATIN CAPITAL LETTER E WITH MACRON › LATIN CAPITAL LETTER E | |
case '\u0114': | |
sb.Append('\u0045'); | |
break; // E › E LATIN CAPITAL LETTER E WITH BREVE › LATIN CAPITAL LETTER E | |
case '\u0116': | |
sb.Append('\u0045'); | |
break; // E › E LATIN CAPITAL LETTER E WITH DOT ABOVE › LATIN CAPITAL LETTER E | |
case '\u0118': | |
sb.Append('\u0045'); | |
break; // Ę › E LATIN CAPITAL LETTER E WITH OGONEK › LATIN CAPITAL LETTER E | |
case '\u011A': | |
sb.Append('\u0045'); | |
break; // Ě › E LATIN CAPITAL LETTER E WITH CARON › LATIN CAPITAL LETTER E | |
case '\u0204': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH DOUBLE GRAVE › LATIN CAPITAL LETTER E | |
case '\u0206': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH INVERTED BREVE › LATIN CAPITAL LETTER E | |
case '\u0228': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CEDILLA › LATIN CAPITAL LETTER E | |
case '\u1E14': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH MACRON AND GRAVE › LATIN CAPITAL LETTER E | |
case '\u1E16': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH MACRON AND ACUTE › LATIN CAPITAL LETTER E | |
case '\u1E18': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW › LATIN CAPITAL LETTER E | |
case '\u1E1A': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH TILDE BELOW › LATIN CAPITAL LETTER E | |
case '\u1E1C': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE › LATIN CAPITAL LETTER E | |
case '\u1EB8': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH DOT BELOW › LATIN CAPITAL LETTER E | |
case '\u1EBA': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH HOOK ABOVE › LATIN CAPITAL LETTER E | |
case '\u1EBC': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH TILDE › LATIN CAPITAL LETTER E | |
case '\u1EBE': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE › LATIN CAPITAL LETTER E | |
case '\u1EC0': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE › LATIN CAPITAL LETTER E | |
case '\u1EC2': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE › LATIN CAPITAL LETTER E | |
case '\u1EC4': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE › LATIN CAPITAL LETTER E | |
case '\u1EC6': | |
sb.Append('\u0045'); | |
break; // ? › E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW › LATIN CAPITAL LETTER E | |
case '\u0191': | |
sb.Append('\u0046'); | |
break; // F › F LATIN CAPITAL LETTER F WITH HOOK › LATIN CAPITAL LETTER F | |
case '\u1E1E': | |
sb.Append('\u0046'); | |
break; // ? › F LATIN CAPITAL LETTER F WITH DOT ABOVE › LATIN CAPITAL LETTER F | |
case '\u011C': | |
sb.Append('\u0047'); | |
break; // G › G LATIN CAPITAL LETTER G WITH CIRCUMFLEX › LATIN CAPITAL LETTER G | |
case '\u011E': | |
sb.Append('\u0047'); | |
break; // G › G LATIN CAPITAL LETTER G WITH BREVE › LATIN CAPITAL LETTER G | |
case '\u0120': | |
sb.Append('\u0047'); | |
break; // G › G LATIN CAPITAL LETTER G WITH DOT ABOVE › LATIN CAPITAL LETTER G | |
case '\u0122': | |
sb.Append('\u0047'); | |
break; // G › G LATIN CAPITAL LETTER G WITH CEDILLA › LATIN CAPITAL LETTER G | |
case '\u0193': | |
sb.Append('\u0047'); | |
break; // ? › G LATIN CAPITAL LETTER G WITH HOOK › LATIN CAPITAL LETTER G | |
case '\u01E4': | |
sb.Append('\u0047'); | |
break; // G › G LATIN CAPITAL LETTER G WITH STROKE › LATIN CAPITAL LETTER G | |
case '\u01E6': | |
sb.Append('\u0047'); | |
break; // G › G LATIN CAPITAL LETTER G WITH CARON › LATIN CAPITAL LETTER G | |
case '\u01F4': | |
sb.Append('\u0047'); | |
break; // ? › G LATIN CAPITAL LETTER G WITH ACUTE › LATIN CAPITAL LETTER G | |
case '\u1E20': | |
sb.Append('\u0047'); | |
break; // ? › G LATIN CAPITAL LETTER G WITH MACRON › LATIN CAPITAL LETTER G | |
case '\u0124': | |
sb.Append('\u0048'); | |
break; // H › H LATIN CAPITAL LETTER H WITH CIRCUMFLEX › LATIN CAPITAL LETTER H | |
case '\u0126': | |
sb.Append('\u0048'); | |
break; // H › H LATIN CAPITAL LETTER H WITH STROKE › LATIN CAPITAL LETTER H | |
case '\u021E': | |
sb.Append('\u0048'); | |
break; // ? › H LATIN CAPITAL LETTER H WITH CARON › LATIN CAPITAL LETTER H | |
case '\u1E22': | |
sb.Append('\u0048'); | |
break; // ? › H LATIN CAPITAL LETTER H WITH DOT ABOVE › LATIN CAPITAL LETTER H | |
case '\u1E24': | |
sb.Append('\u0048'); | |
break; // ? › H LATIN CAPITAL LETTER H WITH DOT BELOW › LATIN CAPITAL LETTER H | |
case '\u1E26': | |
sb.Append('\u0048'); | |
break; // ? › H LATIN CAPITAL LETTER H WITH DIAERESIS › LATIN CAPITAL LETTER H | |
case '\u1E28': | |
sb.Append('\u0048'); | |
break; // ? › H LATIN CAPITAL LETTER H WITH CEDILLA › LATIN CAPITAL LETTER H | |
case '\u1E2A': | |
sb.Append('\u0048'); | |
break; // ? › H LATIN CAPITAL LETTER H WITH BREVE BELOW › LATIN CAPITAL LETTER H | |
case '\u00CC': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH GRAVE › LATIN CAPITAL LETTER I | |
case '\u00CD': | |
sb.Append('\u0049'); | |
break; // Í › I LATIN CAPITAL LETTER I WITH ACUTE › LATIN CAPITAL LETTER I | |
case '\u00CE': | |
sb.Append('\u0049'); | |
break; // Î › I LATIN CAPITAL LETTER I WITH CIRCUMFLEX › LATIN CAPITAL LETTER I | |
case '\u00CF': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH DIAERESIS › LATIN CAPITAL LETTER I | |
case '\u0128': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH TILDE › LATIN CAPITAL LETTER I | |
case '\u012A': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH MACRON › LATIN CAPITAL LETTER I | |
case '\u012C': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH BREVE › LATIN CAPITAL LETTER I | |
case '\u012E': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH OGONEK › LATIN CAPITAL LETTER I | |
case '\u0130': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH DOT ABOVE › LATIN CAPITAL LETTER I | |
case '\u0197': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH STROKE › LATIN CAPITAL LETTER I | |
case '\u01CF': | |
sb.Append('\u0049'); | |
break; // I › I LATIN CAPITAL LETTER I WITH CARON › LATIN CAPITAL LETTER I | |
case '\u0208': | |
sb.Append('\u0049'); | |
break; // ? › I LATIN CAPITAL LETTER I WITH DOUBLE GRAVE › LATIN CAPITAL LETTER I | |
case '\u020A': | |
sb.Append('\u0049'); | |
break; // ? › I LATIN CAPITAL LETTER I WITH INVERTED BREVE › LATIN CAPITAL LETTER I | |
case '\u1E2C': | |
sb.Append('\u0049'); | |
break; // ? › I LATIN CAPITAL LETTER I WITH TILDE BELOW › LATIN CAPITAL LETTER I | |
case '\u1E2E': | |
sb.Append('\u0049'); | |
break; // ? › I LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE › LATIN CAPITAL LETTER I | |
case '\u1EC8': | |
sb.Append('\u0049'); | |
break; // ? › I LATIN CAPITAL LETTER I WITH HOOK ABOVE › LATIN CAPITAL LETTER I | |
case '\u1ECA': | |
sb.Append('\u0049'); | |
break; // ? › I LATIN CAPITAL LETTER I WITH DOT BELOW › LATIN CAPITAL LETTER I | |
case '\u0134': | |
sb.Append('\u004A'); | |
break; // J › J LATIN CAPITAL LETTER J WITH CIRCUMFLEX › LATIN CAPITAL LETTER J | |
case '\u0136': | |
sb.Append('\u004B'); | |
break; // K › K LATIN CAPITAL LETTER K WITH CEDILLA › LATIN CAPITAL LETTER K | |
case '\u0198': | |
sb.Append('\u004B'); | |
break; // ? › K LATIN CAPITAL LETTER K WITH HOOK › LATIN CAPITAL LETTER K | |
case '\u01E8': | |
sb.Append('\u004B'); | |
break; // K › K LATIN CAPITAL LETTER K WITH CARON › LATIN CAPITAL LETTER K | |
case '\u1E30': | |
sb.Append('\u004B'); | |
break; // ? › K LATIN CAPITAL LETTER K WITH ACUTE › LATIN CAPITAL LETTER K | |
case '\u1E32': | |
sb.Append('\u004B'); | |
break; // ? › K LATIN CAPITAL LETTER K WITH DOT BELOW › LATIN CAPITAL LETTER K | |
case '\u1E34': | |
sb.Append('\u004B'); | |
break; // ? › K LATIN CAPITAL LETTER K WITH LINE BELOW › LATIN CAPITAL LETTER K | |
case '\u0139': | |
sb.Append('\u004C'); | |
break; // Ĺ › L LATIN CAPITAL LETTER L WITH ACUTE › LATIN CAPITAL LETTER L | |
case '\u013B': | |
sb.Append('\u004C'); | |
break; // L › L LATIN CAPITAL LETTER L WITH CEDILLA › LATIN CAPITAL LETTER L | |
case '\u013D': | |
sb.Append('\u004C'); | |
break; // Ľ › L LATIN CAPITAL LETTER L WITH CARON › LATIN CAPITAL LETTER L | |
case '\u0141': | |
sb.Append('\u004C'); | |
break; // Ł › L LATIN CAPITAL LETTER L WITH STROKE › LATIN CAPITAL LETTER L | |
case '\u1E36': | |
sb.Append('\u004C'); | |
break; // ? › L LATIN CAPITAL LETTER L WITH DOT BELOW › LATIN CAPITAL LETTER L | |
case '\u1E38': | |
sb.Append('\u004C'); | |
break; // ? › L LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON › LATIN CAPITAL LETTER L | |
case '\u1E3A': | |
sb.Append('\u004C'); | |
break; // ? › L LATIN CAPITAL LETTER L WITH LINE BELOW › LATIN CAPITAL LETTER L | |
case '\u1E3C': | |
sb.Append('\u004C'); | |
break; // ? › L LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW › LATIN CAPITAL LETTER L | |
case '\u1E3E': | |
sb.Append('\u004D'); | |
break; // ? › M LATIN CAPITAL LETTER M WITH ACUTE › LATIN CAPITAL LETTER M | |
case '\u1E40': | |
sb.Append('\u004D'); | |
break; // ? › M LATIN CAPITAL LETTER M WITH DOT ABOVE › LATIN CAPITAL LETTER M | |
case '\u1E42': | |
sb.Append('\u004D'); | |
break; // ? › M LATIN CAPITAL LETTER M WITH DOT BELOW › LATIN CAPITAL LETTER M | |
case '\u00D1': | |
sb.Append('\u004E'); | |
break; // N › N LATIN CAPITAL LETTER N WITH TILDE › LATIN CAPITAL LETTER N | |
case '\u0143': | |
sb.Append('\u004E'); | |
break; // Ń › N LATIN CAPITAL LETTER N WITH ACUTE › LATIN CAPITAL LETTER N | |
case '\u0145': | |
sb.Append('\u004E'); | |
break; // N › N LATIN CAPITAL LETTER N WITH CEDILLA › LATIN CAPITAL LETTER N | |
case '\u0147': | |
sb.Append('\u004E'); | |
break; // Ň › N LATIN CAPITAL LETTER N WITH CARON › LATIN CAPITAL LETTER N | |
case '\u019D': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH LEFT HOOK › LATIN CAPITAL LETTER N | |
case '\u01F8': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH GRAVE › LATIN CAPITAL LETTER N | |
case '\u0220': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH LONG RIGHT LEG › LATIN CAPITAL LETTER N | |
case '\u1E44': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH DOT ABOVE › LATIN CAPITAL LETTER N | |
case '\u1E46': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH DOT BELOW › LATIN CAPITAL LETTER N | |
case '\u1E48': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH LINE BELOW › LATIN CAPITAL LETTER N | |
case '\u1E4A': | |
sb.Append('\u004E'); | |
break; // ? › N LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW › LATIN CAPITAL LETTER N | |
case '\u00D2': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH GRAVE › LATIN CAPITAL LETTER O | |
case '\u00D3': | |
sb.Append('\u004F'); | |
break; // Ó › O LATIN CAPITAL LETTER O WITH ACUTE › LATIN CAPITAL LETTER O | |
case '\u00D4': | |
sb.Append('\u004F'); | |
break; // Ô › O LATIN CAPITAL LETTER O WITH CIRCUMFLEX › LATIN CAPITAL LETTER O | |
case '\u00D5': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH TILDE › LATIN CAPITAL LETTER O | |
case '\u00D6': | |
sb.Append('\u004F'); | |
break; // Ö › O LATIN CAPITAL LETTER O WITH DIAERESIS › LATIN CAPITAL LETTER O | |
case '\u00D8': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH STROKE › LATIN CAPITAL LETTER O | |
case '\u014C': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH MACRON › LATIN CAPITAL LETTER O | |
case '\u014E': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH BREVE › LATIN CAPITAL LETTER O | |
case '\u0150': | |
sb.Append('\u004F'); | |
break; // Ő › O LATIN CAPITAL LETTER O WITH DOUBLE ACUTE › LATIN CAPITAL LETTER O | |
case '\u019F': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH MIDDLE TILDE › LATIN CAPITAL LETTER O | |
case '\u01A0': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH HORN › LATIN CAPITAL LETTER O | |
case '\u01D1': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH CARON › LATIN CAPITAL LETTER O | |
case '\u01EA': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH OGONEK › LATIN CAPITAL LETTER O | |
case '\u01EC': | |
sb.Append('\u004F'); | |
break; // O › O LATIN CAPITAL LETTER O WITH OGONEK AND MACRON › LATIN CAPITAL LETTER O | |
case '\u01FE': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH STROKE AND ACUTE › LATIN CAPITAL LETTER O | |
case '\u020C': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH DOUBLE GRAVE › LATIN CAPITAL LETTER O | |
case '\u020E': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH INVERTED BREVE › LATIN CAPITAL LETTER O | |
case '\u022A': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON › LATIN CAPITAL LETTER O | |
case '\u022C': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH TILDE AND MACRON › LATIN CAPITAL LETTER O | |
case '\u022E': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH DOT ABOVE › LATIN CAPITAL LETTER O | |
case '\u0230': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON › LATIN CAPITAL LETTER O | |
case '\u1E4C': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH TILDE AND ACUTE › LATIN CAPITAL LETTER O | |
case '\u1E4E': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS › LATIN CAPITAL LETTER O | |
case '\u1E50': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH MACRON AND GRAVE › LATIN CAPITAL LETTER O | |
case '\u1E52': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH MACRON AND ACUTE › LATIN CAPITAL LETTER O | |
case '\u1ECC': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH DOT BELOW › LATIN CAPITAL LETTER O | |
case '\u1ECE': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH HOOK ABOVE › LATIN CAPITAL LETTER O | |
case '\u1ED0': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE › LATIN CAPITAL LETTER O | |
case '\u1ED2': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE › LATIN CAPITAL LETTER O | |
case '\u1ED4': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE › LATIN CAPITAL LETTER O | |
case '\u1ED6': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE › LATIN CAPITAL LETTER O | |
case '\u1ED8': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW › LATIN CAPITAL LETTER O | |
case '\u1EDA': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH HORN AND ACUTE › LATIN CAPITAL LETTER O | |
case '\u1EDC': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH HORN AND GRAVE › LATIN CAPITAL LETTER O | |
case '\u1EDE': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE › LATIN CAPITAL LETTER O | |
case '\u1EE0': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH HORN AND TILDE › LATIN CAPITAL LETTER O | |
case '\u1EE2': | |
sb.Append('\u004F'); | |
break; // ? › O LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW › LATIN CAPITAL LETTER O | |
case '\u01A4': | |
sb.Append('\u0050'); | |
break; // ? › P LATIN CAPITAL LETTER P WITH HOOK › LATIN CAPITAL LETTER P | |
case '\u1E54': | |
sb.Append('\u0050'); | |
break; // ? › P LATIN CAPITAL LETTER P WITH ACUTE › LATIN CAPITAL LETTER P | |
case '\u1E56': | |
sb.Append('\u0050'); | |
break; // ? › P LATIN CAPITAL LETTER P WITH DOT ABOVE › LATIN CAPITAL LETTER P | |
case '\u0154': | |
sb.Append('\u0052'); | |
break; // Ŕ › R LATIN CAPITAL LETTER R WITH ACUTE › LATIN CAPITAL LETTER R | |
case '\u0156': | |
sb.Append('\u0052'); | |
break; // R › R LATIN CAPITAL LETTER R WITH CEDILLA › LATIN CAPITAL LETTER R | |
case '\u0158': | |
sb.Append('\u0052'); | |
break; // Ř › R LATIN CAPITAL LETTER R WITH CARON › LATIN CAPITAL LETTER R | |
case '\u0210': | |
sb.Append('\u0052'); | |
break; // ? › R LATIN CAPITAL LETTER R WITH DOUBLE GRAVE › LATIN CAPITAL LETTER R | |
case '\u0212': | |
sb.Append('\u0052'); | |
break; // ? › R LATIN CAPITAL LETTER R WITH INVERTED BREVE › LATIN CAPITAL LETTER R | |
case '\u1E58': | |
sb.Append('\u0052'); | |
break; // ? › R LATIN CAPITAL LETTER R WITH DOT ABOVE › LATIN CAPITAL LETTER R | |
case '\u1E5A': | |
sb.Append('\u0052'); | |
break; // ? › R LATIN CAPITAL LETTER R WITH DOT BELOW › LATIN CAPITAL LETTER R | |
case '\u1E5C': | |
sb.Append('\u0052'); | |
break; // ? › R LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON › LATIN CAPITAL LETTER R | |
case '\u1E5E': | |
sb.Append('\u0052'); | |
break; // ? › R LATIN CAPITAL LETTER R WITH LINE BELOW › LATIN CAPITAL LETTER R | |
case '\u015A': | |
sb.Append('\u0053'); | |
break; // Ś › S LATIN CAPITAL LETTER S WITH ACUTE › LATIN CAPITAL LETTER S | |
case '\u015C': | |
sb.Append('\u0053'); | |
break; // S › S LATIN CAPITAL LETTER S WITH CIRCUMFLEX › LATIN CAPITAL LETTER S | |
case '\u015E': | |
sb.Append('\u0053'); | |
break; // Ş › S LATIN CAPITAL LETTER S WITH CEDILLA › LATIN CAPITAL LETTER S | |
case '\u0160': | |
sb.Append('\u0053'); | |
break; // Š › S LATIN CAPITAL LETTER S WITH CARON › LATIN CAPITAL LETTER S | |
case '\u0218': | |
sb.Append('\u0053'); | |
break; // ? › S LATIN CAPITAL LETTER S WITH COMMA BELOW › LATIN CAPITAL LETTER S | |
case '\u1E60': | |
sb.Append('\u0053'); | |
break; // ? › S LATIN CAPITAL LETTER S WITH DOT ABOVE › LATIN CAPITAL LETTER S | |
case '\u1E62': | |
sb.Append('\u0053'); | |
break; // ? › S LATIN CAPITAL LETTER S WITH DOT BELOW › LATIN CAPITAL LETTER S | |
case '\u1E64': | |
sb.Append('\u0053'); | |
break; // ? › S LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE › LATIN CAPITAL LETTER S | |
case '\u1E66': | |
sb.Append('\u0053'); | |
break; // ? › S LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE › LATIN CAPITAL LETTER S | |
case '\u1E68': | |
sb.Append('\u0053'); | |
break; // ? › S LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE › LATIN CAPITAL LETTER S | |
case '\u0162': | |
sb.Append('\u0054'); | |
break; // Ţ › T LATIN CAPITAL LETTER T WITH CEDILLA › LATIN CAPITAL LETTER T | |
case '\u0164': | |
sb.Append('\u0054'); | |
break; // Ť › T LATIN CAPITAL LETTER T WITH CARON › LATIN CAPITAL LETTER T | |
case '\u0166': | |
sb.Append('\u0054'); | |
break; // T › T LATIN CAPITAL LETTER T WITH STROKE › LATIN CAPITAL LETTER T | |
case '\u01AC': | |
sb.Append('\u0054'); | |
break; // ? › T LATIN CAPITAL LETTER T WITH HOOK › LATIN CAPITAL LETTER T | |
case '\u01AE': | |
sb.Append('\u0054'); | |
break; // T › T LATIN CAPITAL LETTER T WITH RETROFLEX HOOK › LATIN CAPITAL LETTER T | |
case '\u021A': | |
sb.Append('\u0054'); | |
break; // ? › T LATIN CAPITAL LETTER T WITH COMMA BELOW › LATIN CAPITAL LETTER T | |
case '\u1E6A': | |
sb.Append('\u0054'); | |
break; // ? › T LATIN CAPITAL LETTER T WITH DOT ABOVE › LATIN CAPITAL LETTER T | |
case '\u1E6C': | |
sb.Append('\u0054'); | |
break; // ? › T LATIN CAPITAL LETTER T WITH DOT BELOW › LATIN CAPITAL LETTER T | |
case '\u1E6E': | |
sb.Append('\u0054'); | |
break; // ? › T LATIN CAPITAL LETTER T WITH LINE BELOW › LATIN CAPITAL LETTER T | |
case '\u1E70': | |
sb.Append('\u0054'); | |
break; // ? › T LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW › LATIN CAPITAL LETTER T | |
case '\u00D9': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH GRAVE › LATIN CAPITAL LETTER U | |
case '\u00DA': | |
sb.Append('\u0055'); | |
break; // Ú › U LATIN CAPITAL LETTER U WITH ACUTE › LATIN CAPITAL LETTER U | |
case '\u00DB': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH CIRCUMFLEX › LATIN CAPITAL LETTER U | |
case '\u00DC': | |
sb.Append('\u0055'); | |
break; // Ü › U LATIN CAPITAL LETTER U WITH DIAERESIS › LATIN CAPITAL LETTER U | |
case '\u0168': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH TILDE › LATIN CAPITAL LETTER U | |
case '\u016A': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH MACRON › LATIN CAPITAL LETTER U | |
case '\u016C': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH BREVE › LATIN CAPITAL LETTER U | |
case '\u016E': | |
sb.Append('\u0055'); | |
break; // Ů › U LATIN CAPITAL LETTER U WITH RING ABOVE › LATIN CAPITAL LETTER U | |
case '\u0170': | |
sb.Append('\u0055'); | |
break; // Ű › U LATIN CAPITAL LETTER U WITH DOUBLE ACUTE › LATIN CAPITAL LETTER U | |
case '\u0172': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH OGONEK › LATIN CAPITAL LETTER U | |
case '\u01AF': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH HORN › LATIN CAPITAL LETTER U | |
case '\u01D3': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH CARON › LATIN CAPITAL LETTER U | |
case '\u01D5': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON › LATIN CAPITAL LETTER U | |
case '\u01D7': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE › LATIN CAPITAL LETTER U | |
case '\u01D9': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON › LATIN CAPITAL LETTER U | |
case '\u01DB': | |
sb.Append('\u0055'); | |
break; // U › U LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE › LATIN CAPITAL LETTER U | |
case '\u0214': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH DOUBLE GRAVE › LATIN CAPITAL LETTER U | |
case '\u0216': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH INVERTED BREVE › LATIN CAPITAL LETTER U | |
case '\u1E72': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH DIAERESIS BELOW › LATIN CAPITAL LETTER U | |
case '\u1E74': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH TILDE BELOW › LATIN CAPITAL LETTER U | |
case '\u1E76': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW › LATIN CAPITAL LETTER U | |
case '\u1E78': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH TILDE AND ACUTE › LATIN CAPITAL LETTER U | |
case '\u1E7A': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS › LATIN CAPITAL LETTER U | |
case '\u1EE4': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH DOT BELOW › LATIN CAPITAL LETTER U | |
case '\u1EE6': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH HOOK ABOVE › LATIN CAPITAL LETTER U | |
case '\u1EE8': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH HORN AND ACUTE › LATIN CAPITAL LETTER U | |
case '\u1EEA': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH HORN AND GRAVE › LATIN CAPITAL LETTER U | |
case '\u1EEC': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE › LATIN CAPITAL LETTER U | |
case '\u1EEE': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH HORN AND TILDE › LATIN CAPITAL LETTER U | |
case '\u1EF0': | |
sb.Append('\u0055'); | |
break; // ? › U LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW › LATIN CAPITAL LETTER U | |
case '\u01B2': | |
sb.Append('\u0056'); | |
break; // ? › V LATIN CAPITAL LETTER V WITH HOOK › LATIN CAPITAL LETTER V | |
case '\u1E7C': | |
sb.Append('\u0056'); | |
break; // ? › V LATIN CAPITAL LETTER V WITH TILDE › LATIN CAPITAL LETTER V | |
case '\u1E7E': | |
sb.Append('\u0056'); | |
break; // ? › V LATIN CAPITAL LETTER V WITH DOT BELOW › LATIN CAPITAL LETTER V | |
case '\u0174': | |
sb.Append('\u0057'); | |
break; // W › W LATIN CAPITAL LETTER W WITH CIRCUMFLEX › LATIN CAPITAL LETTER W | |
case '\u1E80': | |
sb.Append('\u0057'); | |
break; // ? › W LATIN CAPITAL LETTER W WITH GRAVE › LATIN CAPITAL LETTER W | |
case '\u1E82': | |
sb.Append('\u0057'); | |
break; // ? › W LATIN CAPITAL LETTER W WITH ACUTE › LATIN CAPITAL LETTER W | |
case '\u1E84': | |
sb.Append('\u0057'); | |
break; // ? › W LATIN CAPITAL LETTER W WITH DIAERESIS › LATIN CAPITAL LETTER W | |
case '\u1E86': | |
sb.Append('\u0057'); | |
break; // ? › W LATIN CAPITAL LETTER W WITH DOT ABOVE › LATIN CAPITAL LETTER W | |
case '\u1E88': | |
sb.Append('\u0057'); | |
break; // ? › W LATIN CAPITAL LETTER W WITH DOT BELOW › LATIN CAPITAL LETTER W | |
case '\u1E8A': | |
sb.Append('\u0058'); | |
break; // ? › X LATIN CAPITAL LETTER X WITH DOT ABOVE › LATIN CAPITAL LETTER X | |
case '\u1E8C': | |
sb.Append('\u0058'); | |
break; // ? › X LATIN CAPITAL LETTER X WITH DIAERESIS › LATIN CAPITAL LETTER X | |
case '\u00DD': | |
sb.Append('\u0059'); | |
break; // Ý › Y LATIN CAPITAL LETTER Y WITH ACUTE › LATIN CAPITAL LETTER Y | |
case '\u0176': | |
sb.Append('\u0059'); | |
break; // Y › Y LATIN CAPITAL LETTER Y WITH CIRCUMFLEX › LATIN CAPITAL LETTER Y | |
case '\u0178': | |
sb.Append('\u0059'); | |
break; // Y › Y LATIN CAPITAL LETTER Y WITH DIAERESIS › LATIN CAPITAL LETTER Y | |
case '\u01B3': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH HOOK › LATIN CAPITAL LETTER Y | |
case '\u0232': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH MACRON › LATIN CAPITAL LETTER Y | |
case '\u1E8E': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH DOT ABOVE › LATIN CAPITAL LETTER Y | |
case '\u1EF2': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH GRAVE › LATIN CAPITAL LETTER Y | |
case '\u1EF4': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH DOT BELOW › LATIN CAPITAL LETTER Y | |
case '\u1EF6': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH HOOK ABOVE › LATIN CAPITAL LETTER Y | |
case '\u1EF8': | |
sb.Append('\u0059'); | |
break; // ? › Y LATIN CAPITAL LETTER Y WITH TILDE › LATIN CAPITAL LETTER Y | |
case '\u0179': | |
sb.Append('\u005A'); | |
break; // Ź › Z LATIN CAPITAL LETTER Z WITH ACUTE › LATIN CAPITAL LETTER Z | |
case '\u017B': | |
sb.Append('\u005A'); | |
break; // Ż › Z LATIN CAPITAL LETTER Z WITH DOT ABOVE › LATIN CAPITAL LETTER Z | |
case '\u017D': | |
sb.Append('\u005A'); | |
break; // Ž › Z LATIN CAPITAL LETTER Z WITH CARON › LATIN CAPITAL LETTER Z | |
case '\u01B5': | |
sb.Append('\u005A'); | |
break; // ? › Z LATIN CAPITAL LETTER Z WITH STROKE › LATIN CAPITAL LETTER Z | |
case '\u0224': | |
sb.Append('\u005A'); | |
break; // ? › Z LATIN CAPITAL LETTER Z WITH HOOK › LATIN CAPITAL LETTER Z | |
case '\u1E90': | |
sb.Append('\u005A'); | |
break; // ? › Z LATIN CAPITAL LETTER Z WITH CIRCUMFLEX › LATIN CAPITAL LETTER Z | |
case '\u1E92': | |
sb.Append('\u005A'); | |
break; // ? › Z LATIN CAPITAL LETTER Z WITH DOT BELOW › LATIN CAPITAL LETTER Z | |
case '\u1E94': | |
sb.Append('\u005A'); | |
break; // ? › Z LATIN CAPITAL LETTER Z WITH LINE BELOW › LATIN CAPITAL LETTER Z | |
case '\u00E0': | |
sb.Append('\u0061'); | |
break; // a › a LATIN SMALL LETTER A WITH GRAVE › LATIN SMALL LETTER A | |
case '\u00E1': | |
sb.Append('\u0061'); | |
break; // á › a LATIN SMALL LETTER A WITH ACUTE › LATIN SMALL LETTER A | |
case '\u00E2': | |
sb.Append('\u0061'); | |
break; // â › a LATIN SMALL LETTER A WITH CIRCUMFLEX › LATIN SMALL LETTER A | |
case '\u00E3': | |
sb.Append('\u0061'); | |
break; // a › a LATIN SMALL LETTER A WITH TILDE › LATIN SMALL LETTER A | |
case '\u00E4': | |
sb.Append('\u0061'); | |
break; // ä › a LATIN SMALL LETTER A WITH DIAERESIS › LATIN SMALL LETTER A | |
case '\u00E5': | |
sb.Append('\u0061'); | |
break; // a › a LATIN SMALL LETTER A WITH RING ABOVE › LATIN SMALL LETTER A | |
case '\u0101': | |
sb.Append('\u0061'); | |
break; // a › a LATIN SMALL LETTER A WITH MACRON › LATIN SMALL LETTER A | |
case '\u0103': | |
sb.Append('\u0061'); | |
break; // ă › a LATIN SMALL LETTER A WITH BREVE › LATIN SMALL LETTER A | |
case '\u0105': | |
sb.Append('\u0061'); | |
break; // ą › a LATIN SMALL LETTER A WITH OGONEK › LATIN SMALL LETTER A | |
case '\u01CE': | |
sb.Append('\u0061'); | |
break; // a › a LATIN SMALL LETTER A WITH CARON › LATIN SMALL LETTER A | |
case '\u01DF': | |
sb.Append('\u0061'); | |
break; // a › a LATIN SMALL LETTER A WITH DIAERESIS AND MACRON › LATIN SMALL LETTER A | |
case '\u01E1': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON › LATIN SMALL LETTER A | |
case '\u01FB': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE › LATIN SMALL LETTER A | |
case '\u0201': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH DOUBLE GRAVE › LATIN SMALL LETTER A | |
case '\u0203': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH INVERTED BREVE › LATIN SMALL LETTER A | |
case '\u0227': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH DOT ABOVE › LATIN SMALL LETTER A | |
case '\u1E01': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH RING BELOW › LATIN SMALL LETTER A | |
case '\u1E9A': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH RIGHT HALF RING › LATIN SMALL LETTER A | |
case '\u1EA1': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH DOT BELOW › LATIN SMALL LETTER A | |
case '\u1EA3': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH HOOK ABOVE › LATIN SMALL LETTER A | |
case '\u1EA5': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE › LATIN SMALL LETTER A | |
case '\u1EA7': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE › LATIN SMALL LETTER A | |
case '\u1EA9': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE › LATIN SMALL LETTER A | |
case '\u1EAB': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE › LATIN SMALL LETTER A | |
case '\u1EAD': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW › LATIN SMALL LETTER A | |
case '\u1EAF': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH BREVE AND ACUTE › LATIN SMALL LETTER A | |
case '\u1EB1': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH BREVE AND GRAVE › LATIN SMALL LETTER A | |
case '\u1EB3': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE › LATIN SMALL LETTER A | |
case '\u1EB5': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH BREVE AND TILDE › LATIN SMALL LETTER A | |
case '\u1EB7': | |
sb.Append('\u0061'); | |
break; // ? › a LATIN SMALL LETTER A WITH BREVE AND DOT BELOW › LATIN SMALL LETTER A | |
case '\u0180': | |
sb.Append('\u0062'); | |
break; // b › b LATIN SMALL LETTER B WITH STROKE › LATIN SMALL LETTER B | |
case '\u0183': | |
sb.Append('\u0062'); | |
break; // ? › b LATIN SMALL LETTER B WITH TOPBAR › LATIN SMALL LETTER B | |
case '\u0253': | |
sb.Append('\u0062'); | |
break; // ? › b LATIN SMALL LETTER B WITH HOOK › LATIN SMALL LETTER B | |
case '\u1E03': | |
sb.Append('\u0062'); | |
break; // ? › b LATIN SMALL LETTER B WITH DOT ABOVE › LATIN SMALL LETTER B | |
case '\u1E05': | |
sb.Append('\u0062'); | |
break; // ? › b LATIN SMALL LETTER B WITH DOT BELOW › LATIN SMALL LETTER B | |
case '\u1E07': | |
sb.Append('\u0062'); | |
break; // ? › b LATIN SMALL LETTER B WITH LINE BELOW › LATIN SMALL LETTER B | |
case '\u00E7': | |
sb.Append('\u0063'); | |
break; // ç › c LATIN SMALL LETTER C WITH CEDILLA › LATIN SMALL LETTER C | |
case '\u0107': | |
sb.Append('\u0063'); | |
break; // ć › c LATIN SMALL LETTER C WITH ACUTE › LATIN SMALL LETTER C | |
case '\u0109': | |
sb.Append('\u0063'); | |
break; // c › c LATIN SMALL LETTER C WITH CIRCUMFLEX › LATIN SMALL LETTER C | |
case '\u010B': | |
sb.Append('\u0063'); | |
break; // c › c LATIN SMALL LETTER C WITH DOT ABOVE › LATIN SMALL LETTER C | |
case '\u010D': | |
sb.Append('\u0063'); | |
break; // č › c LATIN SMALL LETTER C WITH CARON › LATIN SMALL LETTER C | |
case '\u0188': | |
sb.Append('\u0063'); | |
break; // ? › c LATIN SMALL LETTER C WITH HOOK › LATIN SMALL LETTER C | |
case '\u0255': | |
sb.Append('\u0063'); | |
break; // ? › c LATIN SMALL LETTER C WITH CURL › LATIN SMALL LETTER C | |
case '\u1E09': | |
sb.Append('\u0063'); | |
break; // ? › c LATIN SMALL LETTER C WITH CEDILLA AND ACUTE › LATIN SMALL LETTER C | |
case '\u010F': | |
sb.Append('\u0064'); | |
break; // ď › d LATIN SMALL LETTER D WITH CARON › LATIN SMALL LETTER D | |
case '\u0111': | |
sb.Append('\u0064'); | |
break; // đ › d LATIN SMALL LETTER D WITH STROKE › LATIN SMALL LETTER D | |
case '\u018C': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH TOPBAR › LATIN SMALL LETTER D | |
case '\u0221': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH CURL › LATIN SMALL LETTER D | |
case '\u0256': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH TAIL › LATIN SMALL LETTER D | |
case '\u0257': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH HOOK › LATIN SMALL LETTER D | |
case '\u1E0B': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH DOT ABOVE › LATIN SMALL LETTER D | |
case '\u1E0D': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH DOT BELOW › LATIN SMALL LETTER D | |
case '\u1E0F': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH LINE BELOW › LATIN SMALL LETTER D | |
case '\u1E11': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH CEDILLA › LATIN SMALL LETTER D | |
case '\u1E13': | |
sb.Append('\u0064'); | |
break; // ? › d LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW › LATIN SMALL LETTER D | |
case '\u00E8': | |
sb.Append('\u0065'); | |
break; // e › e LATIN SMALL LETTER E WITH GRAVE › LATIN SMALL LETTER E | |
case '\u00E9': | |
sb.Append('\u0065'); | |
break; // é › e LATIN SMALL LETTER E WITH ACUTE › LATIN SMALL LETTER E | |
case '\u00EA': | |
sb.Append('\u0065'); | |
break; // e › e LATIN SMALL LETTER E WITH CIRCUMFLEX › LATIN SMALL LETTER E | |
case '\u00EB': | |
sb.Append('\u0065'); | |
break; // ë › e LATIN SMALL LETTER E WITH DIAERESIS › LATIN SMALL LETTER E | |
case '\u0113': | |
sb.Append('\u0065'); | |
break; // e › e LATIN SMALL LETTER E WITH MACRON › LATIN SMALL LETTER E | |
case '\u0115': | |
sb.Append('\u0065'); | |
break; // e › e LATIN SMALL LETTER E WITH BREVE › LATIN SMALL LETTER E | |
case '\u0117': | |
sb.Append('\u0065'); | |
break; // e › e LATIN SMALL LETTER E WITH DOT ABOVE › LATIN SMALL LETTER E | |
case '\u0119': | |
sb.Append('\u0065'); | |
break; // ę › e LATIN SMALL LETTER E WITH OGONEK › LATIN SMALL LETTER E | |
case '\u011B': | |
sb.Append('\u0065'); | |
break; // ě › e LATIN SMALL LETTER E WITH CARON › LATIN SMALL LETTER E | |
case '\u0205': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH DOUBLE GRAVE › LATIN SMALL LETTER E | |
case '\u0207': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH INVERTED BREVE › LATIN SMALL LETTER E | |
case '\u0229': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CEDILLA › LATIN SMALL LETTER E | |
case '\u1E15': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH MACRON AND GRAVE › LATIN SMALL LETTER E | |
case '\u1E17': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH MACRON AND ACUTE › LATIN SMALL LETTER E | |
case '\u1E19': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW › LATIN SMALL LETTER E | |
case '\u1E1B': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH TILDE BELOW › LATIN SMALL LETTER E | |
case '\u1E1D': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CEDILLA AND BREVE › LATIN SMALL LETTER E | |
case '\u1EB9': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH DOT BELOW › LATIN SMALL LETTER E | |
case '\u1EBB': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH HOOK ABOVE › LATIN SMALL LETTER E | |
case '\u1EBD': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH TILDE › LATIN SMALL LETTER E | |
case '\u1EBF': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE › LATIN SMALL LETTER E | |
case '\u1EC1': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE › LATIN SMALL LETTER E | |
case '\u1EC3': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE › LATIN SMALL LETTER E | |
case '\u1EC5': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE › LATIN SMALL LETTER E | |
case '\u1EC7': | |
sb.Append('\u0065'); | |
break; // ? › e LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW › LATIN SMALL LETTER E | |
case '\u0192': | |
sb.Append('\u0066'); | |
break; // f › f LATIN SMALL LETTER F WITH HOOK › LATIN SMALL LETTER F | |
case '\u1E1F': | |
sb.Append('\u0066'); | |
break; // ? › f LATIN SMALL LETTER F WITH DOT ABOVE › LATIN SMALL LETTER F | |
case '\u011D': | |
sb.Append('\u0067'); | |
break; // g › g LATIN SMALL LETTER G WITH CIRCUMFLEX › LATIN SMALL LETTER G | |
case '\u011F': | |
sb.Append('\u0067'); | |
break; // g › g LATIN SMALL LETTER G WITH BREVE › LATIN SMALL LETTER G | |
case '\u0121': | |
sb.Append('\u0067'); | |
break; // g › g LATIN SMALL LETTER G WITH DOT ABOVE › LATIN SMALL LETTER G | |
case '\u0123': | |
sb.Append('\u0067'); | |
break; // g › g LATIN SMALL LETTER G WITH CEDILLA › LATIN SMALL LETTER G | |
case '\u01E5': | |
sb.Append('\u0067'); | |
break; // g › g LATIN SMALL LETTER G WITH STROKE › LATIN SMALL LETTER G | |
case '\u01E7': | |
sb.Append('\u0067'); | |
break; // g › g LATIN SMALL LETTER G WITH CARON › LATIN SMALL LETTER G | |
case '\u01F5': | |
sb.Append('\u0067'); | |
break; // ? › g LATIN SMALL LETTER G WITH ACUTE › LATIN SMALL LETTER G | |
case '\u0260': | |
sb.Append('\u0067'); | |
break; // ? › g LATIN SMALL LETTER G WITH HOOK › LATIN SMALL LETTER G | |
case '\u1E21': | |
sb.Append('\u0067'); | |
break; // ? › g LATIN SMALL LETTER G WITH MACRON › LATIN SMALL LETTER G | |
case '\u0125': | |
sb.Append('\u0068'); | |
break; // h › h LATIN SMALL LETTER H WITH CIRCUMFLEX › LATIN SMALL LETTER H | |
case '\u0127': | |
sb.Append('\u0068'); | |
break; // h › h LATIN SMALL LETTER H WITH STROKE › LATIN SMALL LETTER H | |
case '\u021F': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH CARON › LATIN SMALL LETTER H | |
case '\u0266': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH HOOK › LATIN SMALL LETTER H | |
case '\u1E23': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH DOT ABOVE › LATIN SMALL LETTER H | |
case '\u1E25': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH DOT BELOW › LATIN SMALL LETTER H | |
case '\u1E27': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH DIAERESIS › LATIN SMALL LETTER H | |
case '\u1E29': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH CEDILLA › LATIN SMALL LETTER H | |
case '\u1E2B': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH BREVE BELOW › LATIN SMALL LETTER H | |
case '\u1E96': | |
sb.Append('\u0068'); | |
break; // ? › h LATIN SMALL LETTER H WITH LINE BELOW › LATIN SMALL LETTER H | |
case '\u00EC': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH GRAVE › LATIN SMALL LETTER I | |
case '\u00ED': | |
sb.Append('\u0069'); | |
break; // í › i LATIN SMALL LETTER I WITH ACUTE › LATIN SMALL LETTER I | |
case '\u00EE': | |
sb.Append('\u0069'); | |
break; // î › i LATIN SMALL LETTER I WITH CIRCUMFLEX › LATIN SMALL LETTER I | |
case '\u00EF': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH DIAERESIS › LATIN SMALL LETTER I | |
case '\u0129': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH TILDE › LATIN SMALL LETTER I | |
case '\u012B': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH MACRON › LATIN SMALL LETTER I | |
case '\u012D': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH BREVE › LATIN SMALL LETTER I | |
case '\u012F': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH OGONEK › LATIN SMALL LETTER I | |
case '\u01D0': | |
sb.Append('\u0069'); | |
break; // i › i LATIN SMALL LETTER I WITH CARON › LATIN SMALL LETTER I | |
case '\u0209': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH DOUBLE GRAVE › LATIN SMALL LETTER I | |
case '\u020B': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH INVERTED BREVE › LATIN SMALL LETTER I | |
case '\u0268': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH STROKE › LATIN SMALL LETTER I | |
case '\u1E2D': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH TILDE BELOW › LATIN SMALL LETTER I | |
case '\u1E2F': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE › LATIN SMALL LETTER I | |
case '\u1EC9': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH HOOK ABOVE › LATIN SMALL LETTER I | |
case '\u1ECB': | |
sb.Append('\u0069'); | |
break; // ? › i LATIN SMALL LETTER I WITH DOT BELOW › LATIN SMALL LETTER I | |
case '\u0135': | |
sb.Append('\u006A'); | |
break; // j › j LATIN SMALL LETTER J WITH CIRCUMFLEX › LATIN SMALL LETTER J | |
case '\u01F0': | |
sb.Append('\u006A'); | |
break; // j › j LATIN SMALL LETTER J WITH CARON › LATIN SMALL LETTER J | |
case '\u029D': | |
sb.Append('\u006A'); | |
break; // ? › j LATIN SMALL LETTER J WITH CROSSED-TAIL › LATIN SMALL LETTER J | |
case '\u0137': | |
sb.Append('\u006B'); | |
break; // k › k LATIN SMALL LETTER K WITH CEDILLA › LATIN SMALL LETTER K | |
case '\u0199': | |
sb.Append('\u006B'); | |
break; // ? › k LATIN SMALL LETTER K WITH HOOK › LATIN SMALL LETTER K | |
case '\u01E9': | |
sb.Append('\u006B'); | |
break; // k › k LATIN SMALL LETTER K WITH CARON › LATIN SMALL LETTER K | |
case '\u1E31': | |
sb.Append('\u006B'); | |
break; // ? › k LATIN SMALL LETTER K WITH ACUTE › LATIN SMALL LETTER K | |
case '\u1E33': | |
sb.Append('\u006B'); | |
break; // ? › k LATIN SMALL LETTER K WITH DOT BELOW › LATIN SMALL LETTER K | |
case '\u1E35': | |
sb.Append('\u006B'); | |
break; // ? › k LATIN SMALL LETTER K WITH LINE BELOW › LATIN SMALL LETTER K | |
case '\u013A': | |
sb.Append('\u006C'); | |
break; // ĺ › l LATIN SMALL LETTER L WITH ACUTE › LATIN SMALL LETTER L | |
case '\u013C': | |
sb.Append('\u006C'); | |
break; // l › l LATIN SMALL LETTER L WITH CEDILLA › LATIN SMALL LETTER L | |
case '\u013E': | |
sb.Append('\u006C'); | |
break; // ľ › l LATIN SMALL LETTER L WITH CARON › LATIN SMALL LETTER L | |
case '\u0140': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH MIDDLE DOT › LATIN SMALL LETTER L | |
case '\u0142': | |
sb.Append('\u006C'); | |
break; // ł › l LATIN SMALL LETTER L WITH STROKE › LATIN SMALL LETTER L | |
case '\u019A': | |
sb.Append('\u006C'); | |
break; // l › l LATIN SMALL LETTER L WITH BAR › LATIN SMALL LETTER L | |
case '\u0234': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH CURL › LATIN SMALL LETTER L | |
case '\u026B': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH MIDDLE TILDE › LATIN SMALL LETTER L | |
case '\u026C': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH BELT › LATIN SMALL LETTER L | |
case '\u026D': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH RETROFLEX HOOK › LATIN SMALL LETTER L | |
case '\u1E37': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH DOT BELOW › LATIN SMALL LETTER L | |
case '\u1E39': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH DOT BELOW AND MACRON › LATIN SMALL LETTER L | |
case '\u1E3B': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH LINE BELOW › LATIN SMALL LETTER L | |
case '\u1E3D': | |
sb.Append('\u006C'); | |
break; // ? › l LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW › LATIN SMALL LETTER L | |
case '\u0271': | |
sb.Append('\u006D'); | |
break; // ? › m LATIN SMALL LETTER M WITH HOOK › LATIN SMALL LETTER M | |
case '\u1E3F': | |
sb.Append('\u006D'); | |
break; // ? › m LATIN SMALL LETTER M WITH ACUTE › LATIN SMALL LETTER M | |
case '\u1E41': | |
sb.Append('\u006D'); | |
break; // ? › m LATIN SMALL LETTER M WITH DOT ABOVE › LATIN SMALL LETTER M | |
case '\u1E43': | |
sb.Append('\u006D'); | |
break; // ? › m LATIN SMALL LETTER M WITH DOT BELOW › LATIN SMALL LETTER M | |
case '\u00F1': | |
sb.Append('\u006E'); | |
break; // n › n LATIN SMALL LETTER N WITH TILDE › LATIN SMALL LETTER N | |
case '\u0144': | |
sb.Append('\u006E'); | |
break; // ń › n LATIN SMALL LETTER N WITH ACUTE › LATIN SMALL LETTER N | |
case '\u0146': | |
sb.Append('\u006E'); | |
break; // n › n LATIN SMALL LETTER N WITH CEDILLA › LATIN SMALL LETTER N | |
case '\u0148': | |
sb.Append('\u006E'); | |
break; // ň › n LATIN SMALL LETTER N WITH CARON › LATIN SMALL LETTER N | |
case '\u019E': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH LONG RIGHT LEG › LATIN SMALL LETTER N | |
case '\u01F9': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH GRAVE › LATIN SMALL LETTER N | |
case '\u0235': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH CURL › LATIN SMALL LETTER N | |
case '\u0272': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH LEFT HOOK › LATIN SMALL LETTER N | |
case '\u0273': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH RETROFLEX HOOK › LATIN SMALL LETTER N | |
case '\u1E45': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH DOT ABOVE › LATIN SMALL LETTER N | |
case '\u1E47': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH DOT BELOW › LATIN SMALL LETTER N | |
case '\u1E49': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH LINE BELOW › LATIN SMALL LETTER N | |
case '\u1E4B': | |
sb.Append('\u006E'); | |
break; // ? › n LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW › LATIN SMALL LETTER N | |
case '\u00F2': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH GRAVE › LATIN SMALL LETTER O | |
case '\u00F3': | |
sb.Append('\u006F'); | |
break; // ó › o LATIN SMALL LETTER O WITH ACUTE › LATIN SMALL LETTER O | |
case '\u00F4': | |
sb.Append('\u006F'); | |
break; // ô › o LATIN SMALL LETTER O WITH CIRCUMFLEX › LATIN SMALL LETTER O | |
case '\u00F5': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH TILDE › LATIN SMALL LETTER O | |
case '\u00F6': | |
sb.Append('\u006F'); | |
break; // ö › o LATIN SMALL LETTER O WITH DIAERESIS › LATIN SMALL LETTER O | |
case '\u00F8': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH STROKE › LATIN SMALL LETTER O | |
case '\u014D': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH MACRON › LATIN SMALL LETTER O | |
case '\u014F': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH BREVE › LATIN SMALL LETTER O | |
case '\u0151': | |
sb.Append('\u006F'); | |
break; // ő › o LATIN SMALL LETTER O WITH DOUBLE ACUTE › LATIN SMALL LETTER O | |
case '\u01A1': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH HORN › LATIN SMALL LETTER O | |
case '\u01D2': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH CARON › LATIN SMALL LETTER O | |
case '\u01EB': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH OGONEK › LATIN SMALL LETTER O | |
case '\u01ED': | |
sb.Append('\u006F'); | |
break; // o › o LATIN SMALL LETTER O WITH OGONEK AND MACRON › LATIN SMALL LETTER O | |
case '\u01FF': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH STROKE AND ACUTE › LATIN SMALL LETTER O | |
case '\u020D': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH DOUBLE GRAVE › LATIN SMALL LETTER O | |
case '\u020F': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH INVERTED BREVE › LATIN SMALL LETTER O | |
case '\u022B': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH DIAERESIS AND MACRON › LATIN SMALL LETTER O | |
case '\u022D': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH TILDE AND MACRON › LATIN SMALL LETTER O | |
case '\u022F': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH DOT ABOVE › LATIN SMALL LETTER O | |
case '\u0231': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON › LATIN SMALL LETTER O | |
case '\u1E4D': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH TILDE AND ACUTE › LATIN SMALL LETTER O | |
case '\u1E4F': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH TILDE AND DIAERESIS › LATIN SMALL LETTER O | |
case '\u1E51': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH MACRON AND GRAVE › LATIN SMALL LETTER O | |
case '\u1E53': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH MACRON AND ACUTE › LATIN SMALL LETTER O | |
case '\u1ECD': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH DOT BELOW › LATIN SMALL LETTER O | |
case '\u1ECF': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH HOOK ABOVE › LATIN SMALL LETTER O | |
case '\u1ED1': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE › LATIN SMALL LETTER O | |
case '\u1ED3': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE › LATIN SMALL LETTER O | |
case '\u1ED5': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE › LATIN SMALL LETTER O | |
case '\u1ED7': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE › LATIN SMALL LETTER O | |
case '\u1ED9': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW › LATIN SMALL LETTER O | |
case '\u1EDB': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH HORN AND ACUTE › LATIN SMALL LETTER O | |
case '\u1EDD': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH HORN AND GRAVE › LATIN SMALL LETTER O | |
case '\u1EDF': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE › LATIN SMALL LETTER O | |
case '\u1EE1': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH HORN AND TILDE › LATIN SMALL LETTER O | |
case '\u1EE3': | |
sb.Append('\u006F'); | |
break; // ? › o LATIN SMALL LETTER O WITH HORN AND DOT BELOW › LATIN SMALL LETTER O | |
case '\u01A5': | |
sb.Append('\u0070'); | |
break; // ? › p LATIN SMALL LETTER P WITH HOOK › LATIN SMALL LETTER P | |
case '\u1E55': | |
sb.Append('\u0070'); | |
break; // ? › p LATIN SMALL LETTER P WITH ACUTE › LATIN SMALL LETTER P | |
case '\u1E57': | |
sb.Append('\u0070'); | |
break; // ? › p LATIN SMALL LETTER P WITH DOT ABOVE › LATIN SMALL LETTER P | |
case '\u02A0': | |
sb.Append('\u0071'); | |
break; // ? › q LATIN SMALL LETTER Q WITH HOOK › LATIN SMALL LETTER Q | |
case '\u0155': | |
sb.Append('\u0072'); | |
break; // ŕ › r LATIN SMALL LETTER R WITH ACUTE › LATIN SMALL LETTER R | |
case '\u0157': | |
sb.Append('\u0072'); | |
break; // r › r LATIN SMALL LETTER R WITH CEDILLA › LATIN SMALL LETTER R | |
case '\u0159': | |
sb.Append('\u0072'); | |
break; // ř › r LATIN SMALL LETTER R WITH CARON › LATIN SMALL LETTER R | |
case '\u0211': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH DOUBLE GRAVE › LATIN SMALL LETTER R | |
case '\u0213': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH INVERTED BREVE › LATIN SMALL LETTER R | |
case '\u027C': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH LONG LEG › LATIN SMALL LETTER R | |
case '\u027D': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH TAIL › LATIN SMALL LETTER R | |
case '\u1E59': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH DOT ABOVE › LATIN SMALL LETTER R | |
case '\u1E5B': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH DOT BELOW › LATIN SMALL LETTER R | |
case '\u1E5D': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH DOT BELOW AND MACRON › LATIN SMALL LETTER R | |
case '\u1E5F': | |
sb.Append('\u0072'); | |
break; // ? › r LATIN SMALL LETTER R WITH LINE BELOW › LATIN SMALL LETTER R | |
case '\u015B': | |
sb.Append('\u0073'); | |
break; // ś › s LATIN SMALL LETTER S WITH ACUTE › LATIN SMALL LETTER S | |
case '\u015D': | |
sb.Append('\u0073'); | |
break; // s › s LATIN SMALL LETTER S WITH CIRCUMFLEX › LATIN SMALL LETTER S | |
case '\u015F': | |
sb.Append('\u0073'); | |
break; // ş › s LATIN SMALL LETTER S WITH CEDILLA › LATIN SMALL LETTER S | |
case '\u0161': | |
sb.Append('\u0073'); | |
break; // š › s LATIN SMALL LETTER S WITH CARON › LATIN SMALL LETTER S | |
case '\u0219': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH COMMA BELOW › LATIN SMALL LETTER S | |
case '\u0282': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH HOOK › LATIN SMALL LETTER S | |
case '\u1E61': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH DOT ABOVE › LATIN SMALL LETTER S | |
case '\u1E63': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH DOT BELOW › LATIN SMALL LETTER S | |
case '\u1E65': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE › LATIN SMALL LETTER S | |
case '\u1E67': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH CARON AND DOT ABOVE › LATIN SMALL LETTER S | |
case '\u1E69': | |
sb.Append('\u0073'); | |
break; // ? › s LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE › LATIN SMALL LETTER S | |
case '\u0163': | |
sb.Append('\u0074'); | |
break; // ţ › t LATIN SMALL LETTER T WITH CEDILLA › LATIN SMALL LETTER T | |
case '\u0165': | |
sb.Append('\u0074'); | |
break; // ť › t LATIN SMALL LETTER T WITH CARON › LATIN SMALL LETTER T | |
case '\u0167': | |
sb.Append('\u0074'); | |
break; // t › t LATIN SMALL LETTER T WITH STROKE › LATIN SMALL LETTER T | |
case '\u01AB': | |
sb.Append('\u0074'); | |
break; // t › t LATIN SMALL LETTER T WITH PALATAL HOOK › LATIN SMALL LETTER T | |
case '\u01AD': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH HOOK › LATIN SMALL LETTER T | |
case '\u021B': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH COMMA BELOW › LATIN SMALL LETTER T | |
case '\u0236': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH CURL › LATIN SMALL LETTER T | |
case '\u0288': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH RETROFLEX HOOK › LATIN SMALL LETTER T | |
case '\u1E6B': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH DOT ABOVE › LATIN SMALL LETTER T | |
case '\u1E6D': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH DOT BELOW › LATIN SMALL LETTER T | |
case '\u1E6F': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH LINE BELOW › LATIN SMALL LETTER T | |
case '\u1E71': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW › LATIN SMALL LETTER T | |
case '\u1E97': | |
sb.Append('\u0074'); | |
break; // ? › t LATIN SMALL LETTER T WITH DIAERESIS › LATIN SMALL LETTER T | |
case '\u00F9': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH GRAVE › LATIN SMALL LETTER U | |
case '\u00FA': | |
sb.Append('\u0075'); | |
break; // ú › u LATIN SMALL LETTER U WITH ACUTE › LATIN SMALL LETTER U | |
case '\u00FB': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH CIRCUMFLEX › LATIN SMALL LETTER U | |
case '\u00FC': | |
sb.Append('\u0075'); | |
break; // ü › u LATIN SMALL LETTER U WITH DIAERESIS › LATIN SMALL LETTER U | |
case '\u0169': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH TILDE › LATIN SMALL LETTER U | |
case '\u016B': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH MACRON › LATIN SMALL LETTER U | |
case '\u016D': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH BREVE › LATIN SMALL LETTER U | |
case '\u016F': | |
sb.Append('\u0075'); | |
break; // ů › u LATIN SMALL LETTER U WITH RING ABOVE › LATIN SMALL LETTER U | |
case '\u0171': | |
sb.Append('\u0075'); | |
break; // ű › u LATIN SMALL LETTER U WITH DOUBLE ACUTE › LATIN SMALL LETTER U | |
case '\u0173': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH OGONEK › LATIN SMALL LETTER U | |
case '\u01B0': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH HORN › LATIN SMALL LETTER U | |
case '\u01D4': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH CARON › LATIN SMALL LETTER U | |
case '\u01D6': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH DIAERESIS AND MACRON › LATIN SMALL LETTER U | |
case '\u01D8': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE › LATIN SMALL LETTER U | |
case '\u01DA': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH DIAERESIS AND CARON › LATIN SMALL LETTER U | |
case '\u01DC': | |
sb.Append('\u0075'); | |
break; // u › u LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE › LATIN SMALL LETTER U | |
case '\u0215': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH DOUBLE GRAVE › LATIN SMALL LETTER U | |
case '\u0217': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH INVERTED BREVE › LATIN SMALL LETTER U | |
case '\u1E73': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH DIAERESIS BELOW › LATIN SMALL LETTER U | |
case '\u1E75': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH TILDE BELOW › LATIN SMALL LETTER U | |
case '\u1E77': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW › LATIN SMALL LETTER U | |
case '\u1E79': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH TILDE AND ACUTE › LATIN SMALL LETTER U | |
case '\u1E7B': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH MACRON AND DIAERESIS › LATIN SMALL LETTER U | |
case '\u1EE5': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH DOT BELOW › LATIN SMALL LETTER U | |
case '\u1EE7': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH HOOK ABOVE › LATIN SMALL LETTER U | |
case '\u1EE9': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH HORN AND ACUTE › LATIN SMALL LETTER U | |
case '\u1EEB': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH HORN AND GRAVE › LATIN SMALL LETTER U | |
case '\u1EED': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE › LATIN SMALL LETTER U | |
case '\u1EEF': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH HORN AND TILDE › LATIN SMALL LETTER U | |
case '\u1EF1': | |
sb.Append('\u0075'); | |
break; // ? › u LATIN SMALL LETTER U WITH HORN AND DOT BELOW › LATIN SMALL LETTER U | |
case '\u028B': | |
sb.Append('\u0076'); | |
break; // ? › v LATIN SMALL LETTER V WITH HOOK › LATIN SMALL LETTER V | |
case '\u1E7D': | |
sb.Append('\u0076'); | |
break; // ? › v LATIN SMALL LETTER V WITH TILDE › LATIN SMALL LETTER V | |
case '\u1E7F': | |
sb.Append('\u0076'); | |
break; // ? › v LATIN SMALL LETTER V WITH DOT BELOW › LATIN SMALL LETTER V | |
case '\u0175': | |
sb.Append('\u0077'); | |
break; // w › w LATIN SMALL LETTER W WITH CIRCUMFLEX › LATIN SMALL LETTER W | |
case '\u1E81': | |
sb.Append('\u0077'); | |
break; // ? › w LATIN SMALL LETTER W WITH GRAVE › LATIN SMALL LETTER W | |
case '\u1E83': | |
sb.Append('\u0077'); | |
break; // ? › w LATIN SMALL LETTER W WITH ACUTE › LATIN SMALL LETTER W | |
case '\u1E85': | |
sb.Append('\u0077'); | |
break; // ? › w LATIN SMALL LETTER W WITH DIAERESIS › LATIN SMALL LETTER W | |
case '\u1E87': | |
sb.Append('\u0077'); | |
break; // ? › w LATIN SMALL LETTER W WITH DOT ABOVE › LATIN SMALL LETTER W | |
case '\u1E89': | |
sb.Append('\u0077'); | |
break; // ? › w LATIN SMALL LETTER W WITH DOT BELOW › LATIN SMALL LETTER W | |
case '\u1E98': | |
sb.Append('\u0077'); | |
break; // ? › w LATIN SMALL LETTER W WITH RING ABOVE › LATIN SMALL LETTER W | |
case '\u1E8B': | |
sb.Append('\u0078'); | |
break; // ? › x LATIN SMALL LETTER X WITH DOT ABOVE › LATIN SMALL LETTER X | |
case '\u1E8D': | |
sb.Append('\u0078'); | |
break; // ? › x LATIN SMALL LETTER X WITH DIAERESIS › LATIN SMALL LETTER X | |
case '\u00FD': | |
sb.Append('\u0079'); | |
break; // ý › y LATIN SMALL LETTER Y WITH ACUTE › LATIN SMALL LETTER Y | |
case '\u00FF': | |
sb.Append('\u0079'); | |
break; // y › y LATIN SMALL LETTER Y WITH DIAERESIS › LATIN SMALL LETTER Y | |
case '\u0177': | |
sb.Append('\u0079'); | |
break; // y › y LATIN SMALL LETTER Y WITH CIRCUMFLEX › LATIN SMALL LETTER Y | |
case '\u01B4': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH HOOK › LATIN SMALL LETTER Y | |
case '\u0233': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH MACRON › LATIN SMALL LETTER Y | |
case '\u1E8F': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH DOT ABOVE › LATIN SMALL LETTER Y | |
case '\u1E99': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH RING ABOVE › LATIN SMALL LETTER Y | |
case '\u1EF3': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH GRAVE › LATIN SMALL LETTER Y | |
case '\u1EF5': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH DOT BELOW › LATIN SMALL LETTER Y | |
case '\u1EF7': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH HOOK ABOVE › LATIN SMALL LETTER Y | |
case '\u1EF9': | |
sb.Append('\u0079'); | |
break; // ? › y LATIN SMALL LETTER Y WITH TILDE › LATIN SMALL LETTER Y | |
case '\u017A': | |
sb.Append('\u007A'); | |
break; // ź › z LATIN SMALL LETTER Z WITH ACUTE › LATIN SMALL LETTER Z | |
case '\u017C': | |
sb.Append('\u007A'); | |
break; // ż › z LATIN SMALL LETTER Z WITH DOT ABOVE › LATIN SMALL LETTER Z | |
case '\u017E': | |
sb.Append('\u007A'); | |
break; // ž › z LATIN SMALL LETTER Z WITH CARON › LATIN SMALL LETTER Z | |
case '\u01B6': | |
sb.Append('\u007A'); | |
break; // z › z LATIN SMALL LETTER Z WITH STROKE › LATIN SMALL LETTER Z | |
case '\u0225': | |
sb.Append('\u007A'); | |
break; // ? › z LATIN SMALL LETTER Z WITH HOOK › LATIN SMALL LETTER Z | |
case '\u0290': | |
sb.Append('\u007A'); | |
break; // ? › z LATIN SMALL LETTER Z WITH RETROFLEX HOOK › LATIN SMALL LETTER Z | |
case '\u0291': | |
sb.Append('\u007A'); | |
break; // ? › z LATIN SMALL LETTER Z WITH CURL › LATIN SMALL LETTER Z | |
case '\u1E91': | |
sb.Append('\u007A'); | |
break; // ? › z LATIN SMALL LETTER Z WITH CIRCUMFLEX › LATIN SMALL LETTER Z | |
case '\u1E93': | |
sb.Append('\u007A'); | |
break; // ? › z LATIN SMALL LETTER Z WITH DOT BELOW › LATIN SMALL LETTER Z | |
case '\u1E95': | |
sb.Append('\u007A'); | |
break; // ? › z LATIN SMALL LETTER Z WITH LINE BELOW › LATIN SMALL LETTER Z | |
default: | |
sb.Append(letter); | |
break; | |
} | |
} | |
return sb.ToString().Replace('ª','a').Replace('º','o'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment